@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-latin-500-normal-CGugC8dq.woff2) format("woff2"),url(/assets/archivo-latin-500-normal-pkzA7jw9.woff) format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-latin-600-normal-3BBy0ZsW.woff2) format("woff2"),url(/assets/archivo-latin-600-normal-DwYieO8P.woff) format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-latin-700-normal-D9cHMWGj.woff2) format("woff2"),url(/assets/archivo-latin-700-normal-lT5TFe7H.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-500-normal-DiWS0tcR.woff2) format("woff2"),url(/assets/source-sans-3-latin-500-normal-BtDzq-z9.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.woff) format("woff")}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme,base,components;@layer utilities{.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.inline{display:inline}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@font-face{font-family:Noto Sans Bengali UI;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/NotoSansBengaliUI-Variable-CgzKsYsJ.woff2) format("woff2");unicode-range:U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1}:root{color-scheme:light;--ink: #14201d;--ink-2: #5a6462;--ink-3: #6c7272;--ground: #ffffff;--surface: #f6f7f5;--stage: #f1f3ef;--line: #c6cdc8;--line-2: #dce0dd;--accent: #0b6b58;--accent-hover: #095546;--amber: #8a4a12;--amber-2: #faf0e5;--amber-3: #e7d2b4;--video: #14201d;--step-0: 15px;--step-1: 16px;--step-2: 18px;--step-3: 20px;--step-4: 24px;--step-5: 28px;--label: 12px;--lh-h1: 1.12;--lh-h2: 1.2;--lh-card: 1.26;--lh-item: 1.34;--lh-thumb: 1.22;--lh-body: 1.5;--track-label: .12em;--track-word: .13em;--caps: uppercase;--title-lines: 3;--sans: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Noto Sans Bengali UI", sans-serif;--display: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Noto Sans Bengali UI", sans-serif}:root:lang(bn){--lh-h1: 1.42;--lh-h2: 1.45;--lh-card: 1.5;--lh-item: 1.55;--lh-thumb: 1.45;--lh-body: 1.75;--track-label: 0;--track-word: 0;--caps: none;--sans: "Noto Sans Bengali UI", "Source Sans 3", ui-sans-serif, system-ui, sans-serif;--display: "Noto Sans Bengali UI", "Archivo", ui-sans-serif, system-ui, sans-serif}@layer components{*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:var(--step-1);line-height:var(--lh-body)}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}:root:lang(bn) [lang=en]{font-family:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;letter-spacing:normal}:root:lang(bn) .grouplabel,:root:lang(bn) .panel h2{font-weight:700;font-size:calc(var(--label) * 1.15);color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}h1[tabindex="-1"]:focus,h1[tabindex="-1"]:focus-visible{outline:none}.skip{position:absolute;left:12px;top:-200px;z-index:60;background:var(--ink);color:#fff;padding:12px 18px;border-radius:8px;font-weight:600;text-decoration:none}.skip:focus{top:12px}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.wrap{max-width:1440px;margin:0 auto;padding-inline:16px}.langbar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px 14px;padding-block:16px 0}.langseg{display:inline-flex;border:2px solid var(--line);border-radius:10px;padding:3px;gap:3px;background:var(--ground)}.langseg button{border:0;background:none;border-radius:7px;padding:0 14px;min-height:44px;font-weight:600;font-size:var(--step-0);color:var(--ink-2);white-space:nowrap}.langseg button[aria-pressed=true]{background:var(--ink);color:#fff}.signout{display:inline-flex;align-items:center;border:0;background:none;color:var(--ink-2);text-decoration:underline;font-size:var(--step-0);min-height:44px;padding-inline:8px}.screen{padding-bottom:72px}.masthead{display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:6px 0}.logo{display:block;height:36px;width:auto}.academy{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:var(--track-word);line-height:var(--lh-h2);margin-top:16px}.masthead h1{font-family:var(--display);font-weight:600;font-size:var(--step-5);line-height:var(--lh-h1);margin:14px 0 0;text-wrap:balance}.masthead .rule{width:80px;height:3px;background:var(--accent);margin-top:14px}.masthead .search{margin-top:18px}.bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px 24px;margin-top:18px;padding-bottom:16px;border-bottom:2px solid var(--line-2)}.bar .titlegroup{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 22px;min-width:0}.bar h1{font-family:var(--display);font-weight:600;font-size:var(--step-5);line-height:var(--lh-h1);margin:0;text-wrap:balance}.bar h1.file{font-size:var(--step-4)}.bar .sub{font-size:var(--step-1);color:var(--ink-2)}.bar-spacer{flex:1 1 24px}.search{display:flex;align-items:center;gap:10px;border:2px solid var(--line);border-radius:10px;padding-inline:16px;min-height:44px;background:var(--ground);cursor:text;min-width:min(100%,300px)}.search-wide{width:min(100%,560px)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.search input{border:0;outline:none;background:none;font:inherit;color:var(--ink);width:100%;min-width:0;align-self:stretch}.search-icon{flex:none;color:var(--ink-3)}.search-go{border:0;background:var(--accent);color:#fff;border-radius:7px;padding:0 16px;min-height:40px;font-weight:600;font-size:var(--step-0);flex:none}.backrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:4px 0}.brandline{display:flex;align-items:center;gap:12px;flex:none}.mini-logo{display:block;height:22px;width:auto;flex:none}.mini-name{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:var(--track-word)}.back{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--line);border-radius:10px;background:var(--ground);padding:0 18px 0 13px;min-height:40px;font-weight:600;font-size:var(--step-0);text-decoration:none}.back:hover{border-color:var(--accent);color:var(--accent)}.grouplabel{font-size:var(--label);font-weight:700;letter-spacing:var(--track-label);text-transform:var(--caps);color:var(--accent);margin:24px 0 0}.sections{display:grid;gap:12px;margin-top:14px}.sections.days,.sections.five{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.scard{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--ground);border:2px solid var(--line);border-radius:16px;padding:16px;text-decoration:none;transition:border-color .12s,transform .12s}.scard:hover{border-color:var(--accent);transform:translateY(-2px)}.scard .t{font-family:var(--display);font-weight:600;font-size:var(--step-2);line-height:var(--lh-card);text-wrap:balance}.scard .m{font-size:var(--step-0);color:var(--ink-2);margin-top:auto;padding-top:8px}.scard.day{flex-direction:row;align-items:center;gap:14px;border-color:var(--ink)}.scard.day .m{display:block;margin-top:0;padding-top:2px}.daynum{font-family:var(--display);font-weight:700;font-size:28px;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.scard.quiet{border-style:dashed;border-color:var(--line-2)}.scard.quiet .t,.scard.quiet .m{color:var(--ink-3)}.sicon{color:var(--accent);margin-bottom:8px}.sicon.warn{color:var(--amber)}.scard.quiet .sicon{color:var(--ink-3)}.btn-primary{display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:0 18px;min-height:44px;font-weight:600;font-size:var(--step-1);text-decoration:none}.btn-primary:hover{background:var(--accent-hover)}.btn-primary[aria-busy=true],.btn-secondary[aria-busy=true]{opacity:.7;cursor:progress}.btn-secondary{display:inline-flex;align-items:center;gap:10px;background:var(--ground);color:var(--accent);border:2px solid var(--accent);border-radius:10px;padding:0 14px;min-height:44px;font-weight:600;font-size:var(--step-0)}.btn-secondary:hover{background:var(--surface)}.note{font-size:var(--step-0);color:var(--ink-2);line-height:var(--lh-body)}.toast{display:block;margin-top:12px;background:var(--amber-2);border:1px solid var(--amber-3);color:var(--amber);border-radius:9px;padding:12px 15px;font-size:var(--step-0);line-height:var(--lh-body);max-width:44ch}.empty{padding:26px 0 0;color:var(--ink-2);font-size:var(--step-1);max-width:52ch}.empty .btn-primary{margin-top:18px}.footnote{margin-top:40px;padding-top:22px;border-top:2px solid var(--line-2);display:flex;gap:12px;align-items:flex-start;font-size:var(--step-0);color:var(--ink-2)}.footnote svg{flex:none}.lede-text{font-size:var(--step-1);color:var(--ink-2);max-width:70ch;margin:14px 0 0;line-height:var(--lh-body)}.block{margin-top:22px}.muted{color:var(--ink-2);font-size:var(--step-0)}.notice{background:#e4f0ec;border:1px solid #b9d6cc;color:var(--ink);border-radius:9px;padding:12px 15px;margin:16px 0 0}.tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--label);font-weight:700;letter-spacing:var(--track-label);text-transform:var(--caps);color:var(--accent);background:#e4f0ec;border:1px solid #b9d6cc;border-radius:5px;padding:2px 8px}.tag-locked{color:var(--ink-2);background:var(--surface);border-color:var(--line-2)}.pgrid{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.pgrid li{display:flex}.pcard{display:flex;flex-direction:column;gap:10px;width:100%;padding:16px;border:2px solid var(--line);border-radius:14px;background:var(--ground);text-decoration:none;transition:border-color .12s,transform .12s}.pcard:hover{border-color:var(--accent);transform:translateY(-2px)}.pcard-old{border-style:dashed}.pcard-old .pcard-title{color:var(--ink-3)}.pcard-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:0}.pcard-tags:empty{display:none}.pcard-title{font-family:var(--display);font-weight:600;font-size:var(--step-2);line-height:var(--lh-card);text-wrap:balance}.pcard-used{font-size:var(--step-0);color:var(--ink-2)}.pcard-types{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}.type-chip{display:inline-flex;align-items:center;gap:5px;font-size:var(--step-0);color:var(--ink-2);background:var(--surface);border-radius:6px;padding:3px 8px}.type-chip svg{color:var(--accent)}.resources{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:12px}.resource{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:14px;border:2px solid var(--line-2);border-radius:12px;background:var(--ground)}.resource-icon{color:var(--accent);display:grid;place-items:center;flex:none}.resource-text{display:flex;flex-direction:column;flex:1 1 240px;min-width:0}.resource-type{font-size:var(--label);font-weight:700;letter-spacing:var(--track-label);text-transform:var(--caps);color:var(--ink-3)}.resource-title{font-weight:600;font-size:var(--step-1);overflow-wrap:anywhere}.resource-actions{display:flex;flex-wrap:wrap;gap:10px}.resource-video{width:100%;aspect-ratio:16 / 9;background:#000;border-radius:8px}.resource-error{flex-basis:100%}.filebtn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:2px solid var(--accent);border-radius:10px;background:var(--ground);color:var(--accent);font-weight:600;font-size:var(--step-0)}.filebtn:hover{background:#e4f0ec}.filebtn[aria-busy=true]{opacity:.7;cursor:progress}.filebtn-meta{font-weight:500;color:var(--ink-2)}.lock-note{margin-top:12px}.used-list{margin:10px 0 0;padding-left:1.2em}.used-list a{color:var(--accent);font-weight:600}.day-block{padding-top:16px;border-top:2px solid var(--line-2)}.day-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}.day-head h2{font-family:var(--display);font-size:var(--step-3);margin:0}.day-theme{margin:2px 0 0;color:var(--ink-2);font-size:var(--step-1)}.day-hours{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-2)}.running{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column}.run-line{display:grid;grid-template-columns:4.2em minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:var(--step-1)}.run-line:last-child{border-bottom:0}.run-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent)}.run-what a{color:var(--ink);font-weight:600}.run-what a:hover{color:var(--accent)}.run-break .run-what{color:var(--ink-2);font-style:italic}.run-duration{color:var(--ink-3);font-size:var(--step-0);font-variant-numeric:tabular-nums}.lib-filters{margin-top:18px}.lib-filters .input{font:inherit;font-size:var(--step-0);border:2px solid var(--line);border-radius:8px;min-height:44px;padding:0 10px;background:var(--ground)}.course-card .daynum{font-size:24px}.preview{width:min(1100px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:14px;background:var(--ground);color:var(--ink)}.preview::backdrop{background:#050c1299}.preview-head{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line-2)}.preview-head h2{flex:1;margin:0;font-size:var(--step-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{display:inline-flex;border:0;background:none;padding:6px;border-radius:8px;color:var(--ink-2);cursor:pointer}.icon-btn:hover{background:var(--surface)}.preview-stage{display:flex;justify-content:center;align-items:center;min-height:300px;padding:16px;background:var(--stage)}.preview-stage img{max-width:100%;max-height:calc(100vh - 230px);box-shadow:0 2px 12px #00000026;background:#fff}.preview-nav{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--line-2)}.preview-thumbs{flex:1;display:flex;gap:8px;overflow-x:auto;list-style:none;margin:0;padding:4px 0}.preview-thumbs button{padding:0;border:2px solid transparent;border-radius:4px;background:none;cursor:pointer}.preview-thumbs button[aria-current=true]{border-color:var(--accent)}.preview-thumbs img{display:block;height:56px;width:auto}}@layer components{.console{font-size:var(--step-0);padding-top:12px}.appnav{display:flex;gap:4px;flex-wrap:wrap}.navlink{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:8px;font-weight:600;font-size:var(--step-0);text-decoration:none;color:var(--ink-2)}.navlink:hover{color:var(--accent);background:var(--surface)}.navlink-current{color:var(--ink);background:var(--surface);box-shadow:inset 0 -3px 0 var(--accent)}.console-back{min-height:40px;margin-bottom:12px}.console-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;padding-bottom:14px;border-bottom:2px solid var(--line-2)}.console-head h1{font-family:var(--display);font-weight:600;font-size:var(--step-5);line-height:var(--lh-h1);margin:0}.console-eyebrow{margin:0 0 4px;font-size:var(--label);font-weight:700;letter-spacing:var(--track-label);text-transform:var(--caps);color:var(--accent)}.console-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.console-lede{color:var(--ink-2);margin:16px 0 0;max-width:70ch}.console-empty{color:var(--ink-2);padding:24px 0}.console-block{margin-top:22px;padding:18px 20px;border:2px solid var(--line-2);border-radius:12px;background:var(--ground)}.console-block h2,.console-block legend{font-family:var(--display);font-size:var(--step-2);font-weight:600;margin:0 0 12px;padding:0}.console-block legend{float:left;width:100%}.console-block legend+*{clear:both}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:14px;margin-top:18px}.stack-lg{display:flex;flex-direction:column;gap:6px;margin-top:8px}.muted{color:var(--ink-2);font-size:var(--step-0)}.subtitle{display:block;font-weight:400;color:var(--ink-2);font-size:var(--step-0)}.notice{background:var(--accent-2, #e4f0ec);border:1px solid var(--accent-3, #b9d6cc);color:var(--ink);border-radius:9px;padding:12px 15px;margin:16px 0 0}.saved{color:var(--accent);font-weight:600}.danger{color:#9b1c1c}.btn-secondary.danger{border-color:#9b1c1c}.tabs{display:flex;gap:2px;flex-wrap:wrap;margin-top:18px;border-bottom:2px solid var(--line-2)}.tab{border:0;background:none;padding:12px 16px;min-height:48px;font-weight:600;color:var(--ink-2);border-bottom:3px solid transparent;margin-bottom:-2px}.tab:hover{color:var(--accent)}.tab-current{color:var(--ink);border-bottom-color:var(--accent)}.tab-panel{padding-top:4px}.segmented{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;border:2px solid var(--line);border-radius:10px;align-self:flex-start}.segmented button{border:0;background:none;border-radius:7px;padding:0 14px;min-height:40px;font-weight:600;color:var(--ink-2)}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff}.table-wrap{overflow-x:auto;margin-top:16px;border:2px solid var(--line-2);border-radius:12px}.table{width:100%;border-collapse:collapse;font-size:var(--step-0)}.table th,.table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}.table thead th{font-size:var(--label);font-weight:700;letter-spacing:var(--track-label);text-transform:var(--caps);color:var(--ink-3);background:var(--surface)}.table tbody tr:last-child>*{border-bottom:0}.table tbody th{font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table a{color:var(--accent);font-weight:600}.group-row th{background:var(--stage);font-family:var(--display);font-weight:600}.withdrawn{opacity:.6}.pill{display:inline-block;white-space:nowrap;font-size:12.5px;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--surface);color:var(--ink-2);border:1px solid var(--line-2)}.pill-upcoming{background:#e8eefb;color:#1e3a8a;border-color:#c7d4f2}.pill-in_training,.pill-refresher_today{background:var(--accent);color:#fff;border-color:var(--accent)}.pill-awaiting_refresher{background:var(--amber-2);color:var(--amber);border-color:var(--amber-3)}.pill-complete{background:#e4f0ec;color:var(--accent);border-color:#b9d6cc}.pill-failed{background:#fbeaea;color:#9b1c1c;border-color:#efc7c7}.input{font:inherit;font-size:var(--step-0);color:var(--ink);background:var(--ground);border:2px solid var(--line);border-radius:8px;padding:0 10px;min-height:42px;width:100%}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 1px var(--accent)}.input.narrow{width:auto;min-width:7ch}select.input{padding-right:6px}.mark-present{border-color:var(--accent)}.mark-absent{border-color:#c56b6b}.mark-excused{border-color:var(--amber-3)}.form-grid{display:grid;gap:14px 18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.field{display:flex;flex-direction:column;gap:6px}.field label,.session-editor label,.filters label,.file-slot label{font-weight:600;font-size:var(--step-0);display:flex;flex-direction:column;gap:6px}.field-wide{grid-column:1 / -1}.field-hint{margin:0;color:var(--ink-2);font-size:13.5px}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.btn-primary.compact,.btn-secondary.compact{min-height:44px;font-size:var(--step-0);padding:0 18px;text-decoration:none}.linkbtn{border:0;background:none;padding:0;min-height:32px;color:var(--accent);font-weight:600;text-decoration:underline;font-size:var(--step-0)}.iconbtn{width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--line);border-radius:8px;background:var(--ground)}.iconbtn:disabled{opacity:.4}.checks{display:flex;flex-wrap:wrap;gap:10px 22px}.checks label{display:inline-flex;gap:8px;align-items:center;min-height:36px}.checks input,.table input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.session-strip{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.session-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;background:var(--surface)}.session-card a{font-weight:700;color:var(--accent)}.session-date{font-family:var(--display);font-weight:600;font-size:var(--step-2);font-variant-numeric:tabular-nums}.session-venue{color:var(--ink-2);font-size:var(--step-0)}.session-editor{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.session-editor fieldset{border:1px solid var(--line-2);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;margin:0}.session-editor legend{font-weight:700;padding:0 4px}.session-editor .form-actions,.session-editor .toast{grid-column:1 / -1}.people{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.people li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}.people li:last-child{border-bottom:0;padding-bottom:0}.person-name{font-weight:700}.actions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.action{display:grid;gap:8px 12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px;border-radius:10px;background:var(--surface)}.action .input:not(.narrow){grid-column:1 / -1}.action-done .action-text{text-decoration:line-through;color:var(--ink-2)}.action-main{display:flex;flex-direction:column;gap:2px}.action-add{display:grid;gap:10px;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto;margin-top:14px}@media(max-width:720px){.action-add{grid-template-columns:1fr}}.dropzone{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:32px 20px;margin-top:18px;border:2px dashed var(--line);border-radius:14px;background:var(--surface);color:var(--ink-2)}.dropzone p{margin:0}.dropzone-over{border-color:var(--accent);background:#e4f0ec}.progress-list,.inbox,.order-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.progress-list li{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.progress-list progress{flex:1 1 160px;accent-color:var(--accent)}.inbox li{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line-2)}.inbox li:last-child{border-bottom:0}.inbox-name{font-weight:700;flex:1 1 220px;word-break:break-word}.order-list li{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:10px;background:var(--surface)}.order-list a{flex:1;color:var(--ink);font-weight:600}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 18px;margin-top:18px}.filters label{min-width:220px}.file-slots{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.file-slot{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:10px;background:var(--surface)}.file-slot h3{margin:0;font-size:var(--step-1)}.file-slot p{margin:0;word-break:break-word}.role-key{display:grid;gap:10px;margin:8px 0 0}.role-key div{display:flex;gap:10px}.role-key dt{font-weight:700;min-width:7em}.role-key dd{margin:0;color:var(--ink-2)}.redit-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:12px}.redit{padding:12px;border-radius:10px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.redit-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) minmax(0,1fr) auto auto auto;gap:8px;align-items:center}@media(max-width:900px){.redit-head{grid-template-columns:auto minmax(0,1fr) auto auto auto}.redit-head .input:not(.narrow){grid-column:1 / -1}}.redit-files{display:grid;gap:8px}.redit-file{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.redit-file progress{flex:1 1 160px;accent-color:var(--accent)}.redit-lang{font-weight:700;min-width:4.5em}.redit-name{flex:1 1 200px;overflow-wrap:anywhere}.upload-label{cursor:pointer}.radd{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.radd .input:not(.narrow){flex:1 1 220px;width:auto}.radd .toast{flex-basis:100%}.inline-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--step-0)}.plain-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.share-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.roe-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:8px}.roe-line{display:grid;grid-template-columns:4em minmax(0,1fr) auto auto auto auto;gap:8px;align-items:center}.roe-what{font-weight:600}.roe-duration{display:inline-flex;align-items:center;gap:6px;font-size:var(--step-0)}.roe-duration .input{width:6em}.sub-h{font-size:var(--step-1);margin:18px 0 0}.row-tools{display:inline-flex;gap:6px}.person-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.person-edit .input{flex:1 1 160px;width:auto}.date-list{list-style:none;margin:0;padding:0;font-variant-numeric:tabular-nums}.pill-in_session{background:var(--accent);color:#fff;border-color:var(--accent)}.pill-between_sessions{background:var(--amber-2);color:var(--amber);border-color:var(--amber-3)}.iconbtn.danger{color:#9b1c1c}.pill-online{background:#e8eefb;color:#1e3a8a;border-color:#c7d4f2}.where{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.join{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--accent)}.forms-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:10px}.form-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:8px 18px;align-items:start;padding:12px 0;border-top:1px solid var(--line-2)}.forms-list>.form-row:first-child{border-top:0}.forms-list>.console-block.form-row{border:2px solid var(--line-2);padding:14px 16px}.form-main,.form-outcome{display:flex;flex-direction:column;gap:4px;min-width:0}.form-file{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-align:left;overflow-wrap:anywhere}.form-buttons{display:flex;gap:10px;align-items:center}.pill-form-submitted{background:var(--amber-2);color:var(--amber);border-color:var(--amber-3)}.pill-form-assessed{background:#e4f0ec;color:var(--accent);border-color:#b9d6cc}.pill-form-returned{background:#fbeaea;color:#9b1c1c;border-color:#efc7c7}.form-outcome .pill{align-self:flex-start}.assess{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:14px;background:var(--surface);border-radius:10px}.assess label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:var(--step-0)}.assess .score-pair{display:flex;gap:12px}.assess .score-pair .input{width:90px}.assess-notes{flex:1 1 280px}.assess textarea{min-height:64px;padding:8px 10px}.temp-password{padding:16px;border:2px solid var(--accent);border-radius:12px;background:#f2f8f6}.temp-password p{margin:0 0 8px}.temp-value code{font-size:20px;font-weight:700;letter-spacing:.04em;-webkit-user-select:all;user-select:all}.plain-fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:8px}.plain-fieldset legend{font-weight:600;font-size:var(--step-0);margin-bottom:6px}.block-link{display:block;min-height:0;margin-top:4px}.narrow-form{max-width:520px}.form-problem{margin:0;color:#9b1c1c;font-weight:600;font-size:var(--step-0)}.readonly-scope{border:0;padding:0;margin:0;min-width:0}.nowrap{white-space:nowrap}.audit-payload{font-size:13px;color:var(--ink-2);overflow-wrap:anywhere;max-width:48ch}@media(max-width:760px){.form-row{grid-template-columns:1fr}}}@layer components{.login-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:100vh;min-height:100dvh;background:var(--ground)}.login-panel{display:flex;flex-direction:column;padding:20px clamp(20px,5vw,64px)}.login-top{display:flex;justify-content:flex-end}.login-card{width:100%;max-width:400px;margin:auto;padding-block:32px}.login-title{font-family:var(--display);font-size:28px;font-weight:600;line-height:1.15;margin:0}.login-subtitle{margin:10px 0 24px;color:var(--ink-2);font-size:var(--step-0);line-height:var(--lh-body)}.login-form{display:flex;flex-direction:column;gap:6px}.login-form label{font-weight:600;font-size:14px;margin-top:10px}.login-field{display:flex;align-items:center;gap:10px;padding:0 12px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--ground);color:var(--ink-3)}.login-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0b6b5826}.login-field input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:15px;color:var(--ink);padding:0}.login-eye{border:0;background:none;color:var(--ink-3);padding:4px;display:inline-flex;cursor:pointer}.login-submit,.login-microsoft{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;border-radius:8px;font:inherit;font-weight:600;font-size:15px;cursor:pointer}.login-submit{margin-top:18px;border:0;background:var(--accent);color:#fff}.login-submit:hover{background:var(--accent-hover)}.login-submit:disabled{opacity:.7;cursor:progress}.login-microsoft{border:1px solid var(--line);background:var(--ground);color:var(--ink)}.login-microsoft:hover{background:var(--surface)}.login-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--ink-3);font-size:13px}.login-divider span{flex:1;height:1px;background:var(--line-2)}.login-error{margin:12px 0 0;color:#b42318;font-size:14px;font-weight:600}.login-help{margin-top:24px;color:var(--ink-3);font-size:13px;line-height:var(--lh-body)}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:28px;padding:clamp(32px,6vw,88px);background:linear-gradient(160deg,#0f2a25,#0a1f1b 60%,#071512);color:#f2f5f4}.login-brand-grid{position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:linear-gradient(rgb(92 201 180 / 8%) 1px,transparent 1px),linear-gradient(90deg,rgb(92 201 180 / 8%) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at 70% 20%,black 0,transparent 55%);mask-image:radial-gradient(circle at 70% 20%,black 0,transparent 55%)}.login-brand .logo{position:relative;width:min(300px,70%);height:auto;filter:brightness(0) invert(1)}.login-brand-copy{position:relative;max-width:440px}.login-brand-name{margin:0;font-family:var(--display);font-size:30px;font-weight:600;letter-spacing:.01em}.login-brand-rule{width:56px;height:3px;margin:16px 0;background:#5cc9b4}.login-brand-text{margin:0;color:#b9c7c3;font-size:16px;line-height:1.55}.login-security{position:relative;display:flex;align-items:center;gap:8px;margin:0;color:#8fa39e;font-size:13px}@media(max-width:860px){.login-screen{grid-template-columns:1fr}.login-brand{display:none}}}
