@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#f3efe6;--surface:hsla(0,0%,100%,.84);--surface-strong:#fff;--surface-soft:rgba(255,248,235,.92);--text:#192235;--muted:#5f6778;--border:rgba(25,34,53,.08);--navy:#11203b;--navy-soft:#1b3158;--gold:#f0b94b;--gold-soft:rgba(240,185,75,.18);--green:#0d7a5f;--red:#b53636;--shadow:0 20px 60px rgba(17,32,59,.12);--color-primary:#fe4e00;--color-primary-light:#ff6b1a;--color-bg-primary:#f8fafc;--color-bg-secondary:#fff;--color-bg-tertiary:#f1f5f9;--color-bg-card:#fff;--color-bg-hover:rgba(0,0,0,.03);--color-bg-input:#fff;--color-border-primary:transparent;--color-border-secondary:transparent;--color-border-tertiary:#cbd5e1;--color-border-input:#e2e8f0;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-placeholder:#94a3b8;--color-error:#ef4444;--color-success:#10b981;--color-warning:#f59e0b;--color-info:#3b82f6;--color-brand-primary:#fe4e00;--color-brand-primary-light:#ff6b1a;--color-button-text:#fff;--font-inter:"Inter Variable",system-ui,sans-serif;--navy:var(--color-text-primary);--muted:var(--color-text-muted);--text:var(--color-text-primary);--border:var(--color-border-input);--surface:var(--color-bg-card)}@supports (color:rgb(0 0 0/0)){:root{--shadow:0 1px 3px 0 rgba(0,0,0,.06)}}@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;font-family:var(--font-inter),Inter,system-ui,sans-serif;background:var(--color-bg-tertiary);color:var(--color-text-primary);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.page-loader{place-items:center;color:var(--color-text-muted)}.login-shell,.page-loader{min-height:100vh;display:grid}.login-shell{place-items:center;padding:24px}.login-page-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg-tertiary)}.login-page-card{width:100%;max-width:28rem;background:var(--color-bg-card);border:1px solid var(--color-border-tertiary);border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -2px rgba(0,0,0,.06);overflow:hidden}.login-page-card-header{padding:24px 24px 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.login-page-card-header .login-page-icon{margin-bottom:12px;color:#06b6d4}.login-page-card-header h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.login-page-card-header p{margin:0;font-size:.875rem;color:var(--color-text-muted)}.login-page-card-body{padding:24px}.login-page-form{display:flex;flex-direction:column;gap:16px}.login-page-form .login-page-field{display:flex;flex-direction:column;gap:6px}.login-page-form label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.login-page-form input{width:100%;padding:8px 12px;font-size:1rem;border:1px solid var(--color-border-input);border-radius:8px;background:var(--color-bg-input);color:var(--color-text-primary)}.login-page-form input:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 2px rgba(254,78,0,.2)}.login-page-form .login-page-error{font-size:.875rem;padding:8px;border-radius:8px;background:rgba(239,68,68,.1);color:var(--color-error)}.login-page-form .login-page-submit{width:100%;padding:10px 16px;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:var(--color-brand-primary);color:var(--color-button-text);cursor:pointer}.login-page-form .login-page-submit:hover:not(:disabled){opacity:.9}.login-page-form .login-page-submit:disabled{opacity:.6;cursor:wait}.login-page-credentials{margin-top:24px;padding:16px;border-radius:8px;background:var(--color-bg-hover)}.login-page-credentials-title{font-size:.75rem;font-weight:600;margin:0 0 12px;color:var(--color-text-primary)}.login-page-credential-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.login-page-credential-btn{display:block;width:100%;padding:10px 12px;font-size:.75rem;text-align:left;border:1px solid var(--color-border-input);border-radius:8px;background:#f1f5f9;color:var(--color-text-primary);cursor:pointer}.login-page-credential-btn:hover{opacity:.9}.login-page-credential-btn .login-page-role{display:block;font-weight:600;margin-bottom:2px;color:var(--color-text-primary)}.login-page-credential-btn .login-page-email{display:block;font-size:.75rem;color:var(--color-text-muted)}.login-card{width:min(100%,780px);background:var(--color-bg-card);border:1px solid var(--color-border-tertiary);border-radius:12px;padding:32px;box-shadow:0 4px 6px -1px rgba(0,0,0,.08)}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--color-bg-hover);color:var(--color-text-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-brand{display:grid;grid-template-columns:auto 1fr;grid-gap:20px;gap:20px;align-items:start;margin-top:18px}.brand-badge{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:rgba(254,78,0,.12);color:var(--color-brand-primary)}.login-brand h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1;letter-spacing:-.04em}.login-brand p{margin:12px 0 0;color:var(--color-text-muted);max-width:580px;line-height:1.6}.login-form{display:grid;grid-gap:16px;gap:16px;margin-top:28px}.login-form label{display:grid;grid-gap:8px;gap:8px}.login-form label span{font-size:12px;font-weight:700;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.login-form input,.workspace input,.workspace select,.workspace textarea{width:100%;border:1px solid var(--color-border-input);border-radius:8px;padding:10px 12px;background:var(--color-bg-input);color:var(--color-text-primary)}.login-form input:focus,.workspace input:focus,.workspace select:focus,.workspace textarea:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 2px rgba(254,78,0,.2)}.error-banner{padding:12px 14px;border-radius:8px;background:rgba(239,68,68,.1);color:var(--color-error);font-size:14px}.ghost-btn,.primary-btn,.soft-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:10px 16px;font-weight:600;transition:background .12s ease,opacity .12s ease}.primary-btn{border:none;background:var(--color-brand-primary);color:var(--color-button-text)}.ghost-btn{border:1px solid var(--color-border-input);background:var(--color-bg-card);color:var(--color-text-primary)}.ghost-btn:hover{background:var(--color-bg-hover)}.soft-btn{border:1px solid rgba(254,78,0,.25);background:rgba(254,78,0,.08);color:var(--color-brand-primary)}.soft-btn:hover{background:rgba(254,78,0,.12)}.primary-btn:hover{opacity:.9}.primary-btn:disabled{opacity:.6;cursor:wait}.demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:20px}.demo-credential{border:1px solid rgba(17,32,59,.08);background:hsla(0,0%,100%,.75);border-radius:18px;padding:14px;text-align:left;display:grid;grid-gap:4px;gap:4px}.demo-credential strong{font-size:14px}.demo-credential span,.login-footnote{color:var(--color-text-muted);font-size:13px}.login-footnote{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:18px}.workspace{min-height:100vh;max-width:1440px;margin:0 auto;padding:20px}.workspace-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-radius:12px;background:var(--color-bg-card);border:1px solid var(--color-border-tertiary);color:var(--color-text-primary);box-shadow:0 1px 3px 0 rgba(0,0,0,.06)}.workspace-topbar h1{margin:6px 0 0;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.04em}.workspace-topbar p{margin:4px 0 0;color:var(--color-text-muted)}.content-grid,.list-grid,.metric-grid,.pill-row,.stats-grid,.toolbar-row,.workspace-badge-row{display:grid;grid-gap:16px;gap:16px}.workspace-badge-row{grid-template-columns:repeat(auto-fit,minmax(180px,max-content));margin-top:18px}.workspace-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--color-bg-hover);color:var(--color-text-secondary)}.toolbar-row{grid-template-columns:300px 1fr auto;margin-top:18px;align-items:center}.content-grid{grid-template-columns:260px minmax(0,1fr);margin-top:20px}.issue-card,.metric-card,.panel,.sheet,.sidebar,.timeline-card{background:var(--color-bg-card);border:1px solid var(--color-border-tertiary);border-radius:12px;box-shadow:0 1px 3px 0 rgba(0,0,0,.06)}.sidebar{padding:18px;position:-webkit-sticky;position:sticky;top:20px;height:-moz-fit-content;height:fit-content}.sidebar button{width:100%;text-align:left;border:none;background:transparent;color:var(--color-text-muted);padding:12px 14px;border-radius:8px;display:flex;align-items:center;gap:10px;font-weight:600}.sidebar button.active{background:rgba(254,78,0,.1);color:var(--color-brand-primary)}.panel{padding:18px}.metric-grid,.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.issue-card,.metric-card,.timeline-card{padding:18px}.metric-card strong{display:block;font-size:2rem;letter-spacing:-.06em;margin-bottom:6px}.helper-text,.meta-text,.metric-card span,.section-subtitle{color:var(--color-text-muted)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-header h2,.section-header h3{margin:0;letter-spacing:-.04em}.pill-row{grid-template-columns:repeat(auto-fit,minmax(110px,max-content))}.ceremony-pill,.status-badge,.tag{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700}.ceremony-pill{border:1px solid var(--color-border-input);background:var(--color-bg-card)}.ceremony-pill.active{background:var(--color-brand-primary);color:var(--color-button-text);border-color:var(--color-brand-primary)}.tag{background:var(--color-bg-hover);color:var(--color-text-primary)}.status-badge.green{background:rgba(16,185,129,.12);color:var(--color-success)}.status-badge.red{background:rgba(239,68,68,.1);color:var(--color-error)}.status-badge.yellow{background:rgba(240,185,75,.2);color:#8c5a00}.status-badge.blue{background:rgba(29,78,216,.12);color:#1d4ed8}.status-badge.gray{background:var(--color-bg-hover);color:var(--color-text-muted)}.status-badge.purple{background:rgba(109,40,217,.12);color:#6d28d9}.list-grid{grid-template-columns:1fr}.audit-row,.export-row,.issue-row,.requirement-row,.student-row{padding:16px;border:1px solid var(--color-border-input);border-radius:8px;background:var(--color-bg-card)}.student-row{display:flex;justify-content:space-between;gap:16px;align-items:start}.export-row h3,.issue-row h3,.requirement-row h3,.student-row h3,.timeline-card h3{margin:0;letter-spacing:-.03em}.student-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.qr-box{width:110px;height:110px;border-radius:8px;background:var(--color-bg-hover);border:1px solid var(--color-border-input);padding:10px;display:grid;grid-template-columns:repeat(9,1fr);grid-gap:3px;gap:3px}.qr-box span{display:block;border-radius:3px;background:transparent}.qr-box span.on{background:var(--color-text-primary)}.drawer{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:1fr min(640px,100%)}.drawer-backdrop{background:rgba(15,23,42,.25)}.sheet{height:100vh;border-radius:12px 0 0 12px;padding:24px;overflow:auto;background:var(--color-bg-card);border-left:1px solid var(--color-border-tertiary)}.sheet-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px}.sheet-header h2,.sheet-header h3{margin:0}.field-grid{display:grid;grid-gap:14px;gap:14px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid label{display:grid;grid-gap:8px;gap:8px}.field-grid label span{font-size:12px;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.cta-row,.segmented-row,.topbar-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.scan-panel{padding:22px;border-radius:12px;background:var(--color-bg-card);border:1px solid var(--color-border-tertiary);color:var(--color-text-primary)}.scan-view{min-height:280px;border-radius:12px;border:1px dashed var(--color-border-input);display:grid;place-items:center;text-align:center;color:var(--color-text-muted);margin-bottom:16px}.scan-result{padding:22px;border-radius:12px;color:var(--color-text-primary)}.scan-result.success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3)}.scan-result.error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3)}.portal-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:16px}.portal-step{border:1px solid var(--color-border-input);border-radius:8px;padding:12px;background:var(--color-bg-card);text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-primary)}.portal-step.active{background:var(--color-brand-primary);color:var(--color-button-text);border-color:var(--color-brand-primary)}.radio-card{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--color-border-input);border-radius:8px;background:var(--color-bg-card)}@media (max-width:1024px){.content-grid{grid-template-columns:1fr}.sidebar{position:static}.toolbar-row{grid-template-columns:1fr}}@media (max-width:720px){.login-card,.workspace{padding:16px}.login-brand,.workspace-topbar{grid-template-columns:1fr;display:grid}.demo-grid,.field-grid.two,.portal-step-grid{grid-template-columns:1fr}.sheet{border-radius:24px 24px 0 0;height:auto;margin-top:auto}.drawer{grid-template-columns:1fr}}