@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-arabic-400-normal-DN15VWMM.woff2)format("woff2"),url(/assets/cairo-arabic-400-normal-CAYwymWN.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-latin-ext-400-normal-xCL67Y2R.woff2)format("woff2"),url(/assets/cairo-latin-ext-400-normal-C_BIE9Qe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Cairo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cairo-latin-400-normal-Dh7otpdh.woff2)format("woff2"),url(/assets/cairo-latin-400-normal-b1R3q6Pf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-arabic-600-normal-rkrvveqO.woff2)format("woff2"),url(/assets/cairo-arabic-600-normal-B3EOalmC.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-latin-ext-600-normal-DuRnqffh.woff2)format("woff2"),url(/assets/cairo-latin-ext-600-normal-DAfLYaOC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Cairo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cairo-latin-600-normal-mGS0uvCM.woff2)format("woff2"),url(/assets/cairo-latin-600-normal-buYOP1M3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-arabic-700-normal-D3nDedWX.woff2)format("woff2"),url(/assets/cairo-arabic-700-normal-CyOqhaeK.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-latin-ext-700-normal-Cscux539.woff2)format("woff2"),url(/assets/cairo-latin-ext-700-normal-htXca11Z.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Cairo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cairo-latin-700-normal-C3GYtKbV.woff2)format("woff2"),url(/assets/cairo-latin-700-normal-6fcUy4Rc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary:#1b6e26;--color-primary-hover:#155a1f;--color-primary-active:#10481a;--color-primary-soft:#e8f3ea;--color-laurel:#24882e;--color-secondary:#6d3098;--color-secondary-soft:#f2eaf8;--color-accent:#d26804;--color-accent-soft:#fdf0e3;--color-sun:#f5b400;--color-danger:#b42318;--color-danger-soft:#fdecea;--color-text:#1f2933;--color-muted:#6b7280;--color-border:#e5e7eb;--color-bg:#f7f8f7;--color-surface:#fff;--color-on-primary:#fff;--font-sans:"Cairo", "Segoe UI", Tahoma, "Noto Sans Arabic", Arial, sans-serif;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--radius-sm:6px;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #1f29330f;--shadow:0 6px 24px #1f293314;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--header-height:64px;--content-width:1100px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-block-size:100vh;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3{margin-block:0 var(--space-2);line-height:1.3}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}p{margin-block:0 var(--space-3)}a{color:var(--color-primary)}:focus-visible{outline:3px solid var(--color-laurel);outline-offset:2px}.muted{color:var(--color-muted)}.row-gap{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-block-size:44px;padding-block:var(--space-2);padding-inline:var(--space-4);border-radius:var(--radius);font:inherit;cursor:pointer;border:1px solid #0000;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.65}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-ghost{color:var(--color-text);border-color:var(--color-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface)}.btn-on-dark{color:var(--color-on-primary);background:0 0;border-color:#ffffff8c}.btn-on-dark:hover:not(:disabled){background:#ffffff1f}.btn-block{inline-size:100%}.btn-lg{min-block-size:52px;font-size:var(--text-lg)}.field{margin-block-end:var(--space-4)}.field label{margin-block-end:var(--space-1);font-weight:600;display:block}.field input{min-block-size:48px;inline-size:100%;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-lg)}.field input[dir=ltr]{text-align:start}[dir=rtl] .field input[dir=ltr]{text-align:right}.field input::placeholder{color:#9ca3af}.field input:focus{border-color:var(--color-laurel);outline:3px solid var(--color-primary-soft);outline-offset:0}.field input:disabled{background:var(--color-bg)}.password-wrap{position:relative}.password-wrap input{padding-inline-end:48px}.password-toggle{inline-size:48px;color:var(--color-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;bottom:0}.password-toggle:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.password-toggle:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.password-toggle:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.password-toggle:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.password-toggle:hover{color:var(--color-text)}.alert{padding-block:var(--space-3);padding-inline:var(--space-4);border-radius:var(--radius);margin-block:0 var(--space-4);border-inline-start:4px solid}.alert-danger{background:var(--color-danger-soft);border-color:var(--color-danger);color:#7a1810}.alert-info{background:var(--color-secondary-soft);border-color:var(--color-secondary);color:#4a1f68}.alert-warning{background:var(--color-accent-soft);border-color:var(--color-accent);color:#7a3d02}.pill{padding-block:var(--space-1);padding-inline:var(--space-3);background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;font-weight:600;display:inline-block}.spinner{border:4px solid var(--color-primary-soft);border-block-start-color:var(--color-primary);border-radius:50%;block-size:36px;inline-size:36px;animation:.8s linear infinite spin}.spinner-sm{border-width:3px;border-color:#fff6;border-block-start-color:#fff;block-size:18px;inline-size:18px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.logo-badge{box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.logo-badge img{object-fit:contain;block-size:88%;inline-size:88%}.lang-switch{align-items:center;gap:var(--space-2);min-block-size:40px;padding-inline:var(--space-3);font:inherit;cursor:pointer;border-radius:999px;font-weight:600;display:inline-flex}.lang-switch-light{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border)}.lang-switch-light:hover{border-color:var(--color-primary)}.lang-switch-dark{color:var(--color-on-primary);background:#ffffff1f;border:1px solid #ffffff59}.lang-switch-dark:hover{background:#fff3}.offline-banner{z-index:20;padding-block:var(--space-2);padding-inline:var(--space-4);background:var(--color-accent);color:#fff;text-align:center;font-weight:700;position:sticky;top:0}.login-page{background:radial-gradient(1200px 400px at 50% -120px, var(--color-primary-soft), transparent 70%), var(--color-bg);flex-direction:column;min-block-size:100vh;display:flex}.login-topbar{padding:var(--space-4);justify-content:flex-end;display:flex}.login-main{padding-inline:var(--space-4);flex:1;justify-content:center;align-items:flex-start;padding-block-end:var(--space-6);display:flex}.login-card{inline-size:100%;max-inline-size:440px;padding:var(--space-6) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-block-start:5px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.login-brand{text-align:center;margin-block-end:var(--space-5)}.login-brand .logo-badge{box-shadow:0 0 0 4px var(--color-primary-soft);margin-block-end:var(--space-3)}.login-app-name{font-size:var(--text-xl);color:var(--color-primary);margin-block-end:var(--space-1)}.login-institute{color:var(--color-secondary);font-size:var(--text-sm);margin:0;font-weight:600}.login-title{margin-block-end:var(--space-1)}.login-subtitle{margin-block-end:var(--space-4)}.login-help{margin-block:var(--space-5) 0;border-block-start:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-sm);padding-block-start:var(--space-4);padding-inline-start:var(--space-5)}.login-help li+li{margin-block-start:var(--space-2)}.login-tip{color:var(--color-text);border-inline-start:3px solid var(--color-sun);margin-inline-start:calc(-1 * var(--space-5));padding-inline-start:var(--space-3);list-style:none}.app-shell{flex-direction:column;min-block-size:100vh;display:flex}.app-header{background:var(--color-primary);color:var(--color-on-primary);border-block-end:3px solid var(--color-sun)}.app-header-inner{max-inline-size:var(--content-width);min-block-size:var(--header-height);padding-block:var(--space-2);padding-inline:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-inline-start:auto;margin-inline-end:auto;display:flex}.brand{align-items:center;gap:var(--space-3);min-inline-size:0;display:flex}.brand-text{flex-direction:column;line-height:1.25;display:flex}.brand-text strong{font-size:var(--text-lg);letter-spacing:.04em}.brand-text span{font-size:var(--text-sm);opacity:.9}.header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.user-chip{text-align:end;flex-direction:column;padding-inline-end:var(--space-2);line-height:1.2;display:flex}.user-name{font-weight:700}.user-role{font-size:var(--text-sm);opacity:.85}.app-main{inline-size:100%;max-inline-size:var(--content-width);padding:var(--space-5) var(--space-4);flex:1;margin-inline-start:auto;margin-inline-end:auto}.page-head{margin-block-end:var(--space-5)}.eyebrow{margin:0 0 var(--space-1);color:var(--color-secondary);font-weight:700;font-size:var(--text-sm)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card>:last-child{margin-block-end:0}.status-page{justify-content:center;align-items:center;gap:var(--space-4);min-block-size:100vh;padding:var(--space-4);text-align:center;flex-direction:column;display:flex}.status-page .login-topbar{position:absolute;top:0}.status-page .login-topbar:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.status-page .login-topbar:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.status-page .login-topbar:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.status-page .login-topbar:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.status-page .alert{max-inline-size:440px}@media (max-width:560px){.brand-text span,.user-chip{display:none}.login-card{padding:var(--space-5) var(--space-4)}}.subnav{gap:var(--space-1);margin-block:calc(-1 * var(--space-2)) var(--space-5);border-block-end:1px solid var(--color-border);scrollbar-width:none;display:flex;overflow:auto hidden}.subnav-link{padding-block:var(--space-2);padding-inline:var(--space-3);border-radius:var(--radius) var(--radius) 0 0;color:var(--color-muted);border-block-end:3px solid #0000;flex:none;font-weight:600;text-decoration:none}.subnav-link:hover{color:var(--color-text);background:var(--color-surface)}.subnav-link.active{color:var(--color-primary);border-block-end-color:var(--color-primary)}.page-head-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-head-row h1{margin:0}.toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.inline-field{align-items:center;gap:var(--space-2);font-weight:600;display:inline-flex}select,.search-input{min-block-size:40px;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit}.search-input{flex:260px;max-inline-size:420px}select:focus,.search-input:focus{border-color:var(--color-laurel);outline:3px solid var(--color-primary-soft)}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.table{border-collapse:collapse;inline-size:100%}.table th,.table td{padding-block:var(--space-3);padding-inline:var(--space-4);text-align:start;border-block-end:1px solid var(--color-border);vertical-align:middle}.table th{color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;background:#fafbfa;font-weight:700}.table tbody tr:last-child td{border-block-end:0}.table tbody tr:hover td{background:#fbfcfb}.table-compact th,.table-compact td{padding-block:var(--space-2);padding-inline:var(--space-3);font-size:var(--text-sm)}.actions-col{white-space:nowrap;text-align:end!important}.actions-col .btn+.btn{margin-inline-start:var(--space-1)}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.95em}[dir=rtl] td.mono[dir=ltr]{text-align:right}.center{text-align:center!important}.text-danger{color:var(--color-danger)}.badge{padding-inline:var(--space-2);font-size:var(--text-sm);border-radius:999px;font-weight:700;display:inline-block}.badge-ok{background:var(--color-primary-soft);color:var(--color-primary)}.badge-off{color:var(--color-muted);background:#f1f2f4}.btn-sm{min-block-size:34px;padding-inline:var(--space-3);font-size:var(--text-sm)}.btn-danger-ghost{color:var(--color-danger);background:0 0;border-color:#f3c7c3}.btn-danger-ghost:hover:not(:disabled){background:var(--color-danger-soft)}.icon-btn{block-size:36px;inline-size:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.6rem;line-height:1}.icon-btn:hover{background:var(--color-bg);color:var(--color-text)}.alert-success{background:var(--color-primary-soft);border-color:var(--color-primary);color:#0f4517}.modal{border-radius:var(--radius-lg);max-block-size:calc(100vh - 2rem);inline-size:min(520px,100vw - 2rem);color:var(--color-text);border:0;padding:0;box-shadow:0 20px 60px #1f293340}.modal-wide{inline-size:min(720px,100vw - 2rem)}.modal::backdrop{background:#1f293373}.modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-4);padding-inline:var(--space-5);border-block-end:1px solid var(--color-border);border-block-start:4px solid var(--color-primary);display:flex}.modal-head h2{font-size:var(--text-lg);margin:0}.modal-body{padding:var(--space-5)}.field select{min-block-size:48px;inline-size:100%}.form-grid{column-gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.field-full{grid-column:1/-1}.hint{color:var(--color-muted);font-size:var(--text-sm);margin-block-start:var(--space-1);display:block}.form-actions{gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-4);display:flex}.checklist{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);max-block-size:220px;overflow-y:auto}.checklist legend{padding-inline:var(--space-1);font-weight:600}label.check{align-items:center;gap:var(--space-2);padding-block:var(--space-1);cursor:pointer;flex-wrap:wrap;margin:0;font-weight:400;display:flex}.check input{block-size:18px;inline-size:18px;accent-color:var(--color-primary)}.check .hint{flex-basis:100%;margin:0}.credentials dl{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4);grid-template-columns:auto 1fr;align-items:center;display:grid}.credentials dt{font-weight:700}.credentials dd{align-items:center;gap:var(--space-3);margin:0;display:flex}.credentials code{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);font-size:var(--text-lg);letter-spacing:.04em}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-3);display:flex}.pagination .row-gap{align-items:center}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-block-end:var(--space-5);display:grid}.stat-grid-small{margin-block-end:0}.stat-tile{gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-inline-start:4px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-text);box-shadow:var(--shadow-sm);flex-direction:column;text-decoration:none;display:flex}a.stat-tile:hover{border-color:var(--color-primary)}.stat-tile-plain{border-inline-start-color:var(--color-secondary);box-shadow:none;background:var(--color-bg)}.stat-value{font-size:var(--text-2xl);font-weight:700;line-height:1.2}.stat-label{color:var(--color-muted);font-weight:600}.stack>*+*{border-block-start:1px solid var(--color-border);margin-block-start:var(--space-5);padding-block-start:var(--space-5)}.stack-sm{margin-block:var(--space-4)}.stack-sm h3{font-size:var(--text-base)}.step-title{font-size:var(--text-lg)}.file-pick{align-items:center;gap:var(--space-3);padding:var(--space-4);border:2px dashed var(--color-border);border-radius:var(--radius);background:var(--color-bg);cursor:pointer;flex-wrap:wrap;display:flex}.file-pick:hover{border-color:var(--color-laurel)}.file-pick input{font:inherit;max-inline-size:100%}.file-pick span{color:var(--color-muted);word-break:break-all}.progress-block progress{block-size:14px;inline-size:100%;accent-color:var(--color-primary)}.table tbody tr.row-warning td{background:var(--color-accent-soft)}.overlap-list{margin:var(--space-2) 0 0;padding-inline-start:var(--space-5)}.stat-sub{font-size:var(--text-sm)}.result-submitted,.result-auto_submitted{background:var(--color-primary-soft);color:var(--color-primary)}.result-in_progress,.result-pending_auto_submit{background:var(--color-accent-soft);color:#8a4502}.result-absent{background:var(--color-danger-soft);color:var(--color-danger)}.result-not_started{color:var(--color-muted);background:#f1f2f4}.status-card .btn-primary+.row-gap{margin-inline-start:var(--space-2)}.field textarea{inline-size:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;resize:vertical}.field textarea:focus{border-color:var(--color-laurel);outline:3px solid var(--color-primary-soft)}.field-narrow{max-inline-size:160px}.plain-fieldset{border:0;min-inline-size:0;margin:0;padding:0}.back-link{margin-block:0 var(--space-3)}.back-link a{font-weight:600;text-decoration:none}.editor-stack>*+*{margin-block-start:var(--space-5)}.chips{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{padding-block:var(--space-1);padding-inline:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);border-radius:999px}.strong-link{font-weight:700;text-decoration:none}.strong-link:hover{text-decoration:underline}.phase-draft{color:var(--color-muted);background:#f1f2f4}.phase-scheduled{background:var(--color-primary-soft);color:var(--color-primary)}.phase-live{background:var(--color-accent-soft);color:#8a4502}.phase-ended{background:var(--color-secondary-soft);color:var(--color-secondary)}.phase-cancelled{background:var(--color-danger-soft);color:var(--color-danger)}.status-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.status-meta{margin:var(--space-1) 0 0}.question-list{gap:var(--space-4);flex-direction:column;margin-block-start:var(--space-4);display:flex}.question-card{padding:var(--space-4);border:1px solid var(--color-border);border-inline-start:4px solid var(--color-secondary);border-radius:var(--radius);background:var(--color-surface)}.question-form{border-inline-start-color:var(--color-primary);box-shadow:var(--shadow)}.question-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-2);display:flex}.question-actions{align-items:center;gap:var(--space-1);margin-inline-start:auto;display:flex}.question-actions .icon-btn{font-size:1.15rem}.question-body{font-size:var(--text-lg);white-space:pre-wrap;margin-block-end:var(--space-2)}.pill-small{font-size:var(--text-sm);padding-block-start:0;padding-block-end:0}.options-view{margin:0;padding-inline-start:var(--space-5)}.options-view li{padding-block:var(--space-1)}.options-view li.is-correct{color:var(--color-primary);font-weight:700}.correct-mark{font-size:var(--text-sm);margin-inline-start:var(--space-2)}.options-edit{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin:0}.options-edit legend{padding-inline:var(--space-1);font-weight:600}.option-row{align-items:center;gap:var(--space-2);padding:var(--space-1);border-radius:var(--radius);margin-block-end:var(--space-2);display:flex}.option-row.is-correct{background:var(--color-primary-soft)}.option-row input[type=radio]{block-size:20px;inline-size:20px;accent-color:var(--color-primary);flex:none}.option-input{min-block-size:42px;min-inline-size:0;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:var(--color-surface);flex:1}.option-input:focus{border-color:var(--color-laurel);outline:3px solid var(--color-primary-soft)}@media (max-width:560px){.table th,.table td{padding-inline:var(--space-3)}.modal-body{padding:var(--space-4)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;block-size:1px;inline-size:1px;overflow:hidden;position:absolute!important}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover:not(:disabled){background:#b85b03}.badge-lg{padding:var(--space-1) var(--space-3);font-size:var(--text-base)}.exam-section{margin-block-start:var(--space-5)}.exam-cards{gap:var(--space-4);display:grid}.exam-card{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-inline-start:5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.exam-card h3{font-size:var(--text-xl);margin-block-end:var(--space-1)}.exam-card-open,.exam-card-in_progress{border-inline-start-color:var(--color-primary);box-shadow:var(--shadow)}.exam-card-in_progress{border-inline-start-color:var(--color-accent)}.exam-card-upcoming{border-inline-start-color:var(--color-secondary)}.exam-card-meta{font-size:var(--text-sm);margin-block-end:var(--space-2)}.exam-card-facts{gap:var(--space-3);flex-wrap:wrap;margin:0;font-weight:600;display:flex}.countdown-chip{padding:var(--space-2) var(--space-4);background:var(--color-secondary-soft);color:var(--color-secondary);font-variant-numeric:tabular-nums;border-radius:999px;font-weight:700;display:inline-block}.exam-shell{background:var(--color-bg);min-block-size:100vh}.exam-topbar{background:var(--color-primary);color:#fff}.exam-topbar-inner{max-inline-size:var(--content-width);padding-block:var(--space-2);padding-inline:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);margin-inline-start:auto;margin-inline-end:auto;display:flex}.exam-brand{align-items:center;gap:var(--space-3);min-inline-size:0;display:flex}.exam-brand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exam-topbar-right{align-items:center;gap:var(--space-2);flex:none;display:flex}.exam-main{max-inline-size:var(--content-width);padding:var(--space-4);margin-inline-start:auto;margin-inline-end:auto}.exam-center{align-items:center;gap:var(--space-3);max-inline-size:560px;margin:var(--space-6) auto;text-align:center;flex-direction:column;display:flex}.exam-intro{max-inline-size:720px;margin-inline-start:auto;margin-inline-end:auto}.intro-facts{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4);font-size:var(--text-lg);grid-template-columns:max-content 1fr;display:grid}.intro-facts dt{color:var(--color-muted)}.intro-facts dd{margin:0;font-weight:700}.intro-instructions{padding:var(--space-3) var(--space-4);border-inline-start:4px solid var(--color-sun);border-radius:var(--radius);white-space:pre-wrap;background:#fffbea}.intro-rules li+li{margin-block-start:var(--space-2)}.exam-sticky{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-inline:calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4);border-block-end:1px solid var(--color-border);background:#f7f8f7f5;flex-wrap:wrap;margin-block-end:var(--space-4);scroll-margin-block-start:0;display:flex;position:sticky;top:0}.exam-timer{align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-4);border-radius:var(--radius);background:var(--color-primary-soft);color:var(--color-primary);display:flex}.timer-label{font-weight:600;font-size:var(--text-sm)}.timer-value{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.75rem;font-weight:700}.timer-warning{background:var(--color-accent-soft);color:var(--color-accent)}.timer-critical{background:var(--color-danger);color:#fff;animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.75}}@media (prefers-reduced-motion:reduce){.timer-critical{animation:none}}.save-indicator{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;font-weight:600;display:flex}.save-dot{background:var(--color-muted);border-radius:50%;flex:none;block-size:10px;inline-size:10px}.save-saved .save-dot{background:var(--color-laurel)}.save-saved{color:var(--color-primary)}.save-saving .save-dot,.save-pending .save-dot{background:var(--color-sun)}.save-offline,.save-error{color:var(--color-danger)}.save-offline .save-dot,.save-error .save-dot{background:var(--color-danger)}.time-warning{font-weight:700}.exam-layout{gap:var(--space-5);grid-template-columns:1fr 260px;align-items:start;display:grid}.question-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.question-meta{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--color-muted);font-weight:700;display:flex}.exam-question-text{margin-block:var(--space-4);white-space:pre-wrap;font-size:1.35rem;font-weight:600;line-height:1.7}.answer-list{margin:0 0 var(--space-3);gap:var(--space-3);border:0;padding:0;display:grid}.answer-option{align-items:center;gap:var(--space-3);min-block-size:56px;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font-size:var(--text-lg);cursor:pointer;transition:border-color .1s,background-color .1s;display:flex}.answer-option:hover{border-color:var(--color-laurel)}.answer-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);font-weight:600}.answer-option input{block-size:22px;inline-size:22px;accent-color:var(--color-primary);flex:none}.question-nav{justify-content:space-between;gap:var(--space-3);margin-block-start:var(--space-5);display:flex}.navigator{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);position:sticky;top:84px}.navigator-title{font-weight:700;font-size:var(--text-sm)}.navigator-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(40px,1fr));margin-block-end:var(--space-3);display:grid}.nav-cell{border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-block-size:40px;font:inherit;cursor:pointer;font-weight:700}.nav-cell.is-answered{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.nav-cell.is-current{outline:3px solid var(--color-sun);outline-offset:1px}.navigator-legend{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-muted);flex-wrap:wrap;display:flex}.legend-dot{border:2px solid var(--color-border);border-radius:3px;block-size:14px;inline-size:14px;display:inline-block}.legend-dot.is-answered{background:var(--color-primary);border-color:var(--color-primary)}.done-mark{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;block-size:72px;inline-size:72px;font-size:2.4rem;font-weight:700;display:grid}@media (max-width:820px){.exam-layout{grid-template-columns:1fr}.navigator{position:static}}@media (max-width:560px){.question-panel{padding:var(--space-4)}.exam-question-text{font-size:1.2rem}.timer-value{font-size:1.5rem}.question-nav .btn{flex:1}.exam-card{padding:var(--space-4)}.exam-card-action,.exam-card-action .btn{inline-size:100%}}
