:root{--bg: #f3f4f6;--bg-secondary: #e7eaee;--surface: #ffffff;--surface-muted: #f7f8f7;--surface-subtle: #f8faf9;--border: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .16);--text: #142132;--text-muted: #607082;--accent: #1f5f46;--accent-hover: #2a7a5c;--accent-soft: #e6f0eb;--danger: #b42318;--danger-soft: #fdecec;--warning: #bf7c14;--warning-soft: #fef3cd;--radius-card: 18px;--radius-metric: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 64px;--page-max: 1240px;--shell-sidebar-width: 276px;--header-height: 72px;--shadow-none: 0 0 0 0 transparent;--shadow-soft: 0 12px 30px rgba(15, 23, 42, .06);--shadow-raised: 0 24px 60px rgba(15, 23, 42, .14);--page-x-mobile: 24px;--page-x-tablet: 40px;--page-x-desktop: 64px}.public-shell{--bg: #091c36;--bg-secondary: #0d2240;--surface: rgba(15, 35, 60, .65);--surface-muted: rgba(12, 28, 52, .8);--surface-subtle: rgba(18, 40, 68, .5);--border: rgba(100, 160, 220, .12);--border-strong: rgba(100, 160, 220, .22);--text: #edf3f9;--text-muted: #9db0c2;--accent: #3ecf8e;--accent-hover: #4de09f;--accent-soft: rgba(62, 207, 142, .15);--danger: #ff7e72;--danger-soft: rgba(180, 35, 24, .16);--shadow-soft: 0 16px 36px rgba(0, 0, 0, .28);--shadow-raised: 0 26px 70px rgba(0, 0, 0, .4)}body[data-dashboard-theme=light] .public-shell{--bg: #f3f4f6;--bg-secondary: #e7eaee;--surface: #ffffff;--surface-muted: #f7f8f7;--surface-subtle: #f8faf9;--border: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .16);--text: #142132;--text-muted: #607082;--accent: #1f5f46;--accent-hover: #2a7a5c;--accent-soft: #e6f0eb;--danger: #b42318;--danger-soft: #fdecec;--shadow-soft: 0 12px 30px rgba(15, 23, 42, .06);--shadow-raised: 0 24px 60px rgba(15, 23, 42, .14)}body[data-dashboard-theme=light] .public-header{background:#f3f4f6d9}body[data-dashboard-theme=light] .auth-shell{background:radial-gradient(circle at 20% 20%,rgba(31,95,70,.08),transparent 50%),radial-gradient(circle at 80% 80%,rgba(59,130,246,.06),transparent 50%),linear-gradient(180deg,#f3f4f6,#e7eaee)}body[data-dashboard-theme=light] .auth-card{background:#fff;border-color:#0f172a1a}body[data-dashboard-theme=light] .auth-card-header{color:#142132}body[data-dashboard-theme=light] .auth-card-header p,body[data-dashboard-theme=light] .auth-card .field-label{color:#607082}body[data-dashboard-theme=light] .auth-card input,body[data-dashboard-theme=light] .auth-card select,body[data-dashboard-theme=light] .auth-card textarea{background:#f3f4f6;border-color:#0f172a1f;color:#142132}body[data-dashboard-theme=light] .auth-divider{color:#607082}body[data-dashboard-theme=light] .auth-divider:before,body[data-dashboard-theme=light] .auth-divider:after{background:#0f172a1f}body[data-dashboard-theme=light] .auth-footer-note{color:#607082}body[data-dashboard-theme-scope=internal][data-dashboard-theme=light]{--bg: #f3f4f6;--bg-secondary: #e7eaee;--surface: #ffffff;--surface-muted: #f7f8f7;--surface-subtle: #f8faf9;--border: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .16);--text: #142132;--text-muted: #607082;--accent: #1f5f46;--accent-hover: #2a7a5c;--accent-soft: #e6f0eb;--danger: #b42318;--danger-soft: #fdecec;--shadow-soft: 0 12px 30px rgba(15, 23, 42, .06);--shadow-raised: 0 24px 60px rgba(15, 23, 42, .14)}body[data-dashboard-theme-scope=internal][data-dashboard-theme=dark]{--bg: #16181d;--bg-secondary: #1c1f25;--surface: #21242b;--surface-muted: #1a1d22;--surface-subtle: #24272e;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #e9ecef;--text-muted: #a0a6ad;--accent: #3ecf8e;--accent-hover: #4de09f;--accent-soft: rgba(62, 207, 142, .14);--danger: #ff7e72;--danger-soft: rgba(180, 35, 24, .16);--shadow-soft: 0 16px 36px rgba(0, 0, 0, .35);--shadow-raised: 0 26px 70px rgba(0, 0, 0, .48)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:IBM Plex Sans,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;box-sizing:border-box;border-radius:6px;border:1px solid var(--border, rgba(15, 23, 42, .2));background:var(--surface, #ffffff);cursor:pointer;padding:0;margin:0;position:relative;vertical-align:middle;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}input[type=checkbox]:hover:not(:disabled){border-color:var(--accent, #3ecf8e)}input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #3ecf8e40}input[type=checkbox]:checked,input[type=checkbox][data-state=checked]{background:#1f5f46;border-color:#1f5f46}input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;left:6px;width:4px;height:9px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:indeterminate:after{content:"";position:absolute;top:50%;left:3px;right:3px;height:2px;background:#fff;transform:translateY(-50%);border-radius:1px}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.page-title{margin:0;font-size:clamp(1.75rem,1.3rem + 1vw,2.125rem);font-weight:600;line-height:1.15}.section-label{margin-bottom:var(--space-2);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.body-copy,.data-table,.field-label,.modal-description,.breadcrumb-line,.sidebar-link,.shell-nav-group-title,.toolbar-note,.status-badge,.page-meta,.section-meta,.app-shell-context,.app-shell-title,.mobile-tabbar-link,.button,input,textarea,select{font-size:14px;font-weight:400;line-height:1.5}.metric-value{font-size:clamp(1.75rem,1.45rem + .8vw,2.25rem);font-weight:600;line-height:1.2}.metric-detail,.empty-state-description{font-size:14px;line-height:1.45}.empty-state-title,.status-list-title{font-size:15px;font-weight:600;line-height:1.4;color:var(--text);margin-bottom:2px}.metric-label,.field-label,.breadcrumb-line,.table-empty,.toast-title{color:var(--text-muted);font-size:12px;font-weight:500}.card-title,.modal-title{margin:0;font-size:16px;font-weight:600;line-height:1.35}.app-shell-title{font-size:15px;font-weight:600;line-height:1.3}.page-meta,.section-meta,.app-shell-context{color:var(--text-muted)}.status-badge,.shell-nav-group-title,.toolbar-note{font-size:12px;color:var(--text-muted)}.toast-title{text-transform:uppercase;letter-spacing:.08em}.empty-state-title{color:var(--text);font-weight:600}.empty-state-description{color:var(--text-muted)}.app-shell{min-height:100vh;background:var(--bg);display:grid;grid-template-columns:var(--shell-sidebar-current-width, var(--shell-sidebar-width)) minmax(0,1fr);--shell-sidebar-current-width: var(--shell-sidebar-width)}.app-shell.is-sidebar-collapsed{--shell-sidebar-current-width: 92px}.staff-shell{grid-template-columns:1fr}.staff-shell .app-shell-main{min-width:0}.app-shell.is-sidebar-collapsed:hover{--shell-sidebar-current-width: var(--shell-sidebar-width)}.public-main,.public-page,.page-shell{padding-left:var(--page-x-mobile);padding-right:var(--page-x-mobile)}.public-action-row,.page-actions,.app-header-right,.modal-footer{display:flex;gap:var(--space-3);align-items:center}.public-main,.public-page,.page-shell{padding-top:var(--space-8);padding-bottom:var(--space-8)}.app-error-shell{min-height:100vh;display:flex;align-items:center}.page-shell{width:min(var(--page-max),100%);margin:0 auto}.app-shell-main>.page-shell{width:100%;max-width:none;margin:0}.public-page{display:flex;flex-direction:column;gap:var(--space-8);max-width:var(--page-max);margin-left:auto;margin-right:auto}.compact-stack{gap:var(--space-2)}.legal-copy{display:flex;flex-direction:column;gap:var(--space-4);max-width:72ch}.content-grid{display:grid;gap:var(--space-6)}.content-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.page-stack{display:flex;flex-direction:column;gap:var(--space-7)}.auth-inline-note{color:var(--text-muted);text-align:center}.auth-inline-note a{color:var(--text);text-decoration:underline;text-underline-offset:3px}.page-stack-compact,.editor-grid,.auth-form{display:flex;flex-direction:column;gap:var(--space-6)}.page-header,.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}.page-header-copy,.app-header-left,.dashboard-section-heading,.raised-card-header>:first-child,.modal-header>:first-child,.app-toolbar-leading,.app-toolbar-trailing,.status-list-row>div,.footer-brand-col,.footer-brand,.footer-links-grid div,.public-brand,.public-actions,.mobile-tabbar-link,.auth-card-header,.auth-card .form-field{min-width:0}.app-sidebar{position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--border);padding:var(--space-6) var(--space-5);overflow:hidden;transition:background .18s ease}body[data-dashboard-theme=dark] .app-sidebar{background:var(--surface-muted)}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-7)}.app-sidebar.is-collapsed .sidebar-brand{justify-content:center}.sidebar-logo{width:48px;height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.sidebar-logo img{width:100%;height:100%;object-fit:contain;display:block}.sidebar-name{font-size:14px;font-weight:600;line-height:1.4;flex:1;transition:opacity .16s ease,width .16s ease,margin .16s ease}.app-sidebar.is-collapsed .sidebar-name,.app-sidebar.is-collapsed .shell-nav-group-title,.app-sidebar.is-collapsed .sidebar-link-label{opacity:0;width:0;margin:0;overflow:hidden;pointer-events:none}.app-shell.is-sidebar-collapsed:hover .sidebar-name,.app-shell.is-sidebar-collapsed:hover .shell-nav-group-title,.app-shell.is-sidebar-collapsed:hover .sidebar-link-label{opacity:1;width:auto;margin:initial;overflow:visible;pointer-events:auto}.app-sidebar.is-collapsed .sidebar-link{justify-content:center}.app-shell.is-sidebar-collapsed:hover .sidebar-link{justify-content:flex-start}.sidebar-link-label{white-space:nowrap;transition:opacity .16s ease,width .16s ease}.sidebar-collapse-button{margin-left:auto;width:40px;height:40px;border-radius:14px;background:var(--surface-subtle);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.sidebar-collapse-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-raised)}.sidebar-collapse-button:active{transform:translateY(0)}.sidebar-nav-groups{display:flex;flex-direction:column;gap:var(--space-6)}.shell-nav-group{display:flex;flex-direction:column;gap:var(--space-2)}.shell-nav-group-title{padding:0 12px;text-transform:uppercase;letter-spacing:.08em}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:11px 12px;border-radius:12px;color:var(--text-muted);transition:background .15s ease,color .15s ease}.sidebar-link.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.empty-state-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.empty-state-warning{border-color:#bf7c143d;background:linear-gradient(180deg,#bf7c1414,#fffffff5)}body[data-dashboard-theme=dark] .empty-state-warning{background:linear-gradient(180deg,#bf7c1424,#16202af5)}@media (max-width: 980px){.content-grid-3,.content-grid-2{grid-template-columns:1fr}}@media (max-width: 640px){.public-main,.public-page,.page-shell{padding-left:18px;padding-right:18px}.page-header,.app-header{flex-direction:column;align-items:stretch}.page-actions{width:100%;flex-wrap:wrap}.page-actions .button{width:100%;justify-content:center}}.app-shell-main{min-width:0;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:20;min-height:var(--header-height);padding:var(--space-5) var(--page-x-mobile);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.app-header-left,.page-header-copy{display:flex;flex-direction:column;gap:var(--space-2)}.app-header-row{display:flex;align-items:center;gap:var(--space-3)}.app-header-brand{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--space-1)}.app-header-menu{display:none}.app-header-student{background:color-mix(in srgb,var(--surface) 92%,transparent)}.icon-button,.avatar-button{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.icon-button:hover,.avatar-button:hover,.panel-action:hover,.button:hover{transform:translateY(-1px)}.icon-button:hover,.avatar-button:hover{background:color-mix(in srgb,var(--accent-soft) 78%,var(--surface));border-color:color-mix(in srgb,var(--accent) 32%,var(--border));box-shadow:0 12px 28px #081a2e1f}.icon-button.active,.avatar-button.active{background:var(--surface-subtle);border-color:var(--border-strong)}.icon-button:disabled,.button:disabled,.scroll-control-button:disabled{opacity:.5;pointer-events:none}.theme-toggle-button{position:relative;width:58px;justify-content:space-between;padding:0 9px;overflow:hidden}.theme-toggle-thumb{position:absolute;left:8px;width:20px;height:20px;border-radius:999px;background:var(--text)}.theme-toggle-button svg{position:relative;z-index:1}.theme-toggle-button.is-dark{background:var(--surface-subtle)}.guide-button{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 24%,transparent)}.guide-button:hover{background:var(--accent);color:#fff}.app-header-right{position:relative;display:flex;align-items:center;gap:var(--space-2)}.app-header-panel{position:absolute;top:calc(100% + 12px);right:0;width:min(420px,calc(100vw - 32px));padding:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,rgba(255,255,255,.05)) 0%,var(--surface) 100%);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:24px;box-shadow:0 30px 70px #030c1b57,0 0 0 1px #ffffff08;z-index:30;color:var(--text);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}body[data-dashboard-theme=dark] .app-header-panel,body[data-dashboard-theme=dark] .app-header-panel .status-list-title,body[data-dashboard-theme=dark] .app-header-panel .section-meta{color:var(--text)}.app-header-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.app-header-panel-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.app-header-panel-actions{display:flex;flex-direction:column;gap:var(--space-2)}.panel-action{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-subtle) 76%,transparent);color:var(--text);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.panel-action:hover{background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));border-color:color-mix(in srgb,var(--accent) 28%,var(--border));box-shadow:0 16px 24px #0715241f}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff5a6b,#ff234d);color:#fff;font-size:10px;font-weight:800;line-height:1;border:2px solid var(--surface-strong, var(--surface));box-shadow:0 10px 24px #ff385b4d}.notification-preview-card{position:absolute;top:calc(100% + 12px);right:52px;width:min(340px,calc(100vw - 48px));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:22px;padding:14px;display:flex;align-items:flex-start;gap:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,rgba(62,207,142,.12)) 0%,var(--surface) 100%);color:var(--text);box-shadow:0 26px 54px #030c1b47,0 0 0 1px #ffffff08;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:pointer;text-align:left}.notification-preview-icon,.notification-row-icon{width:38px;height:38px;flex-shrink:0;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-soft) 0%,rgba(62,207,142,.08) 100%);color:var(--accent);box-shadow:inset 0 0 0 1px #3ecf8e2e}.notification-preview-copy,.notification-row-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.notification-preview-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.notification-preview-title{font-size:14px;font-weight:800;line-height:1.35;color:var(--text)}.notification-preview-body,.notification-description{font-size:13px;line-height:1.5;color:var(--text-muted)}.notification-list{gap:10px}.notification-row{display:flex;align-items:stretch;gap:10px;padding:12px;border-radius:18px;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);background:color-mix(in srgb,var(--surface-subtle) 80%,transparent);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.notification-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 26%,var(--border));background:color-mix(in srgb,var(--accent-soft) 52%,var(--surface));box-shadow:0 18px 32px #0613221f}.notification-row.is-unread{border-color:color-mix(in srgb,var(--accent) 22%,var(--border));box-shadow:inset 3px 0 0 var(--accent)}.notification-row-main,.notification-clear-button{cursor:pointer}.notification-row-main{width:100%;border:none;background:transparent;padding:0;display:flex;align-items:flex-start;gap:12px;text-align:left;color:inherit}.notification-clear-button{width:32px;height:32px;flex-shrink:0;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text-muted);transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease}.notification-clear-button:hover{transform:scale(1.04);background:#ff52631f;color:#ff6f7f;border-color:#ff526338}.notification-empty-state{min-height:116px;display:flex;align-items:center;justify-content:center;padding:18px;border-radius:18px;border:1px dashed color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--accent-soft) 42%,transparent);color:var(--text-muted);text-align:center}.button-compact{min-height:32px;padding:6px 10px}.raised-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px 22px}.raised-card-muted{background:var(--surface-muted)}.raised-card.compact{padding:16px 18px}.raised-card-header,.blog-meta-row,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-metric);padding:18px;display:flex;flex-direction:column;gap:var(--space-2);min-width:0;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 44%,transparent));opacity:.72}.metric-card-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.metric-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);padding:6px 10px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.metric-card-soft{background:var(--surface-muted)}.metric-card-danger{background:var(--danger-soft);border-color:#b4231829}.metric-detail{color:var(--text-muted)}.metrics-grid{display:grid;gap:var(--space-4)}.metrics-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{display:grid;gap:var(--space-5)}.dashboard-grid-2-1{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr)}.dashboard-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px 22px;min-width:0}.dashboard-section-muted{background:var(--surface-muted)}.workspace-title-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);font-size:13px;font-weight:700;min-width:0}.team-hub-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:var(--space-5);align-items:stretch}.team-hub-hero-copy{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.team-hub-hero-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.team-hub-hero-copy p,.team-hub-hero-copy-small{color:var(--text-muted);line-height:1.65;min-width:0}.team-hub-chip-row,.team-hub-switcher,.team-assign-options,.team-tool-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);min-width:0}.team-hub-metrics{margin-top:var(--space-4)}.team-hub-chip,.team-hub-pill{display:inline-flex;align-items:center;gap:8px;border-radius:var(--radius-pill);padding:10px 14px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);min-width:0}.team-hub-pill{cursor:pointer;font-size:13px;font-weight:700;transition:transform .16s ease,border-color .16s ease,background .16s ease}.team-hub-pill:hover,.team-hub-pill.active{transform:translateY(-1px);border-color:var(--accent);background:var(--accent-soft)}.team-hub-switcher-compact{gap:var(--space-2);padding:6px;border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--border);width:fit-content;max-width:100%;overflow-x:auto}.team-hub-switcher-compact .team-hub-pill{padding:8px 14px;font-size:12.5px;background:transparent;border-color:transparent}.team-hub-switcher-compact .team-hub-pill.active{background:var(--surface);border-color:var(--accent);color:var(--text)}.team-hub-hero-side{display:grid;gap:var(--space-4)}.team-hub-hero-card{padding:18px 20px;border-radius:18px;border:1px solid var(--border);background:var(--surface-subtle);display:flex;flex-direction:column;gap:8px;min-width:0}.team-hub-hero-card.accent{background:linear-gradient(135deg,var(--surface) 0%,var(--surface-subtle) 100%)}.team-hub-hero-label,.team-access-title,.team-feature-title{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.team-controls-grid,.team-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.team-control-card,.team-feature-card{padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:var(--surface-subtle);min-width:0}.team-control-card{display:flex;align-items:flex-start;gap:var(--space-3)}.team-control-icon{width:38px;height:38px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);flex-shrink:0}.team-assign-bar{margin-top:var(--space-4);padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:var(--space-3);justify-content:space-between;flex-wrap:wrap}.team-feature-copy{margin:6px 0 14px;color:var(--text-muted);line-height:1.55}.team-task-row{align-items:flex-start}.team-task-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.team-alert-row,.team-access-row{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);line-height:1.55;min-width:0}.team-alert-row{color:var(--text-muted)}.team-access-list{display:grid;gap:var(--space-3)}.team-contact-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;min-width:0}.team-contact-links a{color:var(--accent);font-size:13px;font-weight:600;min-width:0;word-break:break-word}.workspace-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.workspace-mini-card{padding:18px;border-radius:18px;border:1px solid var(--border);background:var(--surface-subtle);display:flex;flex-direction:column;gap:8px}.workspace-mini-label{color:var(--text-muted);font-size:13px;font-weight:600}.workspace-mini-value{font-size:clamp(1.4rem,2vw,2rem);font-weight:800;letter-spacing:-.03em}.workspace-mini-note{color:var(--text-muted);font-size:13px;line-height:1.5}.workspace-row-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.workspace-plan-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);line-height:1.55;margin-top:var(--space-4);min-width:0}.inbox-thread{display:flex;flex-direction:column;gap:var(--space-4)}.inbox-thread-pill-row{display:flex;flex-wrap:wrap;gap:8px}.inbox-thread-pill{display:inline-flex;align-items:center;gap:6px}.inbox-thread-grid{display:grid;gap:var(--space-4)}.inbox-thread-panel{padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:var(--surface-subtle)}.inbox-thread-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.inbox-thread-fact{padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);min-width:0}.inbox-thread-fact span{display:block;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.inbox-thread-fact strong{display:block;font-size:14px;line-height:1.5}.inbox-thread-timeline{display:grid;gap:12px;margin-top:14px}.inbox-thread-timeline-item{display:flex;gap:12px;align-items:flex-start}.inbox-thread-timeline-dot{width:10px;height:10px;border-radius:999px;background:var(--accent);margin-top:5px;box-shadow:0 0 0 4px #3b82f61f;flex-shrink:0}.inbox-thread-timeline-copy{flex:1;min-width:0}@media (max-width: 720px){.inbox-thread-facts{grid-template-columns:1fr}}.workspace-insight-card{margin-top:var(--space-4);display:flex;gap:var(--space-3);padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-subtle) 100%);border:1px solid var(--border);box-shadow:var(--shadow-soft);min-width:0}.workspace-insight-title{font-weight:700;margin-bottom:4px}.workspace-insight-copy{color:var(--text-muted);font-size:13px;line-height:1.55}.workspace-coordination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.workspace-coordination-item{display:flex;align-items:flex-start;gap:10px;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:var(--surface-subtle);color:var(--text);line-height:1.55;min-width:0}.admin-list-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;min-width:0}.admin-list-button strong,.admin-list-button span{min-width:0}.admin-list-button span{color:var(--text-muted);font-size:13px}.admin-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.admin-action-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);text-decoration:none;min-width:0;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.admin-action-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.admin-action-card>div{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.admin-action-card strong{font-size:14px;font-weight:700}.admin-action-card span{color:var(--text-muted);font-size:13px;line-height:1.5}.admin-action-card svg:last-child{flex-shrink:0;color:var(--text-muted);margin-left:auto}.admin-institutions-list{display:flex;flex-direction:column;gap:var(--space-4)}.admin-institution-row,.admin-institution-card{display:grid;grid-template-columns:minmax(0,1.2fr) auto auto;gap:var(--space-4);align-items:center;padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:var(--surface);min-width:0}.admin-institution-card{align-items:flex-start}.admin-inst-card-main,.admin-inst-info{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-inst-info strong{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.005em}.admin-inst-info span{color:var(--text-muted);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}.admin-inst-meta,.admin-inst-stats{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.admin-inst-stats span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.admin-inst-card-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.admin-filter-bar{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(150px,.75fr));gap:var(--space-3);align-items:center}.admin-search-wrap{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.admin-search-wrap input{border:none;background:transparent;min-width:0;width:100%;min-height:44px;padding:0}.admin-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.admin-tab{display:inline-flex;align-items:center;gap:var(--space-2);min-height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600}.admin-tab.active{color:var(--text);background:var(--accent-soft);border-color:var(--accent)}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.admin-detail-grid>div{display:flex;flex-direction:column;gap:4px;min-width:0}.admin-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.admin-control-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);text-align:left;min-width:0}.admin-control-card.danger{border-color:#b4231838;background:var(--danger-soft)}.admin-control-card>div{display:flex;flex-direction:column;gap:4px;min-width:0}.admin-control-card strong{font-size:14px;font-weight:700}.admin-control-card span{color:var(--text-muted);font-size:13px;line-height:1.5}.row-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.row-actions .button,.row-actions .btn-primary,.row-actions .btn-secondary{min-height:36px}.dashboard-section-tinted{background:#fbfcf8}body[data-dashboard-theme-scope=internal][data-dashboard-theme=dark] .dashboard-section-tinted{background:linear-gradient(180deg,#102844f5,#0c2239fa);border-color:#64a0dc29}body[data-dashboard-theme-scope=internal][data-dashboard-theme=dark] .dashboard-section-tinted .card-title,body[data-dashboard-theme-scope=internal][data-dashboard-theme=dark] .dashboard-section-tinted .section-meta{color:var(--text)}.dashboard-section.compact{padding:16px 18px}.dashboard-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5)}.dashboard-section-heading{display:flex;flex-direction:column;gap:var(--space-1)}.app-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-1)}.app-toolbar-leading,.app-toolbar-trailing{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.toolbar-note{display:inline-flex;align-items:center;min-height:32px;gap:var(--space-3);min-width:0}.toolbar-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:6px 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.toolbar-chip span{font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.toolbar-chip input,.toolbar-chip select{width:auto;min-width:120px;min-height:28px;padding:0;border:none;background:transparent;color:var(--text)}.status-list{display:flex;flex-direction:column;gap:var(--space-3)}.status-list.compact{gap:var(--space-2)}.status-list-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.status-list-row:last-child{border-bottom:none;padding-bottom:0}.status-list-row.compact{align-items:flex-start}.dashboard-preview-chart{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:20px;background:var(--surface-subtle);border:1px solid var(--border)}.dashboard-preview-chart-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;font-size:13px;font-weight:600;color:var(--text);min-width:0}.dashboard-preview-chart-header span:last-child{color:var(--text-muted);font-weight:500}.dashboard-preview-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);align-items:end;min-height:180px}.dashboard-preview-bar-group{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.dashboard-preview-bar-stack{display:flex;align-items:end;gap:6px;width:100%;min-height:140px}.dashboard-preview-bar{flex:1;border-radius:14px 14px 4px 4px;min-height:18px;transition:transform .16s ease}.dashboard-preview-bar:hover{transform:translateY(-2px)}.dashboard-preview-bar.attendance{background:linear-gradient(180deg,#3ecf8ef2,#1f5f46eb)}.dashboard-preview-bar.collection{background:linear-gradient(180deg,#3b82f6f2,#1e40afeb)}.dashboard-preview-bar-label{font-size:11px;color:var(--text-muted)}.dashboard-preview-legend{display:flex;gap:var(--space-4);flex-wrap:wrap;color:var(--text-muted);font-size:12px}.dashboard-preview-legend span{display:inline-flex;align-items:center;gap:8px}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.legend-dot.attendance{background:#3ecf8e}.legend-dot.collection{background:#3b82f6}.dashboard-revenue-list{display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-revenue-row{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;padding:14px 16px;border-radius:16px;background:var(--surface-subtle);border:1px solid var(--border)}.preview-plan-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:12px;font-weight:600}.dashboard-preview-notice{display:inline-flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid rgba(62,207,142,.18);background:#3ecf8e14;color:var(--text);font-size:13px;line-height:1.5}.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border)}.status-success{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 18%,var(--border))}.status-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 18%,var(--border))}.status-warning{background:color-mix(in srgb,#f59e0b 12%,var(--surface));color:#b45309;border-color:color-mix(in srgb,#f59e0b 18%,var(--border))}.status-muted{color:var(--text-muted)}.empty-state-block{min-height:180px;display:grid;place-items:center;gap:var(--space-4);text-align:center;border:1px dashed var(--border-strong);border-radius:14px;background:var(--surface-subtle);padding:var(--space-6)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.data-table{width:100%;border-collapse:collapse;table-layout:auto}.data-table th,.data-table td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:break-word;word-break:normal}.data-table th:first-child,.data-table td:first-child{padding-left:0}.data-table th:first-child:has(input[type=checkbox]),.data-table td:first-child:has(input[type=checkbox]){width:56px;padding-right:10px}.data-table th:first-child input[type=checkbox],.data-table td:first-child input[type=checkbox]{width:16px;height:16px;min-width:16px;min-height:16px;margin:2px 0 0;accent-color:var(--accent)}.data-table td[data-label=Select]{padding-right:10px}.table-cell-content{display:block;min-width:0}.data-table th{color:var(--text-muted);font-size:12px;font-weight:500}.button{border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border-radius:12px;padding:10px 14px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;font-weight:700;box-shadow:0 14px 28px #156f452e,inset 0 1px #ffffff2e;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.button-secondary{background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));box-shadow:none}.button:hover{filter:saturate(1.04) brightness(1.02);box-shadow:0 18px 34px #156f453d,inset 0 1px #ffffff38}.button-secondary:hover{background:color-mix(in srgb,var(--accent-soft) 62%,var(--surface));color:var(--text);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));box-shadow:0 14px 28px #0a1a2e1f}.button-danger{background:linear-gradient(135deg,#ff6f7f,#ff4d63);color:#fff;border-color:#ff6f7f5c;box-shadow:0 18px 34px #ff4d6338,inset 0 1px #ffffff2e}.button-danger:hover{box-shadow:0 22px 38px #ff4d634d,inset 0 1px #fff3}.danger-zone-actions{justify-content:flex-end}.trend-card,.progress-ring-card,.bars-card{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.trend-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.trend-card-title{font-size:14px;font-weight:700;color:var(--text)}.trend-card-summary{border-radius:var(--radius-pill);padding:7px 12px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:800}.trend-chart-shell{position:relative;min-height:220px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at top,color-mix(in srgb,var(--accent) 14%,transparent),transparent 56%),linear-gradient(180deg,color-mix(in srgb,var(--surface-subtle) 94%,transparent),var(--surface));border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border))}.trend-chart-grid{position:absolute;top:18px;right:16px;bottom:18px;left:16px;display:grid;grid-template-rows:repeat(4,1fr);gap:var(--space-4)}.trend-chart-grid span{border-bottom:1px dashed color-mix(in srgb,var(--accent) 15%,var(--border))}.trend-chart{position:relative;z-index:1;width:100%;height:220px;padding:18px 16px 20px}.trend-chart-labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;color:var(--text-muted);font-size:12px}.progress-ring{--progress-value: 0;width:min(220px,100%);aspect-ratio:1;margin:0 auto;padding:18px;border-radius:50%;background:radial-gradient(circle,var(--surface) 52%,transparent 53%),conic-gradient(var(--accent) calc(var(--progress-value) * 1%),color-mix(in srgb,var(--accent-soft) 72%,var(--surface)) 0);display:grid;place-items:center;box-shadow:inset 0 0 0 10px color-mix(in srgb,var(--surface) 80%,transparent)}.progress-ring-inner{width:100%;height:100%;border-radius:50%;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border));display:grid;place-items:center;text-align:center;gap:4px}.progress-ring-inner strong{font-size:clamp(28px,4vw,38px)}.progress-ring-inner span,.progress-ring-footer{color:var(--text-muted);font-size:13px;line-height:1.5}.bars-card-rows,.metric-highlights{display:grid;gap:var(--space-4)}.bars-card-row{display:grid;gap:var(--space-2)}.bars-card-labels{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.bars-card-track{height:12px;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface-muted));overflow:hidden}.bars-card-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent-hover) 80%,white))}.metric-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-highlight-card{min-width:0;padding:16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 32%,var(--surface)),var(--surface))}.metric-highlight-label,.metric-highlight-detail{color:var(--text-muted)}.metric-highlight-value{margin-top:8px;font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--text)}.button-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;animation:spin .7s linear infinite;filter:drop-shadow(0 0 10px rgba(62,207,142,.28))}.button-small{min-height:34px;padding:8px 12px;border-radius:11px;font-size:13px}.table-checkbox{display:inline-flex;align-items:center;gap:8px}.table-row-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-form label,.editor-grid label,.field-full{display:flex;flex-direction:column;gap:var(--space-2)}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:12px 14px;color:var(--text);line-height:1.45;min-height:48px}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3)}.inline-form input{min-height:52px}.settings-toggle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.settings-toggle-field{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-radius:18px;border:1px solid var(--border);background:var(--surface-subtle)}.settings-toggle-copy{display:flex;flex-direction:column;gap:4px}.field-help{font-size:12px;line-height:1.5;color:var(--text-muted)}.settings-toggle-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin-top:2px}.settings-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.settings-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text)}.settings-chip span{color:var(--text-muted);font-size:14px}.toast-stack{position:fixed;right:24px;top:96px;display:flex;flex-direction:column;gap:8px;z-index:70}.toast-item{min-width:280px;display:flex;align-items:flex-start;gap:var(--space-3);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,rgba(62,207,142,.08)) 0%,var(--surface) 100%);color:var(--text);padding:12px 14px;border-radius:20px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));box-shadow:0 24px 48px #040e1c38,0 0 0 1px #ffffff05;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.toast-copy{flex:1;display:flex;flex-direction:column;gap:4px;color:var(--text);border:none;background:transparent;padding:0;text-align:left}.toast-copy.is-actionable{cursor:pointer}.toast-title{font-weight:800;color:var(--text)}.toast-message{color:var(--text-muted);line-height:1.45}.toast-action-link{font-size:12px;font-weight:700;color:var(--accent)}.toast-icon{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-subtle)}.toast-success .toast-icon{color:var(--accent);background:var(--accent-soft)}.toast-error .toast-icon,.toast-warning .toast-icon{color:var(--danger);background:var(--danger-soft)}.toast-close{width:24px;height:24px;border-radius:999px;cursor:pointer;color:var(--text-muted)}.toast-action-button{border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:color-mix(in srgb,var(--accent-soft) 68%,var(--surface));color:var(--accent);min-height:34px;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer}.danger-zone-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:18px 20px;border-radius:22px;border:1px solid rgba(255,111,127,.22);background:linear-gradient(145deg,#ff6f7f14,#ff4d630d)}.danger-zone-card .card-title{color:#ffb5be}.table-row-actions{display:flex;flex-wrap:wrap;gap:8px}.button.button-small{min-height:36px;padding:8px 14px;border-radius:12px;gap:8px}.app-spinner-screen,.app-spinner-inline,.app-spinner-container{display:flex;align-items:center;gap:var(--space-3)}.app-spinner-screen{min-height:100vh;justify-content:center;align-items:center;flex-direction:column;position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9990}.app-spinner-container{justify-content:center;padding:var(--space-9)}.app-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--text);border-radius:999px;animation:spin .8s linear infinite;flex-shrink:0}.app-spinner-label{font-size:14px;color:var(--text-muted)}.app-spinner-fallback{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:min(420px,calc(100vw - 32px));padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:var(--shadow-soft);text-align:center}.app-spinner-fallback p{margin:0;color:var(--text-muted);line-height:1.6}.inline-loader{display:flex;align-items:center;gap:4px;padding:var(--space-2) 0}.inline-loader-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:loader-pulse 1.4s ease-in-out infinite}.inline-loader-dot:nth-child(2){animation-delay:.2s}.inline-loader-dot:nth-child(3){animation-delay:.4s}.inline-loader-text{font-size:13px;color:var(--text-muted);margin-left:var(--space-2)}@keyframes loader-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.modal-overlay-layer{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a33;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .15s ease-out forwards}.modal-content{position:fixed;top:50%;left:50%;width:min(640px,calc(100vw - 32px));transform:translate(-50%,calc(-50% + 8px));background:var(--surface);border:1px solid var(--border);border-radius:20px;opacity:0;animation:modal-in .15s ease-out forwards;overflow:hidden;max-height:calc(100vh - 32px);box-shadow:0 24px 60px #0f172a33}.drawer-content{top:auto;left:auto;right:0;bottom:0;width:min(640px,calc(100vw - 16px));max-height:min(82vh,760px);border-bottom-left-radius:0;border-bottom-right-radius:0;transform:translateY(8px);animation:drawer-in .15s ease-out forwards}.modal-chrome{padding:16px 20px;max-height:inherit;overflow:auto}.confirm-dialog-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;padding:var(--space-4) 0}.confirm-dialog-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px}.confirm-dialog-text{color:var(--text-muted);font-size:14px;line-height:1.6;max-width:36ch}.confirm-dialog-actions{display:flex;gap:var(--space-3);width:100%}.confirm-dialog-actions button{flex:1}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px 22px;background:var(--danger);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover{opacity:.9;transform:translateY(-1px)}.modal-body{margin-top:var(--space-6)}.rich-text{display:flex;flex-direction:column;gap:var(--space-6)}.scroll-controls{position:fixed;right:calc(24px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:90;display:flex;flex-direction:column;gap:10px;pointer-events:auto}.scroll-control-button{box-shadow:var(--shadow-soft);background:var(--surface);border-color:var(--border)}.scroll-control-button:hover{background:var(--accent-soft)}.mobile-nav-sheet,.mobile-tabbar{display:none}.dashboard-tour-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none}.dashboard-tour-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 16% 18%,rgba(62,207,142,.09),transparent 18%),#070c149e;pointer-events:auto}.dashboard-tour-highlight{position:absolute;border-radius:18px;box-shadow:0 0 0 3px #ffffffeb,0 0 0 9999px #070c142e;pointer-events:none;z-index:1}.dashboard-tour-card{position:absolute;width:min(360px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-raised);padding:var(--space-5);color:var(--text);z-index:2;pointer-events:auto}@media (max-width: 880px){.danger-zone-card{flex-direction:column;align-items:flex-start}.notification-preview-card{right:0;top:calc(100% + 10px)}.app-header-panel{width:min(100vw - 24px,420px)}}.dashboard-tour-card-top{display:flex;align-items:flex-start;gap:var(--space-3)}.dashboard-tour-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.dashboard-tour-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.dashboard-tour-title{font-size:16px;font-weight:800;margin-top:4px}.dashboard-tour-close{margin-left:auto}.dashboard-tour-description{margin-top:var(--space-4);font-size:14px;line-height:1.6;color:var(--text-muted)}.dashboard-tour-progress{margin-top:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:12px;color:var(--text-muted)}.dashboard-tour-dots{display:flex;gap:6px}.dashboard-tour-dot{width:7px;height:7px;border-radius:999px;background:var(--border-strong)}.dashboard-tour-dot.active{background:var(--accent);transform:scale(1.2)}.dashboard-tour-actions{margin-top:var(--space-4);display:flex;gap:var(--space-3);justify-content:flex-end;flex-wrap:wrap}.dashboard-tour-arrow{position:absolute;width:14px;height:14px;background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}.dashboard-tour-arrow-right{left:-7px;top:32px}.dashboard-tour-arrow-left{right:-7px;top:32px}.dashboard-tour-arrow-top{bottom:-7px;left:32px}.dashboard-tour-arrow-bottom{top:-7px;left:32px}.dashboard-tour-arrow-center{display:none}.dashboard-tour-spotlight-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;border:none;cursor:default;pointer-events:none}@media (min-width: 768px){.public-main,.public-page,.page-shell,.app-header,.public-header,.public-footer{padding-left:var(--page-x-tablet);padding-right:var(--page-x-tablet)}}@media (min-width: 1200px){.public-main,.public-page,.page-shell,.app-header,.public-header,.public-footer{padding-left:var(--page-x-desktop);padding-right:var(--page-x-desktop)}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}.app-header-menu,.mobile-tabbar{display:inline-flex}.mobile-nav-sheet.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a47;border:none;z-index:0}.mobile-nav-panel{position:fixed;inset:0 auto 0 0;width:min(320px,calc(100vw - 56px));background:var(--surface);padding:var(--space-6) var(--space-5);border-right:1px solid var(--border);z-index:40;overflow:auto}body[data-dashboard-theme=dark] .mobile-nav-panel{background:var(--surface-muted)}.mobile-tabbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;padding:8px;background:#fffffff5;border:1px solid var(--border);border-radius:18px;justify-content:space-between;align-items:stretch;box-shadow:var(--shadow-soft)}.mobile-tabbar-link{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;color:var(--text-muted);border-radius:12px}.mobile-tabbar-link.active{background:var(--surface-subtle);color:var(--text)}.page-shell{padding-bottom:calc(var(--space-9) + 72px)}.scroll-controls{right:calc(16px + env(safe-area-inset-right));bottom:calc(132px + env(safe-area-inset-bottom));z-index:90}.content-grid-2,.content-grid-3,.dashboard-grid-2-1,.dashboard-grid-3,.metrics-grid-2,.metrics-grid-3,.metrics-grid-4,.metric-highlights,.workspace-card-grid,.workspace-coordination,.team-hub-hero,.team-controls-grid,.team-feature-grid{grid-template-columns:1fr}.team-tool-grid{display:grid;grid-template-columns:1fr}.workspace-row-meta{width:100%;justify-content:flex-start}.workspace-title-pill,.workspace-plan-note,.workspace-insight-card,.workspace-coordination-item{width:100%}.workspace-insight-card,.workspace-coordination-item{flex-direction:column}.admin-quick-actions,.admin-controls-grid,.admin-detail-grid,.settings-toggle-list,.admin-filter-bar{grid-template-columns:1fr}.admin-institution-row,.admin-institution-card{grid-template-columns:1fr;align-items:stretch}.admin-inst-card-actions{justify-content:stretch}.admin-inst-card-actions .btn-primary,.admin-inst-card-actions .btn-secondary{width:100%}.admin-list-button{flex-direction:column;align-items:flex-start}.team-assign-bar{align-items:flex-start}.dashboard-revenue-row{flex-direction:column;align-items:flex-start}.dashboard-preview-notice,.dashboard-preview-mobile-hidden{display:none!important}.dashboard-preview .dashboard-grid-2-1,.dashboard-preview .dashboard-grid-3{grid-template-columns:1fr}.dashboard-preview-chart{padding:var(--space-4)}.dashboard-preview-chart-header{flex-direction:column;align-items:flex-start}.dashboard-preview-bars{min-height:132px;gap:var(--space-2)}.dashboard-preview-legend{gap:var(--space-3)}.preview-header-row{flex-direction:column;gap:var(--space-2)}.preview-kpi-grid{grid-template-columns:1fr}.preview-tabs{flex-wrap:wrap}.settings-chip-grid{width:100%}.settings-chip{width:100%;justify-content:space-between}.confirm-dialog-actions{flex-direction:column}.confirm-dialog-actions button{width:100%}.page-header,.raised-card-header,.dashboard-section-header,.modal-header,.app-toolbar,.status-list-row,.dashboard-preview-chart-header{flex-direction:column;align-items:stretch}.page-actions,.dashboard-section-actions,.app-toolbar-leading,.app-toolbar-trailing,.modal-inline-actions,.toolbar-note{width:100%}.page-actions .button,.page-actions .btn-primary,.page-actions .btn-secondary,.dashboard-section-actions .button,.dashboard-section-actions .btn-primary,.dashboard-section-actions .btn-secondary,.modal-inline-actions .button,.modal-inline-actions .btn-primary,.modal-inline-actions .btn-secondary{width:100%;justify-content:center}.status-list-row>div{width:100%}.data-table tr{align-items:start}.data-table td{display:grid;grid-template-columns:minmax(84px,38%) minmax(0,1fr);gap:var(--space-3);align-items:start}.data-table th:first-child,.data-table td:first-child{width:auto;padding-left:0;padding-right:0}.data-table td:before{width:auto;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;flex:none}.data-table td .table-cell-content{min-width:0;text-align:right;overflow-wrap:break-word}.data-table td[data-label=Actions] .table-cell-content{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.data-table td[data-label=Select] .table-cell-content{justify-self:end}html,body,#root,.app-shell,.public-shell,.app-shell-main{overflow-x:hidden}}@media (max-width: 640px){.page-header,.app-header{flex-direction:column;align-items:stretch}.page-actions,.app-header-right{width:100%;flex-wrap:wrap}.trend-card-head,.bars-card-labels{flex-direction:column;align-items:flex-start}.trend-chart-labels{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-tabs{width:100%}.admin-tab{width:100%;justify-content:center}.admin-control-card{width:100%}.team-hub-switcher{display:grid;grid-template-columns:1fr}.team-hub-pill{justify-content:flex-start;width:100%}.team-assign-options{width:100%;display:grid;grid-template-columns:1fr}.team-assign-options .status-badge{width:100%;justify-content:center}.team-task-meta{justify-content:flex-start}.row-actions,.table-row-actions{width:100%}.row-actions .button,.row-actions .btn-primary,.row-actions .btn-secondary,.table-row-actions .button,.table-row-actions .btn-primary,.table-row-actions .btn-secondary{flex:1 1 100%;min-width:0}.app-header-panel{left:0;right:auto}.inline-form,.settings-toggle-list{grid-template-columns:1fr}.danger-zone-actions .button{width:100%}.data-table thead{display:none}.data-table tr{display:grid;gap:var(--space-2);padding:var(--space-4) 0}.data-table td{display:flex;justify-content:space-between;gap:var(--space-3);padding:0;border-bottom:none;align-items:center}.data-table td:before{content:attr(data-label);color:var(--text-muted);font-size:12px;font-weight:500;flex:0 0 88px;min-width:88px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table td[data-label=Select]{gap:var(--space-2)}.data-table td[data-label=Select]:before{flex-basis:auto;min-width:72px}.data-table td[data-label=Select] input[type=checkbox]{width:16px;height:16px;min-width:16px;min-height:16px;margin-top:2px}.data-table td[data-label=Actions]{flex-wrap:wrap;align-items:flex-start}.data-table td[data-label=Actions]:before{padding-top:10px}.table-row-actions{justify-content:flex-end;width:100%}.table-row-actions .button.button-small{flex:1 1 auto;min-width:112px}.toolbar-note{flex-wrap:wrap}.toolbar-chip{width:100%;justify-content:space-between}.toolbar-chip input,.toolbar-chip select{min-width:0;width:100%}.toast-stack{top:16px;left:16px;right:16px;bottom:auto}.toast-item{min-width:0}}.scholara-loader{--sl-accent: var(--accent, #1f5f46);--sl-accent-2: #3b82f6;--sl-ink: var(--text);--sl-ink-soft: var(--text-muted);--sl-cloud: rgba(15, 23, 42, .08);--sl-backdrop: color-mix(in srgb, var(--bg) 88%, transparent);position:relative;width:100%;margin-inline:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem;text-align:center;isolation:isolate}body[data-dashboard-theme=dark] .scholara-loader{--sl-cloud: rgba(148, 163, 184, .18);--sl-backdrop: color-mix(in srgb, #0b1120 82%, transparent)}.scholara-loader-compact{min-height:clamp(220px,32vh,320px)}.scholara-loader-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9990;min-height:100vh;background:var(--sl-backdrop);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.scholara-loader-logo{width:clamp(120px,18vw,200px);height:auto;max-height:clamp(120px,18vw,200px);object-fit:contain;margin-bottom:1.5rem;filter:drop-shadow(0 6px 14px color-mix(in srgb,var(--sl-accent) 25%,transparent))}.scholara-loader-compact .scholara-loader-logo{width:clamp(88px,12vw,140px);max-height:clamp(88px,12vw,140px);margin-bottom:4px}.scholara-loader-compact .rocket-loader{height:clamp(44px,7vh,64px);width:min(60vw,140px);overflow:visible}.scholara-loader-compact .rocket-clouds,.scholara-loader-compact .rocket-longfazers{display:none}.scholara-loader-compact{padding:.75rem .5rem}.scholara-loader-compact .scholara-loader-label{margin-top:4px;font-size:.85rem}.scholara-loader-label{margin:1.25rem 0 0;font-size:clamp(.9rem,1.3vw,1rem);font-weight:600;color:var(--sl-ink);letter-spacing:.02em;animation:sl-label-pulse 1.6s ease-in-out infinite}.scholara-loader-fallback{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:min(420px,calc(100vw - 32px));padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-soft);text-align:center}.scholara-loader-fallback p{margin:0;color:var(--text-muted);line-height:1.6}.rocket-loader{position:relative;width:min(86vw,320px);height:clamp(80px,14vh,120px);display:flex;align-items:center;justify-content:center;overflow:hidden}.rocket-loader-sm{width:min(86vw,240px);height:clamp(60px,10vh,90px)}.rocket-clouds{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;overflow:hidden;animation:sl-cloud-drift 60s linear infinite;pointer-events:none}.rocket-cloud{width:140px;height:22px;border-radius:999px;background:var(--sl-cloud);filter:blur(5px);flex-shrink:0}.rocket-cloud.cloud1{margin-left:6%;opacity:.75}.rocket-cloud.cloud2{margin-left:18%;width:180px;height:16px;opacity:.55}.rocket-cloud.cloud3{margin-left:10%;width:110px;height:24px;opacity:.8}.rocket-cloud.cloud4{margin-left:22%;width:150px;height:20px;opacity:.65}.rocket-cloud.cloud5{margin-left:14%;width:130px;height:22px;opacity:.75}.rocket-speeder{position:relative;width:clamp(60px,9vw,90px);height:clamp(20px,3vw,28px);animation:sl-speeder .4s linear infinite;z-index:2}.rocket-base{position:relative;width:100%;height:100%;display:flex;align-items:center}.rocket-base>span{position:absolute;left:10%;top:50%;width:60%;height:60%;transform:translateY(-50%);background:linear-gradient(90deg,var(--sl-accent),var(--sl-accent-2));border-radius:40% 20% 20% 40%/50%;box-shadow:0 6px 14px color-mix(in srgb,var(--sl-accent) 40%,transparent)}.rocket-face{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30%;height:100%;background:linear-gradient(90deg,var(--sl-accent-2),color-mix(in srgb,var(--sl-accent-2) 80%,white));clip-path:polygon(0 10%,100% 50%,0 90%)}.rocket-fazers{position:absolute;top:50%;right:100%;width:120px;height:1px;transform:translateY(-50%);pointer-events:none}.rocket-fazers>span{position:absolute;height:2px;width:30px;background:linear-gradient(to left,var(--sl-accent),transparent);border-radius:999px}.rocket-fazers>span:nth-child(1){top:1px;left:0;animation:sl-fazer1 .2s linear infinite}.rocket-fazers>span:nth-child(2){top:-3px;left:-15px;width:45px;animation:sl-fazer2 .4s linear infinite;animation-delay:-1s}.rocket-fazers>span:nth-child(3){top:5px;left:-7px;width:20px;animation:sl-fazer3 .4s linear infinite}.rocket-fazers>span:nth-child(4){top:9px;left:-20px;width:36px;background:linear-gradient(to left,var(--sl-accent-2),transparent);animation:sl-fazer4 1s linear infinite;animation-delay:-1s}.rocket-longfazers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.rocket-longfazers>span{position:absolute;height:2px;width:20%;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--sl-accent) 60%,transparent));border-radius:999px}.rocket-longfazers>span:nth-child(1){top:20%;animation:sl-lf 6s linear infinite}.rocket-longfazers>span:nth-child(2){top:40%;width:12%;animation:sl-lf2 8s linear infinite;animation-delay:-2s;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--sl-accent-2) 60%,transparent))}.rocket-longfazers>span:nth-child(3){top:60%;width:8%;animation:sl-lf3 4s linear infinite}.rocket-longfazers>span:nth-child(4){top:80%;width:15%;animation:sl-lf4 5s linear infinite;animation-delay:-1s;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--sl-accent-2) 60%,transparent))}.button-dot-spinner{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px;vertical-align:middle}.button-dot-spinner>span{width:4px;height:4px;border-radius:999px;background:currentColor;animation:sl-dot-bounce 1.2s infinite ease-in-out}.button-dot-spinner>span:nth-child(2){animation-delay:.15s}.button-dot-spinner>span:nth-child(3){animation-delay:.3s}.app-spinner-inline{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.app-spinner-inline-dot{width:4px;height:4px;border-radius:999px;background:var(--text-muted);animation:sl-dot-bounce 1.2s infinite ease-in-out}.app-spinner-inline-dot:nth-child(2){animation-delay:.15s}.app-spinner-inline-dot:nth-child(3){animation-delay:.3s}.app-spinner-inline-label{color:var(--text-muted);font-size:13px;margin-left:4px}@keyframes sl-fazer1{0%{left:0}to{left:-80px;opacity:0}}@keyframes sl-fazer2{0%{left:0}to{left:-100px;opacity:0}}@keyframes sl-fazer3{0%{left:0}to{left:-50px;opacity:0}}@keyframes sl-fazer4{0%{left:0}to{left:-150px;opacity:0}}@keyframes sl-speeder{0%{transform:translate(2px,1px) rotate(0)}10%{transform:translate(-1px,-3px) rotate(-1deg)}20%{transform:translate(-2px) rotate(1deg)}30%{transform:translate(1px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,3px) rotate(-1deg)}60%{transform:translate(-1px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-2px,-1px) rotate(1deg)}90%{transform:translate(2px,1px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}@keyframes sl-lf{0%{left:200%}to{left:-200%;opacity:0}}@keyframes sl-lf2{0%{left:200%}to{left:-200%;opacity:0}}@keyframes sl-lf3{0%{left:200%}to{left:-100%;opacity:0}}@keyframes sl-lf4{0%{left:200%}to{left:-100%;opacity:0}}@keyframes sl-cloud-drift{0%{transform:translate(0)}to{transform:translate(-200vw)}}@keyframes sl-label-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes sl-dot-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.rocket-speeder,.rocket-clouds,.rocket-fazers>span,.rocket-longfazers>span,.scholara-loader-label{animation-duration:6s;animation-iteration-count:infinite}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{to{opacity:1;transform:translate(-50%,-50%)}}@keyframes drawer-in{to{opacity:1;transform:translateY(0)}}@media (min-width: 900px){.drawer-content{top:0;right:0;left:auto;bottom:auto;height:100%;max-height:100vh;width:min(480px,100vw);border-bottom-left-radius:0;border-top-right-radius:0;transform:translateY(8px)}@keyframes modal-in{to{opacity:1;transform:translate(-50%,-50%)}}}.workspace-identity{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);overflow:hidden;background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);flex:0 0 auto}.workspace-identity img{width:100%;height:100%;object-fit:cover;display:block}.workspace-identity-fallback{background:var(--accent-soft);color:var(--accent)}.workspace-identity-upload-hint{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;line-height:1}.identity-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;width:100%;min-width:0}.identity-upload-stack{display:flex;flex-direction:column;gap:8px;flex:1 1 220px;min-width:0}.identity-upload-stack>input{width:100%;min-width:0}.identity-file-button{position:relative;cursor:pointer;align-self:flex-start;max-width:100%}.identity-file-button>input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.profile-setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#08101c8c;display:flex;align-items:flex-start;justify-content:center;padding:clamp(16px,4vw,48px) clamp(12px,4vw,32px);overflow-y:auto;animation:fade-in .16s ease-out both;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.profile-setup-card{width:min(720px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:clamp(18px,3vw,28px);box-shadow:0 24px 60px #08101c2e;display:flex;flex-direction:column;gap:18px;max-height:calc(100vh - 32px);overflow-y:auto}.profile-setup-head{display:flex;flex-wrap:wrap-reverse;gap:16px;align-items:flex-start;justify-content:space-between}.profile-setup-head>div{flex:1 1 260px;min-width:0}.profile-setup-kicker{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:var(--radius-pill)}.profile-setup-title{margin:8px 0 6px;font-size:clamp(1.1rem,2.4vw,1.4rem);font-weight:600;line-height:1.25}.profile-setup-copy{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.5}.profile-progress-shell{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-metric)}.profile-progress-bar{position:relative;height:8px;border-radius:var(--radius-pill);background:var(--border);overflow:hidden}.profile-progress-bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--accent),var(--accent-hover));transition:width .48s cubic-bezier(.22,1,.36,1);box-shadow:0 0 0 1px #ffffff14 inset}.profile-progress-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between;font-size:.85rem;color:var(--text-muted)}.profile-progress-meta strong{color:var(--accent);font-size:.95rem}.profile-setup-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.profile-setup-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}.profile-setup-grid label.field-full{grid-column:1 / -1}.profile-setup-grid input{width:100%;padding:9px 12px;font-size:.92rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit;min-width:0}.profile-setup-grid input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.profile-setup-checklist{display:flex;flex-wrap:wrap;gap:8px}.profile-setup-checkitem{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--border);font-size:.82rem;color:var(--text-muted)}.profile-setup-checkitem.is-done{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft)}.profile-setup-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;border-top:1px solid var(--border);padding-top:14px}.profile-setup-actions .button{flex:1 1 auto;min-width:140px;justify-content:center}@media (max-width: 540px){.profile-setup-overlay{padding:12px}.profile-setup-card{padding:16px;max-height:calc(100vh - 16px)}.identity-upload-row{gap:10px}.profile-setup-actions .button{width:100%}}.tnc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#08101cad;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px);animation:fade-in .16s ease-out both;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tnc-card{width:min(760px,100%);max-height:calc(100vh - 24px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:clamp(18px,3vw,26px);box-shadow:0 28px 80px #08101c59;display:flex;flex-direction:column;gap:16px}.tnc-head{display:flex;gap:14px;align-items:flex-start}.tnc-head-icon{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.tnc-kicker{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.tnc-title{margin:4px 0 2px;font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:600;line-height:1.25}.tnc-meta{margin:0;color:var(--text-muted);font-size:.82rem}.tnc-scroller{flex:1 1 auto;overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted);padding:16px 18px;max-height:56vh;scroll-behavior:smooth}.tnc-scroller .tnc-lead{margin:0 0 14px;color:var(--text);font-size:.95rem;line-height:1.55}.tnc-section{margin-bottom:16px}.tnc-section h3{margin:0 0 6px;font-size:.95rem;font-weight:600;color:var(--text)}.tnc-section p{margin:0 0 8px;color:var(--text-muted);font-size:.88rem;line-height:1.55}.tnc-end-marker{text-align:center;margin-top:18px;padding:10px;font-size:.78rem;color:var(--text-muted);border-top:1px dashed var(--border)}.tnc-jump{align-self:center;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);border:1px dashed var(--accent);font-size:.82rem;font-weight:500;cursor:pointer}.tnc-jump:hover{background:var(--accent);color:#08162a;border-style:solid}.tnc-agree{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:.9rem;line-height:1.45;cursor:pointer}.tnc-agree.is-disabled{opacity:.55;cursor:not-allowed}.tnc-agree input[type=checkbox]{margin-top:2px}.tnc-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:14px}.tnc-actions .button{min-width:200px;justify-content:center;gap:8px}@media (max-width: 540px){.tnc-card{padding:14px;gap:12px}.tnc-scroller{max-height:52vh;padding:12px 14px}.tnc-actions .button{width:100%;min-width:0}}.legal-copy .legal-h2{margin:12px 0 4px;font-size:1.3rem;font-weight:600;color:var(--text)}.legal-copy .legal-h3{margin:14px 0 6px;font-size:1rem;font-weight:600;color:var(--text)}.legal-copy .legal-meta{margin:-4px 0 8px;color:var(--text-muted);font-size:.85rem}.legal-copy .legal-section{display:flex;flex-direction:column;gap:6px}.legal-copy .legal-divider{border:0;border-top:1px solid var(--border);margin:18px 0 6px}.appearance-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.appearance-block{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--surface-muted);border:1px solid var(--border);border-radius:14px}.appearance-block-head{display:inline-flex;align-items:center;gap:8px;color:var(--text)}.appearance-swatches{display:flex;flex-wrap:wrap;gap:10px}.appearance-swatch{width:36px;height:36px;border-radius:10px;border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 0 0 1px var(--border) inset;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.appearance-swatch:hover{transform:translateY(-2px)}.appearance-swatch.is-on{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft)}.appearance-hex{display:flex;flex-direction:column;gap:6px}.appearance-hex-row{display:flex;gap:8px;align-items:center}.appearance-hex-row input[type=color]{width:44px;height:36px;border:1px solid var(--border);border-radius:10px;padding:2px;background:var(--surface);cursor:pointer}.appearance-hex-row input[type=text]{flex:1;padding:9px 12px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88rem;text-transform:uppercase;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit}.appearance-hex-row input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.appearance-fonts{display:grid;gap:8px;grid-template-columns:1fr}.appearance-font{text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color .12s ease,background .12s ease}.appearance-font:hover{border-color:var(--accent)}.appearance-font.is-on{border-color:var(--accent);background:var(--accent-soft)}.appearance-font-name{font-size:.82rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.appearance-font-sample{font-size:1rem;color:var(--text)}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}.step-dots-wrap{position:relative;display:inline-flex;align-items:center;padding:8px 14px}.step-dots{position:relative;z-index:2;display:inline-flex;align-items:center}.step-dot{border-radius:999px;background:var(--border);transition:background .18s ease}.step-dot.is-on{background:#fff}.step-pill{position:absolute;left:6px;top:50%;transform:translateY(-50%);height:14px;border-radius:999px;background:var(--accent);z-index:1;box-shadow:0 4px 12px #3ecf8e59}.step-actions{display:flex;align-items:center;gap:8px;width:min(360px,100%)}.step-back{padding:11px 16px;border-radius:999px;background:var(--surface-muted);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:.88rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;transition:background .14s ease,border-color .14s ease}.step-back:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}.step-back:disabled{opacity:.6;cursor:not-allowed}.step-continue{flex:1;padding:11px 20px;border-radius:999px;border:1px solid transparent;background:var(--accent);color:#08162a;font-weight:600;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:168px;transition:background .14s ease,transform .14s ease}.step-continue:hover:not(:disabled){background:var(--accent-hover, #35b97c)}.step-continue:disabled{opacity:.55;cursor:not-allowed}.step-continue.is-finish{background:var(--accent)}.step-continue-inner{display:inline-flex;align-items:center;justify-content:center;gap:8px}.step-continue-icon{display:inline-flex}body[data-dashboard-theme=dark] .step-continue{color:#08162a}.profile-setup-footer{display:flex;flex-direction:column;gap:14px;align-items:stretch;border-top:1px solid var(--border);padding-top:14px}.profile-setup-dismiss{align-self:flex-end;background:transparent;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .14s ease}.profile-setup-dismiss:hover:not(:disabled){color:var(--text)}.profile-setup-dismiss:disabled{opacity:.5;cursor:not-allowed}.notification-row-avatar{width:34px;height:34px;border-radius:10px;object-fit:cover;background:var(--surface);border:1px solid var(--border)}.notification-row-avatar.is-initials{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:.92rem}.notification-row-icon-wrap{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.notification-sender{font-weight:600;color:var(--text)}.notification-sender-action{color:var(--text-muted);font-weight:500}.notification-unread-dot{position:absolute;right:44px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:999px;background:var(--accent)}.notification-row{position:relative}.notification-seeall{display:block;width:100%;text-align:center;padding:10px;margin-top:6px;background:transparent;border:none;border-top:1px solid var(--border);color:var(--accent);font-size:.82rem;font-weight:600;cursor:pointer}.notification-seeall:hover{background:var(--accent-soft)}.notif-filter-row{display:flex;flex-wrap:wrap;gap:8px}.notif-filter-chip{padding:7px 14px;border-radius:999px;background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);font-size:.84rem;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.notif-filter-chip:hover{color:var(--text)}.notif-filter-chip.is-on{background:var(--accent);color:#08162a;border-color:var(--accent)}.notif-feed{display:flex;flex-direction:column;gap:8px}.notif-row{position:relative;display:flex;align-items:stretch;gap:10px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;transition:background .14s ease,border-color .14s ease}.notif-row:hover{background:var(--surface-muted)}.notif-row.is-unread{border-color:var(--accent)}.notif-row-main{flex:1;display:flex;align-items:flex-start;gap:12px;background:transparent;border:none;padding:0;cursor:pointer;text-align:left;color:inherit;min-width:0}.notif-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);overflow:hidden}.notif-avatar img{width:100%;height:100%;object-fit:cover}.notif-avatar-initials{font-weight:600}.notif-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.notif-row-title{font-size:.92rem;color:var(--text);line-height:1.4}.notif-sender{font-weight:600}.notif-sender-action{color:var(--text-muted);font-weight:500}.notif-row-desc{font-size:.86rem;color:var(--text-muted);line-height:1.45}.notif-row-meta{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.notif-row-priority{padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600}.notif-dot{position:absolute;top:14px;right:52px;width:8px;height:8px;border-radius:999px;background:var(--accent)}.notif-row-clear{align-self:flex-start;background:transparent;border:none;color:var(--text-muted);padding:6px;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease}.notif-row-clear:hover{background:var(--surface-muted);color:var(--text)}.resource-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.resource-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.resource-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised);border-color:var(--accent)}.resource-card-head{display:flex;align-items:flex-start;gap:12px}.resource-card-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.resource-card-icon.is-textbook{background:#6366f126;color:#6366f1}.resource-card-icon.is-note{background:#eab30826;color:#b45309}.resource-card-icon.is-course{background:#14b8a626;color:#0f766e}.resource-card-icon.is-link{background:#0ea5e926;color:#0369a1}.resource-card-headline{flex:1;min-width:0}.resource-card-type{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:2px}.resource-card-title{font-size:1rem;font-weight:600;color:var(--text);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.resource-card-desc{font-size:.86rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.resource-card-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.78rem;color:var(--text-muted)}.resource-card-link-meta{color:var(--accent);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--border);flex-wrap:wrap}.resource-card-shares{font-size:.78rem;color:var(--text-muted)}.resource-card-actions{display:inline-flex;align-items:center;gap:6px}.resource-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;background:#08101c99;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .14s ease-out both}.resource-modal{width:min(640px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:clamp(18px,3vw,26px);box-shadow:0 24px 60px #08101c4d;display:flex;flex-direction:column;gap:16px}.resource-modal-head{display:flex;gap:12px;align-items:flex-start}.resource-modal-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.resource-modal-title{margin:0 0 4px;font-size:1.15rem;font-weight:600;color:var(--text)}.resource-modal-copy{margin:0;color:var(--text-muted);font-size:.88rem}.resource-upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.resource-upload-meta{color:var(--text-muted);font-size:.82rem}.resource-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.share-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:88;background:#08101c99;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.share-dialog{width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:clamp(18px,3vw,24px);box-shadow:0 24px 60px #08101c4d;display:flex;flex-direction:column;gap:16px}.share-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.share-dialog-head-copy{display:flex;align-items:flex-start;gap:12px;min-width:0}.share-dialog-icon{width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.share-dialog-title{margin:0 0 4px;font-size:1.1rem;font-weight:600}.share-dialog-meta{margin:0;color:var(--text-muted);font-size:.85rem}.share-link-row{display:flex;align-items:center;gap:10px;padding:12px;background:var(--surface-muted);border:1px solid var(--border);border-radius:14px}.share-link-icon{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.share-link-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.share-link-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.share-link-copy input{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.82rem;color:var(--text);background:transparent;border:none;padding:0;outline:none;overflow:hidden;text-overflow:ellipsis}.share-invite-form{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.share-invite-head{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.88rem;font-weight:600}.share-invite-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.share-invite-field{display:flex;flex-direction:column;gap:4px;min-width:0}.share-invite-field input,.share-invite-field select{padding:9px 12px;font-size:.9rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit}.share-invite-field input:focus,.share-invite-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.share-invite-actions{display:flex;justify-content:flex-end}.share-list-head{font-size:.82rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.06em}.share-list{display:flex;flex-direction:column;gap:8px}.share-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-muted);border:1px solid var(--border);border-radius:12px}.share-row-avatar{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.share-row-body{flex:1;min-width:0}.share-row-name{font-weight:600;color:var(--text);font-size:.9rem}.share-row-meta{font-size:.78rem;color:var(--text-muted)}.share-row-permission{padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.82rem}.share-row-remove{color:var(--text-muted)}.share-row-remove:hover{color:#ef4444}.share-empty{text-align:center;padding:14px;color:var(--text-muted);font-size:.88rem;background:var(--surface-muted);border:1px dashed var(--border);border-radius:12px}@media (max-width: 540px){.resource-card-footer{flex-direction:column;align-items:stretch}.resource-card-actions{justify-content:space-between;width:100%}.notif-dot{right:42px}}.chat-workspace-page{display:flex;flex-direction:column;gap:var(--space-4)}.chat-workspace{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:var(--space-3);height:clamp(520px,72vh,760px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.chat-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface-muted);min-height:0}.chat-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.chat-search input{flex:1;border:none;background:transparent;font:inherit;color:var(--text);outline:none}.chat-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--border);background:var(--surface);overflow-x:auto}.chat-tab{padding:6px 12px;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.chat-tab.is-active,.chat-tab[aria-selected=true]{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text)}.chat-list{flex:1;overflow-y:auto;display:flex;flex-direction:column}.chat-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%}.chat-list-item:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.chat-list-item.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.chat-list-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-list-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-list-name{font-weight:600;color:var(--text);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-time{font-size:11px;color:var(--text-muted);flex-shrink:0}.chat-list-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-list-preview{flex:1;min-width:0;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-unread{min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.chat-avatar{width:36px;height:36px;border-radius:999px;background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;border:1px solid var(--border)}.chat-avatar-sm{width:28px;height:28px;font-size:11px}.chat-avatar-group{background:color-mix(in srgb,#3b82f6 20%,var(--surface))}.chat-avatar-department{background:color-mix(in srgb,#a855f7 22%,var(--surface))}.chat-empty,.chat-empty-thread{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.chat-empty-thread{display:flex;flex-direction:column;align-items:center;gap:8px}.chat-main{display:flex;flex-direction:column;min-height:0;background:var(--surface)}.chat-main-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface);position:relative}.chat-back-button{display:none;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-pill)}.chat-main-title{flex:1;display:flex;flex-direction:column;min-width:0}.chat-main-title strong{font-size:14px;color:var(--text)}.chat-main-title span{font-size:11.5px;color:var(--text-muted)}.chat-main-actions{position:relative}.chat-menu{position:absolute;right:0;top:100%;margin-top:4px;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);z-index:5;padding:4px;display:flex;flex-direction:column}.chat-menu button{display:flex;align-items:center;gap:8px;border:none;background:transparent;padding:8px 10px;border-radius:var(--radius-pill);color:var(--text);font-size:13px;cursor:pointer;text-align:left}.chat-menu button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.chat-menu-danger{color:#dc2626}.chat-menu-danger:hover{background:color-mix(in srgb,#dc2626 10%,transparent)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:color-mix(in srgb,var(--surface-muted) 60%,var(--surface))}.chat-bubble-row{display:flex;gap:8px;align-items:flex-end;max-width:80%}.chat-bubble-row.is-mine{align-self:flex-end;flex-direction:row-reverse}.chat-bubble{background:var(--surface);border:1px solid var(--border);padding:8px 12px;border-radius:14px 14px 14px 4px;font-size:13.5px;color:var(--text);line-height:1.4;display:flex;flex-direction:column;gap:4px}.chat-bubble p{margin:0}.chat-bubble-row.is-mine .chat-bubble{background:color-mix(in srgb,var(--accent) 18%,var(--surface));border-color:color-mix(in srgb,var(--accent) 40%,transparent);border-bottom-left-radius:14px;border-bottom-right-radius:4px}.chat-bubble-author{font-size:11px;color:var(--accent);font-weight:700}.chat-bubble-time{font-size:10.5px;color:var(--text-muted);align-self:flex-end}.chat-bubble-attachment{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-pill);background:var(--surface-muted);border:1px dashed var(--border);font-size:12px;color:var(--text-muted)}.chat-pending-attachment{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--surface-muted);font-size:12.5px;color:var(--text)}.chat-pending-attachment span{flex:1}.chat-composer{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}.chat-composer-input{flex:1;padding:10px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-muted);color:var(--text);font:inherit;outline:none}.chat-composer-input:focus{border-color:var(--accent);background:var(--surface)}.chat-attach-button,.chat-send-button{width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.chat-send-button{background:var(--accent);border-color:var(--accent);color:#fff}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}.chat-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:10px;padding:32px;text-align:center}.chat-placeholder h3{margin:0;color:var(--text);font-size:16px}.chat-placeholder p{margin:0;max-width:320px;font-size:13px}.chat-sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px}.chat-sheet-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a8c;border:none;cursor:pointer}.chat-sheet{position:relative;width:min(480px,100%);max-height:85vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);overflow:hidden}.chat-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.chat-sheet-header h3{margin:0;font-size:15px;color:var(--text)}.chat-sheet-tabs{display:flex;gap:6px;padding:10px 16px 0}.chat-sheet-input{margin:10px 16px 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text);font:inherit;outline:none}.chat-sheet-search{margin:10px 16px 0;border-radius:var(--radius-pill)}.chat-section-label{margin:12px 16px 4px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.chat-sheet-list{max-height:260px;overflow-y:auto;padding:4px 8px 8px;display:flex;flex-direction:column}.chat-person-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-pill);background:transparent;border:1px solid transparent;cursor:pointer;text-align:left}.chat-person-row:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.chat-person-row.is-selected{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.chat-person-body{flex:1;display:flex;flex-direction:column;min-width:0}.chat-person-body strong{font-size:13px;color:var(--text)}.chat-person-body span{font-size:11.5px;color:var(--text-muted)}.chat-person-check{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--border);background:var(--surface);flex-shrink:0}.chat-person-check.is-selected{background:var(--accent);border-color:var(--accent);background-image:linear-gradient(45deg,transparent 40%,#fff 40%,#fff 55%,transparent 55%)}.chat-person-remove{color:#dc2626}.chat-sheet-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-muted);font-size:12.5px;color:var(--text-muted)}@media (max-width: 840px){.chat-workspace{grid-template-columns:1fr;height:clamp(520px,78vh,760px)}.chat-workspace.chat-mobile-detail .chat-sidebar{display:none}.chat-workspace:not(.chat-mobile-detail) .chat-main{display:none}.chat-back-button{display:inline-flex}}.control-scope-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);justify-content:space-between}.control-scope-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--border)}.control-scope-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer}.control-scope-pill.is-active{background:var(--surface);border-color:var(--accent);color:var(--text)}.control-scope-search{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.control-scope-search input{border:none;outline:none;background:transparent;font:inherit;color:var(--text);min-width:200px}.control-tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-2)}.control-tenant-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);cursor:pointer;text-align:left}.control-tenant-card:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.control-tenant-card.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.control-tenant-main{display:flex;flex-direction:column;min-width:0}.control-tenant-main strong{font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-tenant-main span{font-size:11.5px;color:var(--text-muted)}.control-tenant-badge{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.control-tab-row{display:flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--border);width:fit-content;max-width:100%;overflow-x:auto}.control-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.control-tab.is-active{background:var(--surface);border-color:var(--accent);color:var(--text)}.control-tab-badge{min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.control-row-list{display:flex;flex-direction:column;gap:var(--space-2)}.control-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.control-row-body{display:flex;flex-direction:column;gap:2px;min-width:0}.control-row-body strong{font-size:13.5px;color:var(--text)}.control-row-body span{font-size:12px;color:var(--text-muted)}.control-row-flag{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:10.5px;font-weight:700;color:color-mix(in srgb,var(--accent) 80%,var(--text));text-transform:uppercase;letter-spacing:.04em}.control-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.control-rollout-button{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);font-size:11.5px;font-weight:600;cursor:pointer}.control-rollout-button:hover{border-color:var(--accent);color:var(--text)}.control-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;min-width:72px;justify-content:center}.control-toggle.is-on{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--text)}@media (max-width: 640px){.control-row{flex-direction:column;align-items:flex-start}.control-row-actions{width:100%;justify-content:space-between}.control-scope-search input{min-width:0;width:100%}}.simple-list,.simple-stack{display:flex;flex-direction:column;gap:var(--space-4)}.template-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.template-row:last-child{border-bottom:none;padding-bottom:0}.template-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.template-row-main strong{font-size:15px;font-weight:600;color:var(--text)}.template-row-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.breadcrumb-line{display:block}.editor-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.field-full{grid-column:1 / -1}.blog-pill{display:inline-flex;align-items:center;border-radius:var(--radius-pill);background:var(--bg-secondary);padding:4px 8px;color:var(--text-muted);font-size:12px}.split-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.modal-inline-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.roomy-actions .button{min-height:44px}.primary-dashboard-tone .raised-card{background:#fffefb}.primary-dashboard-tone .metric-card{background:#f5efe6}@media (max-width: 640px){.editor-grid{grid-template-columns:1fr}.field-full{grid-column:auto}}.public-shell{background:var(--bg);color:var(--text)}.public-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) var(--page-x-mobile);min-height:72px;background:#091c36d9;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--border)}.public-brand{display:inline-flex;align-items:center;gap:var(--space-4);color:var(--text);font-size:16px;text-decoration:none}.public-brand strong{font-weight:800;letter-spacing:-.025em;font-size:18px}.scholara-logo-icon{display:inline-flex;flex-shrink:0;border-radius:14px;overflow:hidden}.public-nav{display:flex;gap:var(--space-1);align-items:center}.public-nav a{padding:8px 14px;border-radius:10px;color:var(--text-muted);font-size:14px;font-weight:500;transition:color .15s ease,background .15s ease;text-decoration:none}.public-nav a:hover,.public-nav a.active{color:var(--text);background:var(--surface-subtle)}.public-actions{display:flex;gap:var(--space-3);align-items:center}.nav-link-subtle{color:var(--text-muted);font-size:14px;font-weight:500;padding:8px 12px;border-radius:10px;transition:color .15s ease;text-decoration:none}.nav-link-subtle:hover{color:var(--text)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px 22px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 24px #3ecf8e40}.btn-primary:disabled{opacity:.6;pointer-events:none}.btn-primary.btn-sm{padding:8px 16px;font-size:13px}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px 22px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.btn-secondary:hover{background:var(--surface-subtle);transform:translateY(-1px)}.btn-ghost{display:inline-flex;align-items:center;gap:var(--space-2);padding:11px 18px;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease;text-decoration:none;background:none;border:none}.btn-ghost:hover{opacity:.8}.btn-ghost-icon{font-size:11px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.hero-section{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-9) 0 var(--space-8);gap:var(--space-8)}.hero-content{max-width:720px;display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 16px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.02em}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--text)}.gradient-text{background:linear-gradient(135deg,#3ecf8e,#66e0aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(.95rem,1.5vw,1.1rem);color:var(--text-muted);max-width:58ch;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.stats-row{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.stat-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-5) var(--space-7);background:var(--surface);border:1px solid var(--border);border-radius:16px;min-width:140px}.stat-value{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.stat-label{font-size:13px;color:var(--text-muted);font-weight:500}.dashboard-preview{width:100%;max-width:520px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 32px 80px #00000059,0 0 0 1px #ffffff14}.preview-chrome{display:flex;align-items:center;gap:var(--space-3);padding:12px 16px;background:#f0f1f3;border-bottom:1px solid #e2e4e8}.preview-dots{display:flex;gap:6px}.preview-dots span{width:10px;height:10px;border-radius:999px;background:#d0d3d8}.preview-label{font-size:12px;color:#8b8f96;margin-left:auto}.public-main{flex:1}.preview-body{padding:20px;display:flex;flex-direction:column;gap:16px;color:#1a1d23}.preview-header-row{display:flex;justify-content:space-between;align-items:flex-start;min-width:0}.preview-title{font-size:16px;font-weight:700;color:#1a1d23}.preview-meta{font-size:12px;color:#8b8f96}.preview-tabs{display:flex;gap:8px}.preview-tabs span{font-size:12px;padding:4px 10px;border-radius:8px;color:#8b8f96}.preview-tab-active{background:#e0f2e9;color:#1f5f46!important;font-weight:600}.preview-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.preview-kpi{padding:12px;border-radius:12px;background:#f8f9fa;border:1px solid #eef0f2}.preview-kpi-label{font-size:11px;color:#8b8f96;display:block;margin-bottom:4px}.preview-kpi-value{font-size:18px;font-weight:700;display:block}.preview-kpi-bar{margin-top:8px;height:4px;background:#eef0f2;border-radius:4px;overflow:hidden}.preview-kpi-bar div{height:100%;border-radius:4px}.preview-chart-area{padding:16px;background:#f8f9fa;border-radius:12px;border:1px solid #eef0f2}.preview-chart-header{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:12px;color:#1a1d23}.preview-chart-period{color:#8b8f96;font-weight:400}.preview-chart-bars{display:flex;align-items:flex-end;gap:10px;height:80px}.preview-bar-group{flex:1;display:flex;align-items:flex-end;gap:3px;height:100%}.preview-bar{flex:1;border-radius:4px 4px 0 0;min-height:8px}.preview-actions-list{display:flex;flex-direction:column;gap:8px}.preview-action-item{padding:10px 12px;background:#f8f9fa;border-radius:10px;border:1px solid #eef0f2}.preview-action-title{font-size:13px;font-weight:600;display:block;color:#1a1d23}.preview-action-meta{font-size:12px;color:#8b8f96}.section-intro{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);max-width:640px;margin:0 auto;min-width:0}.section-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase}.section-heading{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--text)}.section-description{font-size:clamp(.9rem,1.3vw,1.05rem);color:var(--text-muted);line-height:1.7;max-width:52ch}.home-section{padding:var(--space-9) 0}.features-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-8);max-width:var(--page-max);margin-left:auto;margin-right:auto}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color .2s ease,box-shadow .2s ease;min-width:0}.feature-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.feature-icon-wrap{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.feature-card-title{font-size:16px;font-weight:700}.feature-card-desc{font-size:14px;color:var(--text-muted);line-height:1.6}.feature-card-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.feature-card-list li{font-size:13px;color:var(--text-muted);padding-left:16px;position:relative}.feature-card-list li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.feature-carousel{width:100%;max-width:var(--page-max);margin:var(--space-8) auto 0}.feature-carousel-frame{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);min-height:520px;border-radius:32px;overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}.feature-carousel-rail{position:relative;background:var(--accent);padding:var(--space-7) var(--space-7);display:flex;align-items:center;justify-content:center;overflow:hidden}.feature-carousel-rail-fade{position:absolute;left:0;right:0;height:70px;z-index:4;pointer-events:none}.feature-carousel-rail-fade-top{top:0;background:linear-gradient(to bottom,var(--accent) 0%,rgba(0,0,0,0) 100%)}.feature-carousel-rail-fade-bottom{bottom:0;background:linear-gradient(to top,var(--accent) 0%,rgba(0,0,0,0) 100%)}.feature-carousel-chips{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:flex-start}.feature-carousel-chip-slot{position:absolute;display:flex;align-items:center;width:fit-content}.feature-carousel-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#ffffffb3;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}.feature-carousel-chip:hover{color:#fff;border-color:#ffffff73}.feature-carousel-chip.is-active{background:#fff;color:var(--accent);border-color:#fff;box-shadow:0 6px 18px #0000002e}.feature-carousel-chip-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;opacity:.85}.feature-carousel-chip.is-active .feature-carousel-chip-icon{opacity:1}.feature-carousel-chip-label{font-family:inherit}.feature-carousel-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-7);background:var(--surface-muted)}.feature-carousel-stage-inner{position:relative;width:100%;max-width:420px;aspect-ratio:4 / 5}.feature-carousel-card{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:28px;overflow:hidden;background:var(--surface);border:6px solid var(--surface);box-shadow:var(--shadow-raised)}.feature-carousel-img{width:100%;height:100%;object-fit:cover;transition:filter .6s ease}.feature-carousel-img.is-dim{filter:grayscale(.7) blur(1.5px) brightness(.78)}.feature-carousel-caption{position:absolute;inset:auto 0 0 0;padding:60px 28px 26px;background:linear-gradient(to top,#091c36eb,#091c3666 60%,#091c3600);display:flex;flex-direction:column;gap:10px;pointer-events:none}.feature-carousel-caption-tag{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;padding:5px 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.feature-carousel-caption-text{margin:0;color:#fff;font-size:18px;line-height:1.4;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.35)}.feature-carousel-live{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#ffffffd9;opacity:0;transition:opacity .25s ease}.feature-carousel-live.is-on{opacity:1}.feature-carousel-live-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 10px #ffffffe6}@media (max-width: 900px){.feature-carousel-frame{grid-template-columns:1fr;min-height:auto}.feature-carousel-rail{min-height:360px;padding:var(--space-6)}.feature-carousel-stage{padding:var(--space-7) var(--space-5)}.feature-carousel-stage-inner{max-width:340px}}.institution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-8);max-width:var(--page-max);margin-left:auto;margin-right:auto}.institution-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color .2s ease,box-shadow .2s ease;min-width:0}.institution-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.institution-icon-wrap{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.institution-card h3{font-size:15px;font-weight:700}.institution-card p{font-size:14px;color:var(--text-muted);line-height:1.6}.fstack-wrap{width:100%;max-width:var(--page-max);margin:var(--space-8) auto 0}.fstack-stage{position:relative;width:100%;outline:none;overflow:hidden}.fstack-stage:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:24px}.fstack-spotlight{pointer-events:none;position:absolute;left:50%;transform:translate(-50%);border-radius:50%;filter:blur(60px);z-index:0}.fstack-spotlight-top{top:18px;width:72%;height:180px;background:#3ecf8e1f}.fstack-spotlight-bottom{bottom:0;width:78%;height:140px;background:#091c3640}.fstack-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center}.fstack-card{position:absolute;bottom:0;border-radius:24px;overflow:hidden;border:4px solid var(--surface);box-shadow:0 24px 60px #091c3659;will-change:transform,opacity;-webkit-user-select:none;user-select:none;cursor:pointer;background:var(--surface)}.fstack-card.is-active{cursor:grab}.fstack-card.is-active:active{cursor:grabbing}.fstack-card-inner{position:relative;width:100%;height:100%}.fstack-card-media{position:absolute;top:0;right:0;bottom:0;left:0}.fstack-card-media img{width:100%;height:100%;object-fit:cover;display:block}.fstack-card-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--surface-muted);color:var(--text-muted);font-size:13px}.fstack-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#050d1cd1,#050d1c59 45%,#050d1c00 70%);pointer-events:none}.fstack-card-content{position:absolute;inset:auto 0 0 0;z-index:1;padding:22px 24px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.fstack-card-tag{display:inline-flex;align-items:center;align-self:flex-start;padding:4px 10px;border-radius:999px;background:#3ecf8ef2;color:#08162a;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.fstack-card-title{color:#fff;font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.25;text-shadow:0 2px 6px rgba(0,0,0,.35)}.fstack-card-desc{color:#ffffffd9;font-size:13.5px;line-height:1.55;max-width:100%;text-shadow:0 1px 4px rgba(0,0,0,.3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fstack-dots{margin-top:var(--space-6);display:flex;align-items:center;justify-content:center;gap:10px}.fstack-dot{width:8px;height:8px;border-radius:50%;border:none;cursor:pointer;background:var(--text-muted);opacity:.35;transition:opacity .2s ease,background .2s ease,transform .2s ease;padding:0}.fstack-dot:hover{opacity:.65}.fstack-dot.is-on{opacity:1;background:var(--accent);transform:scale(1.15)}@media (max-width: 640px){.fstack-wrap{margin-top:var(--space-6)}.fstack-card{border-width:3px;border-radius:18px}.fstack-card-title{font-size:15px;line-height:1.2}.fstack-card-desc{font-size:11.5px;line-height:1.45;-webkit-line-clamp:3}.fstack-card-tag{font-size:9px;padding:3px 8px}.fstack-card-content{padding:14px;gap:6px}}@media (max-width: 420px){.fstack-card-title{font-size:14px}.fstack-card-desc{-webkit-line-clamp:2}}.whostack-container{max-width:520px;margin:0 auto;padding-top:var(--space-4);display:flex;flex-direction:column}.whostack-card{position:relative;width:100%;height:420px;border-radius:28px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-raised);overflow:hidden;margin-top:-160px;padding:var(--space-7) var(--space-6) var(--space-6);display:flex;flex-direction:column;justify-content:flex-end;will-change:transform,opacity}.whostack-card:first-child{margin-top:0}.whostack-splash{position:absolute;top:-40px;right:-40px;width:280px;height:280px;border-radius:62% 38% 54% 46%/48% 58% 42% 52%;filter:blur(2px);opacity:.9;pointer-events:none}.whostack-splash:after{content:"";position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;border-radius:48% 52% 42% 58%/56% 44% 52% 48%;background:inherit;opacity:.5;filter:blur(30px)}.whostack-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--space-3)}.whostack-icon{width:72px;height:72px;border-radius:20px;background:#3ecf8e1f;border:1px solid rgba(62,207,142,.25);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.whostack-card h3{font-size:22px;font-weight:600;color:var(--text);letter-spacing:-.01em;line-height:1.25}.whostack-card p{font-size:15px;color:var(--text-muted);line-height:1.6;max-width:38ch}@media (max-width: 640px){.whostack-card{height:380px;margin-top:-140px;padding:var(--space-6) var(--space-5) var(--space-5)}.whostack-splash{width:220px;height:220px}.whostack-card h3{font-size:20px}}.institution-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-8)}.institution-detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color .2s ease,box-shadow .2s ease;min-width:0}.institution-detail-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.institution-detail-card h3{font-size:16px;font-weight:700}.institution-detail-card p{font-size:14px;color:var(--text-muted);line-height:1.6}.institution-details{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2);min-width:0}.institution-details li{font-size:12px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-muted)}.cta-section{text-align:center}.cta-content{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:var(--space-9) var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.cta-content h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;letter-spacing:-.02em}.cta-content p{color:var(--text-muted);max-width:48ch;line-height:1.7}.billing-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-3);font-size:14px;font-weight:500;color:var(--text-muted)}.billing-toggle .toggle-active{color:var(--text);font-weight:700}.toggle-switch{width:48px;height:26px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);cursor:pointer;padding:3px;display:flex;align-items:center;transition:background .2s ease}.toggle-switch.active{background:var(--accent);border-color:var(--accent);justify-content:flex-end}.toggle-thumb{width:18px;height:18px;border-radius:999px;background:var(--text)}.toggle-switch.active .toggle-thumb{background:#fff}.discount-badge{display:inline-flex;padding:2px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;margin-left:4px}.plans-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-7);max-width:var(--page-max);margin-left:auto;margin-right:auto}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);position:relative;transition:border-color .2s ease,box-shadow .2s ease;grid-column:span 2;min-width:0}.plan-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.plan-custom{justify-self:stretch;width:auto}.plan-popular{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-soft)}.plan-popular:hover{box-shadow:0 0 0 1px var(--accent),var(--shadow-raised)}.popular-badge{display:inline-flex;align-items:center;gap:4px;position:absolute;top:-12px;right:var(--space-5);padding:4px 12px;border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:12px;font-weight:700}.plan-name{font-size:15px;font-weight:700}.plan-price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;max-width:100%}.plan-price-value{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;max-width:100%}.plan-price-period{font-size:14px;color:var(--text-muted);white-space:nowrap}.plan-annual-note{font-size:12px;color:var(--accent);margin-top:-8px}.plan-desc{font-size:14px;color:var(--text-muted);line-height:1.6}.plan-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3);flex:1}.plan-features li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:14px;line-height:1.5}.check-icon{color:var(--accent);flex-shrink:0;margin-top:2px}.plan-cta{width:100%;margin-top:auto}.support-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-7);margin-top:var(--space-8)}.support-info{display:flex;flex-direction:column;gap:var(--space-4)}.support-info-card{display:flex;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);min-width:0}.support-info-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.support-info-card h4{font-size:14px;font-weight:700;margin-bottom:4px}.support-info-card p{font-size:13px;color:var(--text-muted);line-height:1.5}.support-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-5)}.form-title{font-size:16px;font-weight:700}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.support-success{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8)}.support-success-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--accent-soft);color:var(--accent)}.support-success h3{font-size:18px;font-weight:700}.support-success p{color:var(--text-muted);max-width:36ch}.auth-shell{min-height:calc(100vh - var(--header-height));display:grid;place-items:center;padding:var(--space-8) var(--page-x-mobile)}.auth-page{width:100%;max-width:440px}.auth-card{background:#0f233ca6;border:1px solid rgba(100,160,220,.12);border-radius:24px;padding:var(--space-7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:var(--space-4)}.auth-card-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:#edf3f9}.auth-card-header h1{font-size:1.4rem;font-weight:800;margin:0}.auth-card-header p{font-size:14px;color:#9db0c2;margin:0}.google-auth-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:11px;background:#fff;color:#1a1d23;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.google-auth-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00000026}.auth-divider{display:flex;align-items:center;gap:var(--space-4);color:#9db0c2;font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#64a0dc26}.auth-card .auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.auth-card .form-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-card .field-label{font-size:13px;font-weight:600;color:#9db0c2}.auth-card input,.auth-card select,.auth-card textarea{background:#12284499;border:1px solid rgba(100,160,220,.15);color:#edf3f9;border-radius:10px;padding:12px 14px;font-size:14px;transition:border-color .15s ease;min-height:48px}.auth-card input:focus,.auth-card select:focus,.auth-card textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3ecf8e26}.auth-card input::placeholder,.auth-card textarea::placeholder{color:#9db0c280}.input-with-icon{position:relative}.input-with-icon input{width:100%;padding-right:40px}.input-icon-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9db0c2;cursor:pointer;padding:4px;display:flex}.auth-submit{width:100%;margin-top:var(--space-2)}.google-btn-container{display:flex;justify-content:center;min-height:44px;margin-top:-4px}.google-btn-container>div{width:100%!important}.google-linked-badge{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;background:#4285f41a;border:1px solid rgba(66,133,244,.2);border-radius:10px;font-size:13px;color:#9db0c2}.auth-footer-note{text-align:center;font-size:14px;color:#9db0c2}.auth-footer-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.public-footer{border-top:1px solid var(--border);padding:var(--space-9) var(--page-x-mobile) var(--space-7);background:var(--bg-secondary)}.public-footer-inner{max-width:var(--page-max);margin:0 auto}.footer-top{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-9)}.footer-brand{display:flex;align-items:flex-start;gap:var(--space-4)}.footer-brand strong{font-size:19px;font-weight:800;letter-spacing:-.025em}.footer-tagline{font-size:14px;color:var(--text-muted);line-height:1.6;margin-top:4px}.footer-newsletter{margin-top:var(--space-6)}.footer-newsletter h4{font-size:14px;font-weight:700;margin-bottom:var(--space-2)}.footer-newsletter p{font-size:13px;color:var(--text-muted);margin-bottom:var(--space-4)}.newsletter-form{display:flex;gap:var(--space-3)}.newsletter-input-wrap{flex:1;display:flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 16px 0 18px;min-height:52px}.newsletter-input-wrap input{border:none;background:transparent;padding:12px 8px 12px 0;flex:1;min-width:0;min-height:0}.newsletter-input-wrap input::placeholder{color:var(--text-muted)}.newsletter-input-wrap svg{color:var(--text-muted);flex-shrink:0}.footer-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.footer-links-grid h5{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-4)}.footer-links-grid a{display:block;font-size:14px;color:var(--text-muted);padding:4px 0;text-decoration:none;transition:color .15s ease}.footer-links-grid a:hover{color:var(--text)}@media (max-width: 900px){.features-grid,.institution-detail-grid{grid-template-columns:1fr}.institution-grid,.plans-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}.preview-header-row{flex-direction:column;gap:var(--space-2)}.preview-kpi-grid{grid-template-columns:1fr}.preview-tabs{flex-wrap:wrap}.support-layout{grid-template-columns:1fr}.support-info-card{flex-direction:column}.blog-card-meta{align-items:flex-start}.blog-coming-soon{width:100%}.blog-card-link{width:fit-content}.footer-top{grid-template-columns:1fr;gap:var(--space-7)}.form-row{grid-template-columns:1fr}.hero-section{padding-top:var(--space-8)}.dashboard-preview{max-width:100%}}@media (max-width: 640px){.hero-title{font-size:1.8rem}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn-primary,.hero-actions .btn-ghost{width:100%;justify-content:center}.stats-row{width:100%}.stat-card{flex:1;min-width:100px;padding:var(--space-4) var(--space-5)}.cta-content{padding:var(--space-7) var(--space-5)}.footer-links-grid{grid-template-columns:1fr}.newsletter-form{flex-direction:column}.plans-grid{grid-template-columns:1fr;max-width:440px}.institution-detail-card{padding:var(--space-5)}.preview-kpi-grid{gap:var(--space-2)}.preview-chart-header{flex-direction:column;align-items:flex-start;gap:4px}.preview-chart-bars{min-height:140px}.public-header{padding:var(--space-3) var(--space-4)}}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-6);max-width:var(--page-max);margin-left:auto;margin-right:auto}.blog-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color .2s ease,box-shadow .2s ease;min-width:0}.blog-card-media{border-radius:18px;overflow:hidden;aspect-ratio:16 / 9;background:var(--surface-secondary)}.blog-card-media img{width:100%;height:100%;object-fit:cover;display:block}.blog-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.blog-card-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0}.blog-card-category{font-size:12px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent)}.blog-card-read{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted)}.blog-card-title{font-size:16px;font-weight:700;line-height:1.4}.blog-card-title a{color:var(--text);text-decoration:none}.blog-card-title a:hover{text-decoration:underline;text-underline-offset:3px}.blog-card-excerpt{font-size:14px;color:var(--text-muted);line-height:1.6}.blog-card-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent);text-decoration:none;margin-top:auto}.blog-card-link:hover{text-decoration:underline}.blog-coming-soon{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);font-size:13px;color:var(--text-muted);width:fit-content;margin:0 auto;min-width:0}.blog-article-shell{display:grid;gap:var(--space-7)}.blog-article-hero{border-radius:28px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-soft)}.blog-article-hero-image{width:100%;height:clamp(220px,34vw,480px);object-fit:cover;display:block}.rich-text figure{margin:var(--space-5) 0;border-radius:20px;overflow:hidden;border:1px solid var(--border);background:var(--surface-secondary)}.rich-text figure img{width:100%;display:block;object-fit:cover}.rich-text figcaption{padding:12px 16px;font-size:13px;color:var(--text-muted)}@media (max-width: 900px){.blog-grid{grid-template-columns:1fr}}@media (max-width: 640px){.plan-card{padding:var(--space-5);gap:var(--space-3)}.plan-price{align-items:flex-end;gap:2px 6px}.plan-price-value{font-size:1.55rem;line-height:1.05}.plan-price-period{font-size:12px;line-height:1.2}.plans-grid{gap:var(--space-4)}}@media (max-width: 1180px){.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card,.plan-custom{grid-column:auto;width:auto}}@media (min-width: 1181px){.plans-grid>.plan-card:nth-child(4){grid-column:2 / span 2}.plans-grid>.plan-card:nth-child(5){grid-column:4 / span 2}}.public-menu-button,.public-mobile-nav-sheet{display:none}.public-mobile-nav{position:relative;width:min(92vw,360px);margin-left:auto;min-height:100vh;padding:var(--space-6);background:var(--bg-secondary);display:flex;flex-direction:column;gap:var(--space-5);box-shadow:var(--shadow-raised)}.public-mobile-links{display:flex;flex-direction:column;gap:var(--space-1)}.public-mobile-links a{padding:10px 14px;border-radius:10px;font-size:15px;color:var(--text-muted);text-decoration:none;transition:background .15s ease,color .15s ease}.public-mobile-links a:hover,.public-mobile-links a.active{background:var(--surface);color:var(--text)}.public-mobile-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}@media (max-width: 980px){.public-nav,.public-actions{display:none}.public-menu-button{display:inline-flex}.public-mobile-nav-sheet{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;border:none;cursor:pointer}.public-mobile-nav{gap:var(--space-4)}.public-mobile-actions{margin-top:0}}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.theme-toggle-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.mobile-nav-divider{border:none;border-top:1px solid var(--border);margin:0}.mobile-theme-toggle{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.mobile-theme-toggle:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.mobile-theme-toggle-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}@media (max-width: 640px){.public-header{position:relative;top:auto;padding:var(--space-4) var(--page-x-mobile)}.public-mobile-nav{width:min(94vw,360px);gap:var(--space-3);padding:var(--space-5)}.public-mobile-links a{padding:12px 14px}.mobile-theme-toggle{padding:12px 14px;font-size:14px}.mobile-theme-toggle-icon{width:32px;height:32px}.public-mobile-actions{gap:var(--space-2)}}.footer-social{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;text-decoration:none}.footer-social a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.footer-bottom{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border);font-size:13px;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.footer-bottom-tagline{font-style:italic;opacity:.7}.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-8);max-width:var(--page-max);margin-left:auto;margin-right:auto}.testimonial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transition:border-color .2s ease,box-shadow .2s ease;min-width:0}.testimonial-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.testimonial-quote-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--surface-subtle);color:var(--text-muted)}.testimonial-text{font-size:15px;line-height:1.7;color:var(--text);flex:1}.testimonial-author{display:flex;align-items:center;gap:var(--space-3)}.testimonial-avatar{width:56px;height:56px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#1f5f46,#3ecf8e);display:flex;align-items:center;justify-content:center;flex-shrink:0}.testimonial-avatar img{width:100%;height:100%;object-fit:cover;display:block}.testimonial-author strong{display:block;font-size:14px;font-weight:700;color:var(--text)}.testimonial-author span{display:block;font-size:12px;color:var(--text-muted)}.testimonial-highlight{font-size:13px;font-weight:600;color:var(--accent);line-height:1.4}.circular-testimonials{width:100%;max-width:1100px;margin:var(--space-8) auto 0;padding:var(--space-8) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow-soft)}.ct-grid{display:grid;gap:var(--space-8);align-items:center}.ct-image-container{position:relative;width:100%;height:360px;perspective:1000px}.ct-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:22px;box-shadow:0 18px 40px #091c3640}.ct-content{display:flex;flex-direction:column;justify-content:space-between;min-height:360px}.ct-name{font-size:24px;font-weight:700;color:var(--text);margin:0 0 6px}.ct-designation{font-size:14px;color:var(--text-muted);margin:0 0 var(--space-6)}.ct-quote{font-size:17px;line-height:1.7;color:var(--text);margin:0}.ct-arrows{display:flex;gap:var(--space-3);padding-top:var(--space-7)}.ct-arrow{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--border-strong);background:var(--accent);color:#fff;transition:background .2s ease,transform .2s ease,border-color .2s ease}.ct-arrow:hover{background:var(--accent-hover);transform:translateY(-1px)}@media (min-width: 768px){.ct-grid{grid-template-columns:1fr 1fr;gap:var(--space-9)}.ct-arrows{padding-top:var(--space-6)}}@media (max-width: 767px){.ct-image-container{height:300px}.ct-content{min-height:auto}}.signin-stage{position:relative;width:100%;display:flex;align-items:flex-start;justify-content:center;background:var(--bg);overflow:hidden;padding:var(--space-5) var(--space-5) var(--space-7)}.signin-bg-gradient,.signin-bg-noise,.signin-bg-glow,.signin-bg-glow-top,.signin-bg-glow-bottom{display:none}.signin-card-wrap{position:relative;z-index:1;width:100%;max-width:400px}.signin-card-tilt{position:relative;transform-style:preserve-3d}.signin-card-shell{position:relative;border-radius:20px}.signin-beams{display:none}.signin-beam{position:absolute;background:linear-gradient(to right,transparent,rgba(62,207,142,.85),transparent);filter:blur(1.5px)}.signin-beam-top{top:0;left:0;height:2px;width:50%}.signin-beam-right{top:0;right:0;width:2px;height:50%;background:linear-gradient(to bottom,transparent,rgba(62,207,142,.85),transparent)}.signin-beam-bottom{bottom:0;right:0;height:2px;width:50%}.signin-beam-left{bottom:0;left:0;width:2px;height:50%;background:linear-gradient(to bottom,transparent,rgba(62,207,142,.85),transparent)}.signin-card-inner{position:relative;background:transparent;border-radius:0;padding:0;border:none;box-shadow:none;overflow:visible}.signin-header{text-align:center;margin-bottom:22px}.signin-logo{margin:0 auto 14px;width:52px;height:52px;border-radius:14px;border:1px solid var(--border);background:#3ecf8e14;display:flex;align-items:center;justify-content:center}.signin-title{font-size:20px;font-weight:700;margin:0 0 6px;color:var(--text);letter-spacing:-.01em}.signin-subtitle{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.signin-form{display:flex;flex-direction:column;gap:14px}.signin-field{position:relative;display:flex;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:background .2s ease,border-color .2s ease;height:42px;padding:0 14px}.signin-field.is-focused{border-color:#3ecf8e80;box-shadow:0 0 0 3px #3ecf8e1f}.signin-field-icon{color:var(--text-muted);flex-shrink:0;margin-right:10px;transition:color .2s ease}.signin-field.is-focused .signin-field-icon{color:var(--accent)}.signin-field input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:14px;height:100%;font-family:inherit}.signin-field input::placeholder{color:var(--text-muted);opacity:.7}.signin-eye{background:transparent;border:none;padding:4px;margin-left:8px;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;transition:color .2s ease}.signin-eye:hover{color:var(--text)}.signin-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.signin-remember{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.signin-remember input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;flex:0 0 16px;box-sizing:border-box;border-radius:4px;border:1px solid var(--border);background:var(--bg);cursor:pointer;padding:0;margin:0;position:relative;transition:background .15s ease,border-color .15s ease}.signin-remember input:checked{background:var(--accent);border-color:var(--accent)}.signin-remember input:checked:after{content:"";position:absolute;top:1px;left:5px;width:4px;height:8px;border:solid #08162a;border-width:0 2px 2px 0;transform:rotate(45deg)}.signin-link{font-size:12px;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.signin-link:hover{color:var(--text)}.signin-submit{margin-top:6px;width:100%;height:42px;border-radius:10px;border:none;background:var(--accent);color:#08162a;font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:filter .2s ease}.signin-submit:hover:not(:disabled){filter:brightness(1.08)}.signin-submit:disabled{opacity:.7;cursor:not-allowed}.signin-submit-label{display:inline-flex;align-items:center;gap:6px}.signin-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(8,22,42,.3);border-top-color:#08162a;animation:signin-spin .8s linear infinite;display:inline-block}@keyframes signin-spin{to{transform:rotate(360deg)}}.signin-divider{display:flex;align-items:center;gap:10px;margin:4px 0}.signin-divider span{flex:1;height:1px;background:var(--border)}.signin-divider em{font-style:normal;font-size:11px;color:var(--text-muted);letter-spacing:.05em}.signin-google-mount{width:100%;display:flex;justify-content:center;min-height:42px}.signin-google-fallback{width:100%;height:42px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .2s ease,border-color .2s ease;font-family:inherit}.signin-google-fallback:hover{border-color:#3ecf8e66}.signin-signup{text-align:center;font-size:12px;color:var(--text-muted);margin:8px 0 0}.signin-signup-link{color:var(--accent);text-decoration:none;font-weight:600;transition:color .2s ease}.signin-signup-link:hover{filter:brightness(1.1);text-decoration:underline}@media (max-width: 480px){.signin-card-inner{padding:24px 20px}.signin-title{font-size:18px}}.faq-accordion{width:100%;max-width:880px;margin:var(--space-8) auto 0;border:1px solid var(--border);border-radius:20px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-soft)}.faq-item{border-bottom:1px solid var(--border)}.faq-item:last-child{border-bottom:none}.faq-trigger{width:100%;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text);transition:background .2s ease}.faq-trigger:hover{background:var(--surface-muted)}.faq-id{font-size:12px;font-weight:600;color:var(--accent);letter-spacing:.12em;font-variant-numeric:tabular-nums;min-width:28px}.faq-title{flex:1;font-size:17px;font-weight:600;line-height:1.4}.faq-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);transition:transform .25s ease,background .25s ease}.faq-icon.is-open{transform:rotate(45deg);background:var(--accent);color:#fff}.faq-panel{overflow:hidden}.faq-panel-inner{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--border)}.faq-text{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.faq-text p{margin:0;font-size:15px;line-height:1.7;color:var(--text-muted)}.faq-cta{align-self:flex-start;text-decoration:none}.faq-image-wrap{position:relative;width:100%;min-height:200px;background:var(--surface-muted);overflow:hidden}.faq-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}@media (min-width: 768px){.faq-panel-inner{grid-template-columns:1fr 1fr}.faq-image-wrap{border-left:1px solid var(--border);min-height:240px}}.contact-section-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:var(--space-2)}.contact-section-desc{font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:var(--space-4)}.contact-link{color:var(--text);text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:600}.contact-link:hover{color:var(--accent)}.contact-highlight{font-size:14px;font-weight:600;color:var(--text);display:block;margin-bottom:4px}.form-subtitle{font-size:14px;color:var(--text-muted);line-height:1.5;margin-top:-8px}.demo-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-7);margin-top:var(--space-8);align-items:start}.demo-form-section{display:flex;flex-direction:column;gap:var(--space-6)}.demo-flow-label h3{font-size:20px;font-weight:800;margin-top:var(--space-2);color:var(--text)}.demo-flow-desc{font-size:14px;color:var(--text-muted);line-height:1.6;margin-top:var(--space-2)}.demo-form{border-radius:var(--radius-card)}.demo-sidebar{position:sticky;top:calc(var(--header-height) + var(--space-5))}.demo-flow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.demo-flow-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px 14px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700;width:fit-content}.demo-flow-card h3{font-size:18px;font-weight:700}.demo-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.demo-steps li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:14px;color:var(--text);line-height:1.5}.demo-step-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:6px}.blog-card-date{font-size:12px;color:var(--text-muted)}.scroll-controls{position:fixed;bottom:calc(var(--space-6) + env(safe-area-inset-bottom));right:calc(var(--space-6) + env(safe-area-inset-right));z-index:90;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:auto}.scroll-control-button{width:40px;height:40px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 12px #00000026}.scroll-control-button:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px);box-shadow:0 6px 20px #0003}.scroll-control-button:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 900px){.testimonials-grid{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}.demo-layout{grid-template-columns:1fr}.demo-sidebar{position:static}}@media (max-width: 640px){.footer-bottom{flex-direction:column;text-align:center;gap:var(--space-2)}.scroll-controls{bottom:calc(var(--space-4) + env(safe-area-inset-bottom));right:calc(var(--space-4) + env(safe-area-inset-right));z-index:90}}
