:root{--paper:#f7f8fc;--paper-deep:#eef0f6;--surface:#fff;--ink:#171a2b;--ink-soft:#667085;--ink-faint:#98a2b3;--line:#e5e7ef;--line-strong:#d0d5dd;--pine:#6366e8;--pine-deep:#4f46c7;--pine-tint:#eef;--gold:#28a0a6;--gold-tint:#e6f7f7;--primary:var(--pine);--primary-dark:var(--pine-deep);--accent:var(--gold);--brick:#c94a5a;--brick-tint:#fdecef;--ring:linear-gradient(135deg,#28a0a6,#6366e8 65%);--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--radius-xl:28px;--shadow-card:0 1px 2px #16191b0a, 0 8px 24px #16191b0d;--shadow-float:0 16px 40px #1418162e;--rail-w:224px;--topbar-h:72px;--ease-spring:cubic-bezier(.24,1.12,.4,1);--text-xs:12px;--text-sm:12.5px;--text-md:14px;--text-lg:16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--paper);color:var(--ink);overscroll-behavior-y:none;font-family:DM Sans,Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;overflow-x:hidden}.serif{font-optical-sizing:auto;letter-spacing:-.01em;font-family:DM Sans,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}.btn{transition:transform .12s var(--ease-spring),background .15s ease,opacity .15s ease;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:11px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.96)}.btn-ghost{background:var(--paper-deep);color:var(--ink)}.btn-ghost:hover{background:var(--line-strong)}.btn-danger{background:var(--brick-tint);color:var(--brick)}.btn-block{width:100%}.rail{width:var(--rail-w);background:var(--pine-deep);padding:calc(20px + env(safe-area-inset-top)) calc(env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom)) env(safe-area-inset-left);z-index:100;flex-direction:column;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0}.rail-mark{background:#ffffff14;border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:28px;display:flex}.rail-mark svg{stroke:#fff;width:20px;height:20px}.rail-nav{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.rail-item{color:#ffffff8c;border-radius:13px;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s,color .15s;display:flex;position:relative}.rail-item svg{stroke:currentColor;fill:none;width:20px;height:20px}.rail-item:hover{color:#fff;background:#ffffff12}.rail-item.active:before{content:"";background:var(--gold);border-radius:2px;width:3px;height:18px;position:absolute;top:50%;left:-13px;transform:translateY(-50%)}.rail-item .rail-label{background:var(--ink);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:500;transition:opacity .12s;position:absolute;top:50%;left:56px;transform:translateY(-50%)}.rail-item:hover .rail-label{opacity:1}.rail-foot{background:var(--gold);width:38px;height:38px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.topbar{top:0;left:var(--rail-w);height:calc(var(--topbar-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:90;background:#f8f6f1db;justify-content:space-between;align-items:center;padding-left:32px;padding-right:32px;display:flex;position:fixed;right:0}.topbar-title{flex-direction:column;gap:2px;display:flex}.topbar-title .eyebrow{color:var(--ink-soft);font-size:13px}.topbar-title h1{font-size:21px;font-weight:600}.topbar-search{background:var(--surface);border:1px solid var(--line);width:280px;color:var(--ink-faint);border-radius:999px;align-items:center;gap:9px;padding:9px 16px;display:flex}.topbar-search svg{stroke:currentColor;flex-shrink:0;width:16px;height:16px}.topbar-search input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:14px}.topbar-search input::placeholder{color:var(--ink-faint)}.topbar-right{align-items:center;gap:8px;display:flex}.icon-btn{width:38px;height:38px;color:var(--ink-soft);transition:background .15s ease,transform .12s var(--ease-spring);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--paper-deep);color:var(--ink)}.icon-btn:active{transform:scale(.9)}.icon-btn svg{stroke:currentColor;fill:none;width:18px;height:18px}.icon-btn .dot{background:var(--brick);border:1.5px solid var(--paper);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:9px}.avatar{background:linear-gradient(160deg,var(--pine),var(--pine-deep));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;margin-left:6px;font-size:13px;font-weight:600;display:flex}.app{margin-left:var(--rail-w);padding-top:calc(var(--topbar-h) + env(safe-area-inset-top));min-height:100vh}.main{max-width:1180px;margin:0 auto;padding:28px 32px 64px}.stories{margin-bottom:26px}.stories .lbl{color:var(--ink-soft);margin-bottom:12px;font-size:13px}.stories-track{scrollbar-width:none;gap:18px;padding-bottom:4px;display:flex;overflow-x:auto}.stories-track::-webkit-scrollbar{display:none}.story{flex-direction:column;flex-shrink:0;align-items:center;gap:7px;width:64px;display:flex}.story-ring{background:var(--ring);width:60px;height:60px;transition:transform .12s var(--ease-spring);border-radius:50%;padding:2.5px}.story:active .story-ring{transform:scale(.93)}.story-ring-inner{background:var(--surface);border-radius:50%;width:100%;height:100%;padding:2.5px}.story-avatar{background:var(--pine-tint);width:100%;height:100%;color:var(--pine-deep);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.story-name{font-size:var(--text-sm);color:var(--ink-soft);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:64px;overflow:hidden}.story.add .story-avatar{background:var(--paper-deep);color:var(--ink-faint)}.hero-top{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.hero-label{color:#fff9;margin-bottom:6px;font-size:13.5px}.hero-value{letter-spacing:-.015em;font-size:46px;font-weight:500;line-height:1}.hero-delta{color:#cfe7db;background:#ffffff17;border-radius:999px;align-items:center;gap:5px;margin-top:12px;padding:5px 10px;font-size:13px;display:inline-flex}.hero-delta svg{stroke:currentColor;width:13px;height:13px}.hero-chip{color:#fff;background:#ffffff1a;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.hero-spark{width:100%;height:76px}.hero-spark path.line{fill:none;stroke:var(--gold);stroke-width:2.4px;stroke-linecap:round}.hero-months{font-size:var(--text-sm);color:#ffffff73;justify-content:space-between;margin-top:8px;padding:0 2px;display:flex}.agenda{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:26px 26px 22px}.agenda-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.agenda-head h2{font-size:17px;font-weight:600}.agenda-head .count{color:var(--ink-soft);font-size:13px}.agenda-item{gap:14px;padding:11px 0;display:flex;position:relative}.agenda-item:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:30px;bottom:-11px;left:5px}.agenda-time{width:52px;color:var(--ink-soft);flex-shrink:0;padding-top:2px;font-size:12.5px}.agenda-dot{background:var(--surface);border:2px solid var(--pine);z-index:1;border-radius:50%;flex-shrink:0;width:11px;height:11px;margin-top:4px;position:relative}.agenda-body{flex:1}.agenda-body .who{font-size:14.5px;font-weight:500}.agenda-body .what{color:var(--ink-soft);margin-top:1px;font-size:13px}.stat-row{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(4,1fr);margin-bottom:20px;display:grid;overflow:hidden}.stat{border-right:1px solid var(--line);padding:20px 24px}.stat:last-child{border-right:none}.stat .n{letter-spacing:-.01em;font-family:DM Sans,sans-serif;font-size:26px;font-weight:600}.stat .l{color:var(--ink-soft);margin-top:3px;font-size:13px}.stat .t{color:var(--pine);align-items:center;gap:4px;margin-top:8px;font-size:12px;display:inline-flex}.stat .t.warn{color:var(--gold)}.stat .t.down{color:var(--brick)}.stat .t svg{stroke:currentColor;width:11px;height:11px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 26px}.panel-head{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.panel-head h2{font-size:16.5px;font-weight:600}.panel-head .sub{color:var(--ink-soft);font-size:12.5px}.actions{flex-direction:column;gap:10px;display:flex}.action-btn{border:1px solid var(--line);text-align:left;transition:border-color .15s ease,background .15s ease,transform .12s var(--ease-spring);border-radius:14px;align-items:center;gap:12px;padding:13px 14px;display:flex}.action-btn:hover{border-color:var(--line-strong);background:var(--paper)}.action-btn:active{transform:scale(.98)}.action-btn .ico{background:var(--pine-tint);width:34px;height:34px;color:var(--pine-deep);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.action-btn .ico svg{stroke:currentColor;width:16px;height:16px}.action-btn .txt .a1{font-size:14px;font-weight:500}.action-btn .txt .a2{color:var(--ink-soft);font-size:12px}.table-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.table-head{justify-content:space-between;align-items:center;padding:22px 26px 18px;display:flex}.table-head h2{font-size:16.5px;font-weight:600}.table-head .link{color:var(--pine-deep);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.table-head .link svg{stroke:currentColor;width:13px;height:13px}table{border-collapse:collapse;width:100%}thead th{text-align:left;font-size:var(--text-sm);color:var(--ink-faint);border-bottom:1px solid var(--line);padding:0 26px 10px;font-weight:500}tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 26px;font-size:14px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--paper)}.who-cell .ini{background:var(--pine-tint);width:32px;height:32px;color:var(--pine-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.who-cell .nm{font-weight:500}.who-cell .pl{color:var(--ink-soft);font-size:12.5px}.badge{border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.badge.ok{background:var(--pine-tint);color:var(--pine-deep)}.badge.wait{background:var(--gold-tint);color:#7a5a26}.badge.late{background:var(--brick-tint);color:var(--brick)}.badge .d{background:currentColor;border-radius:50%;width:6px;height:6px}.kebab{width:36px;height:36px;color:var(--ink-faint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.kebab:hover{background:var(--paper-deep);color:var(--ink)}.kebab svg{stroke:currentColor;width:17px;height:17px}td.actions-cell{width:1%;padding-left:0}tr td:last-child.actions-cell{text-align:right;padding-right:20px}.backdrop{-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;z-index:1000;background:#14171570;transition:opacity .22s;position:fixed;inset:0}.backdrop.active{opacity:1;pointer-events:auto}.modal-overlay{z-index:1001;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.active{pointer-events:auto}.modal{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-float);opacity:0;transition:transform .28s var(--ease-spring),opacity .2s ease;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:88vh;padding:26px 26px 24px;overflow-y:auto;transform:translateY(16px)scale(.97)}.modal-overlay.active .modal{opacity:1;transform:translateY(0)scale(1)}.modal-drag{display:none}.modal-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-head h2{font-size:18px;font-weight:600}.modal-close{width:32px;height:32px;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.modal-close:hover{background:var(--paper-deep);color:var(--ink)}.modal-close svg{stroke:currentColor;width:17px;height:17px}.field{margin-bottom:16px}.field label{color:var(--ink-soft);margin-bottom:7px;font-size:13px;display:block}.field select,.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--pine)}.offcanvas{background:var(--surface);z-index:1001;width:400px;max-width:92vw;box-shadow:var(--shadow-float);transition:transform .3s var(--ease-spring);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:calc(22px + env(safe-area-inset-top)) 24px calc(32px + env(safe-area-inset-bottom));position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.offcanvas.active{transform:translate(0)}.off-head{justify-content:space-between;align-items:center;margin-bottom:22px;padding-top:4px;display:flex}.off-head h2{font-size:19px;font-weight:600}.off-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;display:flex}.off-row .lab{font-size:14.5px;font-weight:500}.off-row .desc{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.off-row:last-of-type{border-bottom:none}.off-section-lbl{color:var(--ink-faint);margin:22px 0 4px;font-size:12px}.toggle{background:var(--line-strong);border-radius:999px;flex-shrink:0;width:44px;height:26px;transition:background .18s;position:relative}.toggle:after{content:"";width:21px;height:21px;transition:transform .18s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2.5px;left:2.5px;box-shadow:0 1px 3px #00000040}.toggle.on{background:var(--pine)}.toggle.on:after{transform:translate(18px)}.off-logout{text-align:left;width:100%;color:var(--brick);margin-top:26px;padding:14px 4px;font-size:14.5px;font-weight:500}.off-nav-section{display:none}.off-nav{color:var(--ink);border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:13px;width:100%;padding:13px 2px;font-size:14.5px;font-weight:500;display:flex}.off-nav:last-child{border-bottom:none}.off-nav:active{background:var(--paper)}.off-nav svg{stroke:currentColor;width:19px;height:19px;color:var(--ink-soft);flex-shrink:0}.sheet-overlay{z-index:1001;pointer-events:none;padding:0 12px calc(12px + env(safe-area-inset-bottom));justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-overlay.active{pointer-events:auto}.sheet-wrap{opacity:0;flex-direction:column;gap:8px;width:100%;max-width:420px;transition:opacity .2s;display:flex}.sheet-overlay.active .sheet-wrap{opacity:1}.sheet-card{background:var(--surface);border-radius:var(--radius-lg);transition:transform .26s var(--ease-spring);overflow:hidden;transform:translateY(30px)}.sheet-overlay.active .sheet-card{transform:translateY(0)}.sheet-title{color:var(--ink-faint);text-align:center;border-bottom:1px solid var(--line);padding:16px 18px 10px;font-size:12.5px}.sheet-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 18px;font-size:15px;font-weight:500;transition:background .12s;display:flex}.sheet-row:last-child{border-bottom:none}.sheet-row:active{background:var(--paper)}.sheet-row svg{stroke:currentColor;width:19px;height:19px;color:var(--ink-soft)}.sheet-row.danger,.sheet-row.danger svg{color:var(--brick)}.sheet-cancel{background:var(--surface);border-radius:var(--radius-lg);text-align:center;padding:15px;font-size:15px;font-weight:600;transition:background .12s}.sheet-cancel:active{background:var(--paper)}.confirm-overlay{z-index:1002;pointer-events:none;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-overlay.active{pointer-events:auto}.confirm-card{background:var(--surface);border-radius:var(--radius-lg);text-align:center;opacity:0;width:100%;max-width:300px;transition:transform .22s var(--ease-spring),opacity .18s ease;padding:22px 20px 16px;transform:scale(.92)}.confirm-overlay.active .confirm-card{opacity:1;transform:scale(1)}.confirm-card .ico{background:var(--brick-tint);width:44px;height:44px;color:var(--brick);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.confirm-card .ico svg{stroke:currentColor;width:21px;height:21px}.confirm-card h3{margin-bottom:6px;font-size:16px;font-weight:600}.confirm-card p{color:var(--ink-soft);margin-bottom:18px;font-size:13.5px;line-height:1.5}.confirm-actions{gap:8px;display:flex}.story-overlay{background:var(--ink);z-index:1003;opacity:0;pointer-events:none;transition:opacity .2s;position:fixed;inset:0}.story-overlay.active{opacity:1;pointer-events:auto}.story-stage{background:#090b10;width:100%;max-width:460px;height:100dvh;margin:0 auto;position:relative;overflow:hidden}.story-segs{z-index:12;gap:5px;padding:11px 14px 0;display:flex;position:absolute;top:0;left:0;right:0}.story-seg{background:#ffffff47;border-radius:2px;flex:1;height:2.5px;overflow:hidden}.story-seg span{background:#fff;width:0%;height:100%;display:block}.story-seg.done span{width:100%;transition:none}.story-seg.active span{animation:storyfill var(--story-duration,5s) linear forwards}.story-stage.is-paused .story-seg.active span{animation-play-state:paused}@keyframes storyfill{0%{width:0%}to{width:100%}}.story-topbar{z-index:11;background:linear-gradient(#000000b8 0%,#00000085 66%,#0000 100%);justify-content:space-between;align-items:center;min-height:86px;padding:24px 14px 14px;display:flex;position:absolute;top:0;left:0;right:0}.story-who{align-items:center;gap:9px;display:flex}.story-who .ini{color:#fff;background:#ffffff24;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:flex}.story-who .nm{color:#fff;font-size:13.5px;font-weight:500}.story-who .nm strong,.story-who .nm small{display:block}.story-who .nm small{color:#ffffffb3;font-size:var(--text-xs);margin-top:1px;font-weight:500}.story-top-actions{align-items:center;gap:4px;display:flex}.story-pause,.story-sound{color:#fff;background:#00000038;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.story-pause svg,.story-sound svg{width:18px;height:18px}.story-x{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.story-x svg{stroke:currentColor;width:19px;height:19px}.story-body{text-align:center;color:#fff;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0;overflow:hidden}.story-body.has-media{background:#090b10;padding:0}.story-media{object-fit:cover;width:100%;height:100%;display:block}.story-caption{z-index:3;text-align:left;pointer-events:none;background:linear-gradient(#0000,#000000a3);justify-content:space-between;align-items:flex-end;gap:12px;min-height:112px;padding:48px 18px 24px;display:flex;position:absolute;bottom:0;left:0;right:0}.story-caption strong{text-shadow:0 1px 7px #00000080;max-width:68%;font-size:12.5px;line-height:1.35}.story-caption a{z-index:5;color:#fff;font-size:var(--text-xs);pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000057;border:1px solid #ffffff6b;border-radius:999px;flex:none;padding:8px 11px;font-weight:750;text-decoration:none;position:relative}.story-label{color:#ffffff9e;margin-bottom:10px;font-size:13.5px}.story-value{margin-bottom:14px;font-family:DM Sans,sans-serif;font-size:44px;font-weight:500}.story-note{color:#ffffffd1;max-width:280px;font-size:14.5px;line-height:1.5}.story-tap{z-index:2;width:38%;position:absolute;top:0;bottom:0}.story-tap.left{left:0}.story-tap.right{right:0}.students-strip .story.submission-story.is-seen .story-ring{box-shadow:none;background:#dce1e9}.students-strip .story.submission-story.is-seen .story-ring-inner{background:var(--surface)}.students-strip .story.submission-story.is-seen .story-name{color:var(--ink-faint)}.toast-container{z-index:1100;flex-direction:column-reverse;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-float);touch-action:pan-y;border-radius:14px;align-items:center;gap:10px;max-width:340px;padding:12px 14px;display:flex;position:relative;overflow:hidden}.toast .tico{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.toast .tico svg{stroke:currentColor;width:16px;height:16px}.toast.success .tico{color:#9fe1cb;background:#9fe1cb2e}.toast.warning .tico{color:#e4b876;background:#b8873e33}.toast.error .tico{color:#f0997b;background:#e0785a33}.toast.info .tico{color:#fff;background:#ffffff24}.toast .tcontent{flex:1;min-width:0}.toast .ttitle{font-size:13.5px;font-weight:600}.toast .tmsg{color:#ffffffa6;margin-top:1px;font-size:12.5px}.toast .tclose{color:#ffffff80;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.toast .tclose svg{stroke:currentColor;width:13px;height:13px}.toast .tbar{background:#ffffff4d;height:2px;animation:4s linear forwards toastbar;position:absolute;bottom:0;left:0}@keyframes toastbar{0%{width:100%}to{width:0%}}.tabbar{display:none}@media (width<=760px){:root{--topbar-h:64px}.rail{display:none}.off-nav-section{display:block}.app{margin-left:0}.topbar{padding-top:env(safe-area-inset-top);padding-left:18px;padding-right:18px;left:0}.topbar-search{display:none}.topbar-title h1{font-size:19px}.main{padding:18px 16px 100px}.hero{border-radius:var(--radius-lg);padding:24px 20px}.hero-value{font-size:38px}.agenda{border-radius:var(--radius-lg);padding:20px 20px 16px}.stat-row{border-radius:var(--radius-md);grid-template-columns:repeat(2,1fr)}.stat{border-bottom:1px solid var(--line)}.stat:nth-child(2n){border-right:none}.stat:nth-last-child(-n+2){border-bottom:none}.panel{border-radius:var(--radius-md);padding:20px}.table-head{padding:18px 18px 14px}thead{display:none}tbody td{border-bottom:none;padding:4px 18px;display:block}tbody tr{border-bottom:1px solid var(--line);padding:14px 0;display:block;position:relative}tbody tr:hover{background:0 0}.who-cell{padding:2px 36px 8px 0}td.value-cell{color:var(--ink-soft);padding-left:60px;font-size:13px}td.value-cell .amt{color:var(--ink);margin-right:8px;font-size:14px;font-weight:500}td.status-cell{padding-top:6px;padding-left:60px}td.actions-cell{width:auto;padding:0;position:absolute;top:12px;right:12px}tr td:last-child.actions-cell{text-align:right;padding-right:0}.modal-overlay{align-items:flex-end}.modal{max-width:100%;padding:10px 20px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;max-height:86vh;transform:translateY(100%)}.modal-overlay.active .modal{transform:translateY(0)}.modal-drag{touch-action:none;justify-content:center;padding:8px 0 14px;display:flex}.modal-drag span{background:var(--line-strong);border-radius:2px;width:36px;height:4px}.modal-head{margin-bottom:16px}.offcanvas{width:100%;max-width:100%}.toast-container{align-items:stretch;bottom:80px;left:16px;right:16px}.toast{max-width:none}.tabbar{-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:200;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#ffffffeb;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{color:var(--ink-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}.tab-item svg{stroke:currentColor;fill:none;width:21px;height:21px}.tab-item span{font-size:var(--text-xs);font-weight:500}.tab-item.active{color:var(--pine-deep)}.tab-fab{background:var(--pine-deep);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin-top:-22px;display:flex;box-shadow:0 6px 16px #1e443759}.tab-fab svg{stroke:#fff;width:20px;height:20px}}body{background:linear-gradient(#f8f9fd 0%,#f5f6fa 100%)}.rail{width:var(--rail-w);padding:calc(20px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));background:#17192b;border-right:1px solid #ffffff0d;align-items:stretch}.rail-brand{color:#fff;align-items:center;gap:11px;margin-bottom:28px;padding:0 10px;display:flex}.rail-mark{background:linear-gradient(135deg,#7779f7,#5854d7);flex-shrink:0;width:38px;height:38px;margin:0;box-shadow:0 8px 20px #6366e840}.brand-copy{flex-direction:column;line-height:1.1;display:flex}.brand-copy strong{letter-spacing:-.02em;font-size:16px}.brand-copy span{font-size:var(--text-xs);color:#ffffff75;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.rail-nav{align-items:stretch;gap:5px}.rail-section{font-size:var(--text-xs);color:#ffffff52;text-transform:uppercase;letter-spacing:.08em;padding:15px 13px 6px}.rail-item{color:#ffffff94;border-radius:12px;justify-content:flex-start;gap:12px;width:100%;height:44px;padding:0 13px}.rail-item.active:before{display:none}.rail-item.active svg{color:#a7a8ff}.rail-item:hover{background:#ffffff0f}.rail-item .rail-label{opacity:1;color:inherit;pointer-events:auto;background:0 0;padding:0;font-size:13.5px;font-weight:500;position:static;transform:none}.rail-foot-wrap{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:10px;padding:14px 9px 2px;display:flex}.rail-foot{color:#fff;background:#2b2e48;margin:0}.rail-user{min-width:0}.rail-user strong{color:#fff;font-size:12.5px;display:block}.rail-user span{color:#fff6;font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.topbar{padding-top:env(safe-area-inset-top);background:#f7f8fce0;padding-left:34px;padding-right:34px}.topbar-title .eyebrow{font-size:12px}.topbar-title h1{letter-spacing:-.02em;font-size:20px}.topbar-search{background:#fff;border-radius:12px;width:320px;box-shadow:0 1px 2px #10182805}.main{max-width:1280px;padding:30px 34px 70px}.avatar{background:linear-gradient(135deg,#7779f7,#514ac5)}.workspace-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.workspace-copy h2{letter-spacing:-.025em;font-size:25px;line-height:1.2}.workspace-copy p{color:var(--ink-soft);margin-top:5px;font-size:13.5px}.workspace-actions{gap:9px;display:flex}.btn-soft{border:1px solid var(--line);color:var(--ink);background:#fff;box-shadow:0 1px 2px #10182805}.btn-primary{background:var(--pine-deep);border-radius:11px}.btn-primary:hover{background:#4540b5}.btn{border-radius:11px;padding:10px 15px}.overview-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.9fr);gap:18px;margin-bottom:18px;display:grid}.business-card{color:#fff;background:linear-gradient(135deg,#4f46c7 0%,#6265e8 62%,#7072eb 100%);border-radius:22px;padding:25px 27px;position:relative;overflow:hidden;box-shadow:0 12px 32px #4f46c72e}.business-card:after{content:"";border:46px solid #ffffff0e;border-radius:50%;width:270px;height:270px;position:absolute;top:-120px;right:-90px}.business-card .hero-value{letter-spacing:-.04em;font-size:42px;font-weight:600}.business-card .hero-label{color:#ffffffad}.business-card .hero-delta{color:#ecedff;background:#ffffff1f}.business-card .hero-chip{background:#18145638;border:none}.hero-spark path.line{stroke:#87e1d6}.hero-spark path.area{fill:url(#sparkFill)}.agenda{border-radius:22px;padding:23px 24px;box-shadow:0 1px 2px #10182805}.agenda-head a{color:var(--pine-deep);font-size:12px;font-weight:600}.agenda-item{padding:10px 0}.agenda-dot{border-color:var(--pine-deep)}.agenda-item.done .agenda-dot{background:var(--pine-deep)}.agenda-item.now .agenda-dot{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint)}.stat-row{background:0 0;border:none;gap:12px;margin-bottom:18px;overflow:visible}.stat{background:#fff;border-radius:16px;padding:18px 19px;box-shadow:0 1px 2px #10182805;border:1px solid var(--line)!important}.stat .n{font-size:24px;font-weight:700}.stat .l{font-size:12.5px}.stat .t{margin-top:7px}.stat-icon{background:var(--pine-tint);width:34px;height:34px;color:var(--pine-deep);border-radius:10px;justify-content:center;align-items:center;margin-bottom:15px;display:flex}.stat-icon svg{stroke:currentColor;fill:none;width:17px;height:17px}.content-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:18px;margin-bottom:18px;display:grid}.panel{border-radius:18px;padding:22px 23px;box-shadow:0 1px 2px #10182805}.panel-head{margin-bottom:16px}.panel-head h2{font-size:15.5px}.attention-list{flex-direction:column;display:flex}.attention-item{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px 0;display:grid}.attention-item:last-child{border-bottom:none}.attention-ico{width:36px;height:36px;color:var(--pine-deep);background:#f4f4ff;border-radius:11px;justify-content:center;align-items:center;display:flex}.attention-ico.warn{color:#b76b13;background:#fff5e7}.attention-ico.danger{background:var(--brick-tint);color:var(--brick)}.attention-ico svg{stroke:currentColor;fill:none;width:17px;height:17px}.attention-main strong{font-size:13.5px;display:block}.attention-main span{color:var(--ink-soft);font-size:12px}.attention-action{color:var(--pine-deep);font-size:12px;font-weight:600}.actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-btn{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 13px}.action-btn .ico{background:var(--pine-tint);color:var(--pine-deep)}.students-strip{margin-bottom:18px}.students-strip .lbl{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12.5px;display:flex}.students-strip .lbl a{color:var(--pine-deep);font-weight:600}.stories-track{gap:10px}.story{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:row;align-items:flex-start;gap:10px;width:auto;min-width:142px;padding:11px 13px;box-shadow:0 1px 2px #10182805}.story-ring{background:0 0;width:38px;height:38px;padding:0}.story-ring-inner{padding:0}.story-avatar{font-size:var(--text-sm);background:var(--pine-tint)}.story-name{text-align:left;max-width:82px;color:var(--ink);font-size:12.5px;font-weight:600}.story-meta{font-size:var(--text-xs);color:var(--ink-faint);margin-top:2px;font-weight:400;display:block}.story.add{border-style:dashed}.story.add .story-ring{background:0 0}.story.add .story-avatar{background:#f5f5fa}.story.add .story-name{color:var(--ink-soft)}.submission-stories-track{gap:17px;padding:3px 2px 7px}.students-strip .story.submission-story{width:76px;min-width:76px;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;gap:7px;padding:0}.students-strip .submission-story .story-ring{background:var(--ring);width:66px;height:66px;padding:3px;position:relative;box-shadow:0 5px 16px #4f46c724}.students-strip .submission-story .story-ring-inner{background:var(--surface);padding:2.5px}.students-strip .submission-story .story-name{width:76px;max-width:76px;color:var(--ink-soft);font-size:var(--text-sm);text-align:center;font-weight:600}.submission-story-media{background:linear-gradient(145deg,var(--primary),var(--accent));color:#fff;position:relative;overflow:hidden}.submission-story-media img,.submission-story-media video{object-fit:cover;width:100%;height:100%;display:block}.submission-story-play{color:#fff;background:#171a2bb3;border-radius:50%;width:25px;height:25px;padding:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.submission-story-count{z-index:3;border:2px solid var(--surface);background:var(--primary-dark);color:#fff;min-width:20px;height:20px;font-size:var(--text-xs);border-radius:999px;place-items:center;padding:0 5px;font-weight:800;display:grid;position:absolute;bottom:-4px;right:-5px;box-shadow:0 3px 8px #171a2b38}.submission-stories-empty{border:1px dashed var(--line-strong);background:var(--surface);color:var(--ink-soft);font-size:var(--text-sm);border-radius:15px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.submission-stories-empty strong{color:var(--primary-dark);font-size:var(--text-xs)}.table-panel{border-radius:18px;box-shadow:0 1px 2px #10182805}.table-head{padding:20px 22px 15px}thead th{padding:0 22px 9px}tbody td{padding:13px 22px}.who-cell .ini{background:var(--pine-tint);color:var(--pine-deep)}.badge.ok{color:#237a61;background:#eaf8f2}.badge.wait{color:#9b651b;background:#fff4e2}.mbar-fill{background:var(--pine)}.setup-card{color:#fff;background:#17192b;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:18px 22px;display:flex}.setup-copy{align-items:center;gap:14px;display:flex}.setup-icon{color:#b5b6ff;background:#7779f733;border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.setup-icon svg{stroke:currentColor;fill:none;width:18px;height:18px}.setup-copy strong{font-size:13.5px}.setup-copy span{font-size:var(--text-sm);color:#ffffff85;margin-top:2px;display:block}.setup-progress{align-items:center;gap:10px;display:flex}.setup-track{background:#ffffff1f;border-radius:999px;width:120px;height:5px;overflow:hidden}.setup-fill{background:#8a8cff;width:68%;height:100%}.setup-progress span{font-size:var(--text-sm);color:#ffffffa6}@media (width<=980px){.rail{align-items:center;width:76px}.brand-copy,.rail-item .rail-label,.rail-section,.rail-user{display:none}.rail-brand{justify-content:center;padding:0}.rail-item{justify-content:center;width:44px;padding:0}.app{margin-left:76px}.topbar{left:76px}.overview-grid,.content-grid{grid-template-columns:1fr}.actions{grid-template-columns:repeat(4,1fr)}}@media (width<=760px){.rail{display:none}.app{margin-left:0}.topbar{left:0}.workspace-head{flex-direction:column;align-items:flex-start}.workspace-actions{width:100%}.workspace-actions .btn{flex:1}.overview-grid{display:block}.business-card{margin-bottom:14px}.actions{grid-template-columns:1fr 1fr}.setup-card{flex-direction:column;align-items:flex-start}.setup-progress{width:100%}.setup-track{flex:1}.students-strip .story{min-width:132px}.stat-row{grid-template-columns:repeat(2,1fr)}}.empty-state{color:var(--ink-soft);text-align:center;padding:18px;font-size:13px}.pagination-wrap{border-top:1px solid var(--line);padding:18px 22px}.form-message{border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.form-message.error{background:var(--brick-tint);color:var(--brick)}.form-message.success{color:#237a61;background:#eaf8f2}.route-link{cursor:pointer}.route-link[aria-busy=true]{cursor:progress;opacity:.72;pointer-events:none}.route-overlay-loading{padding:18px}.route-overlay-loading-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;width:min(280px,100vw - 36px);min-height:150px;display:flex}.route-overlay-loading-card strong{color:var(--ink-soft);font-size:14px}.route-overlay-spinner{border:3px solid #6366e82e;border-top-color:var(--pine-deep);border-radius:50%;width:28px;height:28px;animation:.72s linear infinite route-overlay-spin}@keyframes route-overlay-spin{to{transform:rotate(360deg)}}.auth-body{min-height:100vh;color:var(--ink);background:#f7f8fc;overflow:auto}.auth-shell{grid-template-columns:minmax(380px,.95fr) minmax(480px,1.05fr);min-height:100vh;display:grid}.auth-brand-panel{color:#fff;background:#17192b;flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.auth-brand-panel:after{content:"";pointer-events:none;border:90px solid #7779f717;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-190px;right:-210px}.auth-brand{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.auth-brand-mark{background:linear-gradient(135deg,#7779f7,#5854d7);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 10px 28px #6366e847}.auth-brand-mark svg{stroke:#fff;width:22px;height:22px}.auth-brand strong{font-size:17px;display:block}.auth-brand small{font-size:var(--text-xs);color:#ffffff73;text-transform:uppercase;letter-spacing:.08em;margin-top:2px;display:block}.auth-brand-copy{z-index:1;max-width:510px;position:relative}.auth-kicker{color:#aeb0ff;background:#7779f71f;border-radius:999px;margin-bottom:18px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.auth-brand-copy h1{letter-spacing:-.045em;max-width:470px;font-size:42px;line-height:1.08}.auth-brand-copy p{color:#ffffff9e;max-width:450px;margin-top:18px;font-size:15px;line-height:1.65}.auth-proof{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:relative}.auth-proof span{font-size:var(--text-sm);color:#ffffff94;border:1px solid #ffffff1a;border-radius:999px;padding:7px 11px}.auth-form-panel{justify-content:center;align-items:center;padding:42px 28px;display:flex}.auth-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:100%;max-width:470px;padding:34px;box-shadow:0 18px 50px #10182812}.auth-heading{margin-bottom:25px}.auth-eyebrow{font-size:var(--text-sm);color:var(--pine-deep);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.auth-heading h2{letter-spacing:-.03em;margin-top:7px;font-size:27px}.auth-heading p{color:var(--ink-soft);margin-top:7px;font-size:13.5px;line-height:1.55}.auth-form{flex-direction:column;gap:2px;display:flex}.auth-form .field{margin-bottom:15px}.auth-form .field input,.auth-form .field select,.auth-form .field textarea{border-color:var(--line);background:#fff;min-height:46px}.auth-form .field input:focus,.auth-form .field select:focus{border-color:var(--pine);box-shadow:0 0 0 3px #6366e817}.field-label-row{justify-content:space-between;align-items:center;display:flex}.field-label-row a{font-size:var(--text-sm);color:var(--pine-deep);font-weight:600}.auth-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-check{color:var(--ink-soft);align-items:flex-start;gap:9px;margin:1px 0 18px;font-size:12.5px;display:flex}.auth-check input{accent-color:var(--pine-deep);margin-top:2px}.auth-submit{min-height:46px}.auth-divider{color:var(--ink-faint);font-size:var(--text-sm);align-items:center;gap:12px;margin:19px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-alert{border-radius:11px;margin-bottom:17px;padding:10px 12px;font-size:12.5px}.auth-alert.error{background:var(--brick-tint);color:var(--brick)}.auth-alert.success{color:#237a61;background:#eaf8f2}.auth-footer-link{text-align:center;color:var(--ink-soft);margin-top:20px;font-size:12.5px}.auth-footer-link a,.auth-text-button{color:var(--pine-deep);font-weight:600}.auth-inline-form{text-align:center;margin-top:16px}@media (width<=880px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:250px;padding:28px 28px 34px}.auth-brand-copy{margin-top:54px}.auth-brand-copy h1{font-size:32px}.auth-proof{display:none}.auth-form-panel{align-items:flex-start;padding:22px 16px 40px}.auth-card{z-index:3;border-radius:19px;margin-top:-22px;padding:25px;position:relative}.auth-form-grid{grid-template-columns:1fr}}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.permission-item{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.permission-item input{accent-color:var(--pine-deep);margin-top:3px}.permission-item strong{font-size:13px;display:block}.permission-item small{font-size:var(--text-xs);color:var(--ink-faint);margin-top:2px;display:block}@media (width<=760px){.permission-grid{grid-template-columns:1fr}}:root{--treinay-icon-size:20px;--treinay-control-h:42px}svg{display:block}.rail svg,.topbar svg,.tabbar svg,.btn svg,.icon-btn svg,.action-btn svg,.attention-action svg,.modal svg,.offcanvas svg:not(.two-factor-qr-svg),.story-overlay svg,.auth-shell svg{fill:none;stroke:currentColor;flex:none}.rail-item>svg{width:20px;height:20px}.icon-btn>svg{width:19px;height:19px}.tab-item>svg{width:21px;height:21px}.tab-fab>svg{width:22px;height:22px}.btn>svg{width:17px;height:17px}.action-btn .ico>svg,.stat-icon>svg,.attention-ico>svg{width:20px;height:20px}.modal-close>svg,.story-x>svg{width:19px;height:19px}.topbar-search>svg{width:18px;height:18px}button,a,input,select,textarea{font:inherit}button{border:0}.btn,.action-btn,.rail-item,.tab-item,.icon-btn,.attention-action,.route-link{-webkit-tap-highlight-color:transparent}.btn{justify-content:center;align-items:center;gap:8px;min-height:40px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--pine-deep);color:#fff}.btn-primary:hover{filter:brightness(.97)}.btn-soft{background:var(--pine-tint);color:var(--pine-deep)}.btn-ghost{color:var(--ink);border:1px solid var(--line);background:0 0}body{background:var(--paper);color:var(--ink)}.app{min-height:100vh}.main{min-width:0}.rail,.topbar,.tabbar{z-index:30}.rail{overflow:hidden}.rail-nav{overflow:hidden auto}.rail-item{-webkit-user-select:none;user-select:none;text-decoration:none}.rail-item.active{color:#fff;background:#7779f724}.rail-item:not(.active):hover{background:#ffffff0e}.rail-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.topbar-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.icon-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.panel,.table-panel,.agenda,.setup-card,.stat{min-width:0}.panel,.table-panel{overflow:hidden}.workspace-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stat-icon,.attention-ico,.action-btn .ico{justify-content:center;align-items:center;display:flex}.table-panel{overflow-x:auto}.table-panel table{border-collapse:collapse;width:100%}.table-panel th,.table-panel td{vertical-align:middle}.who-cell{align-items:center;gap:10px;display:flex}.field input,.field select,.field textarea,.dev-invite-url{box-sizing:border-box;width:100%}.field input,.field select{min-height:44px}.field textarea{resize:vertical}.field input:disabled{opacity:.72;cursor:not-allowed}.backdrop,.modal-overlay,.story-overlay,.confirm-overlay{position:fixed;inset:0}.modal-overlay{justify-content:center;align-items:center;padding:18px;display:flex}.modal{max-height:calc(100vh - 36px);overflow-y:auto}.offcanvas{top:0;bottom:0}.story-stage{min-height:100dvh}.story-tap{cursor:pointer;background:0 0;border:0}.backdrop{z-index:1000}.modal-overlay,.offcanvas{z-index:1001}.confirm-overlay{z-index:1002}.story-overlay{z-index:1003}.toast-container{z-index:1010}.auth-brand,.auth-footer-link a,.field-label-row a{text-decoration:none}.auth-brand-mark svg{stroke:#fff}.auth-card{box-sizing:border-box}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pine);outline-offset:2px}[v-cloak]{display:none!important}@media (width<=980px){.rail-user,.brand-copy{min-width:0}}@media (width<=760px){body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.topbar,.main{padding-left:16px;padding-right:16px}.workspace-head{align-items:flex-start}.workspace-actions{width:100%}.workspace-actions .btn{flex:1}.overview-grid,.content-grid{grid-template-columns:1fr!important}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:20px 20px 0 0;width:100%;max-width:none;max-height:88dvh}.offcanvas{width:min(92vw,380px)}.permission-grid{grid-template-columns:1fr}}@media (width<=480px){.stat-row{grid-template-columns:1fr 1fr}.auth-card{padding:22px 18px}.story-stage{max-width:none}}.section-kicker,.settings-eyebrow,.settings-section-kicker{font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--pine-deep);margin-bottom:5px;font-weight:700;display:block}.settings-panel{padding:28px}.settings-panel .off-head{align-items:flex-start;margin-bottom:28px}.settings-panel .off-head h2{letter-spacing:-.025em;font-size:22px}.settings-section{border-bottom:1px solid var(--line);margin-bottom:26px;padding:0 0 26px}.settings-section:last-of-type{border-bottom:0;margin-bottom:8px}.settings-section-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.settings-section-head h3{font-size:15px;font-weight:600}.security-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:13px;padding:16px;display:flex}.security-icon{background:var(--paper-deep);width:40px;height:40px;color:var(--ink-soft);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.security-icon.active{background:var(--pine-tint);color:var(--pine-deep)}.security-icon svg{width:20px;height:20px}.security-main{flex:1;min-width:0}.security-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.security-title-row strong{font-size:14px}.security-main>p{color:var(--ink-soft);margin-top:5px;font-size:12.5px;line-height:1.5}.security-status{background:var(--paper-deep);font-size:var(--text-xs);color:var(--ink-soft);border-radius:999px;padding:4px 8px;font-weight:700;display:inline-flex}.security-status.active{background:var(--gold-tint);color:#187579}.security-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.btn-text-danger{min-height:38px;color:var(--brick);background:0 0;padding:8px 10px}.btn-text-danger:hover{background:var(--brick-tint)}.settings-step{border:1px solid var(--line);background:var(--paper);border-radius:16px;margin-top:12px;padding:16px}.settings-step-head{margin-bottom:14px}.settings-step-head strong{font-size:14px}.settings-step-head p{color:var(--ink-soft);margin-top:4px;font-size:12.5px;line-height:1.5}.settings-step .field{margin-bottom:14px}.settings-step-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-step-actions.split{justify-content:flex-start}.field-error{font-size:var(--text-sm);color:var(--brick);margin-top:6px;display:block}.recovery-grid{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px;display:grid}.recovery-grid code{border:1px solid var(--line);font-size:var(--text-sm);color:var(--ink);background:#fff;border-radius:9px;padding:8px 9px}.settings-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.settings-row:last-child{border-bottom:0}.settings-row strong{font-size:13.5px;display:block}.settings-row span:not(.settings-value){font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px;display:block}.settings-row.muted{opacity:.72}.settings-value{font-size:var(--text-sm);color:var(--ink-faint);white-space:nowrap}.settings-panel .off-logout{align-items:center;gap:9px;padding:12px 4px;display:flex}.settings-panel .off-logout svg{width:18px;height:18px}.team-invite-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff 0%,#f8f8ff 100%);grid-template-columns:minmax(220px,.8fr) minmax(440px,1.5fr);align-items:end;gap:28px;margin-bottom:18px;padding:22px 24px;display:grid}.team-invite-copy h3{font-size:16px}.team-invite-copy p{max-width:460px;color:var(--ink-soft);margin-top:5px;font-size:12.5px;line-height:1.5}.team-invite-form{grid-template-columns:minmax(190px,1.4fr) minmax(150px,.8fr) auto;align-items:end;gap:10px;display:grid}.team-invite-form .field{margin:0}.team-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.team-role-summary{border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:16px}.team-role-summary>div{align-items:baseline;gap:8px;display:flex}.team-role-count{letter-spacing:-.04em;font-size:24px;font-weight:600}.team-role-summary strong{font-size:13.5px}.team-role-summary>span{font-size:var(--text-sm);color:var(--ink-soft);margin-top:4px;display:block}.team-role-summary>a{font-size:var(--text-sm);color:var(--pine-deep);margin-top:10px;font-weight:600;display:inline-block}.team-members{margin-bottom:18px}.table-head>div h2{margin-top:2px}.team-role-cell strong{font-size:13px;display:block}.team-role-cell span{font-size:var(--text-sm);color:var(--ink-faint);margin-top:2px;display:block}.team-manage-link{color:var(--pine-deep);align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:inline-flex}.team-manage-link svg{width:14px;height:14px}.team-self-label{font-size:var(--text-sm);color:var(--ink-faint)}.inline-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.link-button{color:var(--pine-deep);padding:4px 2px;font-size:12px;font-weight:600}.link-button.danger{color:var(--brick)}.access-form{gap:14px;max-width:760px;display:grid}.access-panel{padding:22px 24px}.access-panel .panel-head{margin-bottom:18px}.field-help{font-size:var(--text-sm);color:var(--ink-soft);margin-top:7px;line-height:1.45;display:block}.access-status-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.access-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;align-items:flex-start;gap:10px;padding:14px;display:flex;position:relative}.access-option:has(input:checked){background:var(--pine-tint);border-color:#a5a6f6}.access-option.danger:has(input:checked){background:var(--brick-tint);border-color:#e8aab3}.access-option input{opacity:0;pointer-events:none;position:absolute}.access-option-dot{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px;box-shadow:inset 0 0 0 4px #fff}.access-option:has(input:checked) .access-option-dot{border-color:var(--pine-deep);background:var(--pine-deep)}.access-option.danger:has(input:checked) .access-option-dot{border-color:var(--brick);background:var(--brick)}.access-option strong{font-size:13.5px;display:block}.access-option small{font-size:var(--text-sm);color:var(--ink-soft);margin-top:3px;line-height:1.4;display:block}.access-advanced,.custom-access-notice,.access-locked-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.access-advanced strong,.custom-access-notice strong,.access-locked-card h3{font-size:14px}.access-advanced p,.custom-access-notice p,.access-locked-card p{font-size:var(--text-sm);color:var(--ink-soft);margin-top:3px;line-height:1.5}.custom-access-notice,.access-locked-card{justify-content:flex-start;margin-bottom:16px}.form-footer-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:22px;padding-top:18px;display:flex}.permission-head{align-items:flex-start}.permission-item{transition:border-color .15s,background .15s}.permission-item:has(input:checked){background:#fafaff;border-color:#c7c8ff}.permission-item input{accent-color:var(--pine-deep)}.toast-enter-active,.toast-leave-active{transition:opacity .18s,transform .18s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(18px)}.toast{border:1px solid #ffffff14}.toast.success .tbar{background:#9fe1cb}.toast.error .tbar{background:#f099a8}.toast.warning .tbar{background:#e4c176}.toast.info .tbar{background:#aeb0ff}@media (width<=980px){.team-invite-card{grid-template-columns:1fr}.team-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.settings-panel{padding:24px 18px}.recovery-grid,.team-invite-form{grid-template-columns:1fr}.team-summary{grid-template-columns:1fr 1fr}.access-status-options{grid-template-columns:1fr}.access-advanced{flex-direction:column;align-items:flex-start}.team-members table,.team-invitations table{min-width:680px}}.two-factor-qr{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:center;align-items:center;margin-bottom:14px;padding:18px;display:flex;overflow:hidden}.two-factor-qr>.two-factor-qr-svg{aspect-ratio:1;width:192px!important;max-width:100%!important;height:192px!important;fill:initial!important;stroke:none!important;color:initial!important;flex:none!important;display:block!important}.two-factor-qr>.two-factor-qr-svg *,.two-factor-qr>.two-factor-qr-svg path,.two-factor-qr>.two-factor-qr-svg rect,.two-factor-qr>.two-factor-qr-svg g{stroke:none!important;stroke-width:0!important}.student-create-modal{width:min(620px,100vw - 36px)}.student-create-modal .modal-head{align-items:flex-start}.student-create-modal .modal-head>div{min-width:0}.modal-subtitle{max-width:470px;color:var(--ink-soft);margin-top:5px;font-size:12.5px;line-height:1.5}.student-form-grid{grid-template-columns:1fr 1fr;gap:14px 12px;margin-top:20px;display:grid}.student-form-grid .field{margin:0}.student-form-grid .field-wide{grid-column:1/-1}.student-modal-note{background:var(--pine-tint);color:var(--ink-soft);font-size:var(--text-sm);border-radius:12px;align-items:flex-start;gap:9px;margin-top:16px;padding:11px 12px;line-height:1.45;display:flex}.student-modal-note svg{width:16px;height:16px;color:var(--pine-deep);flex:none;margin-top:1px}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}@media (width<=620px){.student-form-grid{grid-template-columns:1fr}.student-form-grid .field-wide{grid-column:auto}.student-create-modal{width:100%}}.student-modal-note-warning{background:var(--brick-tint);color:#8f3542}.student-modal-note-warning svg{color:var(--brick)}.date-input-shell{align-items:center;display:flex;position:relative}.date-input-shell>input[type=text]{width:100%;padding-right:46px}.date-input-trigger{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.date-input-trigger svg{width:18px;height:18px}.date-input-trigger:disabled{opacity:.5;cursor:not-allowed}.date-input-native{pointer-events:none;bottom:0;right:16px;opacity:0!important;width:1px!important;height:1px!important;position:absolute!important}.date-input-shell.has-error>input[type=text]{border-color:#e59aa6}.date-input-shell.disabled{opacity:.72}.guardian-modal{width:min(680px,100vw - 28px)}.guardian-mode-switch{background:var(--paper-deep);border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:18px;padding:4px;display:grid}.guardian-mode-switch button{min-height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:9px;padding:8px 12px;font-size:12.5px;font-weight:600}.guardian-mode-switch button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #171a2b14}.guardian-link-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.guardian-link-section.compact{margin-top:8px}.guardian-link-title{margin-top:4px;margin-bottom:-4px}.guardian-toggle{cursor:pointer;align-items:flex-start;gap:10px;padding:12px 0;display:flex}.guardian-toggle+.guardian-toggle{border-top:1px solid var(--line)}.guardian-toggle input{width:16px;height:16px;accent-color:var(--pine-deep);margin-top:2px}.guardian-toggle strong{font-size:13px;display:block}.guardian-toggle small{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px;line-height:1.4;display:block}.guardian-selected-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;margin-top:10px;padding:12px 14px}.guardian-selected-card strong,.guardian-selected-card span{display:block}.guardian-selected-card strong{font-size:13px}.guardian-selected-card span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px}.guardian-modal-actions{justify-content:space-between}.guardian-remove-link{margin-right:auto}.guardian-detach-confirm{background:var(--brick-tint);border:1px solid #f0c5cc;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:14px 16px;display:flex}.guardian-detach-confirm strong{color:#8f3542;font-size:13px}.guardian-detach-confirm p{color:#9c5963;font-size:var(--text-sm);margin-top:3px}.student-guardians-panel{margin-top:0}.guardian-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 0;display:grid}.guardian-row:first-of-type{border-top:0}.guardian-avatar{background:var(--pine-tint);width:38px;height:38px;color:var(--pine-deep);border-radius:12px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.guardian-person{min-width:0}.guardian-person strong{font-size:13.5px;display:block}.guardian-person span{color:var(--ink-soft);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.guardian-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.guardian-badge{background:var(--paper-deep);color:var(--ink-soft);font-size:var(--text-xs);border-radius:999px;padding:4px 7px;font-weight:600}.guardian-badge.financial{background:var(--gold-tint);color:#187579}@media (width<=760px){.guardian-row{grid-template-columns:auto minmax(0,1fr) auto}.guardian-badges{grid-column:2/-1;justify-content:flex-start}.guardian-detach-confirm{flex-direction:column;align-items:flex-start}.guardian-modal-actions{align-items:stretch}}.student-import-page,.student-bulk-editor{gap:18px;display:grid}.import-intro{max-width:980px}.import-dropzone{border:1px dashed var(--line-strong);background:var(--paper);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:22px;display:flex}.import-dropzone strong,.import-dropzone span{display:block}.import-dropzone strong{font-size:14px}.import-dropzone span{color:var(--ink-soft);margin-top:4px;font-size:12px}.import-file-button{flex:none;position:relative;overflow:hidden}.import-file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.import-columns{color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;display:flex}.import-columns code{background:var(--paper-deep);color:var(--ink);font-family:inherit;font-size:var(--text-sm);border-radius:7px;padding:4px 7px}.import-actions{justify-content:flex-end;margin-top:18px}.bulk-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.bulk-summary-card{border:1px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-radius:14px;padding:14px 16px}.bulk-summary-card strong,.bulk-summary-card span{display:block}.bulk-summary-card strong{letter-spacing:-.03em;font-size:22px}.bulk-summary-card span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px}.bulk-summary-card.warning strong{color:#9a6a14}.bulk-summary-card.danger strong{color:var(--brick)}.bulk-preview-panel,.bulk-editor-panel{overflow:hidden}.bulk-table-scroll{width:100%;overflow:auto}.bulk-data-table{min-width:920px}.bulk-data-table td{vertical-align:top}.bulk-row-invalid{background:var(--brick-tint)}.bulk-row-warning{background:#fff9e8}.bulk-validation{max-width:260px;font-size:var(--text-sm);line-height:1.4;display:block}.bulk-validation.ok{color:#258060}.bulk-validation.warning{color:#8d681b}.bulk-validation.error{color:var(--brick)}.bulk-footer-actions{border-top:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;font-size:12px;display:flex}.bulk-toolbar-panel{padding:14px 16px}.bulk-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.bulk-filters{flex:1;align-items:center;gap:8px;display:flex}.bulk-filters input[type=search]{flex:1;min-width:280px;max-width:460px}.bulk-filters select{width:160px}.bulk-selection-bar{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.bulk-selection-bar strong{margin-right:4px;font-size:12px}.bulk-edit-table{min-width:1080px}.bulk-edit-table th:first-child,.bulk-edit-table td:first-child{text-align:center;width:42px}.bulk-cell-input,.bulk-cell-select{width:100%;min-width:150px;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:9px;padding:9px 10px}.bulk-cell-input.name{min-width:190px;font-weight:600}.bulk-cell-input:focus,.bulk-cell-select:focus{border-color:var(--line-strong);background:#fff;outline:none;box-shadow:0 0 0 3px #6366e814}.bulk-component-cell{min-width:180px}.bulk-component-cell .field{margin:0}.bulk-component-cell .field>label{display:none}.bulk-component-cell .field-error{font-size:var(--text-xs)}.bulk-component-cell .field input{background:0 0;border-color:#0000;min-width:155px;padding:9px 10px}.bulk-component-cell .date-input-trigger{right:2px}.bulk-row-dirty{background:#f7f7ff}.bulk-row-dirty td:first-child{box-shadow:inset 3px 0 0 var(--pine)}.bulk-loading{color:var(--ink-soft);text-align:center!important;padding:32px!important}.bulk-pagination{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:12px;padding:14px;display:flex}.bulk-pagination span{color:var(--ink-soft);font-size:var(--text-sm)}@media (width<=760px){.bulk-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-dropzone,.bulk-toolbar,.bulk-footer-actions,.bulk-filters{flex-direction:column;align-items:stretch}.bulk-filters input[type=search],.bulk-filters select{width:100%;min-width:0;max-width:none}.bulk-selection-bar{overflow:auto}}.bulk-status-confirm{border:1px solid var(--line);background:var(--pine-tint);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:13px 14px;display:flex}.bulk-status-confirm.danger{background:var(--brick-tint);border-color:#f0c5cc}.bulk-status-confirm strong,.bulk-status-confirm span{display:block}.bulk-status-confirm strong{font-size:12.5px}.bulk-status-confirm span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px}@media (width<=760px){.bulk-status-confirm{flex-direction:column;align-items:stretch}}.bulk-toolbar-panel-v2{padding:16px 18px}.bulk-toolbar-v2{grid-template-columns:minmax(280px,1fr) 190px auto auto;align-items:center;gap:9px;display:grid}.bulk-search-control{border:1px solid var(--line);background:var(--surface);min-height:46px;color:var(--ink-faint);border-radius:14px;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #10182805}.bulk-search-control:focus-within{border-color:#6366e88c;box-shadow:0 0 0 3px #6366e814}.bulk-search-control svg{flex:none;width:17px;height:17px}.bulk-search-control input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:13.5px}.bulk-search-control input::placeholder{color:var(--ink-faint)}.bulk-search-button{min-height:46px;padding-inline:18px}.treinay-dropdown{min-width:0;position:relative}.treinay-dropdown-label{color:var(--ink-soft);font-size:var(--text-sm);margin-bottom:6px;font-weight:600;display:block}.treinay-dropdown-trigger{border:1px solid var(--line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:0 13px 0 14px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;box-shadow:0 1px 2px #10182805}.treinay-dropdown-trigger:hover{border-color:var(--line-strong);background:#fcfcfe}.treinay-dropdown-trigger:focus-visible,.treinay-dropdown-trigger[aria-expanded=true]{border-color:#6366e88c;outline:none;box-shadow:0 0 0 3px #6366e814}.treinay-dropdown-value{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.treinay-dropdown-value.placeholder{color:var(--ink-faint);font-weight:400}.treinay-dropdown-chevron{width:16px;height:16px;color:var(--ink-faint);flex:none;transition:transform .15s,color .15s}.treinay-dropdown-chevron.open{color:var(--pine-deep);transform:rotate(180deg)}.treinay-dropdown.compact .treinay-dropdown-trigger{min-height:36px;box-shadow:none;background:0 0;border-radius:10px;padding-inline:10px}.treinay-dropdown.compact .treinay-dropdown-trigger:hover,.treinay-dropdown.compact .treinay-dropdown-trigger[aria-expanded=true]{background:var(--surface)}.treinay-dropdown.compact .treinay-dropdown-value{font-size:12.5px}.treinay-dropdown-menu{z-index:1000;border:1px solid var(--line);background:var(--surface);border-radius:14px;max-height:280px;padding:6px;overflow:auto;box-shadow:0 16px 40px #171a2b24,0 3px 10px #171a2b0f}.treinay-dropdown-option{width:100%;min-height:38px;color:var(--ink);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;transition:background .12s,color .12s;display:flex}.treinay-dropdown-option:hover,.treinay-dropdown-option:focus-visible{background:var(--paper);outline:none}.treinay-dropdown-option.selected{background:var(--pine-tint);color:var(--pine-deep)}.treinay-dropdown-option strong{font-size:12.5px;font-weight:600;display:block}.treinay-dropdown-option small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:1px;display:block}.treinay-dropdown-option>svg{flex:none;width:14px;height:14px}.treinay-check{cursor:pointer;vertical-align:middle;justify-content:center;align-items:center;display:inline-flex;position:relative}.treinay-check input{opacity:0;cursor:pointer;position:absolute;inset:0}.treinay-check-box{background:var(--surface);width:21px;height:21px;color:var(--pine-deep);border:1.5px solid #c8cfdf;border-radius:7px;justify-content:center;align-items:center;transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;display:inline-flex}.treinay-check-box>svg{opacity:0;width:12px;height:12px;transition:opacity .12s,transform .12s;transform:scale(.78)}.treinay-check:hover .treinay-check-box{border-color:#aeb7cd}.treinay-check input:focus-visible+.treinay-check-box{border-color:var(--pine);box-shadow:0 0 0 3px #6366e81a}.treinay-check input:checked+.treinay-check-box{box-shadow:inset 0 0 0 1px #4f46c70a;border-color:var(--pine-deep)!important;background:var(--pine-tint)!important;color:var(--pine-deep)!important}.treinay-check input:checked+.treinay-check-box>svg{opacity:1;transform:scale(1)}.bulk-selection-bar-v2{border:1px solid var(--line);background:var(--paper);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:13px;padding:11px 13px;display:flex}.bulk-selection-copy{align-items:center;gap:10px;display:flex}.bulk-selection-count{background:var(--pine-tint);width:32px;height:32px;color:var(--pine-deep);border:1px solid #d9dafb;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.bulk-selection-copy strong,.bulk-selection-copy small{display:block}.bulk-selection-copy strong{font-size:12.5px}.bulk-selection-copy small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:1px}.bulk-status-cell{min-width:145px}.bulk-check-card-v2{border-color:var(--line);background:var(--paper);box-shadow:none}.bulk-check-card-v2:hover{border-color:var(--line-strong);background:#fbfbfe}@media (width<=760px){.bulk-toolbar-v2{grid-template-columns:1fr 1fr}.bulk-search-control{grid-column:1/-1}.bulk-status-dropdown{min-width:0}.bulk-selection-bar-v2{flex-direction:column;align-items:flex-start}}.treinay-field,.field{min-width:0}.treinay-field>label,.field>label,.treinay-dropdown-label{color:var(--ink-soft);margin-bottom:7px;font-size:12.5px;font-weight:600;line-height:1.35;display:block}.field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.field textarea,.treinay-input,.treinay-textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);font:inherit;border-radius:14px;outline:none;padding:11px 14px;font-size:13.5px;line-height:1.35;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:0 1px 2px #10182805}.field textarea,.treinay-textarea{resize:vertical;min-height:104px;line-height:1.5}.field input:not([type=checkbox]):not([type=radio]):not([type=hidden]):hover,.field textarea:hover,.treinay-input:hover,.treinay-textarea:hover{border-color:var(--line-strong)}.field input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,.field textarea:focus,.treinay-input:focus,.treinay-textarea:focus{background:var(--surface);border-color:#6366e88c;box-shadow:0 0 0 3px #6366e814}.field input:disabled,.field textarea:disabled,.treinay-input:disabled,.treinay-textarea:disabled{background:var(--paper-deep);color:var(--ink-soft);cursor:not-allowed}.field input::placeholder,.field textarea::placeholder,.treinay-input::placeholder,.treinay-textarea::placeholder{color:var(--ink-faint)}.treinay-field.has-error .treinay-input,.treinay-field.has-error .treinay-textarea,.treinay-dropdown.has-error .treinay-dropdown-trigger,.date-input-shell.has-error>input[type=text]{border-color:#e6a4ae;box-shadow:0 0 0 3px #c94a5a0f}.date-input-shell>input.treinay-input{padding-right:46px}.date-input-trigger{width:34px;height:34px;color:var(--ink-faint);border-radius:10px;right:6px}.date-input-trigger:hover{background:var(--paper-deep);color:var(--pine-deep)}.treinay-native-dropdown{width:100%;position:relative}.treinay-native-select-source{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;position:absolute!important;overflow:hidden!important}.treinay-native-dropdown-menu[hidden]{display:none!important}.treinay-native-dropdown.disabled .treinay-dropdown-trigger{opacity:.65;cursor:not-allowed;background:var(--paper-deep)}.treinay-check-card-field{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;align-items:flex-start;gap:11px;padding:12px 13px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.treinay-check-card-field:hover{border-color:var(--line-strong);background:#fcfcfe}.treinay-check-card-field:has(input:checked){background:#fafaff;border-color:#d4d5fa}.treinay-check-card-field.disabled{opacity:.58;cursor:not-allowed}.treinay-check-card-copy strong,.treinay-check-card-copy small{display:block}.treinay-check-card-copy strong{color:var(--ink);font-size:12.5px;font-weight:600}.treinay-check-card-copy small{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px;line-height:1.45}.guardian-link-section .treinay-check-card-field+.treinay-check-card-field{margin-top:8px}.auth-check{align-items:center}.auth-check>.treinay-check{flex:none}.permission-item{align-items:flex-start}.permission-item>.treinay-check{flex:none;margin-top:1px}.permission-item:has(.treinay-check input:checked){background:#fafaff;border-color:#d4d5fa}.field select:not(.treinay-native-select-source){border:1px solid var(--line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);font:inherit;border-radius:14px;outline:none;padding:0 40px 0 14px;font-size:13.5px;box-shadow:0 1px 2px #10182805}.bulk-status-cell .treinay-dropdown,.bulk-component-cell .treinay-field,.bulk-component-cell .field{margin:0}.bulk-status-cell .treinay-dropdown-label{display:none}.bulk-component-cell .treinay-input{min-height:36px;box-shadow:none;background:0 0;border-color:#0000;border-radius:10px;padding:8px 10px}.bulk-component-cell .treinay-input:focus{background:var(--surface);border-color:#6366e873;box-shadow:0 0 0 3px #6366e812}@media (width<=760px){.treinay-dropdown-menu{max-width:calc(100vw - 20px)}}.treinay-check input{margin:0!important}.bulk-name-cell{min-width:210px}:root{--form-control-height:46px;--form-field-gap:14px;--form-label-gap:6px;--form-section-gap:20px}.field,.treinay-field{min-width:0;margin:0!important}.auth-form{gap:var(--form-field-gap)!important}.auth-form .field{margin:0!important}.auth-form-grid,.student-form-grid{row-gap:var(--form-field-gap)!important}.treinay-form-stack,.settings-step{gap:var(--form-field-gap);display:grid}.settings-step-head,.settings-step .field,.access-form .field,.team-invite-form .field,.student-form-grid .field,.bulk-component-cell .field,.bulk-component-cell .treinay-field{margin:0!important}.treinay-field>label,.field>label,.treinay-dropdown-label,.field-label-row{margin-bottom:var(--form-label-gap)!important}.field-label-row label{margin:0!important}.treinay-input,.treinay-dropdown-trigger,.field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.field select:not(.treinay-native-select-source){min-height:var(--form-control-height)}.treinay-dropdown-menu{overscroll-behavior:contain;scrollbar-gutter:stable;transform:translateZ(0);z-index:1300!important;margin:0!important;position:fixed!important}.treinay-dropdown-menu[style*="visibility: hidden"]{pointer-events:none}.treinay-dropdown-option{margin:0!important}.treinay-native-select-source{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important;border:0!important;block-size:1px!important;inline-size:1px!important;margin:0!important;padding:0!important;position:absolute!important;inset:auto!important}.treinay-native-dropdown{width:100%;min-width:0;margin:0;display:block}.bulk-component-cell .treinay-input,.bulk-status-cell .treinay-dropdown-trigger{min-height:36px!important}.field-error,.field-help{margin-top:6px!important;margin-bottom:0!important}.treinay-check-card-field{margin:0}@media (width<=760px){:root{--form-field-gap:13px;--form-section-gap:18px}.treinay-dropdown-menu{max-width:calc(100vw - 20px)!important}}.treinay-money-shell{align-items:center;display:flex;position:relative}.treinay-money-shell>span{z-index:1;color:var(--ink-soft);pointer-events:none;font-size:12px;font-weight:700;position:absolute;left:14px}.treinay-money-shell .treinay-input{padding-left:42px!important}.enrollment-modal{width:min(760px,100vw - 28px);max-height:min(88vh,820px);overflow:auto}.student-enrollments-panel{margin-top:0}.modality-manager-grid{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:start;gap:18px;display:grid}.modality-manager-grid>.panel{min-width:0}.modality-row{border-top:1px solid var(--line);text-align:left;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:13px 0;display:grid}.modality-row:hover .modality-row-main strong{color:var(--pine-deep)}.modality-row-main{min-width:0}.modality-row-main strong,.modality-row-main small{display:block}.modality-row-main strong{font-size:13px}.modality-row-main small{color:var(--ink-soft);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.modality-row>svg{width:17px;height:17px;color:var(--ink-faint)}@media (width<=820px){.modality-manager-grid{grid-template-columns:1fr}}@media (width<=600px){.enrollment-modal{width:100%;max-height:94vh}}.group-manager-grid{grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);align-items:start;gap:18px;display:grid}.group-form-panel,.group-list-panel{min-width:0}.group-list-panel-wide{grid-column:1/-1}.group-date-grid{grid-template-columns:1fr 1fr}.group-card{border-top:1px solid var(--line);padding:16px 0}.group-card:first-of-type{border-top:0}.group-card.editable{cursor:pointer}.group-card.inactive{opacity:.72}.group-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.group-card-title{min-width:0}.group-card-title strong,.group-card-title span{display:block}.group-card-title strong{letter-spacing:-.01em;font-size:13.8px}.group-card-title span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px}.group-occupancy{margin-top:12px}.group-occupancy-copy{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-occupancy-copy span{color:var(--ink-soft);font-size:var(--text-xs)}.group-occupancy-copy strong{font-size:var(--text-sm)}.group-occupancy-track{background:var(--paper-deep);border-radius:999px;height:5px;margin-top:7px;overflow:hidden}.group-occupancy-track span{border-radius:inherit;background:var(--pine);height:100%;transition:width .2s;display:block}.group-meta-row{color:var(--ink-faint);font-size:var(--text-xs);flex-wrap:wrap;gap:6px 12px;margin-top:9px;display:flex}.group-students-preview{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.group-student-pill,.group-student-more{border:1px solid var(--line);background:var(--surface);min-height:27px;color:var(--ink-soft);font-size:var(--text-xs);border-radius:999px;align-items:center;padding:4px 9px;text-decoration:none;display:inline-flex}.group-student-pill:hover{color:var(--pine-deep);background:#fafaff;border-color:#d4d5fa}.group-student-more{background:var(--paper-deep);font-weight:700}.group-empty-members{color:var(--ink-faint);font-size:var(--text-xs);margin-top:12px}@media (width<=860px){.group-manager-grid{grid-template-columns:1fr}}@media (width<=600px){.group-date-grid{grid-template-columns:1fr}}.group-card-actions{justify-content:flex-end;margin-top:12px;display:flex}.btn-compact{min-height:34px;font-size:var(--text-sm);border-radius:10px;padding:7px 10px}html{scrollbar-gutter:stable}html.treinay-overlay-open,body.treinay-overlay-open{overflow:hidden!important}.agenda-page{gap:18px;display:grid}.agenda-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.agenda-navigation{align-items:center;gap:8px;min-width:0;display:flex}.agenda-navigation>strong{white-space:nowrap;margin-left:4px;font-size:13px}.agenda-navigation .icon-btn{width:38px;height:38px}.agenda-week-shell{border:1px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-radius:18px;grid-template-columns:repeat(7,minmax(150px,1fr));transition:opacity .18s;display:grid;overflow:auto}.agenda-week-shell.loading{opacity:.58}.agenda-day-column{border-right:1px solid var(--line);background:#fff;min-height:430px}.agenda-day-column:last-child{border-right:0}.agenda-day-column.today{background:linear-gradient(180deg,var(--pine-tint) 0,#fffffff5 80px)}.agenda-day-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:58px;padding:10px 12px;display:flex}.agenda-day-head span{color:var(--ink-soft);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.agenda-day-head strong{border-radius:10px;justify-content:center;align-items:center;width:31px;height:31px;font-size:13px;display:flex}.agenda-day-column.today .agenda-day-head strong{background:var(--pine-deep);color:#fff}.agenda-day-body{align-content:start;gap:8px;padding:10px;display:grid}.agenda-event{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;gap:3px;padding:10px 11px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.agenda-event:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 5px 16px #171a2b0f}.agenda-event.recurring{border-left:3px solid var(--pine-deep)}.agenda-event-time{color:var(--pine-deep);font-size:var(--text-xs);font-weight:700}.agenda-event strong{font-size:12.5px;line-height:1.3}.agenda-event>span:not(.agenda-event-time){color:var(--ink-soft);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agenda-event small{background:var(--pine-tint);width:max-content;color:var(--pine-deep);font-size:var(--text-xs);border-radius:999px;padding:2px 6px;font-weight:700}.agenda-day-empty{color:var(--ink-faint);font-size:var(--text-sm);text-align:center;padding:14px 8px}.agenda-rules-panel{overflow:hidden}.agenda-rule-list{display:grid}.agenda-rule-row{border-top:1px solid var(--line);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:14px;padding:13px 0;display:grid}.agenda-rule-row:first-child{border-top:0}.agenda-rule-row strong,.agenda-rule-row span{display:block}.agenda-rule-row>div:first-child strong{font-size:13px}.agenda-rule-row>div:first-child span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px}.agenda-rule-days{align-items:center;gap:4px;display:flex}.agenda-rule-days span{background:var(--paper-deep);color:var(--ink-soft);font-size:var(--text-xs);border-radius:8px;padding:4px 6px;font-weight:700}.agenda-modal-overlay{padding:24px 12px;overflow-y:auto}.agenda-modal{width:min(760px,100vw - 28px);max-width:760px;max-height:none;margin:auto}.agenda-modal .student-form-grid{align-items:start;margin-top:0}.agenda-form-stack{gap:var(--form-field-gap)}.agenda-weekday-field{min-width:0}.agenda-weekday-label{margin-bottom:var(--form-label-gap)!important}.agenda-weekday-selector{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.agenda-weekday-chip{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);min-width:0;min-height:42px;color:var(--ink-soft);font-size:var(--text-sm);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:9px 10px;font-weight:700;line-height:1;transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .16s;display:flex;position:relative}.agenda-weekday-chip input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;margin:0;position:absolute}.agenda-weekday-chip:hover{border-color:var(--line-strong);background:#fcfcfe}.agenda-weekday-chip:has(input:focus-visible){border-color:#6366e88c;box-shadow:0 0 0 3px #6366e814}.agenda-weekday-chip.active{border-color:var(--pine-deep);background:var(--pine-tint);color:var(--pine-deep);box-shadow:inset 0 0 0 1px var(--pine-deep)}.agenda-weekday-chip.active:has(input:focus-visible){box-shadow:inset 0 0 0 1px var(--pine-deep),0 0 0 3px #6366e814}.agenda-modal-actions{justify-content:space-between}@media (width<=900px){.agenda-toolbar{flex-direction:column;align-items:stretch}.agenda-toolbar .workspace-actions{justify-content:flex-start}.agenda-week-shell{grid-template-columns:repeat(7,minmax(170px,1fr))}}@media (width<=760px){.agenda-navigation{flex-wrap:wrap}.agenda-navigation>strong{width:100%;margin:2px 0 0}.agenda-toolbar .workspace-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.agenda-rule-row{grid-template-columns:1fr auto}.agenda-rule-days{grid-column:1/-1;justify-content:flex-start}.agenda-weekday-selector{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.agenda-weekday-chip{min-height:44px;padding:10px 12px}.agenda-modal{width:min(100%,100vw - 20px)}.agenda-modal-actions{align-items:stretch;gap:10px}}.agenda-toolbar-v2{gap:12px;display:grid}.agenda-toolbar-primary,.agenda-toolbar-secondary{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.agenda-toolbar-secondary{border-top:1px solid var(--line);padding-top:10px}.agenda-view-switch{border:1px solid var(--line);background:var(--paper-deep);border-radius:12px;flex-shrink:0;align-items:center;padding:3px;display:inline-flex}.agenda-view-switch button{min-height:32px;color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:6px 13px;font-weight:700;transition:background .16s,color .16s,box-shadow .16s}.agenda-view-switch button.active{color:var(--pine-deep);background:#fff;box-shadow:0 1px 4px #171a2b14}.agenda-filter-button{align-items:center;gap:7px;display:inline-flex}.agenda-filter-button>svg{width:15px;height:15px}.agenda-filter-button.active{color:var(--pine-deep);background:#fafaff;border-color:#d4d5fa}.agenda-filter-count{background:var(--pine-deep);color:#fff;min-width:19px;height:19px;font-size:var(--text-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-weight:800;display:inline-flex}.agenda-filters-panel{border:1px solid var(--line);background:var(--paper);border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;padding:13px;animation:.16s agenda-filter-in;display:grid}.agenda-filters-panel .field{margin:0}.agenda-clear-filters{white-space:nowrap;align-self:center}@keyframes agenda-filter-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.agenda-month-shell{border:1px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-radius:18px;transition:opacity .18s;overflow:hidden}.agenda-month-shell.loading{opacity:.58}.agenda-month-weekdays{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.agenda-month-weekdays span{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.045em;text-align:center;padding:10px 12px;font-weight:800}.agenda-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.agenda-month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:#fff;min-width:0;min-height:128px;padding:9px;transition:background .14s,box-shadow .14s;position:relative}.agenda-month-day:nth-child(7n){border-right:0}.agenda-month-day:hover{background:#fcfcff}.agenda-month-day.muted{color:var(--ink-faint);background:#fafafc}.agenda-month-day.selected{box-shadow:inset 0 0 0 2px #6366e838}.agenda-month-day.today{background:linear-gradient(180deg,var(--pine-tint) 0,#fff 52px)}.agenda-month-day-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:7px;display:flex}.agenda-month-day-head>button{width:28px;height:28px;color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;font-weight:800;display:flex}.agenda-month-day.today .agenda-month-day-head>button{background:var(--pine-deep);color:#fff}.agenda-month-day.muted .agenda-month-day-head>button{color:var(--ink-faint)}.agenda-month-day-head>span{color:var(--ink-faint);font-size:var(--text-xs);white-space:nowrap}.agenda-month-events{gap:4px;min-width:0;display:grid}.agenda-month-event{background:var(--paper);width:100%;min-width:0;color:var(--ink);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:5px 6px;transition:border-color .14s,background .14s;display:flex}.agenda-month-event:hover{border-color:var(--line-strong);background:#fff}.agenda-month-event.recurring{border-left:2px solid var(--pine-deep)}.agenda-month-event span{color:var(--pine-deep);font-size:var(--text-xs);flex:none;font-weight:800}.agenda-month-event strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-xs);font-weight:650;overflow:hidden}.agenda-month-more{width:max-content;max-width:100%;color:var(--pine-deep);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:3px 2px;font-weight:750}.agenda-month-grid-mobile{display:none}.agenda-selected-day-panel{overflow:hidden}.agenda-selected-day-head{justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.agenda-selected-day-head h2{letter-spacing:-.02em;margin:2px 0 0;font-size:16px}.agenda-selected-day-head .sub{margin-top:3px;display:block}.agenda-selected-day-list{border-top:1px solid var(--line);display:grid}.agenda-selected-day-item{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 2px;display:grid}.agenda-selected-day-item:last-child{border-bottom:0}.agenda-selected-day-item:hover{background:var(--paper)}.agenda-selected-day-time{color:var(--pine-deep);font-size:var(--text-sm);font-weight:800}.agenda-selected-day-item>div{min-width:0}.agenda-selected-day-item>div strong,.agenda-selected-day-item>div span{display:block}.agenda-selected-day-item>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.agenda-selected-day-item>div span{color:var(--ink-soft);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.agenda-selected-day-empty{border-top:1px solid var(--line)}@media (width<=1100px){.agenda-filters-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.agenda-clear-filters{grid-column:1/-1;justify-self:start}.agenda-month-day{min-height:116px;padding:7px}.agenda-month-event{padding:4px}}@media (width<=760px){.agenda-toolbar-primary,.agenda-toolbar-secondary{flex-direction:column;align-items:stretch}.agenda-navigation{grid-template-columns:38px auto 38px;align-items:center;width:100%;display:grid}.agenda-navigation>strong{text-align:left;grid-column:1/-1;width:100%;margin:2px 0 0}.agenda-view-switch{grid-template-columns:1fr 1fr;width:100%;display:grid}.agenda-view-switch button{width:100%}.agenda-toolbar-secondary>.workspace-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.agenda-filter-button{width:max-content}.agenda-filters-panel{grid-template-columns:1fr}.agenda-clear-filters{grid-column:auto}.agenda-week-shell{box-shadow:none;background:0 0;border:0;grid-template-columns:1fr;gap:10px;display:grid;overflow:visible}.agenda-day-column{min-height:0;box-shadow:var(--shadow-card);background:#fff;border-radius:15px;overflow:hidden;border:1px solid var(--line)!important}.agenda-day-column.today{background:linear-gradient(180deg,var(--pine-tint) 0,#fff 70px)}.agenda-day-head{height:50px}.agenda-day-body{padding:9px}.agenda-month-weekdays span{font-size:var(--text-xs);padding:8px 2px}.agenda-month-grid-desktop{display:none}.agenda-month-grid-mobile{display:grid}.agenda-month-day-mobile{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;justify-content:center;align-items:center;display:flex;position:relative}.agenda-month-day-mobile:nth-child(7n){border-right:0}.agenda-month-day-mobile>span{width:28px;height:28px;font-size:var(--text-sm);border-radius:9px;justify-content:center;align-items:center;font-weight:750;display:flex}.agenda-month-day-mobile.muted{color:var(--ink-faint);background:#fafafc}.agenda-month-day-mobile.today>span{background:var(--pine-deep);color:#fff}.agenda-month-day-mobile.selected{box-shadow:inset 0 0 0 2px #6366e838}.agenda-month-day-mobile>small{background:var(--pine-tint);min-width:15px;height:15px;color:var(--pine-deep);font-size:var(--text-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-weight:800;display:flex;position:absolute;bottom:4px;right:5px}.agenda-selected-day-head{flex-direction:column;align-items:stretch}.agenda-selected-day-head .workspace-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.agenda-selected-day-item{grid-template-columns:48px minmax(0,1fr)}.agenda-selected-day-item>.badge{grid-column:2;width:max-content;margin-top:-4px}}@media (width<=480px){.agenda-toolbar-secondary>.workspace-actions,.agenda-selected-day-head .workspace-actions{grid-template-columns:1fr}.agenda-filter-button{justify-content:center;width:100%}.agenda-month-day-mobile{min-height:44px}}.action-confirm-layer[hidden]{display:none}.action-confirm-layer{z-index:1500;isolation:isolate;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.action-confirm-backdrop{-webkit-backdrop-filter:blur(5px);cursor:default;background:#171a2b7a;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.action-confirm-card{z-index:1;box-sizing:border-box;background:var(--surface);border:1px solid #c94a5a2e;border-radius:20px;width:min(430px,100%);max-height:calc(100dvh - 40px);padding:22px;position:relative;overflow:auto;box-shadow:0 24px 80px #171a2b38}.action-confirm-icon{background:var(--brick-tint);width:42px;height:42px;color:var(--brick);border:1px solid #c94a5a2e;border-radius:13px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.action-confirm-icon svg{width:21px;height:21px}.action-confirm-copy h3{color:var(--ink);letter-spacing:-.02em;margin:3px 0 7px;font-size:18px;line-height:1.25}.action-confirm-copy p{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.55}.action-confirm-detail{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:12px;margin-top:14px;padding:11px 12px;font-size:12px;line-height:1.5}.action-confirm-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;display:flex}.btn-danger-solid{border:1px solid var(--brick)!important;background:var(--brick)!important;color:#fff!important;box-shadow:none!important}.btn-danger-solid:hover:not(:disabled){filter:brightness(.96);transform:translateY(-1px)}.btn-danger-solid:focus-visible{outline:none;box-shadow:0 0 0 4px #c94a5a24!important}@media (width<=560px){.action-confirm-layer{padding:12px 12px calc(12px + env(safe-area-inset-bottom));align-items:flex-end}.action-confirm-card{border-radius:20px;width:100%;padding:20px 18px}.action-confirm-actions{grid-template-columns:1fr 1fr;display:grid}.action-confirm-actions .btn{justify-content:center;width:100%}}.modal-overlay,.sheet-overlay,.confirm-overlay,.agenda-modal-overlay,.group-student-overlay{scrollbar-width:none;-ms-overflow-style:none}.modal-overlay::-webkit-scrollbar{width:0;height:0;display:none}.sheet-overlay::-webkit-scrollbar{width:0;height:0;display:none}.confirm-overlay::-webkit-scrollbar{width:0;height:0;display:none}.agenda-modal-overlay::-webkit-scrollbar{width:0;height:0;display:none}.group-student-overlay::-webkit-scrollbar{width:0;height:0;display:none}.agenda-modal{overscroll-behavior:auto;overflow:visible}.modal-overlay{overscroll-behavior:contain}.agenda-event-card{border:1px solid var(--line);background:#fff;border-radius:13px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden}.agenda-event-card:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 5px 16px #171a2b0f}.agenda-event-card.recurring{border-left:3px solid var(--pine-deep)}.agenda-event-card .agenda-event{box-shadow:none;border:0;border-radius:0;transform:none}.agenda-event-card .agenda-event:hover{box-shadow:none;border-color:#0000;transform:none}.agenda-attendance-action{border:0;border-top:1px solid var(--line);background:var(--paper);width:100%;min-height:32px;color:var(--pine-deep);font:inherit;font-size:var(--text-xs);cursor:pointer;justify-content:flex-start;align-items:center;gap:6px;padding:7px 10px;font-weight:700;transition:background-color .16s,color .16s;display:flex}.agenda-attendance-action:hover{background:var(--pine-tint)}.agenda-attendance-action:focus-visible{outline-offset:-2px;outline:2px solid #6366e847}.agenda-attendance-action svg{flex:none;width:14px;height:14px}.agenda-selected-day-item{cursor:default;grid-template-columns:minmax(0,1fr) auto;padding:6px 2px}.agenda-selected-day-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:5px 0;display:grid}.agenda-selected-day-main>div{min-width:0}.agenda-selected-day-main>div strong,.agenda-selected-day-main>div span{display:block}.agenda-selected-day-main>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.agenda-selected-day-main>div span{color:var(--ink-soft);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.agenda-selected-attendance{white-space:nowrap}.attendance-backdrop{z-index:1190}.attendance-modal-overlay{z-index:1200;scrollbar-width:none;padding:22px 12px;overflow-y:auto}.attendance-modal-overlay::-webkit-scrollbar{display:none}.attendance-modal{width:min(920px,100vw - 28px);max-width:920px;max-height:none;margin:auto;overflow:hidden}.attendance-modal-head{padding-bottom:16px}.attendance-loading{min-height:220px;color:var(--ink-soft);justify-content:center;align-items:center;gap:9px;font-size:12.5px;display:flex}.attendance-loading-dot{background:var(--pine-deep);width:8px;height:8px;box-shadow:0 0 0 5px var(--pine-tint);border-radius:999px}.attendance-summary{border:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin:0 22px 14px;padding:14px 16px;display:flex}.attendance-summary-main{align-items:baseline;gap:7px;display:flex}.attendance-summary-main strong{letter-spacing:-.04em;color:var(--ink);font-size:23px}.attendance-summary-main span{color:var(--ink-soft);font-size:var(--text-sm)}.attendance-summary-stats{color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:14px;display:flex}.attendance-summary-stats b{color:var(--ink);font-weight:700}.attendance-quick-actions{align-items:center;gap:8px;margin:0 22px 14px;display:flex}.attendance-quick-actions .btn svg{width:15px;height:15px}.attendance-list{border:1px solid var(--line);background:#fff;border-radius:16px;margin:0 22px;display:grid;overflow:hidden}.attendance-row{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:12px 18px;padding:12px 14px;transition:background-color .15s;display:grid}.attendance-row:last-child{border-bottom:0}.attendance-row.status-present{background:linear-gradient(90deg,var(--pine-tint) 0,#ffffffd1 28%,#fff 100%)}.attendance-row.status-absent{background:linear-gradient(90deg,var(--brick-tint) 0,#ffffffd1 28%,#fff 100%)}.attendance-row.status-justified{background:linear-gradient(90deg,#fff9e8 0,#ffffffd6 28%,#fff 100%)}.attendance-person{align-items:center;gap:10px;min-width:0;display:flex}.attendance-avatar{background:var(--paper-deep);width:34px;height:34px;color:var(--pine-deep);font-size:var(--text-sm);border-radius:11px;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex}.attendance-person>div:last-child{min-width:0}.attendance-person strong,.attendance-person span{display:block}.attendance-person strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.attendance-person span{color:var(--ink-soft);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.attendance-status-actions{align-items:center;gap:6px;display:flex}.attendance-status-btn{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-weight:700;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.attendance-status-btn svg{width:13px;height:13px}.attendance-status-btn:hover{border-color:var(--line-strong);color:var(--ink)}.attendance-status-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #6366e81a}.attendance-status-btn.present.active{background:var(--pine-tint);color:var(--pine-deep);border-color:#28a0a66b}.attendance-status-btn.absent.active{background:var(--brick-tint);color:var(--brick);border-color:#efc1c8}.attendance-status-btn.justified.active{color:#8d681b;background:#fff9e8;border-color:#ecd79c}.attendance-row-secondary{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;min-height:20px;margin-top:-5px;display:flex}.attendance-pending-label{color:var(--ink-faint);font-size:var(--text-xs);margin-right:auto}.attendance-note-toggle{font-size:var(--text-xs)!important;padding:2px 0!important}.attendance-row-notes{grid-column:1/-1;padding-top:2px}.attendance-row-notes .treinay-field{margin:0}.attendance-list.individual{max-width:680px;margin-left:auto;margin-right:auto}.attendance-row.individual{grid-template-columns:1fr;padding:18px}.attendance-row.individual .attendance-person{text-align:center;flex-direction:column;justify-content:center}.attendance-row.individual .attendance-avatar{border-radius:15px;width:48px;height:48px;font-size:15px}.attendance-status-actions.large{justify-content:center;gap:8px}.attendance-status-actions.large .attendance-status-btn{min-height:42px;font-size:var(--text-sm);padding:9px 14px}.attendance-row.individual .attendance-row-secondary{justify-content:center;margin-top:0}.attendance-row.individual .attendance-pending-label{margin-right:0}.attendance-empty{flex-direction:column;justify-content:center;gap:4px;min-height:190px;margin:0 22px;display:flex}.attendance-empty strong,.attendance-empty span{display:block}.attendance-modal-footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:14px 22px 18px;display:flex;position:sticky;bottom:0}.attendance-footer-copy{color:var(--ink-soft);font-size:var(--text-sm)}.student-attendance-panel .attendance-history-summary{border:1px solid var(--line);background:var(--paper);border-radius:14px;align-items:center;gap:10px;margin-bottom:10px;padding:12px 14px;display:flex}.attendance-history-summary strong{letter-spacing:-.03em;font-size:19px}.attendance-history-summary span{color:var(--ink-soft);font-size:var(--text-sm)}.attendance-history-row{border-bottom:1px solid var(--line);grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 2px;display:grid}.attendance-history-row:last-child{border-bottom:0}.attendance-history-date{font-size:var(--text-sm);color:var(--ink-soft)}.attendance-history-main strong,.attendance-history-main span{display:block}.attendance-history-main strong{font-size:12.5px}.attendance-history-main span{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px}.attendance-history-status{font-size:var(--text-xs);border-radius:999px;align-items:center;padding:5px 8px;font-weight:700;display:inline-flex}.attendance-history-status.present{background:var(--pine-tint);color:var(--pine-deep)}.attendance-history-status.absent{background:var(--brick-tint);color:var(--brick)}.attendance-history-status.justified{color:#8d681b;background:#fff9e8}@media (width<=760px){.agenda-event-card{border-radius:12px}.agenda-selected-day-item{grid-template-columns:1fr;gap:6px;padding:9px 2px}.agenda-selected-day-main{grid-template-columns:48px minmax(0,1fr);gap:10px;width:100%}.agenda-selected-day-main>.badge{grid-column:2;width:max-content;margin-top:-3px}.agenda-selected-attendance{width:max-content;margin-left:48px}.attendance-modal-overlay{padding:10px 8px}.attendance-modal{border-radius:18px;width:min(100%,100vw - 12px)}.attendance-summary{flex-direction:column;align-items:flex-start;gap:8px;margin:0 14px 12px}.attendance-quick-actions{flex-wrap:wrap;margin:0 14px 12px}.attendance-list{margin:0 14px}.attendance-row{grid-template-columns:1fr;gap:10px;padding:13px 12px}.attendance-status-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.attendance-status-btn{padding:8px 5px}.attendance-status-btn span{font-size:var(--text-xs)}.attendance-row-secondary{margin-top:0}.attendance-modal-footer{flex-direction:column;align-items:stretch;padding:12px 14px 14px}.attendance-modal-footer .inline-actions{grid-template-columns:1fr 1.2fr;width:100%;display:grid}.attendance-modal-footer .btn{width:100%}.attendance-history-row{grid-template-columns:86px minmax(0,1fr)}.attendance-history-status{grid-column:2;width:max-content;margin-top:-5px}}.group-attendance-summary{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;margin-top:10px;padding:10px 12px;display:grid}.group-attendance-summary span{color:var(--ink-soft);font-size:var(--text-xs)}.group-attendance-summary strong{letter-spacing:-.03em;color:var(--pine-deep);grid-area:1/2/3;align-self:center;font-size:17px}.group-attendance-summary small{color:var(--ink-faint);font-size:var(--text-xs)}.group-agenda-readiness{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px 13px;display:flex}.group-agenda-readiness-copy{gap:3px;min-width:0;display:grid}.group-agenda-readiness-copy strong{font-size:var(--text-sm);color:var(--ink)}.group-agenda-readiness-copy span{font-size:var(--text-xs);color:var(--ink-soft);line-height:1.45}.group-agenda-readiness.is-ready{background:#28a0a60b;border-color:#28a0a647}.group-agenda-readiness.is-attention{background:#fffaf0;border-color:#ead9ad}.group-agenda-readiness.is-empty{background:#fbfcff}@media (width<=760px){.group-agenda-readiness{flex-direction:column;align-items:stretch}.group-agenda-readiness .btn{justify-content:center;width:100%}}.attendance-attachments{border:1px solid var(--line);background:#fbfcff;border-radius:14px;margin-top:12px;padding:14px}.attendance-attachments-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.attendance-attachments-head>div{min-width:0}.attendance-attachments-head strong,.attendance-attachments-head small{display:block}.attendance-attachments-head strong{color:var(--ink);font-size:12px}.attendance-attachments-head strong span{color:var(--ink-faint);font-weight:500}.attendance-attachments-head small{font-size:var(--text-xs);color:var(--ink-soft);margin-top:2px;line-height:1.45}.attendance-attachment-add{cursor:pointer;flex:none;position:relative}.attendance-attachment-add svg{width:14px;height:14px}.attendance-attachment-add input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.attendance-attachment-list{gap:8px;margin-top:12px;display:grid}.attendance-attachment-item{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:6px 8px;display:grid}.attendance-attachment-item.pending{background:#f7f8fcb8;border-style:dashed}.attendance-attachment-preview{border:1px solid var(--line);background:var(--paper);width:42px;height:42px;color:var(--pine-deep);border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.attendance-attachment-preview svg{width:19px;height:19px}.attendance-attachment-preview.image{background:#fff}.attendance-attachment-preview img{object-fit:cover;width:100%;height:100%;display:block}.attendance-attachment-copy{min-width:0}.attendance-attachment-copy>a,.attendance-attachment-copy>strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:var(--text-sm);font-weight:650;text-decoration:none;display:block;overflow:hidden}.attendance-attachment-copy>a:hover{text-decoration:underline}.attendance-attachment-copy span{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px;display:block}.attendance-attachment-actions{align-items:center;gap:6px;display:flex}.attendance-attachment-actions .btn,.attendance-attachment-item>.btn{font-size:var(--text-xs)!important;padding:5px 7px!important}.attendance-attachment-empty{color:var(--ink-faint);font-size:var(--text-xs);align-items:center;gap:8px;margin-top:10px;padding:10px 0 0;display:flex}.attendance-attachment-empty svg{flex:none;width:15px;height:15px}@media (width<=760px){.attendance-attachments{padding:12px}.attendance-attachments-head{flex-direction:column;align-items:stretch}.attendance-attachment-add{justify-content:center;width:100%}.attendance-attachment-item{grid-template-columns:42px minmax(0,1fr)}.attendance-attachment-actions,.attendance-attachment-item>.btn{grid-column:2;justify-self:start}}.group-student-overlay{z-index:1200}.group-roster-summary{gap:10px;margin-bottom:16px;display:flex}.group-roster-summary>div{border:1px solid var(--line);background:var(--paper);border-radius:13px;min-width:150px;padding:11px 13px}.group-roster-summary span,.group-roster-summary strong{display:block}.group-roster-summary span{font-size:var(--text-xs);color:var(--ink-soft)}.group-roster-summary strong{margin-top:2px;font-size:13px}.group-roster-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.group-roster-head strong,.group-roster-head span{display:block}.group-roster-head strong{font-size:13px}.group-roster-head span{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px}.group-roster-list{gap:8px;display:grid}.group-roster-list .treinay-check-card-field{border-radius:12px;margin:0;padding:10px 11px}.group-roster-list .treinay-check-card-copy strong{font-size:12px}.group-roster-list .treinay-check-card-copy small{font-size:var(--text-xs)}.group-roster-empty{text-align:center;color:var(--ink-faint);font-size:var(--text-sm);padding:28px 10px}.group-student-overlay{justify-content:center;align-items:center;padding:18px;display:flex;overflow:hidden}.group-student-overlay .group-student-modal{flex-direction:column;width:min(980px,100%);max-width:980px;height:min(760px,100dvh - 36px);max-height:calc(100dvh - 36px);margin:0;display:flex;overflow:hidden}.group-student-modal-fixed{z-index:2;background:#fff;flex:none;position:relative}.group-student-modal-scroll{overscroll-behavior:contain;scrollbar-width:none;flex:auto;min-height:0;padding:0 20px 20px;overflow-y:auto}.group-student-modal-scroll::-webkit-scrollbar{display:none}.group-student-modal .group-roster-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:14px;min-height:100%;padding:0;display:grid;overflow:visible}.group-student-modal .group-roster-column{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.group-student-modal .group-roster-head{border-bottom:1px solid var(--line);background:#fff;flex:none;padding:14px 14px 12px}.group-student-modal .group-roster-current-list{flex:auto;max-height:none;padding:10px;overflow:visible}.group-roster-column-search{position:relative}.group-roster-search-box{border-bottom:1px solid var(--line);background:#fff;flex:none;padding:12px 14px 10px}.group-roster-search-box .field{margin:0}.group-roster-search-help{color:var(--ink-soft);font-size:var(--text-xs);margin-top:6px;line-height:1.45;display:block}.group-roster-results{background:#fbfcff;flex:auto;min-height:190px}.group-student-modal .group-roster-list-available{max-height:none;margin:0;padding:10px;overflow:visible}.group-roster-search-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:190px;padding:28px 20px;display:flex}.group-roster-search-empty strong{color:var(--ink);font-size:12.5px}.group-roster-search-empty span{max-width:290px;font-size:var(--text-sm);color:var(--ink-soft);line-height:1.5}.group-roster-add-actions-sticky{z-index:3;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex;position:sticky;bottom:0}.group-roster-selection-meta{gap:2px;min-width:0;display:grid}.group-roster-selection-meta strong{font-size:var(--text-sm);color:var(--ink)}.group-roster-selection-meta span,.group-roster-selection-meta small{font-size:var(--text-xs);color:var(--ink-soft);line-height:1.35}.group-roster-selection-meta small:first-of-type{color:var(--brick)}.group-roster-add-button{white-space:nowrap;flex:none;min-width:170px}@media (width<=900px){.group-student-overlay{align-items:flex-end;padding:0}.group-student-overlay .group-student-modal{border-radius:22px 22px 0 0;width:100%;max-width:none;height:min(92dvh,820px);max-height:92dvh}.group-student-modal .group-roster-grid{grid-template-columns:1fr}.group-student-modal .group-roster-column{min-height:280px}}@media (width<=560px){.group-roster-summary{flex-wrap:wrap}.group-roster-summary>div{flex:140px}.group-student-modal-scroll{padding:0 12px 14px}.group-student-modal .group-roster-grid{gap:12px}.group-roster-add-actions-sticky{flex-direction:column;align-items:stretch}.group-roster-add-button{width:100%;min-width:0}.group-student-modal .group-roster-head{flex-direction:column;align-items:flex-start;gap:8px}.group-student-modal .group-roster-head .btn{width:100%}}.modal,.modal-overlay,.agenda-modal-overlay,.attendance-modal-overlay,.group-student-modal-scroll,.group-roster-list{scrollbar-width:none;-ms-overflow-style:none}.modal::-webkit-scrollbar{width:0;height:0;display:none}.modal-overlay::-webkit-scrollbar{width:0;height:0;display:none}.agenda-modal-overlay::-webkit-scrollbar{width:0;height:0;display:none}.attendance-modal-overlay::-webkit-scrollbar{width:0;height:0;display:none}.group-student-modal-scroll::-webkit-scrollbar{width:0;height:0;display:none}.group-roster-list::-webkit-scrollbar{width:0;height:0;display:none}.modal:not(.agenda-modal):not(.attendance-modal):not(.group-student-modal){overscroll-behavior:auto;-webkit-overflow-scrolling:touch}.enrollment-modal{overflow:hidden auto}.modal input[autofocus]{scroll-margin-top:0}.student-portal-access-panel{margin-top:0}.portal-access-state{border:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);border-radius:15px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.portal-access-state>div{min-width:0}.portal-access-state strong,.portal-access-state span{display:block}.portal-access-state strong{color:var(--ink);font-size:12.5px}.portal-access-state span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:3px;line-height:1.5}.portal-access-state form{flex:none}.portal-invitation-share{background:linear-gradient(145deg,#eeeeffe0,#fff 70%);border:1px solid #6366e833;border-radius:16px;gap:12px;margin-bottom:14px;padding:16px;display:grid;box-shadow:0 1px 2px #16191b08}.portal-invitation-share-copy{min-width:0}.portal-invitation-share-copy strong,.portal-invitation-share-copy span{display:block}.portal-invitation-share-kicker{color:var(--pine-deep);font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-weight:700}.portal-invitation-share-copy strong{color:var(--ink);font-size:13px}.portal-invitation-share-copy>span:last-child{color:var(--ink-soft);font-size:var(--text-sm);margin-top:4px;line-height:1.5}.portal-invitation-link-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.portal-invitation-link-input{border:1px solid var(--line);width:100%;min-width:0;height:42px;color:var(--ink-soft);font-family:Inter,sans-serif;font-size:var(--text-sm);background:#fff;border-radius:11px;outline:none;padding:0 12px}.portal-invitation-link-input:focus{border-color:#6366e88c;box-shadow:0 0 0 3px #6366e817}.portal-copy-link{white-space:nowrap;min-width:112px;height:42px}.portal-copy-link:disabled{cursor:default;opacity:1}.portal-invitation-share-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-invitation-share-actions>span{color:var(--ink-faint);font-size:var(--text-xs);text-align:right;line-height:1.45}.portal-whatsapp-link{white-space:nowrap}.portal-whatsapp-link svg{flex:none;width:16px;height:16px}@media (width<=640px){.portal-access-state{flex-direction:column;align-items:stretch}.portal-access-state form,.portal-access-state .btn{width:100%}.portal-invitation-link-row{grid-template-columns:1fr}.portal-copy-link{width:100%}.portal-invitation-share-actions{flex-direction:column;align-items:stretch}.portal-invitation-share-actions>span{text-align:left}.portal-whatsapp-link{width:100%}}.interactive-row{border-radius:14px;transition:background-color .16s,box-shadow .16s,color .16s}.interactive-row:not(:disabled){cursor:pointer}.interactive-row:not(:disabled):hover{background:#fafaff;box-shadow:inset 0 0 0 1px #6366e81f}.interactive-row:not(:disabled):focus-visible{background:#fafaff;outline:none;box-shadow:0 0 0 4px #6366e81a,inset 0 0 0 1px #6366e833}.interactive-row:disabled{cursor:default}.interactive-row-affordance{white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;font-weight:700;color:var(--pine-deep)!important;font-size:var(--text-sm)!important;display:inline-flex!important}.interactive-row-affordance svg{flex:none;width:14px;height:14px}.relation-row{border-radius:14px;margin-inline:-10px;padding-inline:10px;transition:background-color .16s,box-shadow .16s}.relation-row-manageable:hover,.relation-row-manageable:focus-within{background:#fafaff;box-shadow:inset 0 0 0 1px #6366e81a}.relation-row-static{cursor:default}.relation-action{border-radius:10px;min-height:32px;padding:6px 9px;transition:background-color .16s,box-shadow .16s,color .16s}.relation-action:hover{background:var(--pine-tint);color:var(--pine-deep)}.relation-action:focus-visible{background:var(--pine-tint);outline:none;box-shadow:0 0 0 4px #6366e81a}.relation-action-button{color:var(--pine-deep);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;font-weight:700;display:inline-flex}.relation-action-button svg{width:14px;height:14px}.relation-card{border-radius:15px;margin-inline:-12px;padding-inline:12px;transition:background-color .16s,box-shadow .16s}.relation-card:hover{background:#fcfcff}.group-card-actions{flex-wrap:wrap;align-items:center;gap:8px}.group-card,.group-card.editable{cursor:default}.group-card.editable:hover .group-card-title strong{color:inherit}.team-manage-link.relation-action svg{transition:transform .16s}.team-manage-link.relation-action:hover svg{transform:translate(2px)}.modality-row{grid-template-columns:minmax(0,1fr) auto auto;width:calc(100% + 20px);margin-inline:-10px;padding:11px 10px}.modality-row>svg{display:none}.agenda-rule-row{grid-template-columns:minmax(220px,1fr) auto auto auto;width:calc(100% + 20px);margin-inline:-10px;padding:11px 10px}.agenda-rule-row:disabled{opacity:1}.agenda-rule-row:disabled .interactive-row-affordance{display:none!important}.who-cell .nm{transition:color .16s}.who-cell:hover .nm,.who-cell:focus-visible .nm{color:var(--pine-deep)}.who-cell:focus-visible{outline:none}@media (width<=760px){.relation-row{margin-inline:-6px;padding-inline:6px}.interactive-row-affordance{gap:0;font-size:0!important}.interactive-row-affordance svg{width:16px;height:16px}.agenda-rule-row{grid-template-columns:1fr auto auto;width:calc(100% + 16px);margin-inline:-8px;padding-inline:8px}.agenda-rule-row .agenda-rule-days{grid-column:1/-1}.modality-row{width:calc(100% + 16px);margin-inline:-8px;padding-inline:8px}.group-card-actions{justify-content:flex-start}}.workspace-context-heading{margin-bottom:20px}.workspace-context-list{gap:10px;display:grid}.workspace-context-item{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;transition:border-color .18s,box-shadow .18s;display:grid}.workspace-context-item:hover,.workspace-context-item:focus-within{border-color:var(--line-strong);box-shadow:0 8px 22px #171a2b0f}.workspace-context-item.current{background:var(--pine-tint);border-color:#4f46c733}.workspace-context-mark{background:var(--paper-deep);width:40px;height:40px;color:var(--pine-deep);border-radius:12px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.workspace-context-copy{min-width:0}.workspace-context-copy strong,.workspace-context-copy span{display:block}.workspace-context-copy strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.workspace-context-copy span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px}.workspace-context-empty{border:1px solid var(--line);background:#fbfcff;border-radius:16px;gap:13px;padding:16px;display:flex}.workspace-context-empty-icon{background:var(--paper-deep);width:38px;height:38px;color:var(--pine-deep);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.workspace-context-empty-icon svg{width:18px;height:18px}.workspace-context-empty strong{font-size:13.5px;display:block}.workspace-context-empty p{color:var(--ink-soft);margin-top:4px;font-size:12px;line-height:1.55}.workspace-context-inactive{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.workspace-context-section-label{color:var(--ink-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-weight:700;display:block}.workspace-context-inactive-row{justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.workspace-context-inactive-row>div>strong,.workspace-context-inactive-row>div>span{display:block}.workspace-context-inactive-row strong{font-size:12.5px}.workspace-context-inactive-row div>span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:2px}.workspace-context-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:18px;display:flex}.workspace-context-footer form{margin-left:auto}.auth-alert strong,.auth-alert span{display:block}.auth-alert span{margin-top:2px}.workspace-context-banner{background:var(--pine-tint);color:var(--ink);border:1px solid #4f46c729;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:18px;padding:11px 13px;display:grid}.workspace-context-banner.success{background:#ecf8f3;border-color:#cfeadf}.workspace-context-banner-icon{width:30px;height:30px;color:var(--pine-deep);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:flex}.workspace-context-banner-icon svg{width:16px;height:16px}.workspace-context-banner strong,.workspace-context-banner span{display:block}.workspace-context-banner strong{font-size:12.5px}.workspace-context-banner span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:1px}.workspace-context-banner>a{font-size:var(--text-sm);color:var(--pine-deep);font-weight:700;text-decoration:none}.settings-row-link{color:inherit;cursor:pointer;text-decoration:none}.settings-row-link:hover{background:var(--paper-deep)}.settings-row-arrow{line-height:1;color:var(--ink-faint)!important;font-size:24px!important}@media (width<=600px){.workspace-context-item{grid-template-columns:auto minmax(0,1fr)}.workspace-context-item form{grid-column:1/-1}.workspace-context-item form .btn{width:100%}.workspace-context-footer{flex-direction:column;align-items:stretch}.workspace-context-footer form{margin-left:0}.workspace-context-footer .btn{width:100%}.workspace-context-banner{grid-template-columns:auto minmax(0,1fr)}.workspace-context-banner>a{grid-column:2}}.table-action-head,.table-action-cell,.student-list-action-head,.student-list-action-cell{text-align:right}.table-action-cell,.student-list-action-cell{white-space:nowrap;width:1%}.student-profile-link{color:var(--pine-deep);font-size:var(--text-sm);align-items:center;gap:4px;font-weight:700;text-decoration:none;display:inline-flex}.student-profile-link svg{width:14px;height:14px;transition:transform .16s}.student-profile-link:hover svg{transform:translate(2px)}.student-list-enrollments-cell{min-width:330px}.student-enrollment-summary-list{gap:8px;display:grid}.student-enrollment-summary-item{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.student-enrollment-summary-main{min-width:0}.student-enrollment-summary-main strong,.student-enrollment-summary-main span,.student-enrollment-summary-main small{display:block}.student-enrollment-summary-main strong{color:var(--ink);font-size:12.5px;font-weight:600}.student-enrollment-summary-main span{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;line-height:1.4;overflow:hidden}.student-enrollment-summary-main small{color:var(--ink-faint);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;line-height:1.4;overflow:hidden}.student-enrollment-summary-state{color:#9b651b;font-size:var(--text-xs);background:#fff4e2;border-radius:999px;flex:none;padding:3px 6px;font-weight:700}.student-enrollment-summary-more,.student-list-empty-relation{color:var(--ink-faint);font-size:var(--text-xs);display:block}.student-list-row{transition:background-color .16s}.student-list-row:hover{background:#fafaff}.student-profile-heading{align-items:flex-end}.student-profile-backlink{color:var(--ink-soft);font-size:var(--text-sm);align-items:center;gap:4px;margin-bottom:7px;font-weight:600;text-decoration:none;transition:color .16s;display:inline-flex}.student-profile-backlink:hover,.student-profile-backlink:focus-visible{color:var(--pine-deep)}.student-profile-backlink svg{width:14px;height:14px}.student-profile-name-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.student-profile-name-line h2{margin:0}.student-profile-stack{gap:18px;display:grid}.student-profile-stack>.panel,.student-profile-stack>.setup-card,.student-profile-stack>.student-profile-overview{margin:0}.student-profile-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.student-profile-stat{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;padding:15px 16px;box-shadow:0 1px 2px #171a2b05}.student-profile-stat>span,.student-profile-stat>strong,.student-profile-stat>small{display:block}.student-profile-stat>span{color:var(--ink-soft);font-size:var(--text-xs);font-weight:600}.student-profile-stat>strong{color:var(--ink);letter-spacing:-.025em;margin-top:5px;font-size:22px;line-height:1.1}.student-profile-stat>small{color:var(--ink-faint);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;line-height:1.4;overflow:hidden}.student-profile-stat .student-profile-stat-status{letter-spacing:0;font-size:13px;line-height:1.35}.student-profile-stat .student-profile-stat-status.ok{color:#16765a}.student-profile-stat .student-profile-stat-status.wait{color:#9b651b}.student-followup-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(210px,1fr) minmax(220px,.92fr) auto;align-items:center;gap:15px;padding-block:15px;display:grid}.student-followup-row:first-of-type{border-top:0}.student-followup-main{min-width:0}.student-followup-title{align-items:center;gap:8px;min-width:0;display:flex}.student-followup-title>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13.5px;overflow:hidden}.student-followup-title>.badge{flex:none}.student-followup-main>span,.student-followup-main>small{display:block}.student-followup-main>span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:3px}.student-followup-main>small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:3px}.student-followup-commercial{gap:8px;min-width:0;display:grid}.student-followup-commercial>div{min-width:0}.student-followup-commercial span,.student-followup-commercial strong{display:block}.student-followup-commercial span{color:var(--ink-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.student-followup-commercial strong{color:var(--ink-soft);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-weight:600;overflow:hidden}.student-profile-empty-action{border:1px dashed var(--line-strong);background:#fbfcff;border-radius:15px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.student-profile-empty-action strong,.student-profile-empty-action span{display:block}.student-profile-empty-action strong{font-size:13px}.student-profile-empty-action span{color:var(--ink-soft);font-size:var(--text-sm);margin-top:3px}.student-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}.student-data-item{border-top:1px solid var(--line);min-width:0;padding:13px 0}.student-data-item:nth-child(-n+2){border-top:0}.student-data-item span,.student-data-item strong{display:block}.student-data-item span{color:var(--ink-faint);font-size:var(--text-xs)}.student-data-item strong{color:var(--ink);overflow-wrap:anywhere;margin-top:3px;font-size:12.5px;font-weight:600}.student-followup-history-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding-block:13px;display:grid}.panel-head+.student-followup-history-row{border-top:0}.student-followup-history-row>div{min-width:0}.student-followup-history-row strong,.student-followup-history-row span,.student-followup-history-row small{display:block}.student-followup-history-row>div>strong{font-size:12.5px}.student-followup-history-row>div>span{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.student-followup-history-row>div>small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:2px}@media (width<=980px){.student-profile-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.student-followup-row{grid-template-columns:auto minmax(0,1fr) auto}.student-followup-commercial{grid-column:2/3;grid-template-columns:repeat(2,minmax(0,1fr))}.student-followup-row>.team-manage-link{grid-area:1/3/3}}@media (width<=760px){.student-list-enrollments-cell{min-width:270px}.table-action-cell,.student-list-action-cell{padding-left:10px}.student-profile-stack{gap:14px}.student-profile-overview{gap:8px}.student-profile-stat{padding:13px}.student-profile-stat>strong{font-size:19px}.student-data-grid{grid-template-columns:1fr}.student-data-item:nth-child(2){border-top:1px solid var(--line)}.student-profile-empty-action{flex-direction:column;align-items:stretch}.student-profile-empty-action .btn{width:100%}}@media (width<=600px){.student-followup-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.student-followup-commercial{grid-column:2;grid-template-columns:1fr}.student-followup-row>.team-manage-link{grid-area:auto/2;justify-self:start}.student-followup-history-row{grid-template-columns:minmax(0,1fr) auto}.student-followup-history-row>.team-manage-link{grid-column:1/-1;justify-self:start}}.attendance-early-block{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.attendance-early-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:6px;display:flex}.attendance-early-head strong,.attendance-early-head span{display:block}.attendance-early-head strong{font-size:12.8px}.attendance-early-head div>span{max-width:680px;color:var(--ink-soft);font-size:var(--text-sm);margin-top:3px;line-height:1.5}.attendance-history-row-early{background:#fffcf6}.dashboard-enrollment-summary{gap:3px;min-width:220px;display:grid}.dashboard-enrollment-summary span{color:var(--ink-soft);font-size:var(--text-sm);display:block}.dashboard-enrollment-summary span strong{color:var(--ink);font-weight:600}.dashboard-enrollment-summary small{color:var(--ink-faint);font-size:var(--text-xs)}.student-portal-page{gap:18px;display:grid}.student-portal-hero{background:linear-gradient(135deg,var(--pine-deep) 0%,#6366e8 62%,#7678ec 100%);color:#fff;border-radius:24px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;padding:28px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px #4f46c72e}.student-portal-hero:before{content:"";pointer-events:none;border:54px solid #ffffff0e;border-radius:50%;width:300px;height:300px;position:absolute;top:-120px;right:-80px}.student-portal-hero-copy{z-index:1;align-self:center;max-width:620px;position:relative}.student-portal-eyebrow{font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;color:#ffffffc7;background:#ffffff17;border:1px solid #ffffff29;border-radius:999px;margin-bottom:13px;padding:5px 9px;font-weight:700;display:inline-flex}.student-portal-hero-copy h2{letter-spacing:-.035em;font-size:30px;line-height:1.1}.student-portal-hero-copy p{color:#ffffffb8;max-width:560px;margin-top:9px;font-size:14px;line-height:1.65}.student-portal-next-card{z-index:1;-webkit-backdrop-filter:blur(10px);background:#1416342e;border:1px solid #ffffff26;border-radius:19px;min-height:196px;padding:19px;position:relative}.student-portal-next-card.is-empty{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.student-portal-next-top{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:#ffffff9e;justify-content:space-between;align-items:center;gap:12px;font-weight:700;display:flex}.student-portal-date-pill{color:#fff;text-transform:none;letter-spacing:0;background:#ffffff1f;border-radius:999px;flex:none;padding:4px 8px}.student-portal-next-time{letter-spacing:-.045em;margin-top:19px;font-size:35px;font-weight:700;line-height:1}.student-portal-next-card>strong{margin-top:8px;font-size:15px;line-height:1.35;display:block}.student-portal-next-card>p{color:#ffffffa3;margin-top:5px;font-size:12px;line-height:1.5}.student-portal-next-meta{color:#ffffffb8;font-size:var(--text-sm);flex-wrap:wrap;gap:8px 14px;margin-top:15px;display:flex}.student-portal-next-meta span{align-items:center;gap:6px;min-width:0;display:inline-flex}.student-portal-next-meta svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px}.student-portal-next-card .student-portal-empty-icon{color:#fff;background:#ffffff1a}.student-portal-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-portal-summary-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;align-items:flex-start;gap:13px;min-width:0;padding:17px 18px;display:flex;box-shadow:0 1px 2px #10182805}.student-portal-summary-card.has-attention{background:#fff9fa;border-color:#f2c7ce}.student-portal-summary-icon{background:var(--pine-tint);width:36px;height:36px;color:var(--pine-deep);border-radius:11px;flex:none;justify-content:center;align-items:center;display:flex}.student-portal-summary-card.has-attention .student-portal-summary-icon{background:var(--brick-tint);color:var(--brick)}.student-portal-summary-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.student-portal-summary-card>div:last-child{min-width:0}.student-portal-summary-label{color:var(--ink-faint);font-size:var(--text-xs);letter-spacing:.055em;text-transform:uppercase;margin-bottom:3px;font-weight:700;display:block}.student-portal-summary-card strong{color:var(--ink);letter-spacing:-.015em;font-size:16px;line-height:1.3;display:block}.student-portal-summary-card small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:3px;line-height:1.45;display:block}.student-portal-panel{overflow:hidden}.student-portal-panel-head{padding-bottom:14px}.student-portal-panel-head>div{min-width:0}.student-portal-section-kicker{color:var(--pine-deep);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-weight:700;display:block}.student-portal-agenda-list{border-top:1px solid var(--line)}.student-portal-agenda-row{border-bottom:1px solid var(--line);grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:13px 18px;display:grid}.student-portal-agenda-row:last-child{border-bottom:0}.student-portal-agenda-date{background:var(--pine-tint);width:44px;height:48px;color:var(--pine-deep);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;display:flex}.student-portal-agenda-date span{font-size:var(--text-xs);text-transform:uppercase;font-weight:700}.student-portal-agenda-date strong{margin-top:1px;font-size:16px;line-height:1}.student-portal-agenda-main{min-width:0}.student-portal-agenda-main strong,.student-portal-agenda-main span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.student-portal-agenda-main strong{color:var(--ink);font-size:12.5px}.student-portal-agenda-main span{font-size:var(--text-xs);color:var(--ink-soft);margin-top:3px}.student-portal-agenda-chevron{fill:none;width:16px;height:16px;stroke:var(--ink-faint);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.student-portal-followup-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px;display:grid}.student-portal-followup-card{border:1px solid var(--line);background:#fcfcff;border-radius:17px;min-width:0;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s}.student-portal-followup-card:hover{border-color:#d9daf8;transform:translateY(-1px);box-shadow:0 8px 22px #3d409612}.student-portal-followup-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.student-portal-followup-title{align-items:center;gap:10px;min-width:0;display:flex}.student-portal-followup-title>div:last-child{min-width:0}.student-portal-followup-title strong,.student-portal-followup-title span{display:block}.student-portal-followup-title strong{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:13.5px;overflow:hidden}.student-portal-followup-title span{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.student-portal-followup-icon{background:var(--pine-tint);width:34px;height:34px;color:var(--pine-deep);border-radius:11px;flex:none;justify-content:center;align-items:center;display:flex}.student-portal-followup-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.student-portal-status-badge{min-height:25px;font-size:var(--text-xs);white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:4px 9px;font-weight:700;line-height:1;display:inline-flex}.student-portal-status-badge.ok{background:var(--pine-tint);color:var(--pine-deep)}.student-portal-status-badge.wait{background:var(--gold-tint);color:#247278}.student-portal-status-badge.late{background:var(--brick-tint);color:var(--brick)}.student-portal-status-dot{background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px;display:block}.student-portal-followup-details{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px;padding-top:13px;display:grid}.student-portal-followup-details div{min-width:0}.student-portal-followup-details span,.student-portal-followup-details strong{display:block}.student-portal-followup-details span{color:var(--ink-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.055em;font-weight:700}.student-portal-followup-details strong{color:var(--ink-soft);font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:3px;font-weight:600;line-height:1.45}.student-portal-friendly-empty{text-align:center;border-top:1px solid var(--line);flex-direction:column;align-items:center;padding:34px 24px 38px;display:flex}.student-portal-friendly-empty strong{color:var(--ink);margin-top:11px;font-size:13.5px}.student-portal-friendly-empty p{max-width:460px;color:var(--ink-soft);font-size:var(--text-sm);margin-top:5px;line-height:1.55}.student-portal-empty-icon{background:var(--pine-tint);width:42px;height:42px;color:var(--pine-deep);border-radius:13px;justify-content:center;align-items:center;display:flex}.student-portal-empty-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}@media (width<=900px){.student-portal-hero{grid-template-columns:1fr}.student-portal-next-card{min-height:0}.student-portal-summary-grid{grid-template-columns:1fr 1fr}.student-portal-summary-card:last-child{grid-column:1/-1}}@media (width<=760px){.student-portal-page{gap:14px}.student-portal-hero{border-radius:19px;padding:20px}.student-portal-hero-copy h2{font-size:25px}.student-portal-hero-copy p{font-size:12.5px}.student-portal-next-card{border-radius:16px;padding:16px}.student-portal-next-time{font-size:31px}.student-portal-summary-grid{grid-template-columns:1fr;gap:9px}.student-portal-summary-card:last-child{grid-column:auto}.student-portal-followup-list{grid-template-columns:1fr;padding:0 14px 14px}.student-portal-followup-head{gap:10px}.student-portal-followup-details{grid-template-columns:1fr 1fr}.student-portal-followup-details div:last-child{grid-column:1/-1}.student-portal-agenda-row{padding-left:14px;padding-right:14px}}@media (width<=600px){.attendance-early-head{align-items:flex-start}}.student-space-switch{border:1px solid var(--line);background:var(--surface);max-width:220px;color:var(--ink-soft);font-size:var(--text-sm);border-radius:999px;align-items:center;gap:7px;padding:7px 10px 7px 12px;font-weight:600;transition:border-color .15s,box-shadow .15s,color .15s;display:inline-flex}.student-space-switch:hover{color:var(--pine-deep);border-color:#d7d8f5;box-shadow:0 5px 16px #4f46c712}.student-space-switch span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.student-space-switch svg{flex:none;width:14px;height:14px}.student-space-heading{margin-bottom:22px}.student-space-heading h2{letter-spacing:-.035em;font-size:27px}.student-space-list{gap:12px}.student-space-card{border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;padding:16px;transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:0 1px 2px #10182805}.student-space-card:hover,.student-space-card:focus-within{border-color:#d9daf8;transform:translateY(-1px);box-shadow:0 12px 30px #3d409614}.student-space-card.current{background:linear-gradient(135deg,#f8f8ff,#f1f2ff);border-color:#d9daf8}.student-space-mark{background:linear-gradient(135deg,var(--pine-tint),#e4e5ff);border-radius:15px;width:48px;height:48px;font-size:16px}.student-space-copy strong{font-size:14.5px}.student-space-copy>span:last-child{margin-top:4px}.student-space-kicker{text-transform:uppercase;letter-spacing:.075em;font-weight:700;color:var(--pine-deep)!important;font-size:var(--text-xs)!important;margin-bottom:2px!important}.student-space-privacy-note{color:var(--ink-soft);background:#f8f8ff;border:1px solid #e1e2f6;border-radius:14px;align-items:flex-start;gap:10px;margin-top:17px;padding:12px 13px;display:flex}.student-space-privacy-note svg{width:17px;height:17px;color:var(--pine-deep);flex:none;margin-top:1px}.student-space-privacy-note strong,.student-space-privacy-note span{display:block}.student-space-privacy-note strong{color:var(--ink);font-size:var(--text-sm)}.student-space-privacy-note span{font-size:var(--text-xs);margin-top:2px;line-height:1.5}.student-invite-brand{background:linear-gradient(135deg,var(--pine-deep),var(--pine));color:#fff;border-radius:17px;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto 17px;font-size:19px;font-weight:700;display:flex;box-shadow:0 12px 28px #4f46c733}.student-invite-heading{text-align:center}.student-invite-heading p{max-width:430px;margin-left:auto;margin-right:auto}.student-invite-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.student-invite-benefits span{border:1px solid var(--line);min-width:0;color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;background:#fbfbff;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:9px 8px;font-weight:600;display:flex}.student-invite-benefits svg{width:14px;height:14px;color:var(--pine-deep);flex:none}.student-invite-account-found strong,.student-invite-account-found span{display:block}.student-invite-account-found span{margin-top:3px}.student-invite-password-note{color:var(--ink-faint);font-size:var(--text-xs);margin-top:-2px;line-height:1.5}.student-invite-privacy{border-top:1px solid var(--line);color:var(--ink-faint);font-size:var(--text-xs);align-items:flex-start;gap:8px;margin-top:18px;padding-top:15px;line-height:1.5;display:flex}.student-invite-privacy svg{width:15px;height:15px;color:var(--pine-deep);flex:none;margin-top:1px}.portal-access-card{border:1px solid var(--line);background:#fcfcff;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:12px;padding:15px;display:grid}.portal-access-card.active{background:#f8fcfa;border-color:#d7eae3}.portal-access-card.pending{background:#fafaff;border-color:#e4e5f7}.portal-access-card-icon{background:var(--paper-deep);width:38px;height:38px;color:var(--ink-soft);border-radius:12px;justify-content:center;align-items:center;display:flex}.portal-access-card.active .portal-access-card-icon{color:#2d7c62;background:#e7f5ef}.portal-access-card.pending .portal-access-card-icon{background:var(--pine-tint);color:var(--pine-deep)}.portal-access-card-icon svg{width:18px;height:18px}.portal-access-card-main{min-width:0}.portal-access-card-main strong,.portal-access-card-main span,.portal-access-card-main small{display:block}.portal-access-kicker{color:var(--ink-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px;font-weight:700}.portal-access-card-main strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px}.portal-access-card-main>span:not(.portal-access-kicker){color:var(--ink-soft);font-size:var(--text-xs);margin-top:3px;line-height:1.5}.portal-access-card-main small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:5px}.portal-access-card-actions{justify-content:flex-end;align-items:center;display:flex}.portal-access-card-actions form{margin:0}.portal-access-security-note{background:var(--paper-deep);color:var(--ink-soft);font-size:var(--text-xs);border-radius:12px;align-items:flex-start;gap:9px;margin-top:10px;padding:10px 11px;line-height:1.5;display:flex}.portal-access-security-note svg{width:15px;height:15px;color:var(--pine-deep);flex:none;margin-top:1px}.portal-access-revoke{border-top:1px solid var(--line);margin-top:13px;padding-top:12px}.portal-access-revoke>summary{color:var(--brick);font-size:var(--text-xs);cursor:pointer;align-items:center;font-weight:700;list-style:none;display:inline-flex}.portal-access-revoke>summary::-webkit-details-marker{display:none}.portal-access-revoke-panel{background:#fff9fa;border:1px solid #f1d5da;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:12px 13px;display:flex}.portal-access-revoke-panel strong,.portal-access-revoke-panel span{display:block}.portal-access-revoke-panel strong{font-size:var(--text-sm);color:var(--ink)}.portal-access-revoke-panel span{max-width:620px;color:var(--ink-soft);font-size:var(--text-xs);margin-top:3px;line-height:1.5}.btn-danger-soft{background:var(--brick-tint);color:var(--brick)}@media (width<=760px){.student-space-switch{max-width:150px;padding:7px 9px}.student-space-switch span{font-size:var(--text-xs)}.student-space-card{grid-template-columns:auto minmax(0,1fr)}.student-space-card form{grid-column:1/-1}.student-space-card form .btn{width:100%}.portal-access-card{grid-template-columns:auto minmax(0,1fr)}.portal-access-card-actions{grid-column:1/-1;justify-content:stretch}.portal-access-card-actions form,.portal-access-card-actions .btn{width:100%}.portal-access-revoke-panel{flex-direction:column;align-items:stretch}.portal-access-revoke-panel form,.portal-access-revoke-panel .btn{width:100%}}@media (width<=520px){.student-invite-benefits{grid-template-columns:1fr}.student-invite-benefits span{justify-content:flex-start}.student-space-switch{max-width:120px}}span.status-badge{width:max-content;max-width:100%;min-height:25px;font-size:var(--text-xs);white-space:nowrap;vertical-align:middle;border-radius:999px;flex:none;grid-template-columns:6px max-content;align-items:center;column-gap:6px;padding:4px 9px;font-weight:700;line-height:1;display:inline-grid}span.status-badge__dot{background:currentColor;border-radius:50%;align-self:center;width:6px;min-width:6px;height:6px;display:block}span.status-badge__label{white-space:nowrap;min-width:0;line-height:1;display:block}.status-badge--positive{color:#237a61;background:#eaf8f2}.status-badge--neutral{background:var(--paper-deep);color:var(--ink-soft)}.status-badge--warning{color:#9b651b;background:#fff4e2}.status-badge--danger{background:var(--brick-tint);color:var(--brick)}.status-badge--info{background:var(--pine-tint);color:var(--pine-deep)}.status-badge.ok{color:#237a61;background:#eaf8f2}.status-badge.wait{color:#9b651b;background:#fff4e2}.status-badge.late{background:var(--brick-tint);color:var(--brick)}.status-badge.neutral{background:var(--paper-deep);color:var(--ink-soft)}.workspace-context-inactive-row>.status-badge{display:inline-grid}.workspace-context-inactive-row .status-badge__dot,.workspace-context-inactive-row .status-badge__label{display:block}.student-access-unavailable{background:linear-gradient(145deg,#fff 0%,#fbfbff 62%,#eeeeff9e 100%);border:1px solid #6366e824;border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;padding:20px;display:grid;box-shadow:0 12px 36px #171a2b0e}.student-access-unavailable-icon{background:var(--pine-tint);width:46px;height:46px;color:var(--pine-deep);border-radius:15px;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 0 0 1px #6366e814}.student-access-unavailable-icon svg{width:21px;height:21px}.student-access-unavailable-copy{min-width:0}.student-access-unavailable-copy h3{letter-spacing:-.01em;margin-top:12px;font-size:16px;line-height:1.3}.student-access-unavailable-copy p{max-width:580px;color:var(--ink-soft);margin-top:6px;font-size:12px;line-height:1.6}.student-access-unavailable-space{border-top:1px solid #6366e81a;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:13px;display:flex}.student-access-unavailable-space span{color:var(--ink-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.student-access-unavailable-space strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12.5px;overflow:hidden}@media (width<=520px){.student-access-unavailable{grid-template-columns:1fr;padding:18px}.student-access-unavailable-icon{width:42px;height:42px}}.workspace-context-banner.context{background:linear-gradient(135deg,#6366e813,#fffffff5);border-color:#4f46c72b;box-shadow:0 8px 28px #171a2b0b}.workspace-context-banner.context .workspace-context-banner-icon{color:var(--deep);background:#ffffffeb;box-shadow:inset 0 0 0 1px #4f46c714}.auth-alert.context{color:var(--ink);background:linear-gradient(135deg,#6366e812,#fffffff5);border:1px solid #4f46c724}.auth-alert.context span{color:var(--ink-soft)}.plans-workspace-head .workspace-copy{max-width:760px}.plans-page-shell{flex-direction:column;gap:20px;display:flex}.plans-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.plans-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:4px;min-width:0;padding:18px 20px;display:flex;box-shadow:0 10px 26px #171a2b09}.plans-summary-card>span{font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.plans-summary-card>strong{letter-spacing:-.02em;color:var(--ink);font-size:24px;line-height:1.15}.plans-summary-card>small{color:var(--ink-soft);font-size:12px;line-height:1.45}.plans-summary-card--accent{background:linear-gradient(135deg,#6366e813,#28a0a60b 70%,#fff);border-color:#6366e826}.plans-summary-card--accent>strong{color:var(--deep);font-size:18px}.plans-catalog-panel{padding:0;overflow:hidden}.plans-panel-head{border-bottom:1px solid var(--line);align-items:center;margin:0;padding:22px 24px 18px}.plans-panel-head>div{min-width:0;max-width:760px}.plans-panel-head .sub{margin-top:4px;line-height:1.5;display:block}.plans-list{flex-direction:column;display:flex}.plan-row{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;gap:20px;padding:18px 24px;transition:background .15s;display:grid}.plan-row:last-child{border-bottom:none}.plan-row:hover{background:#f7f8fcb8}.plan-row-main{min-width:0}.plan-row-title{align-items:center;gap:10px;min-width:0;display:flex}.plan-row-title>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14.5px;overflow:hidden}.plan-row-main p{color:var(--ink-soft);margin-top:3px;font-size:12.5px}.plan-terms{color:var(--ink);margin-top:7px;font-size:12.5px;font-weight:600;display:block}.plan-row-meta{flex-direction:column;align-items:flex-end;min-width:0;display:flex}.plan-row-meta strong{font-size:16px}.plan-row-meta span{font-size:var(--text-sm);color:var(--ink-faint)}.plan-row-action{color:var(--deep);white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:8px 10px;font-size:12.5px;font-weight:700;transition:background .15s;display:inline-flex}.plan-row-action:hover{background:var(--pine-tint)}.plan-row-action svg{flex:none;width:15px;height:15px}.plans-empty-state{text-align:center;flex-direction:column;align-items:center;padding:48px 24px;display:flex}.plans-empty-icon{background:var(--pine-tint);width:48px;height:48px;color:var(--deep);border-radius:16px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.plans-empty-icon svg{width:22px;height:22px}.plans-empty-state strong{font-size:16px}.plans-empty-state p{max-width:500px;color:var(--ink-soft);margin:7px auto 18px;font-size:13px;line-height:1.55}.plan-modal{max-width:660px}.enrollment-plan-terms-card{background:linear-gradient(135deg,#6366e811,#fffffff2);border:1px solid #6366e821;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.enrollment-plan-terms-card>div{flex-direction:column;gap:2px;min-width:0;display:flex}.enrollment-plan-terms-card>div>span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.055em;color:var(--ink-faint);font-weight:700}.enrollment-plan-terms-card>div>strong{color:var(--ink);font-size:13.5px}.enrollment-plan-terms-card>div>small{color:var(--ink-soft);font-size:12px;line-height:1.45}@media (width<=900px){.plans-summary-grid{grid-template-columns:1fr}.plan-row{grid-template-columns:minmax(0,1fr) auto}.plan-row-meta{display:none}}@media (width<=620px){.plans-panel-head{flex-direction:column;align-items:flex-start;gap:14px}.plans-panel-head .btn{width:100%}.plan-row{grid-template-columns:1fr;gap:12px;padding:17px 18px}.plan-row-action{justify-self:flex-start;padding-left:0}.plan-row-title{flex-wrap:wrap;align-items:flex-start}.enrollment-plan-terms-card{flex-direction:column;align-items:flex-start}}.finance-workspace-head{align-items:flex-end}.finance-workspace-head .workspace-copy{max-width:740px}.page-kicker,.finance-modal-kicker{font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--pine-deep);margin-bottom:5px;font-weight:800;display:block}.finance-page{flex-direction:column;gap:18px;display:flex}.finance-overview-grid{grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(180px,.8fr));gap:12px;display:grid}.finance-overview-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);border-radius:18px;padding:18px 20px}.finance-overview-card>span{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:7px;font-weight:700;display:block}.finance-overview-card>strong{letter-spacing:-.035em;color:var(--ink);font-size:22px;line-height:1.1;display:block}.finance-overview-card>small{font-size:var(--text-sm);color:var(--ink-faint);margin-top:7px;line-height:1.42;display:block}.finance-received-breakdown b{color:var(--ink-soft);font-weight:750}.finance-overview-card>small.finance-received-adjustments{font-size:var(--text-xs);color:var(--ink-faint);margin-top:3px}.finance-overview-card--connected>strong{color:var(--pine-deep)}.finance-overview-card--main{background:linear-gradient(145deg,#6366e81a,#fffffffa);border-color:#6366e829;padding:21px 22px}.finance-overview-card--main>strong{color:var(--pine-deep);font-size:28px}.finance-overview-card--attention{background:linear-gradient(145deg,#c94a5a0b,#fffffffa);border-color:#c94a5a24}.finance-overview-card--attention>strong{color:var(--brick)}.finance-overview-card--balance{background:linear-gradient(145deg,#f7f8fcb8,#fffffffa)}.finance-overview-card--balance>strong{color:var(--ink-faint)}.finance-attention-card{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fdecef9e;border:1px solid #c94a5a24;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;transition:border-color .15s,background .15s,transform .15s;display:grid}.finance-attention-card:hover{background:var(--brick-tint);border-color:#c94a5a3d}.finance-attention-card:active{transform:scale(.995)}.finance-attention-icon{width:36px;height:36px;color:var(--brick);background:#fff;border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 0 0 1px #c94a5a14}.finance-attention-icon svg{width:18px;height:18px}.finance-attention-copy{min-width:0}.finance-attention-copy strong{font-size:12.5px;display:block}.finance-attention-copy small{font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px;line-height:1.4;display:block}.finance-attention-action{font-size:var(--text-sm);color:var(--brick);white-space:nowrap;align-items:center;gap:5px;font-weight:700;display:inline-flex}.finance-schedule-panel,.finance-charges-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:20px;overflow:hidden}.finance-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;padding:20px 22px;display:flex}.finance-section-head>div:first-child{min-width:0}.finance-section-head>div:first-child>span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:3px;font-weight:700;display:block}.finance-section-head h2{letter-spacing:-.015em;font-size:16.5px}.finance-section-head>small{text-align:right;max-width:390px;font-size:var(--text-sm);color:var(--ink-soft)}.finance-section-description{max-width:560px;font-size:var(--text-sm);color:var(--ink-soft);margin-top:4px;line-height:1.45}.finance-charges-head{align-items:center}.finance-filter-tabs{border:1px solid var(--line);background:var(--paper);border-radius:13px;align-items:center;gap:5px;padding:4px;display:flex}.finance-filter-tab{min-height:36px;color:var(--ink-soft);font-size:var(--text-sm);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.finance-filter-tab:hover{color:var(--ink)}.finance-filter-tab.active{background:var(--surface);color:var(--deep);box-shadow:0 2px 8px #171a2b12}.finance-filter-tab>span{background:var(--brick-tint);min-width:18px;height:18px;color:var(--brick);font-size:var(--text-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.finance-charge-list{flex-direction:column;display:flex}.finance-charge-row{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1.55fr) 92px 132px minmax(170px,auto);align-items:center;gap:18px;padding:17px 22px;transition:background .15s;display:grid}.finance-charge-row:last-child{border-bottom:0}.finance-charge-row:hover{background:#f7f8fca6}.finance-charge-main{min-width:0}.finance-charge-title{align-items:center;gap:8px;min-width:0;display:flex}.finance-charge-title>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.finance-charge-main p{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12.5px;overflow:hidden}.finance-charge-main>small{font-size:var(--text-sm);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;display:block;overflow:hidden}.finance-charge-due,.finance-charge-value{flex-direction:column;gap:2px;display:flex}.finance-charge-due span,.finance-charge-value span{font-size:var(--text-xs);color:var(--ink-faint)}.finance-charge-due strong{font-size:12.5px;font-weight:700}.finance-charge-value{text-align:right;align-items:flex-end}.finance-charge-value strong{font-size:14.5px}.finance-charge-value small{font-size:var(--text-xs);color:var(--ink-faint)}.finance-charge-actions{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.finance-charge-actions .entity-action{min-height:36px;color:var(--pine-deep);white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:700;transition:background .15s;display:inline-flex}.finance-charge-actions .entity-action:hover{background:var(--pine-tint)}.finance-charge-actions .entity-action--secondary{color:var(--ink-soft)}.finance-charge-actions .entity-action--secondary:hover{background:var(--paper-deep);color:var(--ink)}.finance-paid-date{font-size:var(--text-sm);color:#237a61;font-weight:700}.finance-empty-state{text-align:center;flex-direction:column;align-items:center;padding:44px 22px;display:flex}.finance-empty-icon{background:var(--paper-deep);width:42px;height:42px;color:var(--ink-soft);border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.finance-empty-icon svg{width:20px;height:20px}.finance-empty-state strong{font-size:14px}.finance-empty-state p{max-width:440px;color:var(--ink-soft);margin-top:5px;font-size:12px}.finance-schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.finance-schedule-card{border-right:1px solid var(--line);min-width:0;padding:17px 20px}.finance-schedule-card:last-child{border-right:0}.finance-schedule-card>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.finance-schedule-card>div span{font-size:var(--text-xs);color:var(--ink-faint)}.finance-schedule-card>div strong{color:var(--pine-deep);white-space:nowrap;font-size:12px}.finance-schedule-card p{white-space:nowrap;text-overflow:ellipsis;margin-top:11px;font-size:13.5px;font-weight:700;overflow:hidden}.finance-schedule-card>small{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;display:block;overflow:hidden}.finance-charge-modal,.finance-payment-modal,.finance-edit-modal{max-width:620px}.finance-charge-modal .modal-head,.finance-payment-modal .modal-head,.finance-edit-modal .modal-head{align-items:flex-start}.finance-charge-modal .modal-head>div,.finance-payment-modal .modal-head>div,.finance-edit-modal .modal-head>div{min-width:0}.billing-charge-form{gap:var(--form-field-gap)}.billing-charge-section{gap:12px;padding-top:2px;display:grid}.billing-charge-section-head{padding-top:2px}.billing-charge-section-head strong,.billing-charge-section-head span{display:block}.billing-charge-section-head strong{color:var(--ink);font-size:12.5px}.billing-charge-section-head span{font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px}.billing-charge-grid,.finance-modal-grid{margin-top:0!important}.billing-charge-optional{min-width:0}.billing-charge-optional-trigger{border:1px dashed var(--line-strong);background:var(--paper);width:100%;min-height:44px;color:var(--ink-soft);text-align:left;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:12.5px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:flex}.billing-charge-optional-trigger:hover{background:var(--pine-tint);color:var(--deep);border-color:#6366e840}.billing-charge-optional-trigger small{font-size:var(--text-xs);color:var(--ink-faint);font-weight:600}.finance-prefill-note{background:linear-gradient(135deg,#6366e80f,#fffffff5);border:1px solid #6366e824;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px 14px;display:grid}.finance-prefill-note>div{min-width:0}.finance-prefill-note>div>span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin-bottom:2px;font-weight:700;display:block}.finance-prefill-note>div>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;display:block;overflow:hidden}.finance-prefill-note>small{font-size:var(--text-sm);color:var(--pine-deep);white-space:nowrap;align-self:center;font-weight:700}.finance-payment-context,.finance-modal-context{margin-bottom:var(--form-section-gap);grid-template-columns:1fr 1fr;gap:10px;display:grid}.finance-payment-context>div,.finance-modal-context>div{background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:0;padding:12px 14px}.finance-payment-context span,.finance-modal-context span{font-size:var(--text-xs);color:var(--ink-faint);margin-bottom:3px;display:block}.finance-payment-context strong,.finance-modal-context strong{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;display:block;overflow:hidden}.finance-ledger-note{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:12px 14px}.finance-ledger-note strong,.finance-ledger-note span{display:block}.finance-ledger-note strong{font-size:var(--text-sm);color:var(--ink)}.finance-ledger-note span{font-size:var(--text-sm);color:var(--ink-soft);margin-top:3px;line-height:1.45}.finance-account-panel{border:1px solid var(--line);box-shadow:var(--shadow-card);background:linear-gradient(145deg,#f7f8fcd1,#fffffffa);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:17px 20px;display:flex}.finance-account-panel--connected{background:linear-gradient(145deg,#6366e80b,#fffffffa);border-color:#6366e824}.finance-account-copy{min-width:0}.finance-account-title{align-items:center;gap:9px;min-width:0;display:flex}.finance-account-title h2{letter-spacing:-.015em;font-size:15px}.finance-account-copy p{max-width:760px;font-size:var(--text-sm);color:var(--ink-soft);margin-top:5px;line-height:1.5}.finance-account-actions{flex:none;align-items:center;gap:8px;display:flex}.finance-payout-strip{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:14px;padding:11px 14px;display:flex}.finance-payout-strip>span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);white-space:nowrap;font-weight:750}.finance-payout-items{scrollbar-width:none;align-items:center;gap:12px;min-width:0;display:flex;overflow-x:auto}.finance-payout-items::-webkit-scrollbar{display:none}.finance-payout-items small{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap}.finance-payout-items b{color:var(--ink);font-weight:750}.finance-payout-modal{max-width:560px}@media (width<=1180px){.finance-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-overview-card--main{grid-column:1/-1}.finance-charge-row{grid-template-columns:minmax(0,1fr) 120px minmax(170px,auto)}.finance-charge-due{display:none}}@media (width<=860px){.finance-section-head{flex-direction:column;align-items:flex-start;padding:18px}.finance-section-head>small{text-align:left}.finance-filter-tabs{scrollbar-width:none;width:100%;overflow-x:auto}.finance-filter-tabs::-webkit-scrollbar{display:none}.finance-filter-tab{flex:1}.finance-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-schedule-card:nth-child(2){border-right:0}.finance-schedule-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.finance-charge-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 18px}.finance-charge-value{align-items:flex-end}.finance-charge-actions{grid-column:1/-1;justify-content:flex-start}.finance-charge-actions .entity-action--secondary{padding-left:0}.finance-account-panel{flex-direction:column;align-items:flex-start}.finance-account-actions{width:100%}}@media (width<=620px){.finance-workspace-head{align-items:flex-start}.finance-overview-grid{grid-template-columns:1fr 1fr;gap:10px}.finance-overview-card--main{grid-column:1/-1}.finance-overview-card{padding:15px 16px}.finance-overview-card--main{padding:18px}.finance-overview-card--main>strong{font-size:24px}.finance-overview-card--balance{grid-column:1/-1}.finance-attention-card{grid-template-columns:auto minmax(0,1fr)}.finance-attention-action{grid-column:2;justify-self:start}.finance-filter-tab{flex:none}.finance-schedule-grid{grid-template-columns:1fr}.finance-schedule-card{border-right:0;border-bottom:1px solid var(--line)}.finance-schedule-card:last-child{border-bottom:0}.finance-payment-context,.finance-modal-context,.finance-prefill-note{grid-template-columns:1fr}.finance-charge-modal,.finance-payment-modal,.finance-edit-modal,.finance-payout-modal{max-width:none}.finance-account-actions{flex-direction:column;align-items:stretch}.finance-account-actions .btn{width:100%}.finance-payout-strip{flex-direction:column;align-items:flex-start;gap:7px}.modal-actions .btn{flex:1}}.plan-row{grid-template-columns:minmax(0,1fr) 120px minmax(260px,auto)}.plan-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.plan-row-action--primary{background:var(--pine-tint);color:var(--pine-deep)}.plan-row-action--primary:hover{background:#6366e81f}.plan-link-modal{max-width:560px}.plan-link-context{background:linear-gradient(135deg,#6366e80f,#fffffff5);border:1px solid #6366e821;border-radius:16px;flex-direction:column;gap:3px;padding:14px 16px;display:flex}.plan-link-context>span{font-size:var(--text-xs);letter-spacing:.055em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.plan-link-context>strong{color:var(--ink);font-size:13.5px}.plan-link-context>small{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.45}.enrollment-danger-zone{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin:0 24px 2px;padding:14px 0;display:flex}.enrollment-danger-zone>div:first-child{min-width:0}.enrollment-danger-zone strong,.enrollment-danger-zone span{display:block}.enrollment-danger-zone strong{color:var(--ink);font-size:12.5px}.enrollment-danger-zone span{max-width:470px;font-size:var(--text-sm);color:var(--ink-soft);margin-top:3px;line-height:1.45}.btn-danger-soft{color:#a43d3d;background:#fff7f7;border:1px solid #b442422b}.btn-danger-soft:hover{background:#fff0f0}.btn-danger{color:#fff;background:#a43d3d;border:1px solid #a43d3d}.btn-danger:hover{background:#913434}@media (width<=900px){.plan-row{grid-template-columns:minmax(0,1fr) auto}.plan-row-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=620px){.plan-row{grid-template-columns:1fr}.plan-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.plan-row-action{border:1px solid var(--line);border-radius:10px;justify-content:center;padding:9px 10px}.plan-row-action--primary{grid-column:1/-1}.enrollment-danger-zone{flex-direction:column;align-items:stretch;margin-inline:18px}}.enrollment-flow{gap:16px}.enrollment-flow-section{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:14px;padding:16px;display:grid}.enrollment-flow-section--compact{padding:0;overflow:hidden}.enrollment-flow-heading{align-items:flex-start;gap:10px;display:flex}.enrollment-flow-heading>div{min-width:0}.enrollment-flow-heading strong,.enrollment-flow-heading span{display:block}.enrollment-flow-heading strong{color:var(--ink);font-size:13px}.enrollment-flow-heading div>span{font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px;line-height:1.45}.enrollment-flow-step{background:var(--pine-tint);width:24px;height:24px;color:var(--pine-deep);font-size:var(--text-sm);border-radius:8px;flex:0 0 24px;justify-content:center;align-items:center;font-weight:800;display:flex}.enrollment-choice-grid,.enrollment-schedule-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.enrollment-choice,.enrollment-schedule-mode-option{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:14px;min-width:0;min-height:66px;padding:11px 13px;transition:border-color .15s,background .15s,box-shadow .15s}.enrollment-choice:hover,.enrollment-schedule-mode-option:hover{border-color:var(--line-strong);background:var(--surface)}.enrollment-choice.active,.enrollment-schedule-mode-option.active{background:var(--pine-tint);border-color:#6366e847;box-shadow:0 0 0 1px #6366e80d}.enrollment-choice:disabled,.enrollment-schedule-mode-option:disabled{cursor:not-allowed;opacity:.7}.enrollment-choice strong,.enrollment-choice span,.enrollment-schedule-mode-option strong,.enrollment-schedule-mode-option span{display:block}.enrollment-choice strong,.enrollment-schedule-mode-option strong{color:var(--ink);font-size:12.5px}.enrollment-choice span,.enrollment-schedule-mode-option span{font-size:var(--text-xs);color:var(--ink-soft);margin-top:3px;line-height:1.4}.enrollment-group-agenda-card{background:#ecf8f48c;border:1px solid #2a897129;border-radius:15px;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px 14px;display:flex}.enrollment-group-agenda-card.warning{background:#fff8eab8;border-color:#b97c232e}.enrollment-group-agenda-card>div{min-width:0}.enrollment-group-agenda-card span,.enrollment-group-agenda-card strong,.enrollment-group-agenda-card small{display:block}.enrollment-group-agenda-card>div>span{font-size:var(--text-xs);letter-spacing:.055em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.enrollment-group-agenda-card>div>strong{color:var(--ink);margin-top:2px;font-size:13px}.enrollment-group-agenda-card>div>small{font-size:var(--text-sm);color:var(--ink-soft);margin-top:3px;line-height:1.4}.enrollment-schedule-editor{gap:10px;display:grid}.enrollment-schedule-rule{border:1px solid var(--line);background:var(--paper);border-radius:15px;gap:11px;padding:13px 14px;display:grid}.enrollment-schedule-rule-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.enrollment-schedule-rule-head strong,.enrollment-schedule-rule-head span{display:block}.enrollment-schedule-rule-head strong{color:var(--ink);font-size:12px}.enrollment-schedule-rule-head span{font-size:var(--text-xs);color:var(--ink-soft);margin-top:2px}.enrollment-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.enrollment-weekday{border:1px solid var(--line);background:var(--surface);min-width:0;height:34px;color:var(--ink-soft);font-size:var(--text-xs);border-radius:10px;font-weight:700;transition:border-color .15s,background .15s,color .15s}.enrollment-weekday:hover{border-color:var(--line-strong);color:var(--ink)}.enrollment-weekday.active{background:var(--pine-tint);color:var(--pine-deep);border-color:#6366e83d}.enrollment-schedule-time-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.enrollment-add-schedule{justify-self:start}.btn-link-danger{color:#a43d3d;font-size:var(--text-sm);padding:2px 0;font-weight:700}.btn-link-danger:hover{text-decoration:underline}.enrollment-progressive-trigger{text-align:left;background:var(--paper);justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:58px;padding:12px 15px;display:flex}.enrollment-progressive-trigger>span{min-width:0}.enrollment-progressive-trigger strong,.enrollment-progressive-trigger small{display:block}.enrollment-progressive-trigger strong{color:var(--ink);font-size:12.5px}.enrollment-progressive-trigger small{font-size:var(--text-xs);color:var(--ink-soft);margin-top:2px}.enrollment-progressive-trigger svg{width:17px;height:17px;color:var(--ink-faint);flex:none;transition:transform .18s}.enrollment-progressive-trigger svg.open{transform:rotate(180deg)}.enrollment-progressive-body{padding:0 15px 15px}.record-lifecycle-card{background:snow;border:1px solid #b4424224;border-radius:15px;justify-content:space-between;align-items:center;gap:16px;margin-top:4px;padding:13px 14px;display:flex}.record-lifecycle-card--restore{border-color:var(--line);background:var(--paper)}.record-lifecycle-card>div{min-width:0}.record-lifecycle-card strong,.record-lifecycle-card span{display:block}.record-lifecycle-card strong{color:var(--ink);font-size:12px}.record-lifecycle-card span{max-width:500px;font-size:var(--text-xs);color:var(--ink-soft);margin-top:3px;line-height:1.45}.student-followup-operational{grid-template-columns:repeat(3,minmax(0,1fr))}.group-roster-setup-row{border:1px solid var(--line);background:var(--paper);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.group-roster-setup-row>a{font-size:var(--text-sm);color:var(--pine-deep);flex:none;font-weight:700}.group-roster-setup-row>a:hover{text-decoration:underline}@media (width<=980px){.student-followup-operational{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=680px){.enrollment-flow-section{padding:14px}.enrollment-choice-grid,.enrollment-schedule-mode{grid-template-columns:1fr}.enrollment-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}.enrollment-schedule-time-grid{grid-template-columns:1fr}.enrollment-group-agenda-card,.record-lifecycle-card{flex-direction:column;align-items:stretch}.record-lifecycle-card>.btn{width:100%}.student-followup-operational{grid-template-columns:1fr}.group-roster-setup-row{flex-direction:column;align-items:flex-start}}.enrollment-flow-heading>.enrollment-flow-step{text-align:center;place-items:center;padding:0;line-height:1;display:grid}.treinay-dropdown-option:disabled,.treinay-dropdown-option.disabled{cursor:not-allowed;opacity:.58;background:0 0}.treinay-dropdown-option:disabled:hover,.treinay-dropdown-option.disabled:hover{background:0 0}.learning-workspace-head{margin-bottom:18px}.learning-studio{gap:18px;display:grid}.learning-studio-hero{border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--surface),var(--pine-tint));box-shadow:var(--shadow-card);justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 26px;display:flex}.learning-studio-hero>div:first-child{max-width:720px}.learning-studio-hero h2{letter-spacing:-.02em;margin-top:4px;font-size:25px;line-height:1.2}.learning-studio-hero p{color:var(--ink-soft);margin-top:7px;font-size:13.5px;line-height:1.6}.learning-studio-hero-actions,.learning-inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.learning-summary-grid{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.learning-summary-grid article{border-right:1px solid var(--line);gap:3px;padding:18px 20px;display:grid;position:relative}.learning-summary-grid article:last-child{border-right:0}.learning-summary-grid article.has-attention:before{content:"";background:var(--gold);height:2px;position:absolute;top:0;left:0;right:0}.learning-summary-grid span{font-size:var(--text-sm);color:var(--ink-soft)}.learning-summary-grid strong{letter-spacing:-.02em;font-size:26px;line-height:1.15}.learning-summary-grid small{font-size:var(--text-xs);color:var(--ink-faint)}.learning-tabs{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:4px;width:max-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.learning-tabs button{height:36px;color:var(--ink-soft);white-space:nowrap;border-radius:10px;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.learning-tabs button.active{background:var(--pine-tint);color:var(--pine-deep)}.learning-tabs button span{background:var(--surface);min-width:18px;height:18px;font-size:var(--text-xs);border-radius:999px;place-items:center;padding:0 5px;display:grid}.learning-workspace{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);min-height:580px;box-shadow:var(--shadow-card);grid-template-columns:300px minmax(0,1fr);display:grid;overflow:hidden}.learning-path-list{border-right:1px solid var(--line);background:var(--paper);padding:16px;overflow:auto}.learning-pane-head,.learning-section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.learning-pane-head{padding:4px 3px 14px}.learning-pane-head h3{margin-top:2px;font-size:16px}.learning-path-row{text-align:left;width:100%;transition:background .15s ease,border-color .15s ease,transform .12s var(--ease-spring);border:1px solid #0000;border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.learning-path-row:hover{background:var(--surface);border-color:var(--line)}.learning-path-row.active{background:var(--surface);border-color:#6366e838;box-shadow:0 6px 18px #16191b0a}.learning-path-row-icon,.learning-review-avatar{background:var(--pine-tint);width:38px;height:38px;color:var(--pine-deep);border-radius:12px;place-items:center;font-size:12px;font-weight:800;display:grid}.learning-path-row>span:nth-child(2){min-width:0}.learning-path-row strong,.learning-path-row small{display:block}.learning-path-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.learning-path-row small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:2px}.learning-path-row .status-badge{transform:none}.learning-path-editor{min-width:0;padding:24px;overflow:auto}.learning-path-editor-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;display:flex}.learning-path-editor-head>div:first-child{min-width:0;max-width:680px}.learning-path-editor-head h2{letter-spacing:-.02em;margin-top:3px;font-size:23px}.learning-path-editor-head p{color:var(--ink-soft);margin-top:5px;font-size:12.5px;line-height:1.55}.learning-plan-defaults{background:var(--pine-tint);font-size:var(--text-xs);border:1px solid #6366e821;border-radius:12px;align-items:center;gap:8px;margin:14px 0;padding:10px 12px;display:flex}.learning-plan-defaults span{color:var(--ink-soft)}.learning-plan-defaults strong{color:var(--pine-deep)}.learning-modules{gap:14px;margin-top:18px;display:grid}.learning-module-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.learning-module-card>header{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 16px;display:flex}.learning-module-card>header>div{min-width:0}.learning-module-card>header span{font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-weight:800}.learning-module-card>header h3{margin-top:2px;font-size:14px}.learning-module-card>header p{font-size:var(--text-xs);color:var(--ink-soft);margin-top:3px}.learning-lesson-list{display:grid}.learning-lesson-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 14px;display:flex}.learning-lesson-row:last-child{border-bottom:0}.learning-lesson-row.is-draft{background:#eeeeff47}.learning-lesson-main{text-align:left;flex:1;align-items:center;gap:11px;min-width:0;display:flex}.learning-lesson-index{background:var(--paper-deep);width:28px;height:28px;color:var(--ink-soft);font-size:var(--text-xs);border-radius:9px;flex:0 0 28px;place-items:center;font-weight:800;display:grid}.learning-lesson-main>span:last-child{min-width:0}.learning-lesson-main strong,.learning-lesson-main small{display:block}.learning-lesson-main strong{font-size:12.5px}.learning-lesson-main small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:2px}.learning-lesson-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.learning-add-module{border:1px dashed var(--line-strong);width:100%;color:var(--pine-deep);font-size:var(--text-sm);border-radius:14px;padding:14px;font-weight:800;transition:background .15s,border-color .15s}.learning-add-module:hover{background:var(--pine-tint);border-color:#6366e847}.learning-empty{text-align:center;min-height:260px;color:var(--ink-soft);place-items:center;gap:7px;padding:32px;display:grid}.learning-empty.compact{min-height:140px;padding:20px 8px}.learning-empty.inline{text-align:left;justify-content:space-between;min-height:0;padding:13px 14px;display:flex}.learning-empty strong{color:var(--ink);font-size:13.5px}.learning-empty p{max-width:430px;font-size:var(--text-sm);line-height:1.55}.learning-empty-mark{background:var(--pine-tint);width:46px;height:46px;color:var(--pine-deep);border-radius:15px;place-items:center;font-size:19px;font-weight:800;display:grid}.learning-reviews,.learning-library-section{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-card);gap:18px;padding:22px;display:grid}.learning-section-head h2{letter-spacing:-.015em;margin-top:3px;font-size:21px}.learning-section-head p{color:var(--ink-soft);margin-top:4px;font-size:12px}.learning-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.learning-review-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;gap:13px;padding:16px;display:grid}.learning-review-card>header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.learning-review-card>header>div{min-width:0}.learning-review-card>header strong,.learning-review-card>header span{display:block}.learning-review-card>header strong{font-size:12.5px}.learning-review-card>header span{font-size:var(--text-xs);color:var(--ink-soft);margin-top:2px}.learning-review-text,.learning-submission-preview{background:var(--paper);font-size:var(--text-sm);white-space:pre-wrap;border-radius:12px;padding:11px 12px;line-height:1.55}.learning-review-assets,.student-learning-media-strip{gap:7px;display:flex;overflow-x:auto}.learning-review-assets a,.student-learning-media-strip a{border:1px solid var(--line);background:var(--paper);min-width:0;font-size:var(--text-xs);white-space:nowrap;border-radius:10px;align-items:center;gap:7px;padding:8px 10px;font-weight:700;display:flex}.learning-review-assets a span,.student-learning-media-strip a span{color:var(--pine-deep)}.learning-review-assets.large a{padding:11px 12px}.learning-review-card>footer{justify-content:space-between;align-items:center;gap:10px;padding-top:2px;display:flex}.learning-review-card>footer>span{font-size:var(--text-xs);color:var(--ink-faint)}.learning-modal{width:100%;max-width:620px}.learning-modal--compact{max-width:540px}.learning-modal .modal-head{align-items:flex-start}.learning-modal .modal-head>div{min-width:0}.learning-lesson-composer{max-width:720px}.learning-block-types{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.learning-block-types button{border:1px solid var(--line);background:var(--paper);min-height:62px;font-size:var(--text-xs);color:var(--ink-soft);border-radius:12px;place-items:center;gap:5px;padding:8px;font-weight:700;display:grid}.learning-block-types button span{color:var(--pine-deep);font-size:15px}.learning-block-types button.active{background:var(--pine-tint);color:var(--pine-deep);border-color:#6366e842}.learning-upload-card{border:1px dashed var(--line-strong);background:var(--paper);border-radius:14px;position:relative;overflow:hidden}.learning-upload-card input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.learning-upload-card label{cursor:pointer;gap:3px;padding:16px;display:grid}.learning-upload-card label strong{color:var(--ink);font-size:12px}.learning-upload-card label span{font-size:var(--text-xs);color:var(--ink-soft)}.learning-or{color:var(--ink-faint);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;display:flex}.learning-or:before,.learning-or:after{content:"";background:var(--line);flex:1;height:1px}.learning-choice-chips{flex-wrap:wrap;gap:7px;display:flex}.learning-choice-chips button,.learning-audience-mode button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink-soft);font-size:var(--text-xs);border-radius:11px;align-items:center;gap:6px;padding:0 11px;font-weight:700;display:flex}.learning-choice-chips button span{display:none}.learning-choice-chips button.selected,.learning-audience-mode button.active{background:var(--pine-tint);color:var(--pine-deep);border-color:#6366e83d}.learning-choice-chips button.selected span{display:inline}.learning-submission-types,.learning-criteria{gap:8px;display:grid}.learning-submission-types>label,.learning-criteria>label{font-size:var(--text-sm);color:var(--ink);font-weight:700}.learning-audience-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.learning-audience-mode button{justify-content:center}.learning-criterion-row{grid-template-columns:minmax(0,1fr) 130px 38px;align-items:end;gap:8px;display:grid}.learning-score-grid{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:10px;padding:12px;display:grid}.learning-score-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.learning-structure-actions{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:8px;display:grid}.learning-structure-actions .learning-add-module{height:100%}.learning-composer-section{border:1px solid var(--line);background:var(--paper);border-radius:16px;gap:12px;padding:15px;display:grid}.learning-composer-section-head strong,.learning-composer-section-head span{display:block}.learning-composer-section-head strong{color:var(--ink);font-size:12.5px}.learning-composer-section-head span{font-size:var(--text-xs);color:var(--ink-soft);margin-top:3px;line-height:1.45}.learning-composer-existing,.learning-composer-drafts{gap:7px;display:grid}.learning-composer-existing>span,.learning-composer-drafts>span{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:800}.learning-composer-existing-list{gap:6px;display:grid}.learning-composer-existing-list article,.learning-composer-drafts article{border:1px solid var(--line);background:var(--surface);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.learning-composer-existing-list strong,.learning-composer-existing-list small,.learning-composer-drafts strong,.learning-composer-drafts small{display:block}.learning-composer-existing-list strong,.learning-composer-drafts strong{font-size:var(--text-xs)}.learning-composer-existing-list small,.learning-composer-drafts small{max-width:460px;color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.learning-composer-editor{gap:10px;display:grid}.learning-composer-add{justify-self:start}.learning-context-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.learning-context-choice>button{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:14px;min-height:72px;padding:12px 13px;transition:border-color .15s,background .15s}.learning-context-choice>button:hover{border-color:var(--line-strong);background:var(--surface)}.learning-context-choice>button.active{background:var(--pine-tint);border-color:#6366e840}.learning-context-choice strong,.learning-context-choice span{display:block}.learning-context-choice strong{color:var(--ink);font-size:12px}.learning-context-choice span{font-size:var(--text-xs);color:var(--ink-soft);margin-top:3px;line-height:1.4}.learning-context-panel{border:1px solid var(--line);background:var(--paper);border-radius:15px;gap:11px;padding:13px 14px;display:grid}.learning-context-kicker{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:800}.learning-context-panel>strong{color:var(--ink);font-size:12.5px}.learning-context-panel>small{font-size:var(--text-xs);color:var(--ink-soft);margin-top:-7px}.learning-progressive-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden}.learning-progressive-trigger{text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:58px;padding:11px 13px;display:flex}.learning-progressive-trigger strong,.learning-progressive-trigger small{display:block}.learning-progressive-trigger strong{font-size:var(--text-sm);color:var(--ink)}.learning-progressive-trigger small{font-size:var(--text-xs);color:var(--ink-soft);margin-top:2px}.learning-progressive-trigger svg{width:17px;height:17px;color:var(--ink-faint);flex:none;transition:transform .18s}.learning-progressive-trigger svg.open{transform:rotate(180deg)}.learning-progressive-body{padding:0 13px 13px}.learning-path-audience{background:var(--pine-tint);border:1px solid #2f6d572e;border-radius:15px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.learning-path-audience>div{min-width:0}.learning-path-audience strong,.learning-path-audience p{display:block}.learning-path-audience strong{color:var(--ink);margin-top:2px;font-size:12.5px}.learning-path-audience p{color:var(--ink-soft);font-size:var(--text-xs);margin-top:3px;line-height:1.45}.learning-path-audience.has-zero{background:var(--brick-tint);border-color:#b948382b}.learning-path-audience-notes{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.learning-path-audience-notes span{color:var(--ink-soft);font-size:var(--text-xs);background:#ffffffa3;border-radius:999px;padding:4px 7px;font-weight:700}.learning-composer-section--secondary{background:var(--paper);padding:0;overflow:hidden}.learning-lesson-media-trigger{border:0;border-radius:0}.learning-composer-secondary-editor{gap:12px;padding:0 14px 14px;display:grid}.learning-composer-section--secondary>.learning-composer-existing,.learning-composer-section--secondary>.learning-composer-drafts{padding:12px 14px 0}.learning-recipient-picker{position:relative}.learning-recipient-selected{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.learning-recipient-chip{background:var(--pine-tint);max-width:100%;min-height:32px;color:var(--pine-deep);font-size:var(--text-xs);border:1px solid #2f6d572e;border-radius:999px;align-items:center;gap:7px;padding:0 9px 0 10px;font-weight:750;display:inline-flex}.learning-recipient-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learning-recipient-chip svg{flex:none;width:13px;height:13px}.learning-recipient-search-shell{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;min-height:46px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.learning-recipient-search-shell:focus-within{border-color:#2f6d5766;box-shadow:0 0 0 3px #2f6d5714}.learning-recipient-search-shell>svg{width:17px;height:17px;color:var(--ink-faint);flex:none;margin-left:13px}.learning-recipient-search-shell input{width:100%;min-width:0;height:44px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:0 10px;font-size:12px}.learning-recipient-search-shell input::placeholder{color:var(--ink-faint)}.learning-recipient-count{white-space:nowrap;color:var(--ink-faint);font-size:var(--text-xs);margin-right:10px;font-weight:700}.learning-recipient-results{border:1px solid var(--line);background:var(--surface);max-height:260px;box-shadow:var(--shadow-card);border-radius:13px;margin-top:7px;overflow:auto}.learning-recipient-result{border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:9px;width:100%;padding:9px 10px;display:grid}.learning-recipient-result:last-child{border-bottom:0}.learning-recipient-result:hover,.learning-recipient-result.selected{background:var(--paper)}.learning-recipient-avatar{background:var(--pine-tint);width:34px;height:34px;color:var(--pine-deep);font-size:var(--text-sm);border-radius:50%;place-items:center;font-weight:800;display:grid}.learning-recipient-result-copy{min-width:0}.learning-recipient-result-copy strong,.learning-recipient-result-copy small{display:block}.learning-recipient-result-copy strong{font-size:var(--text-sm);color:var(--ink)}.learning-recipient-result-copy small{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px;overflow:hidden}.learning-recipient-check{border:1px solid var(--line);width:27px;height:27px;color:var(--pine-deep);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.learning-recipient-result.selected .learning-recipient-check{background:var(--pine);color:#fff;border-color:#0000}.learning-recipient-hint{color:var(--ink-faint);font-size:var(--text-xs);padding:8px 2px 0}.student-learning-portal-slot{scroll-margin-top:92px}.student-learning-hub{gap:18px;width:100%;margin-top:20px;display:grid;position:relative}.student-learning-hub-head{justify-content:space-between;align-items:flex-end;gap:20px;padding:1px 2px;display:flex}.student-learning-hub-head h2{letter-spacing:-.025em;margin-top:3px;font-size:24px;line-height:1.15}.student-learning-hub-head p{max-width:620px;color:var(--ink-soft);margin-top:5px;font-size:12.5px;line-height:1.5}.student-learning-head-meta{flex:none;align-items:center;gap:10px;display:flex}.student-learning-attention-count{background:var(--gold-tint);color:var(--ink-soft);font-size:var(--text-xs);border-radius:999px;align-items:baseline;gap:5px;padding:8px 10px;display:flex}.student-learning-attention-count strong{color:var(--gold);font-size:13px}.student-learning-notification-button{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;box-shadow:var(--shadow-card);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.student-learning-notification-button svg{width:18px;height:18px}.student-learning-notification-button>span{border:2px solid var(--paper);background:var(--brick);color:#fff;min-width:18px;height:18px;font-size:var(--text-xs);border-radius:999px;place-items:center;padding:0 4px;font-weight:800;display:grid;position:absolute;top:-3px;right:-2px}.student-story-create-button{background:linear-gradient(135deg,var(--surface),#6366e814);min-height:42px;color:var(--primary-dark);box-shadow:var(--shadow-card);font-size:var(--text-xs);border:1px solid #6366e838;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-weight:800;display:flex}.student-story-create-button svg{width:17px;height:17px}.student-story-composer{max-width:510px}.student-story-form-body{gap:13px;padding:0 22px 20px;display:grid}.student-story-preview,.student-story-empty-preview{aspect-ratio:9/16;background:#111522;border-radius:20px;width:min(270px,100%);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 14px 34px #171a2b2e}.student-story-preview img,.student-story-preview video{object-fit:cover;width:100%;height:100%;display:block}.student-story-preview-remove{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171a2bad;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;right:10px}.student-story-preview-remove svg{width:15px;height:15px}.student-story-empty-preview{text-align:center;color:#fff;background:linear-gradient(160deg,var(--primary-dark),var(--accent));align-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.student-story-empty-preview svg{width:42px;height:42px;margin-bottom:5px}.student-story-empty-preview strong{font-size:13px}.student-story-empty-preview span{color:#ffffffc2;font-size:var(--text-xs);line-height:1.5}.student-story-upload{width:min(360px,100%);margin:0 auto}.student-learning-notifications{z-index:45;border:1px solid var(--line);background:var(--surface);width:min(390px,100vw - 30px);max-height:440px;box-shadow:var(--shadow-float);border-radius:18px;position:absolute;top:56px;right:0;overflow:auto}.student-learning-drawer-head{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex;position:sticky;top:0}.student-learning-drawer-head strong,.student-learning-drawer-head small{display:block}.student-learning-drawer-head strong{font-size:12.5px}.student-learning-drawer-head small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:1px}.student-learning-drawer-head button{width:30px;height:30px;color:var(--ink-soft);border-radius:50%;place-items:center;display:grid}.student-learning-drawer-head button svg{width:15px;height:15px}.student-learning-notification{border-bottom:1px solid var(--line);text-align:left;background:var(--surface);grid-template-columns:7px minmax(0,1fr);gap:10px;width:100%;padding:12px 14px;display:grid}.student-learning-notification:hover{background:var(--paper)}.student-learning-notification-dot{background:0 0;border-radius:50%;width:7px;height:7px;margin-top:5px}.student-learning-notification.unread .student-learning-notification-dot{background:var(--pine)}.student-learning-notification strong,.student-learning-notification small,.student-learning-notification em{display:block}.student-learning-notification strong{font-size:var(--text-sm)}.student-learning-notification small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px;line-height:1.45}.student-learning-notification em{color:var(--ink-faint);font-size:var(--text-xs);margin-top:4px;font-style:normal}.student-learning-section{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);border-radius:19px}.student-learning-section-head{justify-content:space-between;align-items:flex-end;gap:14px;padding:15px 16px 12px;display:flex}.student-learning-section-head h3{letter-spacing:-.015em;margin-top:2px;font-size:15px}.student-learning-section-head>span{color:var(--ink-faint);font-size:var(--text-xs)}.student-learning-path-section{overflow:hidden}.student-learning-path-rail{scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;padding:0 16px 16px;display:flex;overflow-x:auto}.student-learning-path-rail::-webkit-scrollbar{display:none}.student-learning-path-card{border:1px solid var(--line);background:linear-gradient(145deg,var(--surface),var(--paper));scroll-snap-align:start;border-radius:16px;flex:0 0 230px;gap:10px;width:230px;padding:14px;display:grid}.student-learning-path-card.is-complete{background:linear-gradient(145deg,var(--surface),var(--pine-tint))}.student-learning-path-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-learning-path-mark{background:var(--pine);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.student-learning-path-top>div{text-align:right}.student-learning-path-top>div span,.student-learning-path-top>div small{display:block}.student-learning-path-top>div span{color:var(--pine-deep);font-size:12px;font-weight:800}.student-learning-path-top>div small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:1px}.student-learning-path-progress{background:var(--line);border-radius:999px;height:5px;overflow:hidden}.student-learning-path-progress span{border-radius:inherit;background:var(--pine);height:100%;display:block}.student-learning-path-copy strong{font-size:12.5px;display:block}.student-learning-path-copy p{min-height:30px;color:var(--ink-soft);font-size:var(--text-xs);margin-top:3px;line-height:1.4}.student-learning-path-card .btn{justify-self:start}.student-learning-complete-label{background:var(--pine-tint);color:var(--pine-deep);font-size:var(--text-xs);border-radius:999px;justify-self:start;padding:5px 8px;font-weight:800}.student-learning-dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);align-items:start;gap:14px;display:grid}.student-learning-task-list{gap:9px;padding:0 12px 12px;display:grid}.student-learning-task-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;gap:11px;padding:14px;display:grid}.student-learning-task-card.is-overdue{background:linear-gradient(145deg,var(--surface),var(--brick-tint));border-color:#b9483833}.student-learning-task-card.is-waiting{background:var(--surface)}.student-learning-task-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-learning-task-context span,.student-learning-task-context small{display:block}.student-learning-task-context span{font-size:var(--text-xs);letter-spacing:.055em;text-transform:uppercase;color:var(--pine-deep);font-weight:800}.student-learning-task-context small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:2px}.student-learning-task-copy h4{letter-spacing:-.01em;font-size:14px}.student-learning-task-copy p{color:var(--ink-soft);font-size:var(--text-sm);margin-top:4px;line-height:1.55}.student-learning-task-meta{color:var(--ink-faint);font-size:var(--text-xs);flex-wrap:wrap;gap:7px 12px;display:flex}.student-learning-task-meta span:first-child{font-weight:750}.student-learning-task-meta .danger{color:var(--brick)}.student-learning-task-actions{justify-content:space-between;align-items:center;gap:12px;padding-top:1px;display:flex}.student-learning-task-actions>span{color:var(--ink-soft);font-size:var(--text-xs)}.student-learning-submission-summary{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;padding:11px;display:grid}.student-learning-submission-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-learning-submission-head strong{font-size:var(--text-xs)}.student-learning-submission-head small{color:var(--ink-faint);font-size:var(--text-xs)}.student-learning-submission-summary>p{font-size:var(--text-xs);white-space:pre-wrap;line-height:1.5}.student-learning-submission-media{gap:7px;display:flex;overflow-x:auto}.student-learning-submission-media a{border:1px solid var(--line);background:var(--paper);border-radius:10px;flex:0 0 64px;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.student-learning-submission-media img,.student-learning-submission-media video{object-fit:cover;width:100%;height:100%}.student-learning-feedback-inline{background:var(--gold-tint);border-radius:10px;gap:4px;padding:9px 10px;display:grid}.student-learning-feedback-inline>div{justify-content:space-between;align-items:center;display:flex}.student-learning-feedback-inline span{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--gold);font-weight:800}.student-learning-feedback-inline strong{font-size:15px}.student-learning-feedback-inline p{font-size:var(--text-xs);line-height:1.45}.student-learning-feedback-inline small{color:var(--ink-soft);font-size:var(--text-xs)}.student-learning-evaluation-list{gap:9px;padding:0 12px 12px;display:grid}.student-learning-evaluation-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:9px;padding:12px;display:grid}.student-learning-evaluation-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-learning-evaluation-head strong,.student-learning-evaluation-head small{display:block}.student-learning-evaluation-head strong{font-size:var(--text-sm)}.student-learning-evaluation-head small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:2px}.student-learning-evaluation-head>span{background:var(--pine-tint);min-width:38px;height:38px;color:var(--pine-deep);border-radius:12px;place-items:center;padding:0 7px;font-size:14px;font-weight:800;display:grid}.student-learning-evaluation-card>p{color:var(--ink-soft);font-size:var(--text-xs);line-height:1.5}.student-learning-evaluation-scores{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.student-learning-evaluation-scores>span{background:var(--surface);border-radius:9px;justify-content:space-between;align-items:baseline;gap:6px;padding:7px 8px;display:flex}.student-learning-evaluation-scores small{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:var(--text-xs);overflow:hidden}.student-learning-evaluation-scores strong{font-size:var(--text-xs)}.student-learning-evaluation-scores em{font-size:var(--text-xs);color:var(--ink-faint);font-style:normal}.student-learning-next-step{background:var(--surface);border-radius:10px;padding:9px 10px}.student-learning-next-step span{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--pine-deep);font-weight:800}.student-learning-next-step p{font-size:var(--text-xs);margin-top:2px;line-height:1.45}.student-learning-waiting{border-top:1px solid var(--line);gap:7px;margin:0 12px 12px;padding-top:11px;display:grid}.student-learning-waiting article{background:var(--paper);border-radius:10px;gap:1px;padding:8px 9px;display:grid}.student-learning-waiting article strong{font-size:var(--text-xs)}.student-learning-waiting article small{color:var(--ink-faint);font-size:var(--text-xs)}.student-learning-completed{padding-bottom:12px}.student-learning-completed-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px;display:grid}.student-learning-completed-list article{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.student-learning-completed-list article>span{background:var(--pine-tint);width:30px;height:30px;color:var(--pine-deep);border-radius:50%;place-items:center;font-weight:800;display:grid}.student-learning-completed-list strong,.student-learning-completed-list small{display:block}.student-learning-completed-list strong{font-size:var(--text-xs)}.student-learning-completed-list small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:1px}.student-learning-completed-list em{font-size:var(--text-sm);color:var(--pine-deep);font-style:normal;font-weight:800}.student-learning-empty{text-align:center;justify-items:center;gap:7px;padding:34px 22px;display:grid}.student-learning-empty-mark{background:var(--pine-tint);width:52px;height:52px;color:var(--pine-deep);border-radius:16px;place-items:center;display:grid}.student-learning-empty-mark svg{width:23px;height:23px}.student-learning-empty>strong{font-size:14px}.student-learning-empty>p{max-width:520px;color:var(--ink-soft);font-size:var(--text-sm);line-height:1.55}.student-learning-viewer{z-index:1001;background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100vw);display:grid;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 50px #1418162e}.student-learning-viewer>header{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 18px;display:grid}.student-learning-viewer>header>button{background:var(--paper);border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.student-learning-viewer>header>button svg{width:17px;height:17px}.student-learning-viewer>header>div{min-width:0}.student-learning-viewer>header span,.student-learning-viewer>header strong{display:block}.student-learning-viewer>header span{font-size:var(--text-xs);color:var(--ink-faint)}.student-learning-viewer>header strong{text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12.5px;overflow:hidden}.student-learning-viewer>header em{font-size:var(--text-xs);color:var(--ink-soft);font-style:normal}.student-learning-viewer-scroll{padding:30px 34px 42px;overflow:auto}.student-learning-lesson-intro{background:var(--paper);color:var(--ink-soft);border-radius:13px;margin-bottom:20px;padding:13px 15px;font-size:12px;line-height:1.6}.student-learning-block{max-width:650px;margin:0 auto 18px}.student-learning-block p{white-space:pre-wrap;font-size:14px;line-height:1.75}.student-learning-block blockquote{border-left:3px solid var(--gold);background:var(--gold-tint);border-radius:0 12px 12px 0;padding:14px 16px;font-size:13px;line-height:1.6}.student-learning-block img,.student-learning-block video{object-fit:contain;background:var(--paper-deep);border-radius:15px;width:100%;max-height:520px;display:block}.student-learning-resource{border:1px solid var(--line);background:var(--paper);color:inherit;border-radius:13px;align-items:center;gap:11px;padding:13px;text-decoration:none;display:flex}.student-learning-resource>span{background:var(--pine-tint);width:40px;height:40px;color:var(--pine-deep);border-radius:11px;place-items:center;display:grid}.student-learning-resource strong,.student-learning-resource small{display:block}.student-learning-resource strong{font-size:var(--text-sm)}.student-learning-resource small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px}.student-learning-lesson-activities{border-top:1px solid var(--line);gap:8px;margin-top:26px;padding-top:20px;display:grid}.student-learning-lesson-activities article{border:1px solid var(--line);background:var(--paper);border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:12px 13px;display:flex}.student-learning-lesson-activities article>div{min-width:0}.student-learning-lesson-activities strong{font-size:var(--text-sm)}.student-learning-lesson-activities p{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px;line-height:1.45}.student-learning-viewer>footer{border-top:1px solid var(--line);background:var(--surface);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.learning-submission-composer{max-width:650px}.learning-composer-destination{background:var(--paper);border-radius:12px;align-items:center;gap:10px;padding:10px 11px;display:flex}.learning-composer-destination>span{background:var(--pine);color:#fff;width:34px;height:34px;font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.learning-composer-destination strong,.learning-composer-destination small{display:block}.learning-composer-destination strong{font-size:var(--text-sm)}.learning-composer-destination small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:1px}.learning-composer-remove svg{width:13px;height:13px}.student-learning-self-evaluation{padding-top:13px}@media (width<=900px){.student-learning-dashboard-grid{grid-template-columns:1fr}.student-learning-evolution{order:2}}@media (width<=680px){.learning-path-audience{flex-direction:column;align-items:flex-start}.student-learning-hub{gap:14px}.student-learning-hub-head{align-items:center}.student-learning-hub-head p,.student-learning-head-meta>.student-learning-attention-count{display:none}.student-story-create-button{justify-content:center;width:42px;padding:0}.student-story-create-button span{display:none}.student-learning-path-card{flex-basis:205px;width:205px}.student-learning-completed-list{grid-template-columns:1fr}.student-learning-viewer{width:100vw}.student-learning-viewer-scroll{padding:22px 16px 32px}.student-learning-viewer>footer .btn{flex:1;padding-inline:10px}.learning-submission-composer,.student-story-composer{border-radius:22px 22px 0 0;width:100%;max-width:none;max-height:94vh}.student-story-preview,.student-story-empty-preview{width:min(230px,70vw)}.student-learning-task-actions,.student-learning-lesson-activities article{flex-direction:column;align-items:flex-start}}.learning-assignment-list{gap:10px;display:grid}.learning-assignment-manage-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.learning-assignment-manage-main{align-items:center;gap:10px;min-width:0;display:flex}.learning-assignment-manage-main>div{min-width:0}.learning-assignment-manage-main strong,.learning-assignment-manage-main p{display:block}.learning-assignment-manage-main strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.learning-assignment-manage-main p{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px}.learning-assignment-manage-meta{text-align:right;color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;gap:2px;display:grid}.btn.danger{color:var(--brick)}.learning-review-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.learning-review-media{border:1px solid var(--line);background:var(--paper);min-height:92px;color:var(--ink);border-radius:13px;place-items:center;text-decoration:none;display:grid;position:relative;overflow:hidden}.learning-review-media img,.learning-review-media video{object-fit:cover;background:var(--paper-deep);width:100%;height:100%;min-height:92px;max-height:260px;display:block}.learning-review-media.kind-video{background:var(--paper-deep)}.learning-review-media>span{background:var(--pine-tint);width:38px;height:38px;color:var(--pine-deep);border-radius:11px;place-items:center;font-size:16px;display:grid}.learning-review-media>small{max-width:90%;color:var(--ink-soft);font-size:var(--text-xs);text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:7px 9px;overflow:hidden}.learning-review-media-grid.large{margin-bottom:16px}.learning-review-media-grid.large .learning-review-media{min-height:160px}.learning-review-media-grid.large img,.learning-review-media-grid.large video{object-fit:contain;min-height:160px;max-height:420px}.learning-composer-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.learning-composer-preview{border:1px solid var(--line);background:var(--paper-deep);border-radius:14px;min-height:120px;position:relative;overflow:hidden}.learning-composer-preview img,.learning-composer-preview video{object-fit:cover;width:100%;height:100%;min-height:120px;max-height:260px;display:block}.learning-composer-document{background:var(--paper);align-items:center;gap:10px;min-height:120px;padding:14px;display:flex}.learning-composer-document>span{background:var(--pine-tint);width:38px;height:38px;color:var(--pine-deep);border-radius:11px;flex:none;place-items:center;font-size:16px;display:grid}.learning-composer-document>strong{min-width:0;font-size:var(--text-xs);text-overflow:ellipsis;overflow:hidden}.learning-composer-remove{color:#fff;background:#141816bd;border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;display:grid;position:absolute;top:7px;right:7px;box-shadow:0 4px 12px #1418162e}@media (width<=760px){.learning-assignment-manage-card{grid-template-columns:1fr}.learning-assignment-manage-meta{text-align:left;grid-template-columns:auto auto;justify-content:start}.learning-review-media-grid,.learning-composer-previews{grid-template-columns:1fr 1fr}}@media (width<=460px){.learning-review-media-grid,.learning-composer-previews,.learning-assignment-manage-meta{grid-template-columns:1fr}}.learning-lesson-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.learning-lesson-detail{border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 12px 12px;grid-column:1/-1;gap:10px;margin:4px -4px -3px;padding:12px;display:grid}.learning-lesson-detail-summary{color:var(--ink-soft);font-size:var(--text-xs);line-height:1.55}.learning-lesson-detail-actions{justify-content:flex-end;padding-top:2px;display:flex}.learning-block-list{gap:7px;display:grid}.learning-block-row{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.learning-block-row-preview{background:var(--pine-tint);width:46px;height:46px;color:var(--pine-deep);border-radius:10px;place-items:center;font-size:12px;font-weight:800;display:grid;overflow:hidden}.learning-block-row-preview img,.learning-block-row-preview video{object-fit:cover;width:100%;height:100%}.learning-block-row-copy{min-width:0}.learning-block-row-copy strong{font-size:var(--text-xs);display:block}.learning-block-row-copy p{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}@media (width<=760px){.learning-lesson-row{grid-template-columns:1fr}.learning-lesson-actions{padding-left:39px}.learning-block-row{grid-template-columns:42px minmax(0,1fr)}.learning-block-row>.learning-inline-actions{grid-column:1/-1;padding-left:52px}}.learning-modal .student-modal-note{margin-top:0}.learning-modal .student-modal-note span{min-width:0}.learning-modal .student-modal-note span strong{color:var(--ink);font-size:var(--text-sm);margin-bottom:2px;display:block}.learning-path-distribution-field{gap:7px;display:grid}.learning-field-action{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.learning-field-action>.btn{white-space:nowrap;min-height:36px}.learning-library-use{justify-content:center;width:calc(100% - 20px);margin:0 10px 10px}.learning-library-insert-context{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:center;gap:10px;padding:10px 11px;display:flex}.learning-library-insert-context>span{background:var(--pine-tint);width:34px;height:34px;color:var(--pine-deep);border-radius:10px;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.learning-library-insert-context>div{min-width:0}.learning-library-insert-context strong,.learning-library-insert-context small{display:block}.learning-library-insert-context strong{font-size:var(--text-sm);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.learning-library-insert-context small{color:var(--ink-soft);font-size:var(--text-xs);text-transform:capitalize;margin-top:2px}@media (width<=680px){.learning-field-action{grid-template-columns:1fr}.learning-field-action>.btn{width:100%}}.evaluation-workspace-head{align-items:center}.evaluation-center{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.evaluation-submission-actions{flex-direction:column;justify-content:space-between;align-self:stretch;align-items:flex-end;gap:16px;max-width:200px;display:flex}.evaluation-submission-actions .evaluation-status{text-align:center;max-width:100%;line-height:1.4}.learning-self-reflection{border-left:3px solid var(--accent);background:var(--surface);border-radius:10px;margin-top:12px;padding:12px 14px}.learning-self-reflection header,.learning-feedback header{justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-self-reflection strong,.learning-self-reflection span{font-size:var(--text-sm);color:var(--ink)}.learning-self-reflection p,.learning-preserve-text,.learning-feedback p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.learning-self-reflection p{color:var(--ink-soft);margin-top:6px}.learning-feedback{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:12px;margin-top:12px;padding:14px;display:grid}.learning-feedback header>strong{color:var(--ink);font-size:14px}.learning-feedback>div>span{color:var(--primary-dark);margin-bottom:4px;font-size:12px;font-weight:700;display:block}.learning-feedback p{color:var(--ink-soft)}.learning-feedback-next{background:var(--pine-tint);border-radius:10px;padding:12px}.learning-feedback-empty{color:var(--ink-soft);font-size:12.5px;line-height:1.5}.learning-attempt-history{margin-top:12px}.learning-attempt-history summary{color:var(--primary-dark);cursor:pointer;padding:10px 0;font-size:13px}.student-learning-submission-head{flex-wrap:wrap;gap:6px}.student-learning-submission-head time{color:var(--ink-soft);font-size:12px}.student-learning-submission-media>button{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:10px;flex:0 0 100px;grid-template-rows:76px auto;display:grid;position:relative;overflow:hidden}.student-learning-submission-media>button img,.student-learning-submission-media>button video{object-fit:cover;width:100%;height:76px}.student-learning-submission-media>button>span{color:var(--primary-dark);padding:5px;font-size:12px}.student-learning-evaluation-card>.btn{width:100%;margin-top:12px}.student-learning-task-card{scroll-margin-top:90px}.evaluation-media-stage{color:#fff;position:relative}.learning-media-loading{font-size:14px;position:absolute}.evaluation-media-viewer .modal-head>div{min-width:0}.evaluation-media-viewer h2{overflow-wrap:anywhere}@media (width<=680px){.evaluation-submission-actions{flex-flow:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;max-width:none}.evaluation-submission-actions>.evaluation-status,.evaluation-submission-actions>.btn{margin-left:auto}.student-learning-task-head{flex-wrap:wrap}.student-learning-task-head>.status-badge{white-space:normal;max-width:100%}.student-learning-task-head .status-badge__label{white-space:normal}}.evaluation-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.evaluation-metric{border:1px solid var(--line);background:var(--surface);border-radius:17px;gap:4px;padding:15px 16px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #171a2b0b}.evaluation-metric.is-primary{background:linear-gradient(145deg,#fff,#6366e813);border-color:#6366e838}.evaluation-metric span{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.055em;font-weight:750}.evaluation-metric strong{color:var(--ink);font:700 24px/1.1 DM Sans,sans-serif}.evaluation-metric small{color:var(--ink-soft);font-size:var(--text-xs);line-height:1.35}.evaluation-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.evaluation-toolbar-actions{align-items:center;gap:8px;display:flex}.evaluation-search{border:1px solid var(--line);background:var(--surface);border-radius:11px;align-items:center;gap:7px;width:min(260px,32vw);height:38px;padding:0 11px;display:flex}.evaluation-search:focus-within{border-color:#6366e88c;box-shadow:0 0 0 3px #6366e81a}.evaluation-search svg{width:16px;color:var(--ink-soft);flex:none}.evaluation-search input{width:100%;min-width:0;color:var(--ink);font-size:var(--text-xs);background:0 0;border:0;outline:0}.evaluation-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-height:290px;padding:15px;box-shadow:0 10px 30px #171a2b0a}.evaluation-filter-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.evaluation-filter-row button{border:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-xs);border-radius:999px;padding:7px 10px;font-weight:700}.evaluation-filter-row button:hover,.evaluation-filter-row button.active{color:var(--primary-dark);background:#6366e817;border-color:#6366e852}.evaluation-submission-list,.evaluation-activity-list,.evaluation-history-list{gap:8px;display:grid}.evaluation-submission-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.evaluation-avatar{background:linear-gradient(145deg,var(--primary),var(--accent));color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.evaluation-submission-main{min-width:0}.evaluation-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.evaluation-card-head strong,.evaluation-card-head span{display:block}.evaluation-card-head strong{color:var(--ink);font-size:var(--text-sm)}.evaluation-card-head>div>span{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px}.evaluation-submission-main>p{color:var(--ink-soft);font-size:var(--text-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:7px;line-height:1.45;display:-webkit-box;overflow:hidden}.evaluation-card-assets{gap:7px;margin-top:9px;display:flex;overflow-x:auto}.evaluation-card-assets>a,.evaluation-card-assets>button{border:1px solid var(--line);background:var(--surface);min-width:150px;max-width:220px;color:inherit;text-align:left;border-radius:10px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:5px 8px 5px 5px;text-decoration:none;display:grid}.evaluation-card-assets>a:hover,.evaluation-card-assets>button:hover{border-color:#6366e866;box-shadow:0 5px 16px #171a2b12}.evaluation-card-assets img,.evaluation-card-asset-icon{background:var(--paper-deep);object-fit:cover;width:34px;height:34px;color:var(--primary-dark);border-radius:7px;place-items:center;display:grid}.evaluation-card-asset-icon svg{width:17px;height:17px}.evaluation-card-assets>a>span:last-child,.evaluation-card-assets>button>span:last-child{min-width:0}.evaluation-card-assets strong,.evaluation-card-assets small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.evaluation-card-assets small{color:var(--ink-faint);font-size:var(--text-xs);margin-top:1px}.evaluation-card-meta{color:var(--ink-soft);font-size:var(--text-xs);flex-wrap:wrap;gap:5px 12px;margin-top:8px;display:flex}.evaluation-status{background:var(--paper-2);color:var(--ink-soft);border-radius:999px;padding:4px 7px;font-weight:750;font-size:var(--text-xs)!important}.evaluation-status.is-submitted,.evaluation-status.is-under_review{color:#92670b;background:#fff4d8}.evaluation-status.is-approved{color:#247052;background:#e8f8f1}.evaluation-status.is-revision_requested{color:#a33b49;background:#fff0f1}.evaluation-score{min-width:40px;height:40px;color:var(--primary-dark);background:#6366e81a;border-radius:12px;place-items:center;padding:0 8px;font-size:13px;font-weight:800;display:grid}.evaluation-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.evaluation-section-head h3{color:var(--ink);margin-top:2px;font-size:14px}.evaluation-section-head>span{color:var(--accent);font-size:var(--text-xs);font-weight:750}.evaluation-engagement-groups{gap:12px;display:grid}.evaluation-engagement-group{border:1px solid var(--line);background:var(--paper);border-radius:16px;overflow:hidden}.evaluation-engagement-group>header{border-bottom:1px solid var(--line);background:linear-gradient(145deg,var(--surface),#6366e809);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.evaluation-engagement-group>header strong,.evaluation-engagement-group>header span{display:block}.evaluation-engagement-group>header>div:nth-child(2)>span,.evaluation-engagement-group>header time{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px}.evaluation-engagement-summary{text-align:right}.evaluation-engagement-summary strong{color:var(--primary-dark);font-size:14px}.evaluation-engagement-summary span{color:var(--ink-soft);font-size:var(--text-xs)}.evaluation-activity-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) minmax(120px,220px) auto;align-items:center;gap:11px;padding:10px 13px;display:grid}.evaluation-activity-row:last-child{border-bottom:0}.evaluation-activity-icon{width:32px;height:32px;color:var(--accent);background:#28a0a61a;border-radius:10px;place-items:center;display:grid}.evaluation-activity-icon.is-activity{color:var(--primary);background:#6366e81a}.evaluation-activity-icon svg{width:16px}.evaluation-activity-list strong,.evaluation-activity-list span{display:block}.evaluation-activity-list .evaluation-activity-icon{align-self:center;display:grid}.evaluation-activity-row>div:nth-child(2)>span,.evaluation-activity-list time{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px}.evaluation-progress{align-items:center;gap:7px;display:flex}.evaluation-progress>span{background:var(--paper-2);border-radius:99px;flex:1;height:6px;overflow:hidden}.evaluation-progress i{border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent));height:100%;display:block}.evaluation-progress strong{width:30px;color:var(--ink-soft);font-size:var(--text-xs);text-align:right}.evaluation-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.evaluation-student-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:13px}.evaluation-student-stats{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;display:grid}.evaluation-student-stats>span{background:var(--surface);text-align:center;border-radius:10px;padding:9px 7px}.evaluation-student-stats strong,.evaluation-student-stats em{display:block}.evaluation-student-stats strong{color:var(--ink);font-size:14px}.evaluation-student-stats strong small{font-size:var(--text-xs)}.evaluation-student-stats em{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px;font-style:normal}.evaluation-history-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.evaluation-history-list article:last-child{border-bottom:0}.evaluation-history-list strong,.evaluation-history-list span{display:block}.evaluation-history-list .evaluation-score{text-align:center;place-self:center;place-items:center;display:grid}.evaluation-history-list div>span,.evaluation-history-list time{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px}.evaluation-history-list p{color:var(--ink-soft);font-size:var(--text-xs);margin-top:5px}.evaluation-modal{max-width:760px}.evaluation-modal .modal-head{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:17px}.evaluation-modal-body{gap:18px;display:grid}.evaluation-form-section{border:1px solid var(--line);background:var(--paper);border-radius:16px;gap:14px;padding:17px 18px;display:grid}.evaluation-form-section>header{align-items:center;gap:10px;display:flex}.evaluation-form-section>header>div{flex:1;min-width:0}.evaluation-form-section>header strong,.evaluation-form-section>header small{display:block}.evaluation-form-section>header small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:3px;line-height:1.45}.evaluation-form-step{background:linear-gradient(145deg,var(--primary),var(--accent));color:#fff;width:27px;height:27px;font-size:var(--text-xs);border-radius:9px;flex:0 0 27px;place-items:center;font-weight:850;display:grid}.evaluation-submission-section{background:linear-gradient(145deg,var(--surface),var(--paper))}.evaluation-form-stack{gap:16px}.evaluation-modal .form-grid-2,.student-learning-self-evaluation .form-grid-2{align-items:start;gap:var(--form-field-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.evaluation-modal .learning-submission-preview{background:var(--surface);padding:13px 14px}.evaluation-modal .learning-review-media-grid{gap:10px}.evaluation-modal .learning-review-media{background:var(--surface);min-height:130px}.evaluation-modal .learning-review-media img,.evaluation-modal .learning-review-media video,.evaluation-modal video.learning-review-media{object-fit:contain;width:100%;min-height:130px;max-height:320px}.evaluation-modal video.learning-review-media{background:var(--ink);display:block}.evaluation-modal .learning-review-media>span{width:auto;max-width:90%;height:auto;color:var(--ink);font-size:var(--text-xs);gap:8px;padding:12px 14px;display:flex}.evaluation-modal .learning-review-media>span svg{width:19px;color:var(--primary-dark);flex:none}.evaluation-modal .modal-actions{margin-top:18px}.evaluation-completed-feedback>p{background:var(--surface);color:var(--ink-soft);font-size:var(--text-xs);border-radius:12px;padding:12px 13px;line-height:1.55}.evaluation-muted-copy{font-style:italic}.evaluation-modal button.learning-review-media{cursor:pointer;padding:0}.evaluation-modal .learning-review-media>small{color:#fff;font-size:var(--text-xs);text-align:left;background:#171a2bc2;border-radius:8px;padding:6px 8px;position:absolute;bottom:8px;left:8px;right:8px}.evaluation-media-backdrop{z-index:1002;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0d1bd1}.evaluation-media-overlay{z-index:1003;padding:24px}.evaluation-media-viewer{width:min(1080px,95vw);max-width:none;padding:18px}.evaluation-media-viewer .modal-head{margin-bottom:14px}.evaluation-media-stage{background:#0e1120;border-radius:16px;place-items:center;min-height:280px;max-height:calc(100vh - 220px);display:grid;overflow:hidden}.evaluation-media-stage img,.evaluation-media-stage video{object-fit:contain;max-width:100%;max-height:calc(100vh - 220px);display:block}.evaluation-media-viewer footer{color:var(--ink-soft);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:12px;padding-top:13px;display:flex}.learning-submission-format-note{background:#6366e80f;border:1px solid #6366e82e;border-radius:13px;gap:3px;padding:13px 14px;display:grid}.learning-submission-format-note strong{font-size:var(--text-xs)}.learning-submission-format-note span{color:var(--ink-soft);font-size:var(--text-xs)}.evaluation-search input{font-size:13px}.evaluation-filter-row button{font-size:var(--text-sm)}.student-learning-filters{margin-inline:16px}.evaluation-card-head strong{font-size:var(--text-md)}.evaluation-card-head>div>span{font-size:var(--text-sm)}.evaluation-submission-main>p{font-size:13px}.evaluation-card-assets strong{font-size:var(--text-sm)}.evaluation-card-meta{font-size:var(--text-xs)}.evaluation-engagement-group>header>div:nth-child(2)>strong{font-size:var(--text-md)}.evaluation-engagement-group>header>div:nth-child(2)>span,.evaluation-engagement-group>header time,.evaluation-engagement-summary span{font-size:var(--text-xs)}.evaluation-activity-row>div:nth-child(2)>strong{font-size:13px}.evaluation-activity-row>div:nth-child(2)>span,.evaluation-activity-list time{font-size:var(--text-xs)}.evaluation-history-list strong{font-size:13px}.evaluation-history-list div>span,.evaluation-history-list time{font-size:var(--text-xs)}.evaluation-history-list p{font-size:var(--text-sm)}.evaluation-form-section>header strong{font-size:var(--text-md)}.evaluation-form-section>header small{font-size:var(--text-sm)}@media (width<=980px){.evaluation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-toolbar{flex-direction:column;align-items:stretch}.evaluation-toolbar-actions{justify-content:space-between}.evaluation-search{width:100%;max-width:360px}}@media (width<=680px){.evaluation-workspace-head{align-items:flex-start}.evaluation-metrics{grid-template-columns:1fr 1fr}.evaluation-metric{padding:12px}.evaluation-metric strong{font-size:20px}.evaluation-toolbar-actions{flex-direction:column;align-items:stretch}.evaluation-search{max-width:none}.evaluation-toolbar-actions>.btn{width:100%}.evaluation-panel{padding:10px}.evaluation-submission-card{grid-template-columns:auto minmax(0,1fr)}.evaluation-submission-card>.btn,.evaluation-submission-card>.evaluation-score{grid-column:1/-1;width:100%}.evaluation-card-head{flex-direction:column;align-items:flex-start}.evaluation-card-assets>a,.evaluation-card-assets>button{min-width:138px}.evaluation-engagement-group>header{grid-template-columns:auto minmax(0,1fr)}.evaluation-engagement-summary,.evaluation-engagement-group>header time{text-align:left;grid-column:2}.evaluation-activity-row{grid-template-columns:auto minmax(0,1fr)}.evaluation-progress,.evaluation-activity-list time{grid-column:2}.evaluation-student-grid{grid-template-columns:1fr}.evaluation-student-stats{grid-template-columns:repeat(2,1fr)}.evaluation-history-list article{grid-template-columns:minmax(0,1fr) auto}.evaluation-history-list time{grid-column:1/-1}.evaluation-modal .form-grid-2,.student-learning-self-evaluation .form-grid-2{grid-template-columns:1fr}.evaluation-form-section{padding:14px}.evaluation-modal-body{gap:13px}.evaluation-modal .learning-review-media-grid{grid-template-columns:1fr}.evaluation-media-overlay{padding:8px}.evaluation-media-viewer{max-height:calc(100dvh - 16px);padding:12px}.evaluation-media-stage,.evaluation-media-stage img,.evaluation-media-stage video{max-height:calc(100dvh - 300px)}.evaluation-media-stage{min-height:220px}.evaluation-media-viewer footer{flex-direction:column;align-items:stretch}.evaluation-media-viewer footer .btn{width:100%}}.learning-library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.learning-library-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;transition:transform .16s,border-color .16s,box-shadow .16s;position:relative;overflow:hidden}.learning-library-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card);transform:translateY(-1px)}.learning-library-link{color:inherit;text-decoration:none;display:block}.learning-library-preview{aspect-ratio:4/3;background:var(--paper-deep);color:var(--pine-deep);place-items:center;font-size:24px;font-weight:800;display:grid;overflow:hidden}.learning-library-preview img,.learning-library-preview video{object-fit:cover;width:100%;height:100%;display:block}.learning-library-preview.kind-document,.learning-library-preview.kind-file,.learning-library-preview.kind-audio{background:linear-gradient(145deg,var(--paper-deep),var(--pine-tint))}.learning-library-meta{gap:3px;padding:10px 11px 11px;display:grid}.learning-library-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--ink);overflow:hidden}.learning-library-meta span{font-size:var(--text-xs);color:var(--ink-faint);text-transform:capitalize}.learning-library-remove{z-index:2;width:28px;height:28px;color:var(--ink-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #ffffffb8;border-radius:50%;place-items:center;font-size:16px;line-height:1;display:grid;position:absolute;top:7px;right:7px;box-shadow:0 4px 12px #1118271f}.learning-library-remove:hover{color:var(--brick);background:var(--surface);border-color:#b9483838}@media (width<=1040px){.learning-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.learning-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=440px){.learning-library-grid{grid-template-columns:1fr}}@media (width<=680px){.learning-modal,.learning-lesson-composer,.learning-modal--compact{width:100%;max-width:none}.learning-structure-actions,.learning-context-choice{grid-template-columns:1fr}.learning-block-types--composer{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-composer-existing-list small,.learning-composer-drafts small{max-width:240px}.learning-modal .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.learning-modal .modal-actions .btn{width:100%}.learning-modal .modal-actions .btn:last-child:nth-child(3){grid-column:1/-1}}.rail-logo-link{box-shadow:none;background:0 0;padding:6px}.rail-logo{object-fit:contain;width:100%;height:100%;display:block}.auth-brand-logo-wrap{box-shadow:none;background:0 0;padding:7px}.auth-brand-logo{object-fit:contain;width:100%;height:100%;display:block}.rail-brand{flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:26px;padding:2px 10px 0}.rail-logo-link{width:136px;height:auto;box-shadow:none;background:0 0;padding:0;display:block}.rail-logo{object-fit:contain;object-position:left center;width:100%;height:auto;max-height:38px;display:block}.rail-slogan{font-size:var(--text-xs);color:#ffffff7a;letter-spacing:.035em;white-space:nowrap;font-weight:500;line-height:1.2}@media (width<=980px){.rail-brand{align-items:center;margin-bottom:28px;padding:0}.rail-logo-link{width:44px}.rail-logo{object-position:center;max-height:34px}.rail-slogan{display:none}}.auth-brand{z-index:1;flex-direction:column;align-items:flex-start;gap:8px;width:max-content;max-width:100%;display:inline-flex;position:relative}.auth-brand .auth-brand-logo{object-fit:contain;object-position:left center;width:min(210px,100%);height:auto;max-height:54px;display:block}.auth-brand-slogan{font-family:Inter,sans-serif;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:#ffffff94;font-weight:600;line-height:1.2;display:block}@media (width<=880px){.auth-brand .auth-brand-logo{width:min(190px,70vw);max-height:48px}.auth-brand-slogan{font-size:var(--text-xs)}}
