:root{color-scheme:light;--bg: #f7f1ea;--bg-alt: #efe7df;--surface: rgba(255, 252, 248, .78);--surface-strong: #fffaf4;--text: #27211f;--text-strong: #151010;--muted: #756a64;--muted-soft: #a19690;--line: rgba(61, 44, 45, .1);--line-strong: rgba(61, 44, 45, .16);--accent: #7c1724;--accent-strong: #5e121c;--accent-soft: rgba(124, 23, 36, .08);--success: #50695a;--success-soft: rgba(80, 105, 90, .11);--warning: #93672f;--warning-soft: rgba(147, 103, 47, .12);--danger: #8c3d35;--danger-soft: rgba(140, 61, 53, .12);--shadow-lg: 0 18px 44px rgba(52, 38, 36, .055);--shadow-md: 0 10px 24px rgba(52, 38, 36, .045);--radius-panel: 18px;--radius-card: 12px;--radius-control: 10px;--max-width: 1380px;--font-ui: "Aptos", "Segoe UI Variable Text", "Segoe UI", sans-serif;--font-display: "Aptos Display", "Aptos", "Segoe UI Variable Display", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-ui);text-rendering:optimizeLegibility;background:linear-gradient(180deg,rgba(255,255,255,.68) 0%,transparent 28%),linear-gradient(180deg,#fbf7f2 0%,var(--bg) 42%,var(--bg-alt) 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}img,svg{display:block}::selection{background:#772c392e}.app-shell{width:min(calc(100% - 40px),var(--max-width));margin:0 auto;padding:24px 0 54px}.topbar,.portal-layout,.public-layout,.panel,.hero-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px) saturate(110%);backdrop-filter:blur(16px) saturate(110%)}.topbar{position:sticky;top:14px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px;border-radius:999px}.brand-lockup{display:inline-flex;align-items:center;gap:13px;min-width:0;color:inherit;text-decoration:none}.brand-lockup strong{display:block;color:var(--text-strong);font-size:16px;line-height:1.1}.brand-kicker,.soft-label,.stat-label,caption{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.brand-seal{display:grid;place-items:center;width:54px;height:54px;padding:7px;flex:0 0 auto;border:1px solid rgba(119,44,57,.16);border-radius:50%;background:#fffcf8d1;box-shadow:inset 0 1px #ffffffbf}.brand-seal img{width:100%;height:100%;border-radius:50%;object-fit:contain}.workspace-switcher,.side-nav,.button-row,.hero-actions,.filter-bar{display:flex;align-items:center}.workspace-switcher{gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fffcf89e}.workspace-switcher button,.side-nav button,.primary-button,.secondary-button,.icon-button,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.workspace-switcher button{min-height:38px;padding:0 14px;border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:700}.workspace-switcher button.active,.workspace-switcher button:hover,.workspace-switcher button:focus-visible{outline:none;background:var(--accent);color:#fbf7f2}.portal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;margin-top:18px;overflow:hidden;border-radius:var(--radius-panel)}.single-panel-layout{grid-template-columns:minmax(0,720px);justify-content:center}.sidebar{padding:18px;border-right:1px solid var(--line);background:#fffcf870}.sidebar-title{display:flex;align-items:center;gap:10px;padding:12px 12px 18px}.sidebar-title strong,.sidebar-title span{display:block}.sidebar-title strong{color:var(--text-strong);font-size:15px}.sidebar-title span{margin-top:3px;color:var(--muted);font-size:12px}.side-nav{flex-direction:column;align-items:stretch;gap:6px}.side-nav button{justify-content:flex-start;min-height:44px;padding:0 12px;border-radius:14px;background:transparent;color:var(--muted);font-size:14px;font-weight:650}.side-nav button.active,.side-nav button:hover,.side-nav button:focus-visible{outline:none;border-color:#772c391f;background:var(--accent-soft);color:var(--accent-strong)}.portal-content{min-width:0;padding:28px}.content-stack{display:grid;gap:18px}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-header h2,.hero-panel h1,.panel h3,.announcement-item h3,.empty-state h3{margin:0;color:var(--text-strong);font-family:var(--font-display);font-weight:650;letter-spacing:-.02em}.section-header h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1}.section-header p,.hero-panel p,.announcement-item p,.empty-state p{margin:9px 0 0;color:var(--muted);line-height:1.65}.section-action{flex:0 0 auto}.hero-panel{display:flex;justify-content:space-between;gap:20px;padding:28px;border-radius:var(--radius-panel)}.hero-panel h1{max-width:13ch;margin-top:12px;font-size:clamp(2.25rem,5vw,4.1rem);line-height:.98}.hero-panel p{max-width:38rem;font-size:15px}.hero-actions{flex-wrap:wrap;align-content:flex-start;justify-content:flex-end;gap:10px}.primary-button,.secondary-button{min-height:44px;padding:0 15px;border-radius:var(--radius-control);font-size:14px;font-weight:700}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:12px;background:#fffcf8c7;color:var(--accent-strong)}.danger-icon-button{color:var(--danger)}.danger-icon-button:hover,.danger-icon-button:focus-visible{outline:none;border-color:#8c3d3538;background:var(--danger-soft)}.link-button{min-height:32px;padding:0;border:none;background:transparent;color:var(--accent-strong);font-weight:800;text-decoration:underline;text-underline-offset:3px}.primary-button{border-color:var(--accent);background:var(--accent);color:#fbf7f2;box-shadow:0 14px 28px #772c3924}.secondary-button{border-color:var(--line);background:#fffcf8c7;color:var(--text-strong)}.primary-button:hover,.primary-button:focus-visible,.secondary-button:hover,.secondary-button:focus-visible{outline:none;transform:translateY(-1px);box-shadow:var(--shadow-md)}.primary-button:hover,.primary-button:focus-visible{background:var(--accent-strong);border-color:var(--accent-strong)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card,.panel,.empty-state,.announcement-item{border:1px solid var(--line);background:#fffcf8b8;box-shadow:inset 0 1px #ffffffc7}.stat-card{display:grid;gap:12px;min-height:138px;padding:18px;border-radius:var(--radius-card)}.stat-card-top{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.stat-card strong{color:var(--text-strong);font-family:var(--font-display);font-size:2rem;line-height:1;letter-spacing:-.03em}.split-grid,.profile-grid,.import-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{overflow:hidden;border-radius:var(--radius-card);box-shadow:none}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px 0}.panel h3{display:inline-flex;align-items:center;gap:9px;font-size:1.1rem}.table-frame{overflow:auto;padding:16px 20px 20px}table{width:100%;min-width:640px;border-collapse:collapse}caption{height:1px;overflow:hidden;opacity:0;text-align:left}th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}td{color:var(--text);font-size:14px}tbody tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fffcf8d1;color:var(--muted);font-size:12px;font-weight:800}.status-badge-success{border-color:#50695a29;background:var(--success-soft);color:var(--success)}.status-badge-warning{border-color:#93672f29;background:var(--warning-soft);color:var(--warning)}.status-badge-danger{border-color:#8c3d3529;background:var(--danger-soft);color:var(--danger)}.status-badge-accent{border-color:#772c3929;background:var(--accent-soft);color:var(--accent-strong)}.detail-list{display:grid;gap:0;margin:0;padding:14px 20px 20px}.detail-list div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.detail-list div:last-child{border-bottom:none}.detail-list dt{color:var(--muted);font-size:13px;font-weight:700}.detail-list dd{margin:0;color:var(--text-strong);font-weight:650;text-align:right}.announcement-list{display:grid;gap:10px;padding:16px 20px 20px}.announcement-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px;border-radius:18px}.announcement-item h3{font-size:1rem}.announcement-body{display:grid;gap:10px;margin-top:9px;color:var(--muted);font-size:14px;line-height:1.65}.announcement-body p,.announcement-body ul,.announcement-body ol,.announcement-body figure{margin:0}.announcement-body ul,.announcement-body ol{display:grid;gap:6px;padding-left:22px}.announcement-body a{color:var(--accent-strong);font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}.announcement-rule{width:100%;height:1px;border:none;background:var(--line-strong)}.announcement-asset{display:grid;gap:6px}.announcement-asset img,.announcement-inline-image{max-width:min(520px,100%);border:1px solid var(--line);border-radius:14px;background:#fffcf8d1}.announcement-asset img{width:100%;height:auto}.announcement-inline-image{display:inline-block;max-height:220px;margin:6px 0;vertical-align:middle}.announcement-asset figcaption{color:var(--muted);font-size:12px;font-weight:700}.announcement-meta{display:grid;justify-items:end;gap:8px;flex:0 0 auto;color:var(--muted);font-size:12px}.filter-bar{justify-content:space-between;gap:12px;padding:16px 20px 0}.search-field{display:flex;align-items:center;gap:9px;width:min(420px,100%);min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-strong);color:var(--muted)}.search-field input{width:100%;border:none;outline:none;background:transparent;color:var(--text);font-size:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px 20px 20px}.compact-grid{padding:0}.form-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.03em}.form-field{display:grid;gap:7px}.field-label{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.03em}.form-grid input,.form-grid select,.form-grid textarea,.fake-input{width:100%;min-height:44px;padding:0 13px;border:1px solid var(--line-strong);border-radius:var(--radius-control);outline:none;background:var(--surface-strong);color:var(--text)}.fake-input{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.form-grid textarea{min-height:130px;padding:12px 13px;font-family:var(--font-ui)}.announcement-editor{display:grid}.announcement-editor textarea{min-height:230px;border-radius:0 0 var(--radius-control) var(--radius-control);font-family:var(--font-ui);line-height:1.65}.editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--line-strong);border-bottom:none;border-radius:var(--radius-control) var(--radius-control) 0 0;background:#fffcf8b8}.editor-tool{display:grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--accent-strong)}.editor-tool:hover,.editor-tool:focus-visible{outline:none;border-color:#772c3929;background:var(--accent-soft)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-field:focus-within{border-color:#772c3959;box-shadow:0 0 0 5px #772c391a}.wide-field,.form-error,.helper-text{grid-column:1 / -1}.form-error,.helper-text{margin:0;padding:0 20px;color:var(--danger);font-size:13px;font-weight:700}.helper-text{padding:0;color:var(--muted)}.credential-panel{display:grid;gap:10px;margin:16px 20px 0;padding:14px;border:1px solid rgba(147,103,47,.18);border-radius:18px;background:#93672f14}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.account-cell{display:grid;gap:4px;min-width:140px}.account-cell strong{color:var(--text);font-size:13px}.account-cell span{color:var(--muted);font-size:12px}.announcement-title-cell{display:grid;gap:4px;min-width:160px}.announcement-title-cell strong{color:var(--text-strong)}.announcement-title-cell span{color:var(--muted);font-size:12px}.admin-context-bar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fffcf8bd}.admin-context-bar label{display:grid;gap:6px;min-width:min(320px,100%);color:var(--muted);font-size:12px;font-weight:800}.admin-context-bar select{min-height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-strong);color:var(--text)}.checkbox-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;color:var(--text)!important;font-size:13px!important;letter-spacing:0!important}.checkbox-row input{width:auto;min-height:auto}.stage-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:8px 0}.disabled-link{pointer-events:none;opacity:.5}.loading-row,.error-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 20px;color:var(--muted);font-size:14px;font-weight:700}.loading-row svg{animation:spin .9s linear infinite}.error-panel p{margin:0;color:var(--danger)}code{padding:3px 6px;border:1px solid var(--line);border-radius:8px;background:#fffcf8d1;color:var(--accent-strong);font-family:Cascadia Code,Consolas,monospace;font-size:.92em}@keyframes spin{to{transform:rotate(360deg)}}.check-list{display:grid;gap:13px;margin:0;padding:18px 20px 20px;list-style:none}.check-list li{display:flex;align-items:center;gap:10px;color:var(--text);font-size:14px}.check-list svg{color:var(--accent);flex:0 0 auto}.import-layout{align-items:start}.import-controls{display:grid;gap:14px;padding:16px 20px 20px}.file-drop{position:relative;display:grid;place-items:center;gap:8px;min-height:112px;border:1px dashed rgba(119,44,57,.28);border-radius:18px;background:#772c390a;color:var(--accent-strong);font-weight:800}.file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}textarea{width:100%;min-height:210px;resize:vertical;padding:14px;border:1px solid var(--line-strong);border-radius:16px;outline:none;background:var(--surface-strong);color:var(--text);font-family:Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.6}textarea:focus{border-color:#772c3959;box-shadow:0 0 0 5px #772c391a}.button-row{flex-wrap:wrap;gap:10px}.validation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 20px 0}.validation-summary .stat-card{min-height:112px;padding:15px}.empty-state{display:flex;gap:12px;margin:16px 20px 20px;padding:18px;border-radius:18px}.empty-state svg{color:var(--accent);flex:0 0 auto}.empty-state h3{font-size:1rem}.public-layout{display:grid;gap:18px;margin-top:18px;padding:28px;border-radius:var(--radius-panel)}.public-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}.public-hero h1{margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);line-height:.95;letter-spacing:-.04em}.public-hero p{max-width:36rem;margin:14px 0 0;color:var(--muted);line-height:1.7}@media(max-width:1120px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid,.profile-grid,.import-layout{grid-template-columns:1fr}}@media(max-width:820px){.app-shell{width:min(calc(100% - 20px),var(--max-width));padding-top:12px}.topbar{position:static;align-items:stretch;flex-direction:column;border-radius:26px}.workspace-switcher{justify-content:stretch;border-radius:18px}.workspace-switcher button{flex:1;padding:0 10px}.portal-layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.side-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.portal-content,.public-layout{padding:20px}.section-header,.hero-panel,.announcement-item,.public-hero,.filter-bar{align-items:stretch;flex-direction:column}.hero-actions,.filter-bar{justify-content:flex-start}.primary-button,.secondary-button{width:100%}.stat-grid,.validation-summary,.form-grid{grid-template-columns:1fr}.table-frame{overflow:visible}table,tbody,tr,td{display:block;width:100%;min-width:0}thead{display:none}tbody{display:grid;gap:12px}tr{border:1px solid var(--line);border-radius:16px;background:#fffcf8b8;overflow:hidden}td{display:flex;justify-content:space-between;gap:18px;padding:12px 14px}td:not(:last-child){border-bottom:1px solid var(--line)}td:before{content:attr(data-label);flex:0 0 38%;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}}@media(max-width:460px){.side-nav{grid-template-columns:1fr}.brand-lockup strong{font-size:15px}.workspace-switcher{display:grid;grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}body{background:radial-gradient(circle at 8% 10%,rgba(124,23,36,.055),transparent 24rem),linear-gradient(180deg,#fffaf4 0%,var(--bg) 52%,var(--bg-alt) 100%)}.app-shell{padding-top:18px}.topbar,.portal-layout,.public-layout,.panel,.hero-panel{background:var(--surface);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:none;backdrop-filter:none}.topbar{top:12px;padding:10px 12px;border-radius:18px}.brand-seal{width:46px;height:46px;padding:5px;border-color:#7c172424;background:#fffaf4}.brand-kicker,.soft-label,.stat-label,caption,.nav-group-label{letter-spacing:.08em}.workspace-switcher{border-radius:12px;background:#fffaf4bd}.workspace-switcher button{min-height:36px;border-radius:10px}.portal-layout{grid-template-columns:248px minmax(0,1fr);border-radius:18px}.sidebar{padding:16px 12px;background:linear-gradient(180deg,#fffaf4d1,#fffaf485),var(--surface)}.sidebar-title{padding:10px 12px 14px}.side-nav{gap:12px}.nav-group{display:grid;gap:5px}.nav-group-label{padding:8px 12px 2px;color:var(--muted-soft);font-size:10px;font-weight:800;text-transform:uppercase}.side-nav button{min-height:38px;border-radius:10px;font-size:13px;font-weight:700}.side-nav button.active{border-color:#7c17241f;background:#7c172417}.content-stack{gap:16px}.section-header{padding:2px 2px 0}.section-header h2{font-size:clamp(1.7rem,3vw,2.55rem);letter-spacing:-.01em}.section-header p{max-width:54rem;margin-top:8px;line-height:1.55}.command-panel,.hero-panel{position:relative;display:flex;justify-content:space-between;gap:24px;overflow:hidden;padding:24px;border:1px solid var(--line);border-radius:var(--radius-panel);background:linear-gradient(90deg,#fffaf4eb,#fffaf4bd),var(--surface-strong);box-shadow:none}.command-panel:after,.hero-panel:after{content:"";position:absolute;right:-54px;bottom:-66px;width:210px;height:210px;border:28px solid rgba(124,23,36,.055);border-radius:50%;pointer-events:none}.command-panel h1,.hero-panel h1{max-width:22ch;margin:9px 0 0;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(2rem,4vw,3.3rem);font-weight:650;line-height:1;letter-spacing:-.02em}.command-panel p,.hero-panel p{max-width:40rem;margin-top:12px;color:var(--muted);line-height:1.65}.stat-grid{gap:12px}.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.panel,.empty-state,.announcement-item{background:#fffaf4bd;box-shadow:none}.stat-card{min-height:116px;padding:16px;border-radius:12px}.stat-card strong{font-size:1.75rem}.panel{border-radius:12px}.panel-header{min-height:52px;padding:16px 18px 0}.panel h3{font-size:1rem}.primary-button,.secondary-button,.icon-button,.link-button,.table-sort-button,.action-list button{border-radius:10px}.primary-button,.secondary-button{min-height:40px;padding-inline:14px;font-size:13px}.danger-action,.danger-primary{border-color:#8c3d352e}.danger-action{color:var(--danger)}.danger-primary{background:var(--danger);border-color:var(--danger)}.toolbar-panel{display:grid;gap:14px;padding:16px 18px 0}.toolbar-panel .filter-bar,.panel>.filter-bar{padding:0}.filter-bar{flex-wrap:wrap;align-items:flex-end}.filter-controls{display:flex;flex-wrap:wrap;gap:10px}.filter-controls label{display:grid;gap:6px;min-width:126px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.filter-controls input,.filter-controls select{min-height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-strong);color:var(--text);font-size:13px;text-transform:none;letter-spacing:0}.toolbar-panel .helper-text,.toolbar-panel .form-error,.import-controls .helper-text,.import-controls .form-error{padding:0}.table-frame{padding:14px 18px 18px}.table-frame-dense{padding-top:10px}table{min-width:720px}th,td{padding:11px 10px}th{color:#7d716b;font-size:10px;letter-spacing:.07em}td{font-size:13px}.cell-right{text-align:right}.cell-center{text-align:center}.table-sort-button{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit}.sort-icon{transition:transform .16s ease}.sort-icon-asc{transform:rotate(180deg)}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;color:var(--muted);font-size:12px;font-weight:700}.pagination-controls{display:flex;gap:6px}.status-badge{min-height:25px;padding-inline:9px;border-radius:999px;font-size:11px}.workflow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.workflow-steps li{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px;font-weight:800}.workflow-steps span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#3d2c2d0f;color:var(--muted)}.workflow-steps li.active{border-color:#7c172429;background:var(--accent-soft);color:var(--accent-strong)}.workflow-steps li.active span{background:var(--accent);color:#fffaf4}.review-summary,.inline-state,.selection-row{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffaf4b8}.review-summary svg,.inline-state svg{flex:0 0 auto;color:var(--accent)}.review-summary strong,.review-summary span,.inline-state strong,.inline-state span{display:block}.review-summary strong,.inline-state strong{color:var(--text-strong);font-size:13px}.review-summary span,.inline-state span{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}.selection-row{align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:700}.action-list{display:grid;gap:6px;padding:14px 18px 18px}.action-list button{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;border:1px solid var(--line);background:#fffaf4c2;color:var(--text);font-size:13px;font-weight:750}.action-list button:hover,.action-list button:focus-visible{outline:none;border-color:#7c17242e;background:var(--accent-soft);color:var(--accent-strong)}.announcement-preview{display:grid;gap:8px}.announcement-preview .announcement-item{margin:0}.empty-state{align-items:flex-start;margin:14px 18px 18px;border-radius:12px}.empty-state-action{margin-top:12px}.credential-panel{margin:0 18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:#15101047}.confirm-dialog{display:grid;gap:16px;width:min(430px,100%);padding:20px;border:1px solid rgba(61,44,45,.16);border-radius:16px;background:var(--surface-strong);box-shadow:0 28px 80px #1510102e}.confirm-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(124,23,36,.16);border-radius:50%;background:var(--accent-soft);color:var(--accent-strong)}.confirm-dialog h2{margin:0;color:var(--text-strong);font-family:var(--font-display);font-size:1.2rem}.confirm-dialog p{margin:7px 0 0;color:var(--muted);line-height:1.55}.confirm-dialog .button-row{justify-content:end}.public-layout{box-shadow:none}.public-hero h1{font-size:clamp(2rem,5vw,4rem)}@media(max-width:1120px){.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.topbar{border-radius:16px}.portal-content,.public-layout{padding:18px}.command-panel,.hero-panel{flex-direction:column;padding:20px}.nav-group-label{grid-column:1 / -1}.filter-controls,.filter-controls label,.search-field{width:100%}.workflow-steps,.compact-stats{grid-template-columns:1fr}.table-footer,.selection-row{align-items:stretch;flex-direction:column}table{min-width:0}td.cell-right,td.cell-center{text-align:right}}:root{--bg: #f6efe7;--bg-alt: #eee4da;--surface: rgba(255, 252, 247, .88);--surface-strong: #fffbf6;--surface-muted: #f8f1ea;--text: #2b2522;--text-strong: #14100f;--muted: #756961;--muted-soft: #a2948a;--line: rgba(54, 38, 35, .11);--line-strong: rgba(54, 38, 35, .18);--accent: #8f1725;--accent-strong: #68111b;--accent-soft: rgba(143, 23, 37, .08);--accent-wash: #f4e8e6;--success: #3d7a53;--success-soft: rgba(61, 122, 83, .12);--warning: #9a6423;--warning-soft: rgba(154, 100, 35, .12);--danger: #9b3e32;--danger-soft: rgba(155, 62, 50, .12);--elaris: #0b2a59;--shadow-lg: 0 22px 55px rgba(58, 41, 36, .1);--shadow-md: 0 12px 28px rgba(58, 41, 36, .08);--shadow-sm: 0 6px 18px rgba(58, 41, 36, .06);--radius-panel: 14px;--radius-card: 8px;--radius-control: 8px}html,body{overflow-x:hidden}body{background:linear-gradient(180deg,#ffffffc7,#fff0 34%),linear-gradient(135deg,rgba(143,23,37,.04) 0 1px,transparent 1px 22px),linear-gradient(180deg,#fffbf6 0%,var(--bg) 48%,var(--bg-alt) 100%)}.app-shell{width:min(calc(100% - 32px),1420px);padding:18px 0 28px}.topbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(180px,1fr);align-items:center;gap:16px;border-radius:14px;background:#fffcf7f0;box-shadow:var(--shadow-sm)}.brand-lockup{min-width:0}.brand-copy{display:grid;gap:1px;min-width:0}.brand-lockup strong{font-family:Georgia,Times New Roman,serif;color:var(--accent-strong);font-size:18px;letter-spacing:.02em;text-transform:uppercase}.brand-kicker{color:var(--accent);letter-spacing:.16em}.brand-seal{width:50px;height:50px;border-color:#8f172538}.workspace-switcher{justify-self:center;border-radius:12px;background:var(--surface-muted)}.workspace-switcher button{border-radius:8px}.topbar-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px}.elarissign{color:var(--elaris);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;opacity:.68}.notification-button{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fffbf6;color:var(--text);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.notification-button span{position:absolute;top:-3px;right:-2px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border:2px solid #fffbf6;border-radius:999px;background:var(--accent);color:#fffbf6;font-size:10px;font-weight:850}.notification-button:hover,.notification-button:focus-visible{outline:none;border-color:#8f172540;color:var(--accent-strong);transform:translateY(-1px)}.topbar,.portal-layout,.public-layout,.panel,.hero-panel,.command-panel{-webkit-backdrop-filter:none;backdrop-filter:none}.command-panel:after,.hero-panel:after{display:none}.portal-layout{grid-template-columns:238px minmax(0,1fr);margin-top:14px;border-radius:var(--radius-panel);background:#fffcf7d1;box-shadow:var(--shadow-lg)}.portal-layout.single-panel-layout{grid-template-columns:minmax(0,720px);justify-content:center}.auth-content{width:min(720px,100%)}.portal-layout-admin{grid-template-columns:232px minmax(0,1fr)}.portal-layout-admin .portal-content{padding:20px}.sidebar{background:linear-gradient(180deg,#fffcf7eb,#f8f1eab3)}.sidebar-title{border-bottom:1px solid var(--line);margin-bottom:8px}.side-nav button{border-radius:8px}.side-nav button.active,.side-nav button:hover,.side-nav button:focus-visible{border-color:#8f172524;background:var(--accent-soft)}.portal-content{padding:24px}.section-header h2{font-size:clamp(1.55rem,2.25vw,2.35rem);letter-spacing:0}.section-header p{max-width:56rem;line-height:1.5}.panel,.stat-card,.empty-state,.announcement-item,.academic-metric-card,.student-welcome-card,.student-attendance-card,.profile-hero-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.panel,.stat-card,.empty-state,.announcement-item,.academic-metric-card{border-radius:var(--radius-card)}.panel-header{min-height:48px}.student-hero-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.7fr);gap:14px}.student-welcome-card,.student-attendance-card,.profile-hero-panel{position:relative;overflow:hidden;border-radius:var(--radius-panel)}.student-welcome-card{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:236px;padding:28px;background:linear-gradient(120deg,#fffcf7f5,#faf1ebf0),var(--surface-strong)}.student-welcome-card h1,.profile-hero-panel h1{margin:10px 0 0;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(2rem,4vw,3.25rem);font-weight:680;line-height:1.02;letter-spacing:0}.student-welcome-card p,.profile-hero-panel p,.student-attendance-card p{margin:10px 0 0;color:var(--muted);line-height:1.55}.hero-mini-profile{position:relative;z-index:1;display:flex;align-items:center;gap:12px;min-width:min(270px,100%);padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffcf7b8}.hero-mini-profile strong,.hero-mini-profile span{display:block}.hero-mini-profile strong{color:var(--text-strong);font-size:14px}.hero-mini-profile span{margin-top:3px;color:var(--muted);font-size:12px}.profile-avatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:50%;background:var(--accent);color:#fffbf6;font-size:13px;font-weight:850}.profile-avatar-large{width:78px;height:78px;font-size:23px}.hero-watermark{position:absolute;right:-24px;bottom:-34px;width:205px;height:205px;object-fit:contain;opacity:.055;pointer-events:none}.student-attendance-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px}.student-attendance-card strong{display:block;margin-top:12px;color:var(--accent-strong);font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4rem);line-height:1}.progress-ring{display:grid;place-items:center;width:108px;height:108px;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle at center,var(--surface-strong) 0 55%,transparent 56%),conic-gradient(var(--accent) var(--progress),rgba(143,23,37,.12) 0);color:var(--accent-strong);font-family:var(--font-display);font-size:22px;font-weight:800}.student-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.page-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-metric-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-height:136px;padding:16px;overflow:hidden}.academic-metric-card strong{display:block;margin-top:10px;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.35rem);line-height:1}.academic-metric-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.metric-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(143,23,37,.14);border-radius:8px;background:var(--accent-soft);color:var(--accent-strong)}.academic-metric-card-success .metric-icon{border-color:#3d7a532e;background:var(--success-soft);color:var(--success)}.academic-metric-card-warning .metric-icon{border-color:#9a64232e;background:var(--warning-soft);color:var(--warning)}.metric-visual{grid-column:1 / -1;margin-top:auto}.sparkline{width:100%;max-width:170px;height:48px}.sparkline-stroke{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.sparkline-fill{fill:#8f17251a}.sparkline-empty{color:var(--muted);font-size:12px;font-weight:750}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(260px,.72fr);gap:14px;align-items:start}.schedule-rail,.announcement-brief-list{display:grid;gap:10px;padding:14px 18px 18px}.schedule-rail-item,.announcement-brief{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffcf7a3}.schedule-rail-item.active{border-color:#8f172533;background:var(--accent-soft)}.schedule-rail-item time{color:var(--accent-strong);font-size:12px;font-weight:850}.schedule-rail-item strong,.announcement-brief h3{display:block;margin:0;color:var(--text-strong);font-size:14px;line-height:1.25}.schedule-rail-item span,.announcement-brief p,.announcement-brief time{color:var(--muted);font-size:12px;line-height:1.45}.announcement-brief{grid-template-columns:auto minmax(0,1fr)}.announcement-brief-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong)}.announcement-brief p{margin:5px 0 0}.announcement-brief time{display:block;margin-top:8px;font-weight:750}.student-profile-card{display:grid;gap:0;margin:0;padding:14px 18px 18px}.student-profile-card div{display:flex;justify-content:space-between;gap:14px;min-width:0;padding:12px 0;border-bottom:1px solid var(--line)}.student-profile-card div:last-child{border-bottom:none}.profile-hero-panel{display:flex;align-items:center;gap:18px;padding:24px}.admin-context-bar{align-items:center;padding:14px;border-radius:10px;box-shadow:none}.admin-context-copy{display:grid;gap:4px}.admin-context-copy strong,.admin-context-copy span{display:block}.admin-context-copy strong{color:var(--text-strong);font-size:18px}.admin-context-copy span:last-child{color:var(--muted);font-size:12px}.admin-context-controls{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.portal-layout-admin .section-header h2{font-size:clamp(1.35rem,2vw,1.95rem)}.portal-layout-admin .content-stack{gap:14px}.portal-layout-admin .stat-card{min-height:104px}.portal-layout-admin .panel-header{min-height:44px}.filter-bar{align-items:end}.filter-controls label{min-width:132px}.table-frame{max-width:100%}table{min-width:680px}.portal-layout-admin table{min-width:760px}.table-actions{flex-wrap:nowrap}.icon-button,.editor-tool{width:36px;height:36px;border-radius:8px}.primary-button,.secondary-button,.link-button,.action-list button,.file-drop,.search-field,.form-grid input,.form-grid select,.form-grid textarea,textarea,.fake-input{border-radius:var(--radius-control)}.primary-button,.secondary-button,.workspace-switcher button,.side-nav button,.academic-metric-card,.schedule-rail-item,.announcement-brief,.stat-card,.panel,.announcement-item,.profile-hero-panel{animation:rise-in .26s ease both}.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:14px 4px 0;color:var(--muted);font-size:12px;line-height:1.5}.portal-footer nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.portal-footer a{color:var(--accent-strong);font-weight:750;text-decoration:none}.portal-footer a:hover,.portal-footer a:focus-visible{text-decoration:underline;text-underline-offset:3px}.mobile-bottom-nav{display:none}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1180px){.student-metric-grid,.dashboard-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid .panel:last-child{grid-column:1 / -1}}@media(max-width:900px){.app-shell{width:min(calc(100% - 20px),1420px);padding-top:10px;padding-bottom:92px}.topbar{position:sticky;top:8px;grid-template-columns:1fr auto;gap:10px;padding:10px;border-radius:12px;width:100%;max-width:calc(100vw - 20px);overflow:hidden}.workspace-switcher{grid-column:1 / -1;width:100%;order:3;overflow:hidden}.workspace-switcher button{min-width:0}.workspace-switcher button svg{flex:0 0 auto}.topbar-actions .elarissign{display:none}.portal-layout,.portal-layout-admin{grid-template-columns:1fr;border-radius:12px}.portal-layout-student .sidebar{border-right:0;border-bottom:1px solid var(--line);padding:12px}.portal-layout-student .side-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.portal-layout-student .nav-group{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.portal-layout-student .nav-group-label{display:none}.portal-layout-student .side-nav button{min-width:0}.portal-layout-admin .sidebar{border-right:0;border-bottom:1px solid var(--line);padding:12px}.portal-layout-admin .side-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(138px,1fr);gap:8px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.portal-layout-admin .nav-group{min-width:138px;scroll-snap-align:start}.portal-content,.portal-layout-admin .portal-content,.public-layout{padding:16px;min-width:0;overflow:hidden}.section-header{gap:12px;min-width:0}.section-header>div,.section-action,.panel,.content-stack,.content-stack>*,.form-grid,.form-grid>*,.profile-grid,.split-grid,.import-layout{min-width:0;max-width:100%}.section-header,.section-header>div,.panel,.form-grid{width:100%}.form-grid{grid-template-columns:minmax(0,1fr)!important}.section-header h2{font-size:clamp(1.5rem,7vw,2.05rem);line-height:1.08}.section-header p,.panel p,.form-grid label,.primary-button,.secondary-button{max-width:100%;overflow-wrap:anywhere}.student-hero-layout,.student-metric-grid,.page-metric-grid,.dashboard-main-grid,.profile-grid,.split-grid,.import-layout{grid-template-columns:1fr}.dashboard-main-grid .panel:last-child{grid-column:auto}.student-welcome-card{flex-direction:column;align-items:stretch;min-height:auto;padding:20px}.student-attendance-card{align-items:center}.hero-mini-profile{min-width:0}.admin-context-bar,.admin-context-controls,.error-panel{align-items:stretch;flex-direction:column;min-width:0}.error-panel p{width:100%;min-width:0;overflow-wrap:anywhere}.error-panel .secondary-button,.admin-context-controls,.admin-context-controls label,.admin-context-controls .secondary-button{width:100%}.schedule-rail-item{grid-template-columns:minmax(58px,.35fr) minmax(0,1fr)}.schedule-rail-item .status-badge{grid-column:1 / -1;justify-self:start}.table-frame{padding:12px}.table-actions{justify-content:flex-end;flex-wrap:wrap}.mobile-bottom-nav{position:fixed;left:8px;right:8px;bottom:max(10px,env(safe-area-inset-bottom));z-index:30;display:grid;width:auto;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;border:1px solid var(--line-strong);border-radius:20px;background:#fffcf7f5;box-shadow:0 18px 42px #14100f29}.mobile-bottom-nav button{display:grid;place-items:center;gap:4px;min-width:0;min-height:54px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--muted);font-size:10px;font-weight:750;line-height:1.1;text-align:center;transition:background .16s ease,color .16s ease,border-color .16s ease}.mobile-bottom-nav button span{max-width:100%;overflow-wrap:anywhere}.mobile-bottom-nav button.active{border-color:#8f172529;background:var(--accent);color:#fffbf6}.portal-footer{flex-direction:column;align-items:flex-start;padding-bottom:102px}}@media(max-width:560px){.brand-seal{width:44px;height:44px}.brand-lockup strong{font-size:14px}.brand-kicker{font-size:9px}.workspace-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-switcher button{gap:5px;padding:0 6px;font-size:11px}.workspace-switcher button svg{width:15px;height:15px}.portal-layout-student .side-nav,.portal-layout-student .nav-group{grid-template-columns:repeat(2,minmax(0,1fr))}.student-welcome-card h1,.profile-hero-panel h1{font-size:clamp(1.8rem,10vw,2.35rem)}.student-attendance-card{flex-direction:column;align-items:flex-start}.progress-ring{width:96px;height:96px;font-size:19px}.academic-metric-card{min-height:118px}.announcement-item,.profile-hero-panel{flex-direction:column}td{align-items:flex-start;flex-direction:column;gap:6px}td:before{flex:none}td.cell-right,td.cell-center{text-align:left}.detail-list div,.student-profile-card div{flex-direction:column;gap:5px}.detail-list dd{text-align:left}.mobile-bottom-nav{gap:3px;padding:6px;border-radius:18px}.mobile-bottom-nav button{min-height:52px;border-radius:12px;font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}:root{--bg: #f6efe7;--bg-alt: #eee4da;--surface: rgba(255, 252, 247, .92);--surface-strong: #fffbf6;--surface-muted: #f8f1ea;--text: #2b2522;--text-strong: #14100f;--muted: #746860;--muted-soft: #a19389;--line: rgba(54, 38, 35, .12);--line-strong: rgba(54, 38, 35, .2);--accent: #8f1725;--accent-strong: #67111b;--accent-soft: rgba(143, 23, 37, .08);--accent-wash: #f4e8e6;--elaris: #071f46;--elaris-blue: #155fe8;--shadow-lg: 0 22px 54px rgba(58, 41, 36, .1);--shadow-md: 0 13px 30px rgba(58, 41, 36, .08);--shadow-sm: 0 6px 18px rgba(58, 41, 36, .06);--radius-panel: 14px;--radius-card: 8px;--radius-control: 8px}body{background:linear-gradient(180deg,#ffffffd1,#fff0 34%),linear-gradient(135deg,rgba(143,23,37,.035) 0 1px,transparent 1px 24px),linear-gradient(180deg,#fffbf6 0%,var(--bg) 48%,var(--bg-alt) 100%)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 4px #8f17251f}.topbar{border-radius:var(--radius-panel);background:#fffcf7f5}.workspace-switcher button.active{box-shadow:0 8px 18px #8f172529}.topbar-actions{min-width:0}.elaris-logo{display:inline-flex;align-items:center;gap:7px;width:fit-content;min-width:0;color:var(--elaris);font-size:12px;font-weight:800;letter-spacing:.02em;text-decoration:none;white-space:nowrap;transition:color .16s ease,opacity .16s ease,transform .16s ease}.elaris-logo:hover,.elaris-logo:focus-visible{color:var(--elaris-blue);transform:translateY(-1px)}.elaris-mark{position:relative;display:block;width:28px;height:22px;flex:0 0 auto;overflow:hidden}.elaris-mark span{position:absolute;left:2px;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--elaris-blue),var(--elaris));transform:skew(-18deg)}.elaris-mark span:nth-child(1){top:0;width:24px}.elaris-mark span:nth-child(2){top:8px;width:22px;background:var(--elaris)}.elaris-mark span:nth-child(3){bottom:0;width:26px}.elaris-wordmark{font-family:Segoe UI Variable Display,Segoe UI,sans-serif;font-size:13px;font-weight:850;letter-spacing:.01em}.elaris-logo-compact .elaris-wordmark{font-size:12px}.portal-layout-student{grid-template-columns:minmax(0,1fr)}.portal-layout-student .sidebar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line);background:#fffcf7c2}.portal-layout-student .sidebar-title{flex:0 1 220px;margin:0;padding:0;border:0}.portal-layout-student .side-nav{flex:1 1 auto;flex-direction:row;justify-content:flex-end;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:thin}.portal-layout-student .nav-group{display:flex;align-items:center;gap:6px;min-width:0}.portal-layout-student .nav-group-label{display:none}.portal-layout-student .side-nav button{min-height:40px;padding:0 12px;border-radius:var(--radius-control);white-space:nowrap}.portal-layout-student .side-nav button.active{border-color:#8f17252e;background:var(--accent);color:#fffbf6}.portal-layout-student .portal-content{padding:24px}.dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dashboard-date-pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fffcf7c7;color:var(--muted);font-size:12px;font-weight:800}.student-welcome-card,.student-attendance-card,.profile-hero-panel,.command-panel,.public-hero{box-shadow:var(--shadow-sm)}.student-welcome-card{min-height:214px;background:linear-gradient(120deg,#fffcf7fa,#f7ece6f2),var(--surface-strong)}.student-welcome-card h1{max-width:14ch}.academic-metric-card,.stat-card,.schedule-rail-item,.announcement-brief,.announcement-item{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.academic-metric-card:hover,.stat-card:hover,.schedule-rail-item:hover,.announcement-brief:hover,.announcement-item:hover{border-color:#8f17252e;box-shadow:var(--shadow-md);transform:translateY(-1px)}.table-frame{max-width:100%;overflow-x:auto}.table-action-cell{width:1%;white-space:nowrap}.table-action-cell .table-actions{justify-content:flex-end}.portal-footer{align-items:center;padding:16px 4px 0}.portal-footer>span{max-width:56rem}.portal-footer button{border:0;padding:0;background:transparent;color:var(--accent-strong);font:inherit;font-weight:750}.portal-footer button:hover,.portal-footer button:focus-visible{text-decoration:underline;text-underline-offset:3px}.legal-dialog{display:grid;gap:16px;width:min(620px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;padding:22px;border:1px solid rgba(61,44,45,.16);border-radius:var(--radius-panel);background:var(--surface-strong);box-shadow:0 28px 80px #1510102e;animation:dialog-in .18s ease both}.legal-dialog-header,.legal-dialog-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.legal-dialog h2{margin:5px 0 0;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(1.35rem,4vw,1.9rem);line-height:1.05}.legal-dialog p{margin:0;color:var(--muted);line-height:1.65}.legal-dialog ul{display:grid;gap:9px;margin:0;padding-left:20px;color:var(--text);line-height:1.55}.legal-dialog-footer{align-items:center;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.45}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1180px){.portal-layout-student .sidebar{align-items:stretch;flex-direction:column}.portal-layout-student .sidebar-title,.portal-layout-student .side-nav{width:100%}.portal-layout-student .side-nav{justify-content:flex-start}}@media(max-width:900px){.topbar{max-width:100%;overflow:visible}.topbar-actions .elaris-logo{display:none}.portal-layout-student .sidebar{align-items:stretch;flex-direction:column}.portal-layout-student .side-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;overflow:visible}.portal-layout-student .nav-group{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-layout-student .side-nav button{width:100%;min-width:0;padding:0 8px;white-space:normal}.portal-layout-student.portal-layout-has-mobile-nav .sidebar{display:none}.dashboard-actions,.section-action{width:100%;justify-content:flex-start}.dashboard-actions .secondary-button,.dashboard-date-pill{flex:1 1 190px}.student-welcome-card,.student-attendance-card{border-radius:12px}.portal-footer{padding-bottom:106px}.legal-dialog-footer{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.table-frame{overflow:visible}.table-frame table,.table-frame thead,.table-frame tbody,.table-frame tr,.table-frame td{display:block;width:100%;min-width:0}.table-frame thead{display:none}.table-frame tbody{display:grid;gap:10px}.table-frame tr{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fffcf7cc}.table-frame td{display:grid;grid-template-columns:minmax(92px,.4fr) minmax(0,1fr);align-items:start;gap:10px;padding:12px;border-bottom:1px solid var(--line);text-align:left;white-space:normal;overflow-wrap:anywhere}.table-frame td:last-child{border-bottom:0}.table-frame td:before{content:attr(data-label);min-width:0;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.table-action-cell{width:auto}.table-action-cell .table-actions{justify-content:flex-start;white-space:normal}.filter-bar,.filter-controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.filter-controls label,.search-field{width:100%;min-width:0}.workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.app-shell{width:min(calc(100% - 16px),1420px)}.topbar{grid-template-columns:minmax(0,1fr) auto;overflow:hidden}.brand-lockup{gap:9px}.workspace-switcher{min-width:0}.workspace-switcher button{min-height:36px;min-width:0;overflow:hidden;padding-inline:4px;text-overflow:ellipsis}.portal-layout-student .side-nav,.portal-layout-student .nav-group{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-actions .secondary-button,.dashboard-date-pill{flex-basis:100%}.table-frame td{grid-template-columns:minmax(0,1fr)}.legal-dialog{padding:18px}.legal-dialog-header{gap:10px}.portal-footer nav{gap:12px}.portal-footer .elaris-logo{margin-top:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
