@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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(/assets/inter-cyrillic-wght-normal-DqGufNeO.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(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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: #0f172a;--bg-soft: #1e293b;--surface: #ffffff;--surface-2: #f8fafc;--canvas: #f1f5f9;--border: #e6eaf0;--border-strong: #d3dae4;--text: #0f172a;--text-soft: #475569;--muted: #94a3b8;--primary: #4f46e5;--primary-dark: #4338ca;--primary-soft: #eef2ff;--success: #15803d;--success-bg: #dcfce7;--warn: #b45309;--warn-bg: #fef3c7;--danger: #dc2626;--danger-bg: #fee2e2;--info: #0369a1;--info-bg: #e0f2fe;--header-bg: #ffffff;--header-text: #0f172a;--chrome-glass: rgba(255, 255, 255, .82);--canvas-glass: rgba(241, 245, 249, .8);--accent-text: var(--primary-dark);--sidebar-bg: #eef1f5;--sidebar-hover: #e2e7ee;--radius: 14px;--radius-sm: 9px;--radius-lg: 20px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 2px 6px rgba(15, 23, 42, .05);--shadow-md: 0 2px 4px rgba(15, 23, 42, .04), 0 8px 20px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12), 0 2px 8px rgba(15, 23, 42, .06);--ring: 0 0 0 3px rgba(79, 70, 229, .16);--font: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-snug: 1.4;--lh-normal: 1.6}:root[data-theme=dark]{--surface: #1a2233;--surface-2: #222c40;--canvas: #0f1626;--border: #2c3852;--border-strong: #3a4a68;--text: #e8edf5;--text-soft: #aab6ca;--muted: #7787a0;--primary: #6366f1;--primary-dark: #818cf8;--primary-soft: rgba(99, 102, 241, .16);--accent-text: #c7d2fe;--success: #4ade80;--success-bg: rgba(34, 197, 94, .16);--warn: #fbbf24;--warn-bg: rgba(245, 158, 11, .16);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .16);--info: #38bdf8;--info-bg: rgba(56, 189, 248, .16);--header-bg: #1a2233;--header-text: #e8edf5;--chrome-glass: rgba(26, 34, 51, .82);--canvas-glass: rgba(15, 22, 38, .82);--portal-navy: var(--text);--sidebar-bg: #1a2233;--sidebar-hover: #222c40;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .32);--shadow-md: 0 2px 4px rgba(0, 0, 0, .4), 0 8px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .4);--ring: 0 0 0 3px rgba(99, 102, 241, .35);color-scheme:dark}*{box-sizing:border-box}.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}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}html,body,#root{height:100%}html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}img,svg,video,canvas{max-width:100%}img,video{height:auto}p,li,dd,td,.cell-title,.break-anywhere{overflow-wrap:break-word}body{margin:0;font-family:var(--font);font-size:var(--text-base);font-weight:var(--fw-normal);line-height:var(--lh-normal);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01","liga" 1,"calt" 1;letter-spacing:-.006em}h1,h2,h3,h4{margin:0 0 .25em;line-height:var(--lh-tight);font-weight:var(--fw-bold);letter-spacing:-.021em;color:var(--text);text-wrap:balance}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);font-weight:var(--fw-semibold);letter-spacing:-.014em}h4{font-size:var(--text-md);font-weight:var(--fw-semibold);letter-spacing:-.01em}p{margin:0 0 .5em;line-height:var(--lh-normal)}a{color:var(--primary)}.muted{color:var(--text-soft)}.small{font-size:var(--text-sm)}.mono{font-family:var(--font-mono);font-size:var(--text-sm);font-feature-settings:"tnum" 1}table,.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.neg{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem 1rem;font-size:.875rem;font-weight:600;letter-spacing:-.006em;line-height:1.2;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .08s ease;background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs);font-family:inherit}.btn:not(:disabled):active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.32rem .65rem;font-size:.8rem;gap:.35rem}.btn-block{width:100%}.btn-primary{background:var(--primary);border-color:transparent;color:#fff;box-shadow:0 1px 2px #4f46e559,0 2px 8px #4f46e533}.btn-primary:not(:disabled):hover{background:var(--primary-dark);box-shadow:0 2px 4px #4f46e566,0 6px 16px #4f46e547}.btn-danger{background:var(--danger);border-color:transparent;color:#fff;box-shadow:0 1px 2px #dc262652,0 2px 8px #dc26262e}.btn-danger:not(:disabled):hover{background:#b91c1c}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text-soft);box-shadow:none}.btn-ghost:not(:disabled):hover{background:var(--surface-2);border-color:#cbd5e1;color:var(--text)}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font:inherit;padding:0}.back-link{display:inline-flex;align-items:center;gap:.4rem;background:none;border:1px solid transparent;border-radius:999px;padding:.28rem .75rem .28rem .6rem;margin:0 0 .7rem -.6rem;font:inherit;font-size:.85rem;font-weight:600;color:var(--text-soft);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.back-link:hover{background:var(--surface-2);border-color:var(--border);color:var(--text)}.back-link .back-arrow{display:inline-flex;line-height:1;transition:transform .15s ease}.back-link:hover .back-arrow{transform:translate(-2px)}.portal-main .back-link:hover{color:var(--portal-accent-d)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--muted);line-height:1;padding:.3rem;border-radius:6px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.btn:focus-visible,.link-btn:focus-visible,.icon-btn:focus-visible,.tab:focus-visible,.portal-nav-link:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.portal-nav-link:focus-visible{outline-color:var(--primary);outline-offset:-2px}@media (pointer: coarse){.icon-btn,.action-menu-trigger,.notif-bell,.portal-nav-toggle,.scroll-chev,.link-btn{min-width:44px;min-height:44px}.action-menu-item,.portal-nav-link,.ui-select-option,.picker-row{min-height:44px}}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field>span{font-size:.82rem;font-weight:600;color:var(--text-soft)}.field .field-hint{font-weight:400;font-size:.76rem;line-height:1.4;color:var(--muted)}input,select,textarea{font:inherit;padding:.58rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);width:100%;transition:border-color .14s ease,box-shadow .14s ease}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (pointer: coarse){input,select,textarea,.ui-select{font-size:16px}}input::placeholder,textarea::placeholder{color:var(--muted)}input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:#b9c2d0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}textarea{resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:2.25rem;accent-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:1rem}select:hover:not(:focus),select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}select:disabled{cursor:not-allowed;opacity:.6}select option{background:var(--surface);color:var(--text)}select::-ms-expand{display:none}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aab6ca' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}:root[data-theme=dark] select:hover:not(:focus),:root[data-theme=dark] select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23818cf8' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.ui-select{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.58rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}.ui-select:hover:not(:focus-visible){border-color:#b9c2d0}.ui-select:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.ui-select[aria-expanded=true]{border-color:var(--primary);box-shadow:var(--ring)}.ui-select:disabled{cursor:not-allowed;opacity:.6}.ui-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-value.is-placeholder{color:var(--muted)}.ui-select-chevron{flex-shrink:0;color:var(--text-soft);transition:transform .16s ease,color .14s ease}.ui-select[aria-expanded=true] .ui-select-chevron{transform:rotate(180deg);color:var(--primary)}.ui-select-popup{position:fixed;z-index:1300;margin:0;padding:.3rem;list-style:none;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:ui-select-in .12s ease-out;outline:none}@keyframes ui-select-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-select-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.ui-select-option.is-active{background:var(--sidebar-hover, var(--surface-2))}.ui-select-option.is-selected{color:var(--accent-text);font-weight:600}.ui-select-option.is-selected.is-active{background:var(--primary-soft)}.ui-select-option.is-disabled{color:var(--muted);cursor:not-allowed}.ui-select-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-option-check{flex-shrink:0;color:var(--primary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.form-grid .span-2{grid-column:1 / -1}.check{display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin-bottom:.5rem}.check input{width:auto}.toggles{margin-top:.5rem}.error-text{color:var(--danger);font-size:.88rem;margin:.5rem 0;white-space:pre-line}.success-text{display:inline-flex;align-items:center;gap:.4rem;color:var(--success);font-size:.92rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.01em;line-height:1.4;white-space:nowrap;box-shadow:inset 0 0 0 1px #0f172a0f}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge svg{flex-shrink:0}.badge-neutral{background:var(--surface-2);color:var(--text-soft)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.status-cell,.role-cell{display:flex;flex-wrap:wrap;gap:.3rem}.device-cell{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.device-cell svg{flex-shrink:0;color:var(--muted)}.data-table tr.row-archived td{background:var(--surface-2);color:var(--muted)}.data-table tr.row-archived .cell-title{text-decoration:line-through;text-decoration-color:var(--muted)}.data-table tr.row-archived .row-actions{opacity:1}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-soft);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}.empty-title{font-weight:600;font-size:1.05rem;color:var(--text);margin-bottom:.25rem}.spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:3rem}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--surface)}.auth-showcase{position:relative;overflow:hidden;display:flex;color:#e2e8f0;background:radial-gradient(1200px 600px at 15% 10%,rgba(99,102,241,.28),transparent 55%),linear-gradient(150deg,#312e81,#1e293b 55%,#0f172a)}.auth-showcase-glow{position:absolute;width:460px;height:460px;right:-140px;bottom:-160px;border-radius:50%;background:radial-gradient(circle,rgba(129,140,248,.45),transparent 62%);filter:blur(20px);pointer-events:none}.auth-showcase:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 30% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(circle at 30% 30%,#000 0%,transparent 75%);pointer-events:none}.auth-showcase-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:2.5rem;padding:3rem 3.2rem;margin:auto;max-width:520px}.auth-brand{display:flex;align-items:center;gap:.85rem}.auth-brand-mark{display:inline-grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:14px;background:linear-gradient(135deg,var(--primary),#6366f1);color:#fff;font-weight:800;font-size:1rem;letter-spacing:.04em;box-shadow:0 6px 18px #4f46e573}.auth-brand-name{font-weight:700;font-size:clamp(1.02rem,.92rem + .5vw,1.22rem);line-height:1.25;letter-spacing:-.005em;color:#fff;overflow-wrap:anywhere}.auth-showcase-tag{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1rem;padding:.28rem .7rem;border-radius:999px;background:#818cf82e;border:1px solid rgba(129,140,248,.35);color:#c7d2fe;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.auth-showcase-title{font-size:2.1rem;line-height:1.18;font-weight:800;color:#fff;margin:0 0 .9rem;letter-spacing:-.01em}.auth-showcase-sub{font-size:1rem;line-height:1.6;color:#e2e8f0c7;margin:0;max-width:42ch}.auth-feature-list{list-style:none;margin:1.8rem 0 0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.auth-feature{display:flex;align-items:flex-start;gap:.85rem}.auth-feature-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:11px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#c7d2fe}.auth-feature>span:last-child{display:flex;flex-direction:column;gap:.1rem}.auth-feature strong{font-weight:600;font-size:.95rem;color:#f1f5f9}.auth-feature-hint{font-size:.82rem;color:#e2e8f09e}.auth-showcase-foot{font-size:.8rem;color:#e2e8f080;margin:0;line-height:1.9}.auth-showcase-link{color:#e2e8f0d1;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(226,232,240,.28);padding-bottom:1px}.auth-showcase-link:hover{color:#fff;border-bottom-color:#ffffffb3}.auth-panel{display:grid;place-items:center;padding:2rem 1.5rem;overflow-y:auto}.auth-card{width:100%;max-width:420px}.auth-mobile-brand{display:none;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.5rem}.auth-mobile-brand-name{font-weight:700;font-size:1.02rem;line-height:1.3;text-align:center;color:var(--text);max-width:22ch}.auth-head{margin-bottom:1.5rem}.auth-eyebrow{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;margin-bottom:.7rem;border-radius:999px;background:var(--info-bg);color:var(--primary-dark);font-size:.72rem;font-weight:700;letter-spacing:.02em}.auth-head h1{font-size:1.5rem;margin-bottom:.4rem}.acct-types{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1.5rem}.acct-type{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .4rem;text-align:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-soft);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.acct-type:hover{border-color:#c7d2fe;color:var(--text);transform:translateY(-1px)}.acct-type.is-active{border-color:var(--primary);background:#eef2ff;color:var(--primary-dark);box-shadow:0 0 0 1px var(--primary),0 6px 16px #4f46e51f}.acct-type:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.acct-type-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease}.acct-type.is-active .acct-type-icon{background:var(--primary);border-color:var(--primary);color:#fff}.acct-type-label{font-weight:600;font-size:.85rem}.acct-type-hint{font-size:.68rem;line-height:1.25;color:var(--muted)}.input-affix{position:relative;display:flex;align-items:center}.input-affix-icon{position:absolute;left:.75rem;color:var(--muted);pointer-events:none}.input-affix input{padding-left:2.35rem}.input-affix:has(.input-affix-btn) input{padding-right:2.6rem}.input-affix-btn{position:absolute;right:.4rem;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;background:none;color:var(--muted);cursor:pointer}.input-affix-btn:hover{background:var(--surface-2);color:var(--text)}.auth-submit{margin-top:.4rem;padding:.7rem 1rem;font-size:.95rem}.auth-divider{display:flex;align-items:center;text-align:center;gap:.75rem;margin:.25rem 0 .9rem;color:var(--muted);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.brand-mark{display:inline-block;background:var(--primary);color:#fff;font-weight:800;letter-spacing:.05em;padding:.25rem .6rem;border-radius:8px;font-size:.9rem}.brand-mark.lg{font-size:1.3rem;padding:.5rem .9rem}.auth-brand-logo{object-fit:contain;padding:6px;overflow:hidden}img.auth-brand-mark{background:#fff;box-shadow:0 6px 18px #0f172a40}.auth-foot{margin-top:1.4rem;text-align:center;font-size:.78rem;color:var(--muted)}.auth-foot strong{color:var(--text-soft);font-weight:700}.auth-foot-link{color:var(--primary);font-weight:600;text-decoration:none}.auth-foot-link:hover{text-decoration:underline}.auth-switch{text-align:center;margin-top:1.1rem;font-size:.9rem;color:var(--text-soft)}.auth-switch .link-btn{font-weight:600}.demo-creds{margin-top:1.4rem;text-align:center}.demo-row{display:flex;gap:.5rem;justify-content:center}@media (max-width: 900px){.auth-page{grid-template-columns:1fr;background:linear-gradient(135deg,#1e293b,#0f172a)}.auth-showcase{display:none}.auth-panel{padding:1.25rem;min-height:100vh;min-height:100dvh}.auth-card{background:var(--surface);border-radius:16px;padding:1.75rem;box-shadow:var(--shadow-lg)}.auth-mobile-brand{display:flex}}@media (max-width: 420px){.acct-types{grid-template-columns:1fr}.acct-type{flex-direction:row;justify-content:flex-start;gap:.7rem;text-align:left;padding:.6rem .75rem}.acct-type-hint{display:none}}.brand{display:flex;align-items:center;gap:.5rem}.brand-sub{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}:root{--portal-sidebar-w: 232px;--portal-rail-w: 66px;--portal-topbar-h: 58px;--portal-footer-h: 41px;--portal-accent: var(--primary);--portal-accent-d: var(--primary-dark);--portal-accent-dk: #3730a3;--portal-navy: #1e293b;--portal-mark: #818cf8}.portal-shell{height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-columns:var(--portal-rail-w) 1fr;grid-template-rows:var(--portal-topbar-h) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";background:var(--canvas);transition:grid-template-columns .24s cubic-bezier(.4,0,.2,1)}@media (hover: hover) and (pointer: fine){.portal-shell:has(.portal-sidebar:hover),.portal-shell:has(.portal-sidebar:focus-within){grid-template-columns:var(--portal-sidebar-w) 1fr}}.portal-topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:0 1.3rem;padding-left:max(1.3rem,env(safe-area-inset-left));padding-right:max(1.3rem,env(safe-area-inset-right));background:var(--chrome-glass);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);color:var(--header-text);position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);min-height:var(--portal-topbar-h)}.portal-topbar-head{flex:1;min-width:0;display:flex;align-items:center}.topbar-pagehead{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-width:0}.topbar-pagehead-text{min-width:0}.topbar-pagehead-back{margin-bottom:.1rem}.topbar-pagehead-back .back-link{margin:0 0 .05rem -.4rem;padding:.1rem .5rem .1rem .4rem;font-size:.78rem}.topbar-pagehead-title{margin:0;font-size:1.1rem;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--portal-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-pagehead-desc{margin:.05rem 0 0;font-size:.8rem;line-height:1.25;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-pagehead-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.portal-brand{display:flex;align-items:center;gap:.7rem;min-width:0}.portal-nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:none;border-radius:8px;background:var(--surface-2);color:var(--text-soft);cursor:pointer}.portal-nav-toggle:hover{background:var(--primary-soft);color:var(--accent-text)}.portal-scrim{display:none}.portal-logo{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--portal-accent);color:#fff;font-weight:800;letter-spacing:.04em;font-size:.8rem}.portal-brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.portal-brand-title{font-weight:700;font-size:.95rem;letter-spacing:-.005em;color:var(--text)}.portal-brand-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-topbar-right{display:flex;align-items:center;gap:.9rem;margin-left:auto}.notif{position:relative;display:flex;align-items:center}.notif-bell{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:transparent;color:var(--text-soft);cursor:pointer;transition:background .15s ease,color .15s ease}.notif-bell:hover{background:var(--surface-2);color:var(--text)}.notif-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.62rem;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #0f172a29;z-index:50;overflow:hidden}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem;border-bottom:1px solid var(--border)}.notif-panel-title{font-weight:650;font-size:.92rem}.notif-panel-actions{display:flex;align-items:center;gap:.35rem}.notif-markall{display:inline-flex;align-items:center;gap:.25rem;border:none;background:transparent;color:var(--primary);font-size:.78rem;font-weight:600;cursor:pointer;padding:.2rem .4rem;border-radius:6px}.notif-markall:hover{background:var(--primary-soft)}.notif-list{max-height:60vh;overflow-y:auto}.notif-empty{padding:1.6rem 1rem;text-align:center;color:var(--muted);font-size:.86rem}.notif-item{position:relative;display:flex;gap:.55rem;width:100%;text-align:left;padding:.7rem .85rem .7rem 1.4rem;border:none;border-bottom:1px solid var(--border);background:transparent;cursor:pointer;font-family:inherit;transition:background .12s ease}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-2)}.notif-item.unread{background:var(--primary-soft)}.notif-item.unread:hover{background:var(--primary-soft);filter:brightness(.98)}.notif-dot{position:absolute;left:.6rem;top:1rem;width:7px;height:7px;border-radius:50%;background:var(--primary)}.notif-item-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.notif-item-title{font-size:.85rem;font-weight:600;color:var(--text)}.notif-item-text{font-size:.8rem;color:var(--text-soft);line-height:1.35}.notif-item-time{font-size:.72rem;color:var(--muted);margin-top:.1rem}.portal-topbar-brand{display:none}.portal-theme-toggle{width:100%;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit}.portal-user{display:flex;align-items:center;gap:.55rem;padding:.28rem .5rem .28rem .28rem;border-radius:999px;text-decoration:none;color:inherit;transition:background .15s ease}.portal-user:hover{background:var(--surface-2)}.portal-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--portal-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;flex-shrink:0}.portal-user-meta{display:flex;flex-direction:column;line-height:1.2}.portal-user-email{font-size:.82rem;font-weight:600;color:var(--text)}.portal-user-role{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.portal-sidebar{grid-area:sidebar;position:sticky;top:0;z-index:45;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;color:var(--text);background:var(--sidebar-bg);border-right:1px solid var(--border)}.portal-sidebar-head{display:flex;align-items:center;gap:.65rem;min-height:var(--portal-topbar-h);max-height:var(--portal-topbar-h);padding:0 .9rem;flex-shrink:0;overflow:hidden;border-bottom:1px solid var(--border);transition:max-height .24s cubic-bezier(.4,0,.2,1),padding .24s cubic-bezier(.4,0,.2,1)}.portal-sidebar:hover .portal-sidebar-head,.portal-sidebar:focus-within .portal-sidebar-head{max-height:240px;padding-top:.7rem;padding-bottom:.7rem}.portal-sidebar-head .portal-brand-text{opacity:0;transition:opacity .2s ease .04s}.portal-sidebar:hover .portal-sidebar-head .portal-brand-text,.portal-sidebar:focus-within .portal-sidebar-head .portal-brand-text{opacity:1}.portal-sidebar-head .portal-brand-title{white-space:normal;line-height:1.25;overflow-wrap:anywhere}.portal-nav{display:flex;flex-direction:column;padding:.85rem .6rem;gap:.15rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.portal-nav::-webkit-scrollbar{width:4px}.portal-nav::-webkit-scrollbar-track{background:transparent}.portal-nav::-webkit-scrollbar-thumb{background:transparent;border-radius:999px;transition:background .25s ease}.portal-nav.is-scrolling,.portal-nav:hover{scrollbar-color:rgba(148,163,184,.55) transparent}.portal-nav.is-scrolling::-webkit-scrollbar-thumb,.portal-nav:hover::-webkit-scrollbar-thumb{background:#94a3b880}.portal-nav.is-scrolling::-webkit-scrollbar-thumb:hover,.portal-nav:hover::-webkit-scrollbar-thumb:hover{background:#94a3b8bf}.portal-nav-group{display:flex;flex-direction:column;gap:.15rem}.portal-nav-group+.portal-nav-group{margin-top:.9rem}.portal-nav-heading{padding:0 .85rem;margin-bottom:.35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;opacity:0;transition:opacity .18s ease}.portal-sidebar:hover .portal-nav-heading,.portal-sidebar:focus-within .portal-nav-heading{opacity:1}.portal-nav-link{display:flex;align-items:center;gap:.8rem;padding:.6rem .72rem;border-radius:6px;color:var(--text-soft);text-decoration:none;font-size:.9rem;font-weight:500;white-space:nowrap;transition:background .15s ease,color .15s ease}.portal-nav-link:hover{background:var(--sidebar-hover);color:var(--text)}.portal-nav-link.active{background:var(--primary-soft);color:var(--accent-text);font-weight:600}.portal-nav-link.active .portal-nav-icon{color:var(--accent-text);opacity:1}.portal-nav-icon{display:inline-flex;flex-shrink:0;width:20px;justify-content:center;opacity:.85}.portal-nav-label{opacity:0;transform:translate(-4px);transition:opacity .2s ease .04s,transform .24s cubic-bezier(.4,0,.2,1)}.portal-sidebar:hover .portal-nav-label,.portal-sidebar:focus-within .portal-nav-label{opacity:1;transform:none}.portal-signout{width:100%;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit}.portal-signout:hover{background:var(--danger-bg);color:var(--danger)}.portal-signout:hover .portal-nav-icon{color:var(--danger);opacity:1}.portal-sidebar-foot{flex-shrink:0;padding:.6rem .6rem .85rem;border-top:1px solid var(--border);white-space:nowrap}.portal-sidebar-foot.portal-nav-group{margin-top:0}.avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--portal-accent, var(--primary));color:#fff;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar .avatar-letter{display:block}.portal-main{grid-area:main;padding:1.25rem 1rem 0;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.portal-main>.portal-footer{margin-top:auto}.portal-footer{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem;margin:1.5rem -1rem 0;padding:.5rem 1rem;background:var(--surface);border-top:1px solid var(--border);color:var(--muted);font-size:.75rem}.portal-footer strong{color:var(--text-soft);font-weight:700}.portal-footer-dot{color:var(--border-strong)}.portal-logo-img{object-fit:cover;background:var(--surface)}.portal-main .btn-primary{background:var(--portal-accent)}.portal-main .btn-primary:not(:disabled):hover{background:var(--portal-accent-d)}.portal-main a{color:var(--portal-accent-d)}.portal-main .data-table thead th{background:var(--surface-2);color:var(--accent-text)}.portal-main .stat-num{color:var(--accent-text)}.portal-main .seg.active,.portal-main .order-badge{background:var(--portal-accent)}.portal-main .option.checked .option-letter,.portal-main .bank-row.on{border-color:var(--portal-accent)}.page{width:100%;animation:page-in .2s ease-out}.page-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.6rem;margin-bottom:1.1rem}.page-actions select,.page-actions .ui-select,.page-actions input,.page-actions .input{width:auto;min-width:160px}.page-actions select,.filter-bar select{padding:.55rem 2.25rem .55rem 1rem;font-size:.875rem;font-weight:600;line-height:1.2;box-shadow:var(--shadow-xs)}.page-actions .ui-select,.filter-bar .ui-select{padding:.55rem 1rem;font-size:.875rem;font-weight:600;line-height:1.2;box-shadow:var(--shadow-xs)}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-head{margin-bottom:1.5rem;background:var(--header-bg);color:var(--header-text);padding:.75rem 1rem;border-bottom:1px solid var(--border)}.page-head.row,.head-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-head--inline{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .75rem}.page-head--inline .muted{margin:0}.head-actions{justify-content:flex-end}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1.25rem}.exam-card{display:flex;flex-direction:column;position:relative;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.exam-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--primary);opacity:0;transition:opacity .18s ease}.exam-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--border-strong)}.exam-card:hover:before{opacity:1}.exam-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.exam-card-head h2{font-size:1.05rem;letter-spacing:-.015em}.exam-card-actions{margin-top:auto}.exam-meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;margin:1rem 0;padding:.85rem .95rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.exam-meta dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted);margin-bottom:.15rem}.exam-meta dd{margin:0;font-weight:600;font-size:.9rem;color:var(--text)}.exam-card-actions{margin-top:.5rem;display:flex;gap:.5rem}.exam-card-actions .btn{flex:1 1 0;min-width:0}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.stat{display:flex;flex-direction:column;gap:.2rem}.stat-num{font-size:1.8rem;font-weight:800;color:var(--primary)}.stat-label{font-size:.8rem;color:var(--text-soft)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.portal-main:has(>.page--fill){height:calc(100vh - var(--portal-topbar-h));min-height:0;overflow:hidden;padding-bottom:0}.portal-main:has(>.page--fill)>.portal-footer{margin-top:0;margin-bottom:0}.page--fill{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.page--fill>.table-wrap{flex:1 1 0;min-height:0;overflow:auto;margin-bottom:.75rem}.page--fill>.pager{flex-shrink:0;margin-top:0}.page--fill>.fill-scroll{flex:1 1 0;min-height:0;overflow-y:auto;margin:0 -1rem;padding:0 1rem 1rem}.page--fill>.kpi-grid{position:static;top:auto;z-index:auto;padding-top:0}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table thead th{position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 var(--border)}.data-table th,.data-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{background:var(--surface-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover td{background:var(--surface-2)}.cell-title{font-weight:600}.status-date{margin-top:.25rem;white-space:nowrap}.row-actions{display:flex;gap:.15rem;flex-wrap:wrap;align-items:center}.data-table td.actions-col{vertical-align:middle}.actions-col{white-space:nowrap}.action-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-soft);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.action-menu-trigger:hover,.action-menu-trigger.is-open{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.action-menu-trigger:focus-visible{outline:none;box-shadow:var(--ring)}.action-menu{position:fixed;z-index:1200;display:flex;flex-direction:column;padding:.3rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);animation:action-menu-in .12s ease}@keyframes action-menu-in{0%{opacity:0;transform:translateY(-4px)}}.action-menu-item{display:flex;align-items:center;width:100%;padding:.44rem .6rem;border:none;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:background .1s ease,color .1s ease}.action-menu-item:hover:not(:disabled),.action-menu-item:focus-visible:not(:disabled){outline:none;background:#4f46e514;color:var(--primary-dark)}.action-menu-item:disabled{opacity:.5;cursor:not-allowed}.action-menu-item.is-primary{color:var(--primary-dark);font-weight:600}.action-menu-item.is-danger{color:var(--danger)}.action-menu-item.is-danger:hover:not(:disabled),.action-menu-item.is-danger:focus-visible:not(:disabled){background:#dc262614;color:var(--danger)}.row-actions .btn-sm{padding:.3rem .55rem;border-radius:6px;font-weight:500}.row-actions .btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--text-soft)}.row-actions .btn-ghost:not(:disabled):hover{background:#4f46e514;border-color:var(--primary);color:var(--primary-dark)}.row-actions .btn-primary{margin-right:.2rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:grid;place-items:center;padding:1rem;z-index:100}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-wide{max-width:720px}.modal-head,.modal-foot{display:flex;align-items:center;padding:1rem 1.2rem}.modal-head{justify-content:space-between;border-bottom:1px solid var(--border)}.modal-body{padding:1.2rem;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:.6rem;border-top:1px solid var(--border)}.preview-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#0f172a80;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;justify-content:flex-end;animation:scrim-in .2s ease-out}.preview-drawer{width:min(720px,96vw);height:100%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);animation:preview-slide-in .26s cubic-bezier(.4,0,.2,1)}@keyframes preview-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.preview-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--border);flex-shrink:0}.preview-title{font-size:1rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.preview-head-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.preview-body{flex:1;min-height:0;display:flex;padding:0;background:var(--surface-2)}.preview-frame{width:100%;height:100%;border:0;background:#fff}.preview-body--paper{display:block;overflow-y:auto;padding:1.25rem}.preview-body--paper .exam-paper{margin:0 auto}.preview-body--paper>.spinner-wrap{display:grid;place-items:center;min-height:60%}.preview-image-wrap{flex:1;min-height:0;display:grid;place-items:center;overflow:auto;padding:1rem}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.preview-fallback{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:2rem;color:var(--text-soft)}.preview-body>.spinner-wrap,.preview-body>.spinner{margin:auto}.q-list{display:flex;flex-direction:column;gap:.5rem}.q-item{padding:.75rem .9rem;box-shadow:var(--shadow-xs)}.q-item-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.q-marks{margin-left:auto;font-weight:700;color:var(--success)}.q-stem{font-weight:500;font-size:.9rem;line-height:1.4;white-space:pre-line;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.q-options{list-style:none;padding:0;margin:.4rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.25rem .6rem;font-size:.82rem;color:var(--text-soft)}.q-options li{display:flex;align-items:center;min-width:0}.q-options li>*:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-letter{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);font-weight:700;font-size:.8rem;flex-shrink:0}.option.checked .option-letter{background:var(--primary);color:#fff;border-color:var(--primary)}.option-letter.sm{width:18px;height:18px;font-size:.68rem;margin-right:.35rem}.q-tags{display:flex;gap:.35rem;margin-top:.4rem;flex-wrap:wrap}.tag{background:var(--surface-2);border:1px solid var(--border);padding:.1rem .5rem;border-radius:999px;font-size:.75rem;color:var(--text-soft)}.option-editor{list-style:none;padding:0;margin:.3rem 0;display:flex;flex-direction:column;gap:.5rem}.option-editor li{display:flex;align-items:center;gap:.5rem}.option-editor li input[type=text]{flex:1}.option-editor li input[type=radio],.option-editor li input[type=checkbox]{width:auto}.builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;align-items:start}.builder-settings,.builder-picker{min-width:0}.builder-group{padding-top:1.1rem;margin-top:1.1rem;border-top:1px solid var(--border)}.builder-group:first-child{padding-top:0;margin-top:0;border-top:0}.builder-group>h2,.sections-block>.picker-head h2{margin-bottom:.9rem;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.field-note{margin:-.3rem 0 .9rem;padding:.6rem .75rem;background:var(--info-bg);color:var(--info);border-radius:var(--radius-sm);font-size:.82rem;line-height:1.45}.sections-block>.picker-head h2{margin-bottom:0}.builder-picker>.picker-head h2{margin-bottom:0}.builder-maxwarn{margin-top:.9rem;margin-bottom:0;max-width:260px}.picker-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem}.toggles{display:flex;flex-direction:column;gap:.15rem;margin-top:0}.check{align-items:flex-start;gap:.6rem;padding:.5rem;margin:0;border-radius:var(--radius-sm);cursor:pointer;transition:background .14s ease}.check:hover{background:var(--surface-2)}.check>input[type=checkbox]{margin-top:.1rem}.check-text{display:flex;flex-direction:column;gap:.1rem;font-size:.9rem;font-weight:500;color:var(--text)}.check-text em{font-style:normal;font-size:.78rem;font-weight:400;color:var(--muted)}.selected-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px dashed var(--border)}.selected-row{display:flex;align-items:flex-start;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .6rem}.order-badge{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--primary);color:#fff;font-size:.78rem;font-weight:700;flex-shrink:0}.sel-stem,.bank-stem{flex:1;min-width:0;overflow-wrap:anywhere;white-space:normal;line-height:1.4;font-size:.88rem}.sel-actions{display:flex;gap:.1rem;flex-shrink:0}.bank-list{display:flex;flex-direction:column;gap:.3rem;max-height:460px;overflow-y:auto;padding-right:.15rem}.bank-row{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .14s ease,background .14s ease}.bank-row:hover{border-color:var(--border-strong);background:var(--surface-2)}.bank-row.on{border-color:var(--primary);background:#4f46e50d}.bank-row input{width:auto;flex-shrink:0}.q-marks{flex-shrink:0}.bank-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0}.bank-filters .bank-search{flex:1 1 180px;min-width:0}.bank-filters select.input,.bank-filters .bank-filter-select{flex:0 0 auto;width:auto;min-width:140px}.bank-count{margin:0 0 .5rem}.bank-tags{display:inline-flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.bank-tag{display:inline-block;padding:.05rem .45rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-soft);font-size:.7rem;font-weight:600;line-height:1.5}.builder-foot{margin:1.2rem -1rem 0;padding:.85rem 1rem;background:var(--surface-2);border-top:1px solid var(--border)}.foot-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.foot-summary{font-size:.9rem;color:var(--text-soft)}.foot-summary strong{color:var(--text);font-weight:700}.foot-dot{margin:0 .4rem;color:var(--muted)}.foot-actions{display:flex;justify-content:flex-end;gap:.6rem}.live-head{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:1rem}.live-dot{width:10px;height:10px;border-radius:50%;background:var(--muted)}.live-dot.live-on{background:var(--success);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.live-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:1rem}.live-stat{padding:1rem;border-radius:var(--radius-sm);text-align:center;background:var(--surface-2)}.live-num{display:block;font-size:2rem;font-weight:800}.live-label{font-size:.8rem;color:var(--text-soft)}.live-in_progress{background:var(--info-bg)}.live-in_progress .live-num{color:var(--info)}.live-submitted{background:var(--warn-bg)}.live-submitted .live-num{color:var(--warn)}.live-evaluated{background:var(--success-bg)}.live-evaluated .live-num{color:var(--success)}.alerts-head{display:flex;align-items:center;justify-content:space-between;margin:1rem 0 .5rem}.alerts-head h3{margin:0;font-size:.95rem}.alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;max-height:240px;overflow-y:auto}.page--fill .alert-list{max-height:none;overflow-y:visible}.alert{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-radius:var(--radius-sm);background:var(--surface-2);border-left:3px solid var(--muted);font-size:.85rem}.alert.sev-warn{border-left-color:var(--warn);background:var(--warn-bg)}.alert.sev-critical{border-left-color:var(--danger);background:var(--danger-bg)}.alert-type{font-weight:700;flex:1}.alert-btn{width:100%;text-align:left;border:none;border-left:3px solid var(--muted);cursor:pointer;font-family:inherit;transition:filter .12s ease}.alert-btn:hover{filter:brightness(.97)}.attempt-monitor{display:flex;flex-direction:column;gap:1rem}.attempt-monitor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.attempt-monitor-name{font-weight:700;font-size:1.05rem}.attempt-monitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.25rem;margin:0;padding:.85rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.attempt-monitor-grid dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted);margin-bottom:.1rem}.attempt-monitor-grid dd{margin:0;font-size:.9rem;font-weight:600;color:var(--text);word-break:break-word}.attempt-monitor-flags h4{display:flex;align-items:center;gap:.35rem;margin:0 0 .5rem;font-size:.92rem}.monitor-status{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.85rem;font-weight:600;color:var(--text-soft)}.topbar-pagehead-actions .monitor-status{margin-bottom:0}.monitor-status .muted{display:inline-flex;align-items:center;gap:.25rem;font-weight:400}.monitor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1rem;margin:.5rem 0 1.5rem}.monitor-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs)}.monitor-card--live{border-left:3px solid var(--success)}.monitor-card--closed{opacity:.85}.monitor-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.monitor-phase{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.18rem .5rem;border-radius:999px}.monitor-phase.phase-live{background:var(--success-bg);color:var(--success)}.monitor-phase.phase-upcoming{background:var(--info-bg);color:var(--info)}.monitor-phase.phase-closed{background:var(--surface-2);color:var(--muted)}.monitor-flags{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:700;color:var(--danger)}.monitor-card-title{margin:0;font-size:1rem;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-card-window{margin:0}.monitor-metrics{font-size:.82rem;color:var(--text-soft)}.monitor-metric{display:inline-flex;align-items:center;gap:.3rem}.monitor-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-top:.25rem}.monitor-count{display:flex;flex-direction:column;align-items:center;padding:.5rem .25rem;border-radius:var(--radius-sm);background:var(--surface-2)}.monitor-count-num{font-size:1.25rem;font-weight:800;line-height:1}.monitor-count-label{margin-top:.2rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center}.monitor-count--progress{background:var(--info-bg)}.monitor-count--progress .monitor-count-num{color:var(--info)}.monitor-count--submitted{background:var(--warn-bg)}.monitor-count--submitted .monitor-count-num{color:var(--warn)}.monitor-count--evaluated{background:var(--success-bg)}.monitor-count--evaluated .monitor-count-num{color:var(--success)}.alerts-head h3{display:inline-flex;align-items:center;gap:.35rem}:root{--nta-green: #4a9b3f;--nta-green-d: #3d8233;--nta-orange: #e77817;--nta-orange-d: #cf6a12;--nta-blue: #2f80c9;--nta-blue-d: #256aa8;--nta-purple: #6a4bb0;--nta-grey: #dfe3e8;--nta-teal: #17a2a2;--nta-dark: #2b2b2b;--nta-tabbar: #eef1f4;--nta-secbar: #e3e8ee}:root[data-theme=dark] .exam-shell,:root[data-theme=dark] .exam-launch,:root[data-theme=dark] .waiting-room,:root[data-theme=dark] .exam-error,:root[data-theme=dark] .auth-page,:root[data-theme=dark] .legal-page{--surface: #ffffff;--surface-2: #f8fafc;--canvas: #f1f5f9;--border: #e6eaf0;--border-strong: #d3dae4;--text: #0f172a;--text-soft: #475569;--muted: #94a3b8;--primary: #4f46e5;--primary-dark: #4338ca;--primary-soft: #eef2ff;--accent-text: #4338ca;--success: #15803d;--success-bg: #dcfce7;--warn: #b45309;--warn-bg: #fef3c7;--danger: #dc2626;--danger-bg: #fee2e2;--info: #0369a1;--info-bg: #e0f2fe;color-scheme:light}.exam-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;background:#d9dee4;color:var(--text);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.exam-shell,.exam-shell *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.exam-shell input,.exam-shell textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.exam-shell img{-webkit-user-drag:none;user-drag:none;pointer-events:none}.exam-darkbar{display:flex;align-items:center;justify-content:space-between;height:42px;flex-shrink:0;padding:0 1rem;background:var(--nta-dark);color:#fff;z-index:10}.darkbar-title{font-weight:700;font-size:.95rem;color:#f4b942;letter-spacing:.01em}.darkbar-links{display:flex;align-items:center;gap:.4rem}.darkbar-link{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:none;color:#fff;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;padding:.35rem .6rem;border-radius:4px}.darkbar-link:hover{background:#ffffff1f}.darkbar-link svg{opacity:.9}.save-indicator{font-size:.75rem;margin-left:auto;padding:.15rem .5rem;border-radius:999px}.save-ok{color:var(--nta-green-d)}.save-pending{color:var(--nta-orange-d)}.save-error{color:var(--danger)}.exam-banner{background:var(--warn-bg);color:var(--warn);padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;text-align:center;flex-shrink:0}.exam-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 300px;width:100%;align-items:stretch}.exam-main{background:var(--surface);min-height:0;display:flex;flex-direction:column;overflow:hidden}.tab-scroller{display:flex;align-items:stretch;background:var(--nta-tabbar);border-bottom:1px solid #cdd4dc;flex-shrink:0}.tab-scroller.section-row{background:var(--nta-secbar)}.scroll-chev{display:inline-flex;align-items:center;border:none;background:transparent;color:#6b7480;cursor:pointer;padding:0 .6rem}.scroll-chev:hover{color:var(--nta-blue)}.subject-tabs{display:flex;gap:.4rem;align-items:center;padding:.4rem .3rem;flex:1;overflow-x:auto}.subject-tab,.section-tab{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #b9c2cc;background:#fff;color:#33404d;font:inherit;font-size:.82rem;font-weight:600;padding:.3rem .7rem;border-radius:4px;cursor:pointer;white-space:nowrap}.subject-tab.active,.section-tab.active{background:var(--nta-blue);border-color:var(--nta-blue-d);color:#fff}.tab-i{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#2f80c9;color:#fff;font-size:.62rem;font-style:italic;font-weight:700;line-height:1}.subject-tab.active .tab-i,.section-tab.active .tab-i{background:#fff;color:var(--nta-blue)}.sections-timerow{display:flex;align-items:center;justify-content:space-between;padding:.35rem .9rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0}.sections-label{font-size:.85rem;font-weight:600;color:#33404d}.time-left{font-size:.85rem;color:#33404d}.time-left strong{font-variant-numeric:tabular-nums;background:var(--nta-teal);color:#fff;padding:.15rem .6rem;border-radius:4px;margin-left:.3rem}.time-left.danger strong{background:var(--danger);animation:pulse 1s infinite}.qtype-row{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;color:#475569;background:#f7f9fb;border-bottom:1px solid #e2e8f0;flex-shrink:0}.qtype-row strong{color:#1f2937}.qno-row{font-weight:700;font-size:.98rem;padding:.7rem .9rem;border-bottom:1px solid var(--border);color:#1f2937;flex-shrink:0}.question-scroll{flex:1;min-height:0;overflow-y:auto;padding:1.25rem}.question-view{flex:1}.question-stem{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.2rem}.question-order{background:var(--primary);color:#fff;font-weight:700;padding:.2rem .55rem;border-radius:6px;font-size:.85rem;flex-shrink:0}.stem-body{flex:1}.stem-body p{font-size:1.1rem;font-weight:500;margin:0;white-space:pre-line}.question-marks{font-size:.85rem;font-weight:700;color:var(--success);white-space:nowrap}.question-marks-row{display:flex;justify-content:flex-end;gap:.4rem;margin-bottom:.75rem}.marks-pill{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.marks-pill.ok{background:var(--success-bg);color:var(--nta-green-d)}.marks-pill.bad{background:var(--danger-bg);color:var(--danger)}.question-media,.option-media{max-width:100%;border-radius:8px;margin-top:.5rem}.options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.option{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.option:hover{border-color:var(--primary)}.option.checked{border-color:var(--primary);background:#4f46e50f}.option input{width:auto}.option-text{flex:1}.numeric-field{max-width:260px}.nta-btn{border:1px solid rgba(0,0,0,.18);border-radius:4px;padding:.5rem .9rem;font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;color:#fff;transition:filter .12s;white-space:nowrap}.nta-btn:not(:disabled):hover{filter:brightness(.93)}.nta-btn:disabled{opacity:.5;cursor:not-allowed}.exam-actionbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.7rem .9rem;border-top:1px solid var(--border);background:#f7f9fb;flex-shrink:0}.actionbar-left,.actionbar-right{display:flex;gap:.5rem;flex-wrap:wrap}.nta-btn-save{background:var(--nta-blue);border-color:var(--nta-blue-d)}.nta-btn-clear{background:#eef1f4;color:#334155;border-color:#b6bfca}.nta-btn-mark{background:#fff;color:#334155;border-color:#b6bfca}.nta-btn-nav{background:#eef1f4;color:#334155;border-color:#b6bfca}.nta-btn-submit{background:var(--nta-green);width:100%;padding:.6rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.02em}.exam-sidebar{background:#f2f5f8;border-left:1px solid #cdd4dc;padding:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.candidate-card{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;background:#fff;border-bottom:1px solid #dbe1e8;flex-shrink:0}.candidate-photo{width:54px;height:62px;border-radius:3px;border:1px solid #cbd5e1;background:#e7ebf0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23808b99'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5 0-9 2.5-9 6v2h18v-2c0-3.5-4-6-9-6Z'/%3E%3C/svg%3E") center 6px/34px no-repeat;flex-shrink:0}.candidate-name{font-size:.85rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;font-size:.8rem;font-weight:700;color:#fff;border:none;background:transparent;flex-shrink:0;position:relative;line-height:1;padding:0}button.pal{cursor:pointer;font-family:inherit}.pal.answered{background:var(--nta-green);clip-path:polygon(50% 0,100% 38%,100% 100%,0 100%,0 38%)}.pal.not-answered{background:var(--nta-orange);clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%)}.pal.not-visited{background:var(--nta-grey);color:#334155;border:1px solid #c4ccd6;border-radius:4px}.pal.marked,.pal.answered-marked{background:var(--nta-purple);border-radius:50%}.pal.answered-marked:after{content:"";position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;background:var(--nta-green);border:1.5px solid #fff;border-radius:3px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6.2 4.8 8.5 9.5 3.5'/%3E%3C/svg%3E");background-size:10px 10px;background-position:center;background-repeat:no-repeat}.nta-legend{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .4rem;padding:.8rem .7rem;font-size:.72rem;color:#33404d;line-height:1.15;background:#fff;border-bottom:1px solid #dbe1e8;flex-shrink:0}.legend-item{display:flex;align-items:center;gap:.4rem}.legend-item.legend-wide{grid-column:1 / -1;align-items:flex-start}.legend-label{flex:1}.nta-legend .pal{width:27px;height:27px;font-size:.72rem}.section-headerbar{background:var(--nta-blue);color:#fff;font-weight:700;font-size:.85rem;padding:.5rem .8rem;flex-shrink:0}.choose-label{font-size:.8rem;font-weight:600;color:#33404d;padding:.5rem .8rem .2rem;background:#eaf3fb;flex-shrink:0}.palette-scroll{flex:1;min-height:0;overflow-y:auto;padding:.7rem .8rem;background:#eaf3fb}.palette{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem .5rem;justify-items:center}@media (max-width: 900px){.palette{grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}}.pal.tile{width:40px;height:38px;font-size:.85rem;font-weight:700}.pal.tile.answered-marked:after{right:0;bottom:0}.pal.tile.current{filter:drop-shadow(0 0 2px #0f172a) drop-shadow(0 0 1px #0f172a);transform:scale(1.1);z-index:1}.pal.tile.not-visited.current{filter:none;border-color:#0f172a;box-shadow:0 0 0 2px #0f172a}.submit-row{padding:.8rem;background:#fff;border-top:1px solid #dbe1e8;flex-shrink:0}.instructions-body ol{padding-left:1.2rem;font-size:.9rem;line-height:1.6}.nta-legend.inline-legend{border:1px solid var(--border);border-radius:var(--radius-sm);margin:.8rem 0}.paper-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.paper-jump{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:.5rem .7rem;cursor:pointer;font:inherit}.paper-jump:hover{background:var(--surface-2)}.paper-stem{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.interruption-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;background:#fff;color:#4b5b6b;overflow-y:auto}.interruption-topbar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.7rem 1.5rem;flex-shrink:0}.interruption-topbar .globe{display:inline-flex;color:#4b5b6b}.change-lang-label{font-size:.92rem;color:#4b5b6b}.lang-select{width:auto;min-width:110px;padding:.3rem 2rem .3rem .6rem}.interruption-body{flex:1;max-width:1240px;width:100%;margin:0 auto;padding:1rem 2rem 3rem;text-align:center}.interruption-illustration{margin:1.5rem auto 2.5rem;display:flex;justify-content:center}.interruption-note{font-size:1.05rem;margin-bottom:1.5rem}.interruption-note strong{color:#e23b3b}.interruption-reasons{font-size:1.02rem;line-height:2;margin-bottom:1.5rem}.interruption-advice{font-size:1.02rem;line-height:1.7;max-width:1100px;margin:0 auto 1.5rem}.interruption-count{font-size:.95rem;color:#e23b3b}.interruption-divider{border:none;border-top:1px solid #e2e8f0;max-width:1100px;margin:2rem auto}.interruption-how{font-size:1.3rem;color:#33404d;margin-bottom:.8rem}.interruption-proceed{font-size:1.02rem;line-height:1.8;margin-bottom:1.8rem}.interruption-relaunch{min-width:220px;font-size:.95rem}.interruption-footer{flex-shrink:0;text-align:center;color:#fff;background:#5a6b7b;padding:.6rem;font-size:.85rem}.exam-launch{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(135deg,#1e293b,#0f172a)}.exam-launch-card{width:100%;max-width:520px;background:#fff;border-radius:14px;padding:2.2rem 2rem;box-shadow:var(--shadow-lg);text-align:center}.exam-launch-icon{display:inline-flex;color:var(--primary);margin-bottom:.75rem}.exam-launch-card h1{margin-bottom:.5rem}.exam-launch-notes{text-align:left;margin:1.2rem auto;padding-left:1.2rem;color:var(--text-soft);font-size:.9rem;line-height:1.7}.exam-launch-btn{margin:.5rem 0 .8rem;padding:.75rem;font-size:.98rem;background:var(--primary)}.exam-launch-btn:not(:disabled):hover{background:var(--primary-dark)}.waiting-room,.exam-error{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem;background:var(--canvas);color:var(--text)}.result-page{display:flex;flex-direction:column;gap:1.25rem}.result-card{max-width:460px;width:100%;margin:3rem auto;text-align:center}.result-card .result-actions{margin-top:1.25rem}.result-status{display:inline-flex;color:var(--success);margin-bottom:.4rem}.result-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.25rem;align-items:stretch}.result-hero{display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.result-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--primary)}.result-hero.is-pass:before{background:var(--success)}.result-hero.is-fail:before{background:var(--danger)}.result-hero-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.result-hero-label{font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.result-hero-foot{margin:0;font-size:.88rem}.result-hero .result-actions{margin-top:auto;display:flex;gap:.6rem;padding-top:.5rem}.result-hero .result-actions .btn{flex:1}.score-big{display:flex;align-items:baseline;gap:.4rem;margin:.25rem 0}.score-num{font-size:3.4rem;line-height:1;font-weight:800;color:var(--primary);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.score-den{font-size:1.4rem;color:var(--muted)}.score-pct{margin-left:.6rem;align-self:center;background:var(--info-bg);color:var(--info);padding:.2rem .6rem;border-radius:999px;font-weight:700;font-size:1rem}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.result-tile{display:flex;align-items:center;gap:.85rem;padding:1.1rem 1.2rem}.result-tile-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;flex-shrink:0}.result-tile-body{display:flex;flex-direction:column;line-height:1.1;min-width:0}.result-tile-value{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.result-tile-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tile-success .result-tile-icon{background:var(--success-bg);color:var(--success)}.tile-success .result-tile-value{color:var(--success)}.tile-danger .result-tile-icon{background:var(--danger-bg);color:var(--danger)}.tile-danger .result-tile-value{color:var(--danger)}.tile-primary .result-tile-icon{background:var(--primary-soft);color:var(--primary-dark)}.tile-primary .result-tile-value{color:var(--primary-dark)}.tile-muted .result-tile-icon{background:var(--surface-2);color:var(--text-soft)}.tile-muted .result-tile-value{color:var(--text-soft)}.result-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.result-breakdown dt{font-size:.75rem;text-transform:uppercase;color:var(--muted)}.result-breakdown dd{margin:.2rem 0 0;font-size:1.6rem;font-weight:800}.result-breakdown .ok{color:var(--success)}.result-breakdown .bad{color:var(--danger)}@media (max-width: 720px){.result-grid{grid-template-columns:1fr}.result-hero .result-actions{flex-direction:column}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;position:sticky;top:0;z-index:7;padding:.75rem 0;margin-bottom:.75rem;background:var(--canvas);border-bottom:1px solid var(--border)}.kpi{display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.kpi:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border-strong)}.kpi-chip{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--primary-soft);color:var(--accent-text)}.kpi-chip svg{width:17px;height:17px}.kpi-body{display:flex;flex-direction:column;gap:.05rem;min-width:0}.kpi-num{font-size:1.3rem;font-weight:750;color:var(--text);line-height:1.12;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi-label{font-size:.72rem;font-weight:600;color:var(--text-soft);letter-spacing:.01em}.kpi-sub{font-size:.68rem;color:var(--muted)}.kpi-live{box-shadow:0 0 0 1px var(--success) inset}.kpi-live .kpi-chip,.kpi-success .kpi-chip{background:var(--success-bg);color:var(--success)}.kpi-danger .kpi-chip{background:var(--danger-bg);color:var(--danger)}.filter-bar{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}.filter-bar input[type=search]{flex:1;min-width:220px}.filter-bar select,.filter-bar .ui-select{width:auto;min-width:150px}.filter-bar--actions{align-items:center}.filter-bar--actions .btn{flex-shrink:0}.filter-bar--actions input[type=search],.filter-bar--actions .ui-select{font-size:.875rem;line-height:1.2;padding-top:.55rem;padding-bottom:.55rem}.pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem -1rem 0;padding:.6rem 1rem;background:var(--surface);border-top:1px solid var(--border)}.page>.pager{margin-top:0}.audit-detail-row>td{background:var(--surface-2, rgba(0, 0, 0, .03))}.audit-detail{padding:.5rem .25rem;display:flex;flex-direction:column;gap:.4rem}.audit-detail pre{background:var(--surface, rgba(0, 0, 0, .04));border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .8rem;overflow-x:auto}.seg-tabs{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:1rem}.seg{border:none;background:var(--surface);padding:.45rem .9rem;font:inherit;font-size:.85rem;font-weight:600;color:var(--text-soft);cursor:pointer}.seg+.seg{border-left:1px solid var(--border)}.seg.active{background:var(--primary);color:#fff}.user-picker{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin:.6rem 0}.picker-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-bottom:1px solid var(--border);cursor:pointer;font-size:.88rem}.picker-row:last-child{border-bottom:none}.picker-row:hover{background:var(--surface-2)}.picker-row input{width:auto}.picker-name{font-weight:600;flex-shrink:0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.2rem}.detail-grid h2,.page .card>h2{font-size:1rem;margin-bottom:.7rem}.kv{display:flex;flex-direction:column;gap:.5rem;margin:0}.kv>div{display:flex;justify-content:space-between;align-items:center;gap:1rem}.kv dt{font-size:.78rem;color:var(--muted)}.kv dd{margin:0;font-weight:600;font-size:.9rem}.event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;max-height:200px;overflow-y:auto}.event-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.history-card{display:flex;flex-direction:column;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.history-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:#cbd5e1}.history-card .exam-card-head h2{font-size:1.05rem}.history-meta{display:flex;gap:.4rem;font-size:.82rem;color:var(--text-soft);margin:.4rem 0 .8rem}.score-big.small-score{margin:.6rem 0 .5rem}.score-big.small-score .score-num{font-size:2rem}.result-breakdown.compact{margin:.9rem 0;gap:.5rem}.result-breakdown.compact dd{font-size:1.2rem}.history-card-actions{display:flex;gap:.5rem;margin-top:auto}.history-card-actions .btn{flex:1}.history-pending{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}.toast-stack{position:fixed;bottom:1.25rem;right:1.25rem;display:flex;flex-direction:column;gap:.6rem;z-index:1000;max-width:min(92vw,380px)}.toast{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);border-left:4px solid var(--muted);animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--info)}.toast-warn{border-left-color:var(--warn)}.toast-icon{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800;color:#fff;margin-top:1px}.toast-success .toast-icon{background:var(--success)}.toast-error .toast-icon{background:var(--danger)}.toast-info .toast-icon{background:var(--info)}.toast-warn .toast-icon{background:var(--warn)}.toast-msg{flex:1;font-size:.88rem;line-height:1.4}.toast-close{flex:none;border:0;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .15rem}.toast-close:hover{color:var(--text)}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-table td{padding:.85rem .75rem}.error-state{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;padding:2.5rem 1rem;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface)}.error-state-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--danger-bg);color:var(--danger);font-size:1.3rem;font-weight:800}.error-state-msg{color:var(--text-soft);max-width:32rem;margin:0}.crash-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:2rem;background:var(--surface-2)}.crash-card{max-width:30rem;text-align:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:2rem}.crash-icon{display:inline-flex;color:var(--danger)}.crash-detail{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;font-size:.78rem;color:var(--danger);overflow:auto;margin:.75rem 0 1rem}.confirm-body{color:var(--text-soft);line-height:1.55}.chart{width:100%;height:auto;display:block}.chart-axis{stroke:var(--border);stroke-width:1}.chart-tick{font-size:11px;fill:var(--text-soft)}.chart-subtick{font-size:10px;fill:var(--muted)}.chart-barval{font-size:11px;font-weight:700;fill:var(--text)}.donut{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.donut-track{stroke:var(--surface-2)}.donut-center{font-size:22px;font-weight:800;fill:var(--text)}.donut-center-sub{font-size:11px;fill:var(--muted)}.chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-soft)}.chart-legend li{display:flex;align-items:center;gap:.45rem}.legend-swatch{width:12px;height:12px;border-radius:3px;flex:none}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow)}.chart-card h3{margin:0 0 .9rem;font-size:1rem}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.gauge{display:flex;justify-content:center}.gauge-svg{width:100%;max-width:240px;height:auto}.gauge-track{stroke:var(--surface-2)}.gauge-arc{transition:stroke-dasharray .9s cubic-bezier(.22,1,.36,1)}.gauge-value{font-size:2rem;font-weight:800;fill:var(--text);letter-spacing:-.03em}.gauge-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;fill:var(--muted)}.sparkline{display:inline-block;width:160px;height:44px;vertical-align:middle}.sparkline-empty{opacity:.4}.sparkline-area{opacity:.14}.sparkline-line{stroke-linejoin:round;stroke-linecap:round}.ai-report{margin-bottom:1.25rem;padding:1.1rem 1.25rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);position:relative;overflow:hidden}.ai-report:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--primary),#7c3aed)}.ai-report-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.6rem}.ai-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.24rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,var(--primary),#7c3aed);box-shadow:0 2px 8px #7c3aed4d}.ai-badge svg{flex-shrink:0}.ai-badge--pulse{animation:ai-pulse 1.1s ease-in-out infinite}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.55}}.ai-report-by{font-size:.75rem;color:var(--muted);font-weight:500}.ai-generating-status{font-size:.85rem;color:var(--text-soft);font-weight:500}.ai-report-sub{margin:0 0 .75rem;color:var(--text-soft);font-size:.92rem;line-height:1.6}.ai-insights{padding:.85rem 1rem;border-radius:var(--radius-sm);background:linear-gradient(180deg,#7c3aed0f,#4f46e50a);border:1px solid var(--border)}.ai-insights-title{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text);margin-bottom:.5rem}.ai-insights ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem}.ai-insights li{color:var(--text-soft);font-size:.9rem;line-height:1.55}.ai-insights li::marker{color:var(--primary)}.ai-report-body{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:.25rem}.ai-report-body .ai-insights{flex:1 1 300px}.ai-report-gauges{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;justify-content:flex-end;flex:0 1 auto}.ai-report-gauges .gauge{flex:0 0 180px;max-width:220px}@media (max-width: 720px){.ai-report-gauges{flex:1 1 100%;justify-content:center}}.ai-report--generating{min-height:160px}.ai-skeleton-grid{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;align-items:center;margin-top:.5rem}.ai-skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-sm)}.ai-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(124,58,237,.14),transparent);animation:ai-shimmer 1.25s ease-in-out infinite}@keyframes ai-shimmer{to{transform:translate(100%)}}.ai-skeleton--gauge{width:200px;height:110px;border-radius:110px 110px 12px 12px}.ai-skeleton-lines{display:flex;flex-direction:column;gap:.7rem}.ai-skeleton--line{height:14px;width:100%}.ai-skeleton--line.short{width:75%}.ai-skeleton--line.shorter{width:55%}@media (max-width: 560px){.ai-skeleton-grid{grid-template-columns:1fr}.ai-skeleton--gauge{margin:0 auto}}.chart-legend-row{flex-direction:row;flex-wrap:wrap;gap:1rem;margin-bottom:.9rem}.chart-legend-row span{display:inline-flex;align-items:center;gap:.4rem}.section-averages{display:flex;flex-direction:column;gap:.7rem}.section-average-row{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:.75rem}.section-average-title{font-size:.88rem;font-weight:600;color:var(--text-soft)}.stacked-bars{display:flex;flex-direction:column;gap:.55rem}.stacked-row{display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:.75rem}.stacked-label{font-size:.82rem;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stacked-track{display:flex;height:18px;border-radius:4px;overflow:hidden;background:var(--surface-2)}.stacked-seg{height:100%}.stacked-caption{font-size:.78rem;color:var(--muted);white-space:nowrap}.meter{display:flex;align-items:center;gap:.5rem}.meter-track{flex:1;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter-fill{height:100%;border-radius:999px}.meter-primary{background:var(--primary)}.meter-success{background:var(--success)}.meter-danger{background:var(--danger)}.meter-warn{background:var(--warn)}.meter-pct{font-size:.78rem;font-weight:700;color:var(--text-soft);min-width:34px;text-align:right}.grade-input{width:90px;padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem}.answer-review-response{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .7rem;font-size:.85rem;white-space:pre-wrap;margin-top:.35rem}.result-actions{display:flex;flex-direction:column;gap:.5rem}.review-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.review-q{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem 1.15rem;border-left:4px solid var(--border)}.review-q.correct{border-left-color:var(--success)}.review-q.wrong{border-left-color:var(--danger)}.review-q.skipped{border-left-color:var(--muted)}.review-q-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem}.review-q-marks{font-weight:800;white-space:nowrap}.q-label{font-weight:700;color:var(--text)}.q-stem-preview{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.review-opt{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border-radius:var(--radius-sm);font-size:.9rem}.review-opt.opt-correct{background:var(--success-bg);color:var(--success)}.review-opt.opt-chosen-wrong{background:var(--danger-bg);color:var(--danger)}.review-opt-tag{margin-left:auto;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.review-opts{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.review-numeric{display:flex;gap:2rem;margin:.4rem 0 0}.review-numeric dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.review-numeric dd{margin:.15rem 0 0;font-size:1.05rem;font-weight:700}.submit-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;margin:.5rem 0 1rem}.submit-summary-tile{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .85rem;text-align:center}.submit-summary-tile .num{display:block;font-size:1.5rem;font-weight:800}.submit-summary-tile .lbl{font-size:.78rem;color:var(--text-soft)}.q-item-actions{display:flex;gap:.4rem;margin-top:.5rem;padding-top:.45rem;border-top:1px solid var(--border)}.sel-section{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.25rem .4rem;font-family:inherit;font-size:.8rem;background:var(--surface);max-width:140px}.sections-block{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.section-editor{display:flex;flex-direction:column;gap:.5rem}.section-chip{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.section-chip input{border:1px solid transparent;background:transparent;font-family:inherit;font-size:.9rem;padding:.2rem .35rem;border-radius:4px}.section-chip input:focus{border-color:var(--border);background:var(--surface-2);outline:none}.section-chip .sec-order{width:42px}.section-chip .sec-title{flex:1}.section-chip .sec-dur{width:70px}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.tab{border:0;background:transparent;padding:.6rem 1rem;font-family:inherit;font-size:.92rem;font-weight:600;color:var(--text-soft);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab svg{vertical-align:-2px;margin-right:.35rem}.leaderboard-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.leaderboard-toolbar .tabs{border-bottom:0;margin-bottom:0}.leaderboard-scope{display:flex;align-items:center;gap:.75rem;padding-bottom:.4rem;min-width:0}.leaderboard-search{width:auto;min-width:200px;padding:.55rem .9rem;font-size:.875rem;box-shadow:var(--shadow-xs)}.leaderboard-blurb{align-self:center;font-size:var(--text-sm)}@media (max-width: 640px){.leaderboard-scope{width:100%;flex-wrap:wrap;padding-bottom:.6rem}.leaderboard-search{flex:1 1 100%;min-width:0}}.my-standing{margin-bottom:1.25rem}.my-standing--empty{display:flex;align-items:center;gap:.9rem}.my-standing-icon{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary)}.my-standing-title{font-weight:700;margin:0 0 .15rem}.leaderboard-table .rank-col{width:4.5rem;text-align:center}.leaderboard-table .pctile-col{width:6.5rem}.leaderboard-table .secondary-col{width:6rem}.leaderboard-table td.rank-col{text-align:center}.leaderboard-table tr.row-me td{background:var(--primary-soft)}.leaderboard-table tr.row-me td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.lb-student{display:flex;align-items:center;gap:.6rem}.lb-student .badge{margin-left:.4rem}.lb-score{font-weight:700;font-variant-numeric:tabular-nums}.lb-meter-cell{display:flex;flex-direction:column;gap:.3rem;min-width:8rem}.lb-meter-cell .meter{margin:0}.pctile-num{font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-text)}.rank-medal{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .5rem;border-radius:999px;font-weight:700;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.rank-medal--gold{background:#fef3c7;color:#92400e}.rank-medal--silver{background:#e2e8f0;color:#475569}.rank-medal--bronze{background:#fde3cf;color:#9a3412}.rank-plain{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-soft)}:root[data-theme=dark] .rank-medal--gold{background:#f59e0b33;color:#fcd34d}:root[data-theme=dark] .rank-medal--silver{background:#94a3b838;color:#cbd5e1}:root[data-theme=dark] .rank-medal--bronze{background:#ea580c33;color:#fdba74}.perf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.2rem;margin-top:1.2rem}.perf-card{margin-top:1.2rem}.perf-grid .perf-card{margin-top:0}.perf-card-title{display:flex;align-items:center;gap:.45rem;font-size:var(--text-md);font-weight:700;margin:0 0 1rem}.perf-card-title svg{color:var(--primary)}.podium{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.podium-row{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:var(--radius-sm);background:var(--surface-2)}.podium-row.is-me{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.podium-rank{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:999px;font-weight:800;font-size:var(--text-sm);background:var(--border);color:var(--text-soft)}.podium-rank.rank-1{background:#fef3c7;color:#92400e}.podium-rank.rank-2{background:#e2e8f0;color:#475569}.podium-rank.rank-3{background:#fde3cf;color:#9a3412}.podium-name{flex:1;font-weight:600;display:flex;align-items:center;gap:.4rem}.podium-score{font-weight:800;font-variant-numeric:tabular-nums}.podium-foot{margin:.8rem 0 0}.cohort-stats{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--text-soft)}.cohort-stats strong{color:var(--text);font-variant-numeric:tabular-nums}.insight-banner{margin-top:1.2rem}.insight-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.insight{display:flex;align-items:flex-start;gap:.6rem;font-size:var(--text-base);line-height:1.4}.insight-dot{margin-top:.45rem;width:8px;height:8px;flex:none;border-radius:999px;background:var(--muted)}.insight-good .insight-dot{background:var(--success)}.insight-bad .insight-dot{background:var(--danger)}.insight-info .insight-dot{background:var(--primary)}.section-compare{display:flex;flex-direction:column;gap:1rem}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem}.section-title{font-weight:600}.section-delta{font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.section-delta.up{color:var(--success)}.section-delta.down{color:var(--warn)}.section-meta{margin-top:.3rem}.qcompare-table .q-col{width:3rem}.qcompare-foot{margin:.8rem 0 0}.q-outcome{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-size:var(--text-sm)}.q-correct{color:var(--success)}.q-wrong{color:var(--danger)}.q-skipped{color:var(--muted)}.q-accuracy{display:flex;align-items:center;gap:.5rem;min-width:7rem}.q-accuracy>span{font-variant-numeric:tabular-nums;min-width:2.6rem}.q-accuracy .meter{flex:1;margin:0}:root[data-theme=dark] .podium-rank.rank-1{background:#f59e0b33;color:#fcd34d}:root[data-theme=dark] .podium-rank.rank-2{background:#94a3b838;color:#cbd5e1}:root[data-theme=dark] .podium-rank.rank-3{background:#ea580c33;color:#fdba74}@media (max-width: 1024px){.builder{grid-template-columns:1fr}.bank-list{max-height:60vh}.chart-grid,.live-grid,.attempt-monitor-grid{grid-template-columns:1fr}}@media (max-width: 768px),(pointer: coarse){.portal-shell{grid-template-columns:1fr;grid-template-areas:"topbar" "main"}.portal-nav-toggle{display:inline-flex}.portal-topbar-brand{display:flex}.portal-sidebar-head{display:none}.portal-sidebar{position:fixed;top:var(--portal-topbar-h);left:0;height:calc(100vh - var(--portal-topbar-h));height:calc(100dvh - var(--portal-topbar-h));width:min(82vw,var(--portal-sidebar-w));transform:translate(-102%);transition:transform .26s cubic-bezier(.4,0,.2,1)}.portal-sidebar:hover,.portal-sidebar:focus-within{width:min(82vw,var(--portal-sidebar-w))}.portal-shell.nav-open .portal-sidebar{transform:translate(0)}.portal-nav-label,.portal-nav-heading{opacity:1;transform:none}.portal-shell.nav-open .portal-sidebar-head{max-height:240px}.portal-shell.nav-open .portal-scrim{display:block;position:fixed;inset:var(--portal-topbar-h) 0 0 0;z-index:25;background:#0f172a80;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:scrim-in .2s ease-out}}@media (max-width: 768px){.portal-user-meta,.portal-topbar-brand .portal-brand-text,.topbar-pagehead-desc,.topbar-pagehead-back,.topbar-pagehead-actions{display:none}.topbar-pagehead-title{font-size:1rem}.portal-topbar{padding:0 .9rem;gap:.7rem}.portal-topbar-right{gap:.6rem}.portal-main{padding:1rem}.portal-footer{margin:1.25rem -1rem -1rem}.page-head.row,.head-actions,.picker-head{flex-direction:column;align-items:flex-start;gap:.75rem}.head-actions{width:100%}h1{font-size:1.4rem}.chart-grid,.form-grid,.q-options,.live-grid{grid-template-columns:1fr}.stacked-row,.section-average-row{grid-template-columns:1fr;gap:.25rem}.stacked-label{white-space:normal}.builder-foot{margin:1rem -1rem 0;padding:.8rem 1rem}.foot-bar{flex-direction:column;align-items:stretch;gap:.7rem}.foot-summary{text-align:center}.foot-actions{justify-content:stretch}.foot-actions .btn{flex:1}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@media (max-width: 560px){.portal-brand-sub,.portal-logo{display:none}.portal-main{padding:.85rem .8rem}.portal-footer{margin:1rem -.8rem -.85rem;padding:.5rem .8rem}.card{padding:1rem}.page-head{margin-bottom:1.1rem}.kpi-grid,.grid,.detail-grid,.stat-row{grid-template-columns:1fr}.result-breakdown,.submit-summary{grid-template-columns:repeat(2,1fr)}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar input[type=search],.filter-bar select,.filter-bar .ui-select,.filter-bar--actions .btn{width:100%;min-width:0}.page-actions{align-items:stretch}.page-actions select,.page-actions .ui-select,.page-actions input,.page-actions .input,.page-actions .btn{width:100%;min-width:0}.row-actions{gap:.35rem}.modal-overlay{padding:.5rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.modal,.modal-wide{max-width:100%;max-height:94vh;max-height:94dvh}.modal-foot{flex-direction:column-reverse;align-items:stretch;gap:.5rem}.modal-foot .btn{width:100%}.tabs,.seg-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap{max-height:calc(100vh - 9rem)}.data-table{min-width:600px;font-size:.85rem}.data-table th,.data-table td{padding:.6rem .7rem}.table-wrap{background:linear-gradient(to right,var(--surface) 30%,transparent),linear-gradient(to right,transparent,var(--surface) 70%) 100% 0,radial-gradient(farthest-side at 0 50%,rgba(15,23,42,.14),transparent),radial-gradient(farthest-side at 100% 50%,rgba(15,23,42,.14),transparent) 100% 0;background-repeat:no-repeat;background-size:32px 100%,32px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.builder-foot{margin:1rem -.8rem 0;padding:.75rem .8rem}.pager{margin:1rem -.8rem 0;padding:.6rem .8rem}.selected-row{flex-wrap:wrap}.sel-stem{flex-basis:100%;white-space:normal;order:-1}.order-badge{order:-2}.sel-section{max-width:none;flex:1}.sel-actions{margin-left:auto}.section-chip{flex-wrap:wrap}.section-chip .sec-title{flex-basis:100%;order:-1}}@media (max-width: 900px){.exam-shell{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.exam-body{grid-template-columns:1fr;align-items:start}.exam-main,.exam-sidebar,.question-scroll,.palette-scroll{overflow:visible}.exam-sidebar{border-left:none;border-top:2px solid #cdd4dc}}@media (max-width: 560px){.exam-darkbar{height:auto;min-height:42px;flex-wrap:wrap;padding:.35rem .7rem;gap:.25rem .5rem}.exam-banner{padding:.55rem .9rem;font-size:.82rem}.exam-actionbar{padding:.6rem .7rem;gap:.5rem}.actionbar-left,.actionbar-right{flex:1 1 100%;flex-wrap:nowrap}.actionbar-left .nta-btn,.actionbar-right .nta-btn{flex:1 1 0;min-width:0;padding:.6rem .5rem;font-size:.78rem}.palette{gap:.4rem}.tab-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch}}.page--narrow{max-width:720px;margin:0 auto}.profile-page{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.profile-hero{padding:0;overflow:hidden}.profile-hero-cover{height:104px;background:radial-gradient(130% 150% at 0% 0%,rgba(99,102,241,.28) 0%,transparent 55%),linear-gradient(120deg,#1e293b,#0f172a)}.profile-hero-body{display:flex;align-items:flex-end;gap:1.1rem;padding:0 1.5rem 1.25rem;margin-top:-46px}.profile-hero-avatar{position:relative;flex-shrink:0}.profile-avatar{border:4px solid var(--surface);box-shadow:var(--shadow-md);background:var(--surface)}.profile-avatar-edit{position:absolute;right:2px;bottom:2px;width:30px;height:30px;border-radius:50%;border:2px solid var(--surface);background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:background .15s ease,transform .15s ease}.profile-avatar-edit:hover{background:var(--primary-dark);transform:scale(1.05)}.profile-avatar-edit:disabled{opacity:.6;cursor:default}.profile-hero-meta{min-width:0;flex:1;padding-bottom:.35rem}.profile-hero-name{font-size:1.35rem;font-weight:750;line-height:1.2;margin:0 0 .35rem;color:var(--text)}.profile-hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem}.profile-role-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .6rem;border-radius:999px;background:var(--primary-soft);color:var(--accent-text);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.profile-hero-email{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-soft);font-size:.85rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-hero-actions{display:flex;gap:.4rem;align-self:flex-end;padding-bottom:.35rem;flex-wrap:wrap}.feedback-hero{padding:0;overflow:hidden;margin-bottom:1.25rem}.feedback-hero-cover{height:96px;background:radial-gradient(130% 150% at 0% 0%,rgba(99,102,241,.28) 0%,transparent 55%),linear-gradient(120deg,#1e293b,#0f172a)}.feedback-hero-body{display:flex;align-items:flex-end;gap:1.25rem;padding:0 1.5rem 1.35rem;margin-top:-42px}.feedback-hero-avatar{flex-shrink:0}.feedback-hero-meta{min-width:0;flex:1;padding-bottom:.2rem}.feedback-hero-name{font-size:1.4rem;font-weight:750;line-height:1.2;margin:0 0 .5rem;color:var(--text)}.feedback-hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}.feedback-hero-fact{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-soft);font-size:.85rem;font-weight:500}.feedback-hero-fact svg{color:var(--muted)}.feedback-hero-bio{margin:.65rem 0 0;color:var(--text-soft);font-size:.88rem;line-height:1.5;max-width:60ch}.feedback-hero-score{flex-shrink:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.9rem 1.25rem;min-width:168px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);border-top:3px solid var(--border-strong)}.feedback-hero-score--success{border-top-color:var(--success)}.feedback-hero-score--warn{border-top-color:var(--warn)}.feedback-hero-score--danger{border-top-color:var(--danger)}.feedback-hero-score-num{display:flex;align-items:baseline;gap:.2rem;font-size:2.1rem;font-weight:800;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.feedback-hero-score-den{font-size:.9rem;font-weight:600;color:var(--muted)}.feedback-hero-score-meta{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin-top:.15rem;font-size:.76rem;color:var(--text-soft)}.feedback-hero-score-meta span{display:inline-flex;align-items:center;gap:.3rem}.feedback-hero-score-meta svg{color:var(--muted)}@media (max-width: 640px){.feedback-hero-body{flex-direction:column;align-items:center;text-align:center}.feedback-hero-tags{justify-content:center}.feedback-hero-bio{text-align:center}.feedback-hero-score{align-self:stretch;width:100%}}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.profile-section{display:flex;flex-direction:column}.profile-section-head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.1rem}.profile-section-icon{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--accent-text)}.profile-section-head h2.profile-section-title{font-size:1.02rem;margin:0 0 .1rem}.profile-section-head p{margin:0}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.profile-form-grid .field-full{grid-column:1 / -1}.profile-form-grid .field>span{display:inline-flex;align-items:center;gap:.3rem}.field-hint--warn{color:var(--danger);font-size:.75rem}.field-hint--ok{display:inline-flex;align-items:center;gap:.25rem;color:var(--success);font-size:.75rem}.profile-actions-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.9rem}.profile-actions-row .btn{flex-shrink:0}.settings-logo{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.settings-logo-preview{display:grid;place-items:center;width:120px;height:120px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--muted);overflow:hidden;flex-shrink:0}.settings-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.settings-logo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.brand-preview-card{margin-bottom:1.25rem}.brand-preview{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.25rem;border-radius:var(--radius-sm);background:linear-gradient(135deg,#312e81,#1e293b 70%,#0f172a);color:#fff}.brand-preview-mark{display:inline-grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:14px;background:linear-gradient(135deg,var(--primary),#6366f1);color:#fff;font-weight:800;font-size:1rem;letter-spacing:.04em;box-shadow:0 6px 18px #4f46e573}.brand-preview-mark--img{object-fit:contain;padding:6px;background:#fff;box-shadow:0 6px 18px #0f172a59}.brand-preview-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.brand-preview-name{font-weight:700;font-size:1.1rem;line-height:1.25;letter-spacing:-.005em;color:#fff;overflow-wrap:anywhere}.brand-preview-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#e2e8f0b3}.brand-preview-hint{margin:.75rem 0 0}@media (max-width: 820px){.profile-grid{grid-template-columns:1fr}}@media (max-width: 560px){.profile-hero-body{flex-direction:column;align-items:center;text-align:center;gap:.75rem}.profile-hero-meta{flex:none}.profile-hero-tags{justify-content:center}.profile-hero-email{max-width:100%}.profile-hero-actions{align-self:center;justify-content:center}.profile-form-grid{grid-template-columns:1fr}.profile-actions-row{flex-direction:column;align-items:stretch}.profile-actions-row .btn{width:100%}}.code-area{font-family:var(--font-mono);font-size:.85rem;line-height:1.5;-moz-tab-size:4;tab-size:4;white-space:pre;overflow-wrap:normal;overflow-x:auto}.code-block{font-family:var(--font-mono);font-size:.85rem;line-height:1.5;-moz-tab-size:4;tab-size:4;white-space:pre;overflow-x:auto;background:var(--surface-2, #0f172a0d);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:.75rem .9rem;margin:.5rem 0}.lang-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin:.35rem 0 .75rem}.lang-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:999px;font-size:.85rem;cursor:pointer;background:var(--surface)}.lang-chip.on{border-color:var(--primary);background:var(--info-bg);color:var(--primary-dark)}.lang-chip input{accent-color:var(--primary)}.coding-limits{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.coding-starter summary{cursor:pointer;color:var(--text-soft);margin-bottom:.5rem}.test-cases{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem}.test-cases-head{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem;font-weight:600}.test-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.test-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;background:var(--surface-2)}.test-row-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.test-hidden-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-soft);margin-left:auto}.test-io{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.code-question{display:flex;flex-direction:column;gap:.75rem}.code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.code-lang{display:flex;align-items:center;gap:.5rem}.code-lang select{padding:.3rem 2rem .3rem .6rem}.code-editor{width:100%;min-height:320px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;background:#0f172a;color:#e2e8f0}.code-run{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;background:var(--surface-2)}.code-run-tabs{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.code-tab{padding:.35rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:.85rem}.code-tab.active{border-color:var(--primary);color:var(--primary-dark);background:var(--info-bg)}.code-run-btn{margin-left:auto}.code-compile-error{margin-top:.5rem;padding:.5rem;border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger)}.code-compile-error pre,.code-output{font-family:var(--font-mono);font-size:.8rem;white-space:pre-wrap;word-break:break-word;margin:.25rem 0 0;padding:.5rem;background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);max-height:220px;overflow:auto}.code-output.err{color:var(--danger)}.code-results{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}.code-results-head{font-weight:600}.code-test{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.code-test.pass{border-left:3px solid var(--success)}.code-test.fail{border-left:3px solid var(--danger)}.code-test-head{display:flex;align-items:center;gap:.6rem;width:100%;padding:.4rem .6rem;background:var(--surface);border:0;cursor:pointer;text-align:left}.code-test-badge{display:inline-flex;align-items:center;font-weight:700}.code-test.pass .code-test-badge{color:var(--success)}.code-test.fail .code-test-badge{color:var(--danger)}.code-test-body{padding:.5rem .6rem;display:flex;flex-direction:column;gap:.4rem}.review-coding .code-output{max-height:320px}@media (max-width: 640px){.coding-limits,.test-io{grid-template-columns:1fr}}.field-full{grid-column:1 / -1}.stars{display:inline-flex;align-items:center;gap:2px;line-height:0}.star{display:inline-flex;align-items:center;justify-content:center}.star-btn{padding:0;border:none;background:none;cursor:pointer;width:auto;transition:transform .08s ease}.star-btn:hover{transform:scale(1.15)}.stars-input:hover .star-btn{opacity:.55}.stars-input .star-btn:hover,.stars-input .star-btn:hover~.star-btn{opacity:1}.feedback-form{display:flex;flex-direction:column;gap:.15rem}.feedback-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.feedback-row-overall{border-bottom:none;border-top:2px solid var(--border);margin-top:.35rem;padding-top:.75rem}.feedback-label{font-size:.92rem}.cycle-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.cycle-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .7rem;background:var(--surface-2, #f7f8fb);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.92rem}.comment-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.7rem}.comment-item{padding:.7rem .85rem;background:var(--surface-2, #f7f8fb);border:1px solid var(--border);border-radius:var(--radius-sm)}.comment-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.comment-text{margin:0;font-size:.92rem;color:var(--text);white-space:pre-wrap}.paper-toolbar-toggle{margin:0;padding:.3rem .4rem}.exam-paper{width:100%;max-width:760px;margin:0 auto;background:#fff;color:#111827;padding:2.5rem 2.75rem;border-radius:6px;box-shadow:var(--shadow-lg);font-size:.92rem;line-height:1.5}.paper-head{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:2px solid #111827}.paper-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0}.paper-head-text{min-width:0}.paper-institute{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:#111827}.paper-address{margin:.15rem 0 0;font-size:.82rem;color:#4b5563}.paper-title-block{text-align:center;margin:1.25rem 0 .5rem}.paper-exam-title{margin:0;font-size:1.15rem;font-weight:700;color:#111827}.paper-desc{margin:.35rem 0 0;font-size:.85rem;color:#4b5563}.paper-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.6rem;font-size:.85rem;color:#374151}.paper-answerkey-tag{font-weight:800;letter-spacing:.08em;color:#b91c1c}.paper-candidate{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem;padding:.6rem 0;border-top:1px dashed #9ca3af;border-bottom:1px dashed #9ca3af;font-size:.85rem;color:#374151}.paper-section{margin-top:1.25rem}.paper-section-title{margin:0 0 .5rem;font-size:.98rem;font-weight:700;color:#111827;background:#f3f4f6;padding:.3rem .6rem;border-radius:4px}.paper-questions{list-style:none;margin:0;padding:0;counter-reset:none}.paper-q{margin:0 0 1rem;padding-left:.25rem;break-inside:avoid}.paper-q-head{display:flex;gap:.5rem;align-items:baseline}.paper-q-stem{flex:1}.paper-q-stem p{margin:0}.paper-q-marks{flex-shrink:0;font-weight:700;color:#374151;white-space:nowrap}.paper-options{list-style:none;margin:.4rem 0 0;padding:0 0 0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1.5rem}.paper-option{display:flex;gap:.4rem;align-items:baseline}.paper-option-label{font-weight:600;color:#374151}.paper-option.correct{color:#15803d;font-weight:600}.paper-correct-tick{color:#15803d;font-weight:800}.paper-answer-space{margin-top:.5rem;font-size:.88rem;color:#374151}.paper-numeric-key strong{color:#15803d}.paper-answer-lines{margin-top:.5rem;height:4.5rem;background-image:repeating-linear-gradient(transparent,transparent 1.4rem,#d1d5db 1.4rem,#d1d5db calc(1.4rem + 1px))}.paper-coding-note{margin:.4rem 0 0;font-size:.85rem}.paper-answer-missing{color:#b91c1c}.paper-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:2rem;padding-top:.75rem;border-top:1px solid #d1d5db;font-size:.8rem;color:#6b7280}.paper-foot-brand{font-weight:700;color:#374151}.paper-generated{margin:.5rem 0 0;text-align:center;font-size:.72rem;color:#6b7280}.paper-candidate-value{font-weight:700;color:#111827}@media (max-width: 560px){.paper-options{grid-template-columns:1fr}.exam-paper{padding:1.5rem 1.25rem}}.legal-page{min-height:100vh;min-height:100dvh;background:var(--canvas);color:var(--text)}.legal-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem clamp(1rem,4vw,2rem);background:var(--chrome-glass);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);border-bottom:1px solid var(--border)}.legal-topbar .back-link{margin:0}.legal-brand{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.legal-brand svg{color:var(--primary)}.legal-doc{max-width:820px;margin:0 auto;padding:2.5rem clamp(1rem,4vw,2rem) 4rem}.legal-head h1{font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:-.02em}.legal-head .muted{font-size:1rem;margin-top:.4rem}.legal-updated{font-size:.8rem;color:var(--muted);margin-top:.35rem}.legal-callout{margin:1.5rem 0;padding:.9rem 1.1rem;border-radius:var(--radius-sm);border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface);font-size:.9rem;color:var(--text-soft);box-shadow:var(--shadow-xs)}.legal-toc{margin:1.75rem 0 2.5rem;padding:1.1rem 1.3rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.legal-toc-title{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.6rem}.legal-toc ol{margin:0;padding-left:1.2rem;columns:2;column-gap:2rem;font-size:.9rem}.legal-toc li{margin-bottom:.35rem;break-inside:avoid}.legal-toc a{color:var(--accent-text);text-decoration:none}.legal-toc a:hover{text-decoration:underline}.legal-section{scroll-margin-top:4.5rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--border)}.legal-section:first-of-type{border-top:none}.legal-section h2{font-size:1.2rem;letter-spacing:-.01em;margin-bottom:.75rem}.legal-section-num{color:var(--primary);font-weight:800;margin-right:.15rem}.legal-section p,.legal-section li{color:var(--text-soft);line-height:1.7;font-size:.95rem}.legal-section ul{padding-left:1.2rem;margin:.6rem 0 1rem}.legal-section li{margin-bottom:.5rem}.legal-section strong{color:var(--text);font-weight:600}.legal-doc-foot{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.legal-doc-foot p{color:var(--text-soft);line-height:1.7;font-size:.92rem}@media (max-width: 560px){.legal-toc ol{columns:1}}@media print{body *{visibility:hidden!important}.preview-drawer-overlay,.preview-drawer-overlay *{visibility:visible!important}.preview-drawer-overlay{position:static;background:none;display:block}.preview-drawer{width:auto;height:auto;border:0;box-shadow:none}.preview-drawer-head{display:none!important}.preview-body--paper{overflow:visible;padding:0;background:none;display:block}.exam-paper{max-width:none;box-shadow:none;border-radius:0;padding:0;margin:0}@page{margin:16mm}}
