:root{--ink: #1f2d41;--navy: #0061f2;--navy-deep: #0052cc;--sidenav: #24344b;--paper: #eff3f9;--card: #ffffff;--line: #d7dee8;--gold: #f4a100;--gold-soft: #fff4d6;--teal: #00ba94;--danger: #e81500;--hold: #f4a100;--ok: #00ac69;--muted: #687281;--shadow: 0 1px 0 rgba(31, 45, 65, .06);--font: "IBM Plex Sans", system-ui, sans-serif;--serif: "Source Serif 4", Georgia, serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow-x:hidden}body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:650;margin:0;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:8px 14px;cursor:pointer;font-weight:550;background:var(--navy);color:#fff}.btn:hover{background:var(--navy-deep)}.btn.secondary{background:#fff;color:var(--navy);border-color:var(--line)}.btn.secondary:hover{background:#eef4ff}.btn.ghost{background:transparent;color:var(--navy);border-color:transparent}.btn.danger{background:var(--danger)}.btn.gold{background:var(--gold);color:#1a1408}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.small{padding:5px 10px;font-size:13px}.input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fff}input[type=date].input{min-height:40px;cursor:pointer;color-scheme:light}.color-field{flex-wrap:nowrap}.color-field .input{flex:1;min-width:110px}input[type=color].color-swatch{width:46px;min-width:46px;flex:0 0 auto;height:38px;padding:2px;cursor:pointer}.input:focus,select:focus,textarea:focus{outline:2px solid #0061f233;border-color:var(--navy)}label.field,div.field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);font-weight:550}label.field span.req,div.field span.req{color:var(--danger)}.field-head{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%}.field-hint{font-size:12px;font-weight:500;color:var(--muted)}.check-list{border:1px solid var(--line);border-radius:6px;max-height:168px;overflow:auto;padding:6px 8px;background:#fff}.check-list label{display:flex;align-items:center;gap:8px;padding:5px 2px;color:var(--ink, #1f2d41);font-weight:500;font-size:13px;cursor:pointer}.check-list input{width:auto;accent-color:var(--navy)}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;min-width:0;overflow-wrap:anywhere;overflow-x:auto;-webkit-overflow-scrolling:touch}.stat{padding:16px 18px}.stat b{display:block;font-family:var(--serif);font-size:28px;color:var(--navy)}.stat span{color:var(--muted);font-size:13px}a.stat-link{text-decoration:none;color:inherit;display:block}a.stat-link:hover{border-color:var(--navy)}.table{width:100%;min-width:max-content;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:10px;border-bottom:1px solid #eef2f7;vertical-align:middle;white-space:nowrap;overflow-wrap:normal;word-break:normal}.table tr:hover td{background:#f5f8fc}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.table-scroll th:last-child,.table-scroll td:last-child{position:sticky;right:0;background:var(--card, #fff);z-index:1;white-space:normal;box-shadow:-8px 0 10px -8px #0f172a2e}.table tr:hover td:last-child{background:#f5f8fc}.table-filter{max-width:360px}.pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.pill.ok{background:#e6f4ea;color:var(--ok)}.pill.warn{background:#feebc8;color:var(--hold)}.pill.bad{background:#fed7d7;color:var(--danger)}.pill.navy{background:#e8eef6;color:var(--navy)}.pill.muted{background:#eee;color:var(--muted)}.shell{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;overflow:hidden}.shell-body{display:grid;grid-template-columns:240px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}.workspace{min-width:0;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.brand-bar{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr) minmax(120px,1fr);align-items:center;gap:12px;padding:8px 20px;min-height:64px;background:#fff;border-bottom:1px solid var(--line);z-index:5;flex-shrink:0}.brand-bar-left{justify-self:start;display:flex;align-items:center;gap:8px;min-width:0}.brand-bar-center{justify-self:center;text-align:center;font-weight:700;font-size:18px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}.brand-bar-right{justify-self:end;text-align:right;font-size:12px;color:var(--muted);line-height:1.35}.brand-bar-user{display:flex;flex-direction:row;align-items:center;gap:10px}.brand-bar-user .btn{margin-top:0;flex-shrink:0}.profile-menu{position:relative;flex-shrink:0}.profile-trigger{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;color:var(--ink);font:inherit;font-weight:650;font-size:13px}.profile-trigger-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-avatar{width:32px;height:32px;border-radius:50%;background:#cfd6e4;color:#334155;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.profile-avatar.light{background:#fff;color:#1e4fd7}.profile-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:280px;background:#fff;border-radius:10px;box-shadow:0 14px 36px #10182833;overflow:hidden;z-index:50}.profile-dropdown-head{display:flex;align-items:center;gap:10px;padding:14px;background:#1e4fd7;color:#fff;font-weight:650;font-size:14px;text-align:left}.profile-dropdown-head div{min-width:0}.profile-dropdown-head strong{display:block;font-size:14px}.profile-dropdown-head small{display:block;margin-top:2px;font-size:11px;font-weight:500;color:#d7e4ff}.profile-dropdown-meta{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left}.profile-dropdown-meta div{font-size:13px;color:var(--ink);line-height:1.35;margin:6px 0;overflow-wrap:anywhere}.profile-dropdown-meta span{display:block;font-size:11px;color:var(--muted);font-weight:650;margin-bottom:1px}.profile-logout{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;border:0;background:#fff;cursor:pointer;color:var(--ink);font:inherit;font-size:14px;text-align:left}.profile-logout:hover{background:#f4f6fb}.brand-session-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:999px;background:#f4f6fb;border:1px solid var(--line);color:#5b6475;font-size:12px;font-weight:500;white-space:nowrap;max-width:min(360px,46vw);overflow:hidden;text-overflow:ellipsis}.brand-session-chip b{color:#c0392b;font-weight:700}.brand-bar-logo{display:block;height:44px;max-width:220px;width:auto;object-fit:contain}.menu-toggle{display:none;width:40px;height:40px;padding:9px 8px;flex-direction:column;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--ink);border-radius:2px}.back-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer}.back-btn:hover{background:var(--panel, #f3f6fb)}.back-btn svg{flex-shrink:0}@media(max-width:720px){.back-btn-label{display:none}.back-btn{padding:0 10px}}.side-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#1f2d4173;z-index:20;cursor:pointer}.side-close{display:none}.login-product-logo{display:block;height:64px;max-width:100%;width:auto;margin:0 auto 12px;object-fit:contain}.side{background:var(--sidenav);color:#e8eef8;padding:20px 14px;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.brand{font-family:var(--serif);font-size:22px;color:#fff;padding:4px 10px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-shrink:0}.brand small{display:block;font-family:var(--font);font-size:11px;color:#9ec5ff;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.nav a,.nav button{display:block;width:100%;text-align:left;background:none;border:0;color:#c5d4ea;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px}.nav a.active,.nav a:hover,.nav button:hover{background:#0061f2;color:#fff}.nav .group{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8ea0b8;padding:10px 10px 4px}.nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.nav::-webkit-scrollbar{width:5px}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.side-who{margin-top:auto;flex-shrink:0;padding:12px 14px 10px;font-size:12px;color:#9aa8c2;background:#0000002e;border-top:1px solid rgba(255,255,255,.08)}.side-who strong{display:block;margin-top:4px;color:#f5c542;font-weight:650;font-size:13px}.main{padding:24px;min-width:0;overflow-x:hidden}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-title p{margin:6px 0 0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 12px;align-items:end}.filter-grid select,.filter-grid .input{width:100%;min-width:0}.filter-grid>.field{min-width:0}.filter-grid>.btn{justify-self:start;white-space:nowrap}.filter-grid>input.input{grid-column:1 / -1}.filter-grid .filter-search{display:flex;gap:8px;min-width:0;align-items:center;grid-column:1 / -1}.filter-grid .filter-search .input{flex:1;max-width:none}.filter-grid .filter-search .btn{flex:0 0 auto;white-space:nowrap}.session-filter,.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;min-width:0;align-items:end}.session-filter select,.session-filter .input,.form-pair .input{width:100%;min-width:0}.form-pair>.field{min-width:0}.filter-grid .session-filter{display:contents}@media(max-width:560px){.filter-grid,.session-filter,.form-pair,.file-number-form{grid-template-columns:1fr}.file-number-form .field:last-of-type{grid-column:1}}.inbox-filter-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:16px;box-shadow:0 1px 3px #0000000a}.inbox-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:10px}.inbox-filter-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:8px}.inbox-filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;align-items:end}.inbox-filter-field{display:flex;flex-direction:column;gap:4px;min-width:0}.inbox-filter-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.inbox-filter-field select,.inbox-filter-field .input{width:100%;min-width:0;height:38px;padding:6px 10px;font-size:13px;border:1px solid var(--line);border-radius:6px;background-color:#fff;transition:border-color .15s,box-shadow .15s}.inbox-filter-field select:focus,.inbox-filter-field .input:focus{border-color:#0061f2;outline:none;box-shadow:0 0 0 2px #0061f226}.inbox-filter-search-box{grid-column:1 / -1;display:flex;gap:8px;align-items:center;margin-top:4px}.inbox-filter-search-box .input{flex:1;height:38px;padding:8px 12px;font-size:13px}.filter-active-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.filter-tag-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#f0f4ff;border:1px solid #c7dcff;border-radius:999px;font-size:12px;color:#0052cc;font-weight:500}.filter-tag-pill button{background:none;border:0;cursor:pointer;color:#0052cc;padding:0 2px;font-size:14px;line-height:1;display:inline-flex;align-items:center}.filter-tag-pill button:hover{color:#c0392b}.login{min-height:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,1fr)}.login-left{color:#f4f7ff;padding:48px 56px;display:flex;position:relative;overflow:hidden;background:radial-gradient(900px 520px at -8% -12%,#6a70ff 0%,transparent 58%),radial-gradient(640px 420px at 108% 92%,#0052cc 0%,transparent 55%),linear-gradient(165deg,#2f35df,#2430c9 46%,#0061f2)}.login-left:before,.login-left:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.login-left:before{width:420px;height:420px;right:-140px;bottom:-160px;border:36px solid rgba(255,255,255,.14)}.login-left:after{width:260px;height:260px;right:48px;bottom:-90px;border:2px solid rgba(244,161,0,.55)}.login-left-inner{position:relative;z-index:1;width:100%;max-width:520px;display:flex;flex-direction:column;justify-content:space-between;gap:36px}.login-brand-chip{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:6px 16px 6px 6px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 24px #1018502e}.login-brand-chip img{height:34px;width:auto;background:#fff;border-radius:999px;padding:4px 8px}.login-brand-chip span{font-weight:700;letter-spacing:.08em;font-size:13px}.login-kicker{margin:0 0 14px;letter-spacing:.22em;text-transform:uppercase;font-size:11px;font-weight:650;color:#ffd36a}.login-left h1{font-size:clamp(34px,4.4vw,52px);max-width:13ch;line-height:1.08;color:#fff}.login-lead{margin:18px 0 0;max-width:44ch;color:#d7e4ff;font-size:16px;line-height:1.65}.login-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}.login-points li{padding:12px 14px;border-radius:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-points b{display:block;font-size:14px;color:#fff;font-weight:650}.login-points span{display:block;margin-top:2px;font-size:13px;color:#c9d7ff;line-height:1.4}.login-right{display:grid;place-items:center;padding:40px 32px;background:radial-gradient(420px 280px at 80% 0%,#e8f0ff 0%,transparent 70%),var(--paper)}.login-card{width:min(420px,100%);box-shadow:0 18px 50px #1f2d4114}.metro{display:flex;flex-wrap:wrap;gap:10px 8px;padding:4px 0 12px;max-width:100%}.metro-stop{display:flex;align-items:flex-start;gap:8px;flex:1 1 150px;max-width:220px;min-width:0;position:relative;padding:6px 8px;background:#f5f8fc;border-radius:8px}.metro-stop:before{display:none}.dot{width:14px;height:14px;border-radius:50%;margin:3px 0 0;flex:0 0 auto;border:3px solid var(--line);background:#fff}.dot.COMPLETED{background:var(--ok);border-color:var(--ok)}.dot.CURRENT{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px #f4a10033}.dot.HOLD{background:var(--hold);border-color:var(--hold)}.dot.REJECTED{background:var(--danger);border-color:var(--danger)}.metro-stop small{display:block;text-align:left;font-size:11px;color:var(--muted);line-height:1.3;overflow-wrap:anywhere}.metro-stop.CURRENT{background:var(--gold-soft)}.metro-stop.COMPLETED{background:#e6f4ea}.metro-stop.HOLD{background:#feebc8}.metro-stop.REJECTED{background:#fed7d7}.metro-stop.clickable{cursor:pointer;border:none;font:inherit;text-align:left;color:inherit;text-decoration:none}.metro-stop.clickable:hover{box-shadow:0 0 0 1px var(--line)}.metro-counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.metro-count{display:inline-block;background:#fff;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;color:var(--ink, #1f2d41);line-height:1.6}.metro-stop.clickable .metro-count:hover{background:#eef3f8}.wf-group{margin-top:18px}.wf-group:first-child{margin-top:10px}.wf-group-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.wf-group-head h4{margin:0;font-size:15px}.wf-group-head span{font-size:12px;color:var(--muted)}.metro-group-link{color:inherit;text-decoration:none}.metro-group-link:hover{text-decoration:underline}.dashboard-metro{position:relative}.dashboard-metro.collapsed{max-height:var(--metro-one-row, 80px);overflow:hidden;padding-bottom:0}.metro-view-row{display:flex;justify-content:flex-end;margin-top:6px}.wf-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-decoration:none;color:inherit;overflow-x:hidden}.wf-card b{font-size:20px;line-height:1}.wf-card span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.wf-card.empty b{color:var(--muted);font-weight:550}.wf-card:hover{border-color:var(--navy)}.table-wrap{width:100%;max-width:100%;overflow-x:auto}.file360{min-width:0}.file360-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f224073;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow:auto}.modal-card{width:min(720px,100%);background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 48px #0f22402e;padding:20px 22px 24px}.modal-card-wide{width:min(960px,100%)}.examiner-details-body{max-height:calc(85vh - 70px);overflow-y:auto;padding-right:6px}.eval-rounds{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.dialog-overlay{align-items:center;z-index:55}.dialog-card{width:min(440px,100%);text-align:center;padding:28px 24px 22px}.dialog-card-wide{width:min(720px,100%);text-align:left}.dialog-card-wide .dialog-actions{justify-content:flex-end}.dialog-card h2{font-size:24px;color:var(--navy);margin-bottom:8px}.dialog-card p{color:var(--muted);margin:0 0 18px;white-space:pre-wrap}.thesis-modal{width:min(720px,100%);max-height:90vh;overflow:auto;text-align:left}.thesis-view-modal{width:min(960px,100%);max-height:92vh;overflow:auto;text-align:left}.thesis-view-first{margin-top:0;padding-top:0;border-top:0}.table-actions .link{margin-top:0}.dialog-actions{display:flex;justify-content:center;gap:10px}.mail-preview-body{white-space:pre-wrap;font-family:inherit;max-height:360px;overflow:auto;margin:0 0 18px;padding:12px 14px;font-size:13px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:8px}.page-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f224073;display:grid;place-items:center}.page-loader-card{background:#fff;border-radius:12px;padding:28px 36px;text-align:center;min-width:240px;box-shadow:0 16px 48px #0f224033;color:var(--navy);font-weight:600}.spinner{width:36px;height:36px;border:3px solid #d9d0c3;border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.info-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.info-section h3{font-size:16px;margin-bottom:8px}.info-dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:0}.info-row{display:grid;gap:2px;min-width:0}.info-row dt{color:var(--muted);font-size:12px;font-weight:600}.info-row dd{margin:0;overflow-wrap:anywhere}.info-span-2{grid-column:1 / -1}.name-link{display:inline;padding:0;border:0;background:none;color:var(--navy);font:inherit;font-weight:650;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.name-link:hover{color:var(--navy-deep)}.cheque-preview{display:block;max-width:min(100%,420px);max-height:280px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fafafa}.info-list{margin:0;padding-left:18px}.info-empty{margin:0;color:var(--muted);font-size:13px}.activity-item{font-size:13px;margin:0;padding:8px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-item p{margin:0}.activity-remark{margin-top:4px;color:var(--navy);background:#eef3fb;border-left:3px solid var(--navy);padding:6px 8px;white-space:pre-wrap}.activity-time{color:var(--muted);font-size:11px;margin-top:4px}.activity-scroll{max-height:420px;overflow-y:auto;overscroll-behavior:contain;padding-right:6px}@media(max-width:640px){.info-dl{grid-template-columns:1fr}}@media(min-width:1400px){.file360-body{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}.wizard{display:flex;gap:8px;margin-bottom:16px}.wizard span{padding:6px 10px;border-radius:999px;font-size:12px;background:#efe8db;color:var(--muted)}.wizard span.on{background:var(--navy);color:#fff}.error{background:#fed7d7;color:var(--danger);padding:8px 12px;border-radius:6px;font-size:13px}.okbox{background:#e6f4ea;color:var(--ok);padding:8px 12px;border-radius:6px;font-size:13px}.link{display:inline-block;margin-top:4px;padding:0;border:0;background:none;color:var(--navy);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline}.link:hover{color:var(--navy-deep)}.staff-split{display:grid;grid-template-rows:auto minmax(280px,1fr);gap:14px;min-height:calc(100vh - 230px)}.staff-grid-card{overflow:auto}.task{max-width:760px;margin:40px auto}.guide-shell{min-height:100%;background:radial-gradient(1200px 400px at 10% -10%,#d7e3f4 0%,transparent 55%),radial-gradient(800px 320px at 100% 0%,#c5fff0 0%,transparent 50%),var(--paper)}.guide-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:22px 28px 16px;border-bottom:1px solid var(--line);background:#ffffffdb}.guide-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--gold);font-weight:650;margin-bottom:4px}.guide-top-sub,.guide-muted,.guide-hint{color:var(--muted);font-size:13px}.guide-lead{color:var(--muted);margin:6px 0 0}.guide-auth{display:grid;place-items:start center;padding:48px 16px}.guide-auth-card{width:min(440px,100%);padding:28px;box-shadow:0 18px 40px #0f224014}.guide-auth-card h1{font-size:30px;color:var(--navy)}.guide-body{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 88px)}.guide-side{padding:18px 14px;border-right:1px solid var(--line);background:#f7fafdcc;display:flex;flex-direction:column;gap:8px}.guide-tab{text-align:left;border:1px solid transparent;background:transparent;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:600;color:var(--navy);display:flex;align-items:center;justify-content:space-between}.guide-tab:hover{background:var(--gold-soft)}.guide-tab.on{background:var(--navy);color:#fff}.guide-count{font-size:11px;background:#fff;color:var(--navy);border-radius:999px;padding:1px 7px}.guide-tab.on .guide-count{background:var(--gold-soft)}.guide-side-note{font-size:12px;color:var(--muted);line-height:1.4;margin-top:8px;padding:0 4px}.guide-main{padding:20px 24px 40px;min-width:0}.guide-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.guide-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.guide-hero h1{font-size:32px;color:var(--navy)}.guide-hero-meta{display:flex;gap:10px;flex-wrap:wrap}.guide-hero-meta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px}.guide-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px}.guide-buckets{display:grid;gap:10px;margin-top:10px}.guide-bucket b{color:var(--navy)}.guide-meter{height:8px;background:#eee6da;border-radius:99px;overflow:hidden;margin-top:6px}.guide-meter i{display:block;height:100%;background:var(--teal)}.guide-people{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.guide-people li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.examiner-suggest{position:relative}.examiner-suggest-list{position:absolute;z-index:8;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:8px;max-height:220px;overflow:auto;box-shadow:0 8px 24px #0f22401f}.examiner-suggest-list button{display:grid;width:100%;text-align:left;gap:2px;padding:8px 12px;border:0;background:none;cursor:pointer;font:inherit}.examiner-suggest-list button span{color:var(--muted);font-size:12px}.examiner-suggest-list button:hover:not(:disabled){background:var(--paper)}.examiner-suggest-list button:disabled{opacity:.55;cursor:not-allowed}.guide-current-row td{background:#f3e6c8!important}.eval-print-examiner{margin:0 0 10px;color:var(--muted);font-size:13px}.eval-head{text-align:center;margin-bottom:16px}.eval-confidential{display:inline-block;border:1px solid var(--ink);padding:4px 12px;letter-spacing:.12em;font-weight:700;font-size:13px;margin-bottom:8px}.eval-head h2{color:var(--navy);font-size:22px}.eval-sub{color:var(--muted);margin:6px 0 0}.eval-fileno{margin-top:8px;font-weight:650}.eval-meta{width:100%;border-collapse:collapse;margin:12px 0 18px}.eval-meta th{text-align:left;width:200px;padding:6px 8px;color:var(--muted);font-size:13px}.eval-meta td{padding:6px 8px}.eval-rec,.eval-grade{display:flex;align-items:center;gap:10px;margin:8px 0;font-weight:600;cursor:pointer}.eval-grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 14px}.eval-grade{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff}.eval-report th,.eval-report td{text-align:center}.eval-report td:nth-child(2){text-align:left}.thesis-frame{width:100%;min-height:70vh;border:1px solid var(--line);border-radius:8px;background:#fff}.thesis-frame-compact{min-height:420px}.protected-pdf{width:100%;max-height:78vh;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#323639;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.protected-pdf.compact{max-height:420px}.protected-pdf-pages{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px}.protected-pdf-page{width:100%;background:#fff;box-shadow:0 1px 6px #00000059}.protected-pdf-page canvas{display:block;width:100%;height:auto;pointer-events:none}.protected-pdf-status{color:#d7d7d7;text-align:center;padding:28px 12px;margin:0}@media print{.protected-pdf,.no-print{display:none!important}body *{visibility:hidden!important}.eval-print-area,.eval-print-area *,.grid-print-area,.grid-print-area *,.letter-print-area,.letter-print-area *,.print-a4,.print-a4 *{visibility:visible!important}.eval-print-area,.grid-print-area,.letter-print-area{position:absolute!important;left:0;top:0;width:100%;margin:0;padding:0;background:#fff}.grid-print-area{padding:16px!important;color:#111}.grid-print-area h1{font-size:18px;margin:0 0 12px}.grid-print-area table{width:100%;border-collapse:collapse}.grid-print-area th,.grid-print-area td{border:1px solid #222;padding:6px 8px;text-align:left;font-size:12px;white-space:normal}.grid-print-area th{background:#eee}.eval-print-area .eval-form{border:none;border-radius:0;box-shadow:none;padding:0}.eval-print-examiner{margin:0 0 12px;font-weight:650}}.submit-shell{min-height:100%;background:radial-gradient(#fff 60%,#d7d7d7);display:flex;flex-direction:column;align-items:center;padding:40px 16px 64px}.submit-head{text-align:center;margin-bottom:36px}.submit-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:12px;color:var(--gold);font-weight:650;margin-bottom:8px}.submit-head h2{color:#161661;font-size:28px;margin:0}.submit-box{display:inline-block;max-width:720px;text-align:center;background:#fff;border:1px solid #d0d0d0;box-shadow:0 8px 24px #0f22401f;padding:36px 48px}.submit-msg{display:block;font-family:var(--serif);font-size:40px;line-height:1.2;color:var(--navy);text-wrap:balance}.submit-sub{margin:16px 0 0;font-size:16px;color:var(--ink)}.submit-meta{margin:14px 0 0;font-size:14px;color:var(--muted)}@media(max-width:980px){.guide-body,.guide-grid{grid-template-columns:1fr}.guide-side{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex-wrap:wrap}.submit-msg{font-size:28px}.submit-box{padding:24px 18px}}@media(max-width:900px){.shell-body{grid-template-columns:1fr}.menu-toggle{display:inline-flex}.brand-bar{grid-template-columns:auto minmax(0,1fr) auto;padding:8px 12px}.brand-bar-center{font-size:14px}.brand-bar-logo{height:34px;max-width:160px}.brand-bar-meta{display:none}.brand-bar-user{flex-direction:row;align-items:center}.brand-bar-user .btn{margin-top:0}.brand-session-chip{font-size:11px;padding:5px 10px;max-width:min(220px,42vw)}.profile-trigger-name{max-width:88px}.side-backdrop.on{display:block}.side{display:flex;position:fixed;top:0;left:0;bottom:0;width:min(280px,86vw);z-index:30;transform:translate(-100%);transition:transform .2s ease;box-shadow:8px 0 24px #1018282e}.side.open{transform:translate(0)}.side-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;color:#c5d4ea;font-size:28px;line-height:1;cursor:pointer;padding:0}.login{grid-template-columns:1fr}.login-left{padding:28px 24px 32px;min-height:auto}.login-left-inner{gap:18px;max-width:none}.login-left h1{font-size:28px;max-width:18ch}.login-lead{font-size:14px;margin-top:10px}.login-points{display:none}.login-right{padding:24px 16px 40px}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.main{padding:16px 12px}.table-filter{max-width:none;width:100%}.page-title{align-items:flex-start}.file-number-toolbar .table-filter{width:100%}}.nav a.nav-child{padding-left:22px;font-size:13px}.field.has-error .input,.field.has-error select,.field.has-error input{border-color:var(--danger)}.field-error{color:var(--danger);font-size:12px;font-weight:550}.plus-btn{margin-left:0;width:32px;height:32px;border-radius:50%;flex:0 0 32px;border:1.5px solid #6d28d9;background:#fff;color:#6d28d9;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:all .15s ease}.plus-btn:hover{background:#f5f3ff}.icon-edit{width:32px;height:32px;border-radius:50%;border:1.5px solid #e74c3c;background:#fff;color:#e74c3c;font-size:15px;line-height:1;cursor:pointer}.icon-edit:hover{background:#fdecea}.guide-modal-overlay{align-items:center;padding:24px 16px}.guide-modal{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);width:min(980px,96vw);background:#fff;border-radius:6px;box-shadow:0 24px 64px #0f224047;overflow:visible}.guide-modal-close{position:absolute;top:-14px;right:-14px;z-index:5;width:36px;height:36px;border-radius:50%;border:0;background:#e74c3c;color:#fff;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 4px 12px #e74c3c66;display:grid;place-items:center;transition:transform .15s ease,background .15s ease}.guide-modal-close:hover{background:#c0392b;transform:scale(1.06)}.guide-modal-side{background:linear-gradient(180deg,#b794f4,#9f7aea 42%,#805ad5);color:#fff;padding:40px 18px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border-radius:6px 0 0 6px}.guide-modal-icon{width:104px;height:104px;border-radius:50%;background:#ffffff59;color:#1e1b4b;display:grid;place-items:center}.guide-modal-side p{margin:0;font-size:16px;font-weight:600;line-height:1.35;max-width:14ch;color:#fff}.guide-modal-next{width:34px;height:34px;border-radius:50%;background:#1e1b4b;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:700}.guide-modal-form{padding:24px 30px 22px}.guide-modal-form h2{margin:0 0 4px;color:#2563eb;font-size:22px;font-weight:700}.guide-modal-req{color:#64748b;margin:0 0 18px;font-size:13.5px;font-weight:500}.guide-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;align-items:start}.guide-field{display:grid;grid-template-columns:138px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.guide-label{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:13px;font-weight:500;color:#334155;line-height:1.25}.guide-label-text{flex:1}.guide-req{color:#ef4444;font-weight:700;font-size:14px;line-height:1;margin-left:2px}.guide-req-spacer{width:8px}.guide-control{min-width:0;display:flex;flex-direction:column}.guide-control .input,.guide-control select.input{width:100%;height:36px;border:1px solid #cbd5e1;border-radius:4px;padding:6px 10px;font-size:13.5px;background:#fff;color:#0f172a;box-sizing:border-box}.guide-control .input::placeholder{color:#94a3b8;font-size:13px;font-weight:400}.guide-control .input:focus,.guide-control select.input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f62e}.guide-control .field-error{color:#ef4444;font-size:11.5px;margin-top:3px;font-weight:500}.guide-select-plus{display:flex;align-items:center;gap:8px}.guide-select-plus .input{flex:1;min-width:0}.guide-select-plus .plus-btn{flex:0 0 32px;margin-left:0}.guide-inline-add{display:flex;align-items:center;gap:8px;margin-top:10px}.guide-modal-actions{display:flex;justify-content:flex-end;margin-top:24px;gap:14px}.btn.guide-submit{background:#3b82f6;border:1px solid #3b82f6;color:#fff;border-radius:5px;padding:8px 26px;font-weight:600;font-size:14px;box-shadow:0 2px 4px #3b82f647;cursor:pointer;transition:all .15s ease}.btn.guide-submit:hover{background:#2563eb;border-color:#2563eb}.btn.guide-reset{background:#fff;color:#10b981;border:1.5px solid #10b981;border-radius:5px;padding:8px 24px;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s ease}.btn.guide-reset:hover{background:#ecfdf5}.guide-modal-note{margin:10px 0 0;color:var(--muted);font-size:13px}@media(max-width:820px){.guide-modal{grid-template-columns:1fr}.guide-modal-side{border-radius:6px 6px 0 0;padding:28px 16px}.guide-form-grid{grid-template-columns:1fr}}@media(max-width:520px){.guide-field{grid-template-columns:1fr;gap:4px}}.dept-hero{background:linear-gradient(90deg,#0b1f6b,#1e4fd7 55%,#5aa0ff);color:#fff;border-radius:8px;padding:18px 20px;margin-bottom:16px}.dept-hero h1{color:#fff;font-size:26px}.dept-hero p{margin:6px 0 0;color:#d9e6ff}.dept-session-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.dept-session-bar .error{grid-column:1 / -1}.dept-session-bar .btn{justify-self:end}@media(max-width:560px){.dept-session-bar{grid-template-columns:1fr}.dept-session-bar .btn{justify-self:stretch}}.dept-add-card .dept-sec{color:#1a3fa8;font-size:15px;margin:16px 0 8px}.dept-all-req{color:var(--danger);text-align:right;margin:0 0 8px;font-size:13px}.dept-add-actions{justify-content:flex-end;margin-top:16px}.table-export{margin:8px 0}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.files-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0}.thesis-no-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:132px}.thesis-no-row{display:flex;align-items:center;gap:6px}.thesis-no-cell .input{width:96px;min-width:80px;padding:5px 7px;font-size:13px}.file-number-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;align-items:end}.file-number-form .error{grid-column:1 / -1}.file-number-form .field:last-of-type{grid-column:1 / -1}.file-number-form .file-number-input-row{display:flex;gap:10px;align-items:center}.file-number-form .file-number-input-row .input{flex:1;min-width:0}.file-number-toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.icon-delete{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--danger);background:#fff;color:var(--danger);display:inline-grid;place-items:center;cursor:pointer;padding:0}.icon-delete:hover{background:#fdecea}.pager{display:flex;justify-content:flex-end;gap:6px;align-items:center;margin-top:12px;flex-wrap:wrap}.pager-meta{margin-right:auto;color:var(--muted);font-size:13px}.grid-print-area{position:absolute;left:-10000px;top:0;width:100%;background:#fff;color:#111}.print-a4{background:#fff;padding:16px}.letter-print-sheet{background:#fff;color:#111;padding:8px 4px 24px}.letter-print-sheet+.letter-print-sheet{border-top:1px dashed #ccc;margin-top:24px;padding-top:24px}.letter-print-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.letter-print-logo{height:56px;width:auto}.letter-print-org{font-weight:700;font-size:16px;margin:0}.letter-print-meta{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:13px;margin-bottom:8px}.letter-print-confidential{font-weight:700;letter-spacing:.08em;margin:8px 0}.letter-print-subject{font-size:15px;margin:0 0 12px}@media print{.letter-print-sheet+.letter-print-sheet{border-top:none;page-break-before:always;margin-top:0;padding-top:0}}.print-dl{display:grid;grid-template-columns:220px 1fr;gap:8px 16px;margin-top:16px}.print-dl dt{color:#c0392b;font-weight:650}.print-dl dd{margin:0;background:#f4f7fb;padding:6px 10px}.print-date{text-align:right;color:var(--muted)}@media print{.brand-bar,.side,.menu-toggle,.no-print,.side-backdrop{display:none!important}.shell,.shell-body,.workspace,.main{padding:0;display:block;height:auto;overflow:visible}.print-a4{box-shadow:none}.modal-overlay{position:static;background:none;padding:0;display:block}.modal-card{position:static;box-shadow:none;border:none;max-width:100%;width:100%;padding:0}.examiner-details-body{max-height:none;overflow:visible}}.rte{border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.rte-toolbar{background:#f4f6f9;border-bottom:1px solid var(--line);padding:6px 8px;display:flex;flex-direction:column;gap:4px}.rte-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.rte-sep{width:1px;height:18px;background:var(--line);margin:0 4px}.rte-btn{min-width:28px;height:26px;padding:0 6px;border:1px solid transparent;border-radius:3px;background:transparent;color:#334155;cursor:pointer;font-size:12px}.rte-btn:hover,.rte-btn.on{background:#fff;border-color:var(--line)}.rte-select{height:26px;font-size:12px;border:1px solid var(--line);border-radius:3px;background:#fff;padding:0 4px;width:auto}.rte-color{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.rte-area{min-height:220px;max-height:420px;overflow:auto;padding:12px 14px;outline:none;color:var(--ink);background:#fff;line-height:1.5}.rte-area:focus{box-shadow:inset 0 0 0 2px #0061f233}.rte-source{min-height:220px;max-height:420px;width:100%;border:0;padding:12px 14px;font-family:ui-monospace,Consolas,monospace;font-size:13px;resize:vertical}.rte-vars{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:#fafbfd}.rte-var{border:1px dashed var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:2px 8px;font-size:11px;cursor:pointer}.rte-var:hover{border-color:var(--navy);background:#eef4ff}.mail-preview-html{white-space:normal}.mail-preview-html .mail-preview-head{color:var(--muted);font-size:13px;margin-bottom:12px;white-space:pre-wrap}.test-mail-overlay{align-items:center}.test-mail-card{position:relative;width:min(640px,100%);display:grid;grid-template-columns:200px minmax(0,1fr);background:#fff;border-radius:4px;box-shadow:0 16px 48px #0f224038;overflow:visible}.test-mail-side{background:linear-gradient(180deg,#8b5cf6,#6d28d9);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:28px 16px;border-radius:4px 0 0 4px}.test-mail-side p{margin:0;font-weight:650;line-height:1.35}.test-mail-icon{width:88px;height:88px;border-radius:50%;background:#ffffff29;display:grid;place-items:center}.test-mail-body{padding:28px 28px 24px}.test-mail-body h2{font-size:20px;color:var(--navy);margin:0 0 18px}.test-mail-field{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px}.test-mail-field label{font-size:13px;color:var(--ink);font-weight:550}.test-mail-actions{display:flex;justify-content:flex-end;margin-top:18px}.test-mail-close{position:absolute;top:-14px;right:-14px;z-index:2;width:32px;height:32px;border-radius:50%;border:0;background:#e11d48;color:#fff;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 8px #e11d4859}.test-mail-close:hover{background:#be123c}@media(max-width:640px){.test-mail-card{grid-template-columns:1fr}.test-mail-side{border-radius:4px 4px 0 0;padding:20px}.test-mail-field{grid-template-columns:1fr}}.exam-type-hero{background:linear-gradient(90deg,#0b1f6b,#153e90 60%,#1e4fd7);color:#fff;border-radius:6px;padding:14px 20px;margin-bottom:16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0b1f6b29}.exam-type-hero-icon{display:flex;align-items:center;justify-content:center;color:#60a5fa}.exam-type-hero h1{color:#fff;font-size:20px;font-weight:700;margin:0;letter-spacing:-.01em}.exam-type-card{background:#fff;border:1px solid var(--line, #d7dee8);border-radius:8px;padding:20px 24px;box-shadow:0 1px 3px #0000000a}.exam-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.exam-type-stat{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#334155}.exam-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;font-weight:700;font-size:13px;color:#1e293b}.btn-add-exam{background:#2563eb;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:14px;padding:8px 18px;cursor:pointer;box-shadow:0 2px 4px #2563eb33;transition:background .15s ease}.btn-add-exam:hover{background:#1d4ed8}.exam-type-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.exam-export-btns{display:flex;gap:6px}.btn-export-teal{background:#26c6da;color:#fff;border:none;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-export-teal:hover{opacity:.9}.exam-search-box{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.exam-search-input{width:180px;padding:5px 8px;font-size:13px;border:1px solid #cbd5e1;border-radius:4px;outline:none}.exam-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.exam-table-container{width:100%;overflow-x:auto;border-top:1px solid #bfdbfe;border-bottom:1px solid #bfdbfe}.exam-table{width:100%;border-collapse:collapse;text-align:left}.exam-table th{padding:12px 14px;color:#1d4ed8;font-size:13px;font-weight:700;background:#f8fafc;-webkit-user-select:none;user-select:none;cursor:pointer}.exam-table th:hover{background:#f1f5f9}.exam-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#334155}.exam-table tr:last-child td{border-bottom:none}.exam-table tr:hover td{background:#fafafa}.btn-edit-exam{background:transparent;color:#0ea5e9;border:1px solid #7dd3fc;border-radius:4px;padding:3px 12px;font-size:12px;font-weight:500;cursor:pointer;margin-right:8px;transition:all .15s ease}.btn-edit-exam:hover{background:#f0f9ff;border-color:#0ea5e9}.btn-delete-exam{background:transparent;color:#ef4444;border:1px solid #fca5a5;border-radius:4px;padding:3px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-delete-exam:hover{background:#fef2f2;border-color:#ef4444}.exam-table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;flex-wrap:wrap;gap:12px;font-size:13px;color:#64748b}.exam-pagination{display:flex;gap:4px;align-items:center}.btn-page{padding:5px 12px;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:4px;font-size:13px;cursor:pointer;transition:all .15s ease}.btn-page:hover:not(:disabled){background:#f8fafc}.btn-page:disabled{opacity:.5;cursor:not-allowed}.btn-page.active{background:#1e3a8a;border-color:#1e3a8a;color:#fff;font-weight:700}.exam-modal-overlay{align-items:center;padding:24px 16px;background:#0f172a73}.exam-modal-card{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);width:min(620px,96vw);background:#fff;border-radius:6px;box-shadow:0 20px 60px #0f224047;overflow:visible}.exam-modal-side{background:linear-gradient(180deg,#c084fc,#a855f7 42%,#7e22ce);color:#fff;padding:36px 16px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border-radius:6px 0 0 6px}.exam-modal-side p{margin:0;font-size:15px;font-weight:650;line-height:1.35;max-width:14ch;color:#fff}.exam-modal-icon{width:90px;height:90px;border-radius:50%;background:#ffffff40;display:grid;place-items:center;color:#1f1635}.exam-modal-next{width:32px;height:32px;border-radius:50%;background:#1f1635;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:700}.exam-modal-form{padding:26px 30px 22px;display:flex;flex-direction:column}.exam-modal-form h2{margin:0 0 4px;color:#2563eb;font-size:20px;font-weight:700}.exam-modal-subtitle{color:#94a3b8;margin:0 0 22px;font-size:13px}.exam-modal-close{position:absolute;top:-14px;right:-14px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;background:#e11d48;color:#fff;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 4px 10px #e11d4859;display:grid;place-items:center}.exam-modal-close:hover{background:#be123c}.btn-exam-submit{background:#2563eb;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:14px;padding:8px 24px;cursor:pointer;transition:background .15s ease}.btn-exam-submit:hover{background:#1d4ed8}@media(max-width:640px){.exam-modal-card{grid-template-columns:1fr}.exam-modal-side{border-radius:6px 6px 0 0;padding:24px 16px}.exam-modal-side p{max-width:none}}.edit-candidate-link{display:inline-flex;align-items:center;gap:5px;color:#1d4ed8;font-weight:600;font-size:13px;text-decoration:underline;padding:3px 8px;border-radius:5px;background:#2563eb14;transition:all .15s ease;white-space:nowrap}.edit-candidate-link:hover{background:#2563eb2e;color:#1e40af;text-decoration:none}.candidate-edit-modal-card{width:min(840px,96vw);max-height:92vh;overflow-y:auto;background:var(--card, #ffffff);border-radius:12px;border:1px solid var(--line, #e2e8f0);box-shadow:0 24px 60px #0f224040;padding:24px 28px;position:relative}.candidate-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line, #e2e8f0);margin-bottom:18px}.candidate-modal-title{font-size:20px;font-weight:700;color:var(--navy, #0f2240);margin:0 0 4px}.candidate-modal-sub{font-size:13px;color:var(--muted, #64748b);margin:0}.candidate-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#2563eb;margin:18px 0 10px;padding-bottom:4px;border-bottom:1.5px solid rgba(37,99,235,.2);display:flex;align-items:center;gap:6px}.candidate-form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}@media(max-width:680px){.candidate-form-grid-2{grid-template-columns:1fr}}.candidate-modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line, #e2e8f0)}.nav .nav-section{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-weight:600;color:#fff;line-height:1.3}.nav .nav-section-caret{transition:transform .15s ease;transform:rotate(-90deg);font-size:12px}.nav .nav-section.open .nav-section-caret{transform:rotate(0)}.nav a.nav-sub{padding-left:22px;font-size:13px;line-height:1.35;border-left:2px solid rgba(255,255,255,.12);margin-left:10px;width:calc(100% - 10px);border-radius:0 6px 6px 0}.practical-filters .grid{align-items:end}.practical-filter-actions{display:flex;gap:10px;align-items:flex-end}.practical-filter-actions .field{flex:1;margin:0}.practical-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.practical-total{margin:0;font-size:16px;display:flex;align-items:center;gap:10px}.practical-count{display:inline-block;min-width:34px;text-align:center;padding:2px 8px;border:1px solid var(--line);border-radius:6px;font-weight:700}.practical-muted{color:var(--muted);font-size:13px;margin:6px 0}.practical-empty{color:var(--muted);text-align:center;padding:24px;margin:0}.practical-notice{background:#e6f4ea;color:var(--ok);border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:14px}.practical-actions-right{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;flex-wrap:wrap}.practical-inline{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.practical-inline .input{flex:1;min-width:160px}.practical-plus{width:24px;height:24px;border-radius:50%;border:1.5px solid #5b21b6;color:#5b21b6;background:#fff;font-weight:700;line-height:1;cursor:pointer}.practical-plus:hover{background:#5b21b6;color:#fff}.practical-appoint-form{margin-top:14px;border-top:3px solid #5b21b6;position:relative;padding-top:34px}.practical-form-tag{position:absolute;top:0;left:16px;background:#c2185b;color:#fff;padding:5px 12px;font-size:14px;border-radius:0 0 6px 6px}.practical-subhead{margin:14px 0 8px;font-size:15px}.practical-remark{width:180px;padding:4px 8px}.practical-skipped{margin:0 0 10px;padding-left:18px;font-size:13px;max-height:240px;overflow:auto}.practical-edit-card{max-width:820px;width:calc(100vw - 32px);max-height:calc(100vh - 40px);overflow:auto}.practical-add-card{position:relative;max-width:980px;padding-top:48px;text-align:left;border-bottom:4px solid #5b21b6}.practical-add-card .dialog-actions{justify-content:flex-end}@media(max-width:720px){.grid.cols-4{grid-template-columns:1fr 1fr}}.table-scroll .practical-nopin th:last-child,.table-scroll .practical-nopin td:last-child{position:static;box-shadow:none;white-space:nowrap}.practical-letter-card{max-width:860px;width:calc(100vw - 32px);max-height:calc(100vh - 40px);overflow:auto}.practical-task{max-width:920px;margin:24px auto;padding:0 16px}.practical-task-title{font-size:22px;margin:6px 0 14px}.practical-task-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 18px;margin:0 0 16px}.practical-task-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.practical-task-facts dd{margin:2px 0 0;font-weight:600}.practical-task-choice{display:flex;gap:24px;flex-wrap:wrap;margin:14px 0}.practical-task-choice label{display:flex;gap:8px;align-items:center;cursor:pointer}.practical-task-code{max-width:180px;letter-spacing:.3em;font-size:18px;text-align:center}.practical-task-note{background:#fff7e6;border-radius:8px;padding:12px 14px}.nav .nav-badge{display:inline-block;margin-left:6px;min-width:20px;padding:0 6px;border-radius:999px;background:#f5c542;color:#1a1408;font-size:11px;font-weight:700;text-align:center;line-height:18px}.practical-signature{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:10px}.practical-signature>div{flex:1;min-width:240px}.practical-signature img{height:54px;max-width:220px;object-fit:contain;border:1px dashed var(--line);padding:4px;background:#fff}.practical-booking th{text-transform:none;letter-spacing:0;font-size:13px;width:40%}.travel-actions{flex-wrap:wrap;max-width:520px}.travel-agent{width:150px;padding:4px 8px}.portal-layout{display:grid;grid-template-columns:240px 1fr;gap:18px;max-width:1200px;margin:20px auto;padding:0 16px}.portal-menu{background:var(--sidenav, #1f2d41);border-radius:12px;padding:12px 8px;align-self:start}.portal-menu button{display:block;width:100%;text-align:left;background:none;border:0;color:#c5d4ea;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:14px}.portal-menu button.sub{padding-left:22px;font-size:13px}.portal-menu button.active,.portal-menu button:hover{background:#0061f2;color:#fff}.portal-menu-group{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8ea0b8;padding:10px 10px 4px}.portal-main{min-width:0}.portal-h{font-size:18px;margin:0 0 10px}.portal-docs{margin:0;padding-left:18px;line-height:2}.portal-instructions{margin:0;padding-left:18px;line-height:1.7}@media(max-width:760px){.portal-layout{grid-template-columns:1fr}}.venue-card{position:relative;max-width:1100px;width:calc(100vw - 32px);max-height:calc(100vh - 40px);overflow:auto;text-align:left}.venue-card .dialog-actions{justify-content:flex-end}.venue-close{position:absolute;top:10px;right:14px;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:var(--muted)}.table tr.row-editing td{background:#fff8e1}.hall-seats{max-height:360px;overflow:auto}.btn.seat-on{background:var(--ok);border-color:var(--ok);color:#fff}.btn.seat-off{background:var(--danger);border-color:var(--danger);color:#fff}.hall-name-row .field{flex:1;margin:0}.seat-chart{display:none}@media print{.seat-chart{display:block;padding:12px;color:#111}.seat-chart-page{page-break-after:always}.seat-chart-page:last-child{page-break-after:auto}.seat-chart-inst{margin:0;font-size:12px;color:#555}.seat-chart h2{font-size:18px;margin:4px 0 10px}.seat-chart table{width:100%;border-collapse:collapse;font-size:12px}.seat-chart th,.seat-chart td{border:1px solid #999;padding:4px 6px;text-align:left}}.sd-notice{background:#e8eef6;color:#1f2d3d;padding:8px 12px;border-radius:6px;font-size:13px;margin:0 0 12px}.sd-notice.ok{background:#e6f4ea}.sd-notice.warn{background:var(--gold-soft)}.sd-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.sd-chip{border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px;background:#fff;cursor:pointer}.sd-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.sd-short{color:var(--danger);font-weight:650}.sd-need-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.sd-matrix{border-collapse:collapse;width:100%;font-size:11px}.sd-matrix th,.sd-matrix td{border:1px solid #222;padding:3px 4px;text-align:center;white-space:nowrap}.sd-matrix td.sd-name{text-align:left}.sd-matrix tr.sd-group td{text-align:left;font-weight:700;background:#f3f3f3}.sd-matrix td.sd-note{text-align:left;white-space:normal;font-weight:600}.sd-print{background:#fff;color:#111;padding:12px}.sd-print h2{font-size:14px;text-align:center;margin:0 0 4px}.sd-print .sd-reporting{text-align:center;font-weight:700;font-size:12px;margin:0 0 8px}.sd-print .sd-sign{display:flex;justify-content:flex-end;gap:80px;margin-top:48px;font-weight:700;font-size:12px}.sd-print .sd-draft{color:var(--danger);text-align:center;font-weight:700;letter-spacing:.3em}@media print{.sd-print,.sd-print *{visibility:visible!important}.sd-print{position:absolute!important;left:0;top:0;width:100%}@page{size:landscape}}
