@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Tiro+Bangla:ital@0;1&display=swap";:root{font-family:Plus Jakarta Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#1a1d26;background:#f4f7fe;--page-bg: #f4f7fe;--surface: #ffffff;--text-normal: #1a1d26;--border: #e8ecf4;--border-strong: #d4dbe8;--accent: #6c5dd3;--accent-hover: #5a4dc2;--accent-soft: #ede9fe;--accent-glow: rgba(108, 93, 211, .12);--teal: #3db8a5;--orange: #ff8f6b;--rose: #e879a9;--danger: #e54d4d;--ok: #3db8a5;--muted: #8b92a8;--shadow: 0 2px 8px rgba(24, 32, 62, .06);--shadow-md: 0 8px 24px rgba(24, 32, 62, .08);--radius: 14px;--radius-sm: 10px}:root[lang=bn]{font-family:Tiro Bangla,Plus Jakarta Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page-bg)}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:600;color:#12151f;letter-spacing:-.02em}label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500;color:#3d4458}input,select,textarea{padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:#12151f;font:inherit;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}label.inline{flex-direction:row;align-items:center;gap:.5rem}.pad{padding:2rem;text-align:center;color:var(--muted)}.stack{display:flex;flex-direction:column;gap:1rem}.stack-lg{display:flex;flex-direction:column;gap:1.5rem}.row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.row.spread{justify-content:space-between}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.btn{font:inherit;padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:#3d4458;cursor:pointer;font-weight:500;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:#f8f9fd;border-color:#c5cddc}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.ae-status-btn{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;min-width:5.25rem;min-height:2.5rem;padding:.4rem .65rem;border-radius:10px;border:2px solid var(--border-strong);gap:.35rem;font-size:.78rem;font-weight:600;line-height:1.15;box-sizing:border-box;box-shadow:0 1px 2px #0000000f}.ae-status-btn .ae-status-btn__icon{font-size:1.1rem;line-height:1}.ae-status-btn.btn-ghost{background:var(--surface)!important;border:2px solid var(--border-strong)!important;color:#2a3042!important}.ae-status-btn.btn-ghost .ae-status-btn__icon{color:inherit}.ae-status-btn.btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;box-shadow:0 2px 6px var(--accent-glow)}.ae-status-btn.btn-primary:hover:not(:disabled){background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;color:#fff!important}.ae-status-btn.btn-ghost:hover:not(:disabled){background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent)!important}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);margin:0;font-size:.9rem}.success{color:var(--ok);margin:0;font-size:.9rem}.app-toast{position:fixed;top:1.35rem;left:50%;transform:translate(-50%);z-index:2000;margin:0;padding:.7rem 1.25rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--ok);box-shadow:0 8px 28px #18203e2e;font-size:.95rem;font-weight:600;color:var(--ok)}.app-layout{display:flex;min-height:100vh}.sidebar{width:268px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);box-shadow:4px 0 24px #18203e0a}.sidebar-inner{padding:1.35rem 1.1rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;min-height:100vh}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:0 .25rem}.sidebar-brand strong{display:block;font-size:1.05rem;font-weight:700;color:#12151f;letter-spacing:-.03em}.sidebar-tagline{display:block;font-size:.72rem;color:var(--muted);font-weight:500}.sidebar-logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent) 0%,#9b8aed 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 4px 12px var(--accent-glow)}.sidebar-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:12px;background:var(--accent);color:#fff!important;font-weight:600;font-size:.9rem;text-decoration:none;box-shadow:0 4px 14px #6c5dd359;transition:transform .15s,box-shadow .15s}.sidebar-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6c5dd366;text-decoration:none}.sidebar-cta-plus{font-size:1.15rem;font-weight:700;line-height:1}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar-link{display:flex;align-items:center;gap:.85rem;padding:.65rem .85rem;border-radius:10px;color:#5c6378;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.sidebar-link:hover{background:#f4f7fe;color:#12151f;text-decoration:none}.sidebar-link--active{background:var(--accent-soft);color:var(--accent)}.sidebar-link-icon{width:1.5rem;text-align:center;opacity:.85;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.sidebar-link--active .sidebar-link-icon{opacity:1}.sidebar-group-toggle{display:flex;width:100%;align-items:center;gap:.35rem;margin-top:.15rem;padding:.6rem .85rem;border:none;border-radius:10px;background:transparent;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8b93a7;text-align:left;transition:background .15s,color .15s}.sidebar-group-toggle:hover{background:#f4f7fe;color:#5c6378}.sidebar-group-chevron{display:inline-block;width:1.25rem;text-align:center;font-size:1.05rem;line-height:1;font-weight:400;transform:rotate(0);transition:transform .18s ease;opacity:.85}.sidebar-group-chevron--open{transform:rotate(90deg)}.sidebar-group-items{display:flex;flex-direction:column;gap:.25rem}.sidebar-group-items--collapsed{display:none!important}.sidebar-settings-wrap{display:flex;flex-direction:column;gap:.25rem;width:100%}.sidebar-sublink{padding-left:1.25rem;font-size:.92rem}.main-column{flex:1;min-width:0;display:flex;flex-direction:column}.chrome-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.85rem 1.75rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.header-search{flex:1;min-width:200px;max-width:420px;display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;background:#f4f7fe;border:1px solid var(--border);border-radius:12px}.header-search-icon{color:var(--muted);font-size:1rem}.header-search input{flex:1;border:none;background:transparent;padding:.25rem 0;min-width:0;box-shadow:none}.header-search input:focus{box-shadow:none}.header-user{margin-left:auto;display:flex;align-items:center;gap:.75rem}.header-user-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent-soft),#fff);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent);font-size:.95rem}.header-user-meta{display:flex;flex-direction:column;gap:.05rem}.header-user-name{font-weight:600;font-size:.9rem;color:#12151f}.header-user-role{font-size:.75rem;color:var(--muted);text-transform:capitalize}.header-logout{font-size:.85rem}.main{flex:1;padding:1.5rem 1.75rem 2.5rem;max-width:1280px;width:100%;margin:0 auto}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(165deg,#f4f7fe,#ebe4ff 45%,#f4f7fe)}.auth-card{width:100%;max-width:400px;padding:2rem 2rem 2.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.auth-card h1{font-size:1.5rem;margin-bottom:.25rem;color:#12151f}.auth-card>.muted{margin-bottom:1.5rem}.login-demo-dialog{border:1px solid var(--border-strong);border-radius:var(--radius);padding:0;width:min(28rem,calc(100vw - 2rem));background:var(--surface);box-shadow:var(--shadow-md)}.login-demo-dialog::backdrop{background:#18203e61}.login-demo-dialog__body{padding:1.25rem 1.5rem 1.5rem}.login-demo-dialog__body h2{margin:0 0 .35rem;font-size:1.1rem}.login-demo-dialog__body .muted{margin:0 0 1rem;font-size:.9rem}.login-demo-dialog__kv{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;align-items:baseline;font-size:.95rem}.login-demo-dialog__kv dt{margin:0;color:var(--muted);font-weight:500}.login-demo-dialog__kv dd{margin:0;font-family:ui-monospace,monospace;word-break:break-all}.login-demo-dialog__actions{padding:.75rem 1.5rem 1rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.login-demo-credentials{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.login-demo-credentials>li{margin:0;padding:.75rem .85rem;background:var(--page-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.login-demo-credentials__role{display:block;margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#12151f}.dashboard-page{max-width:1100px}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.dashboard-title{font-size:1.75rem;font-weight:700}.dashboard-sub{margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.15rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}.kpi-icon-wrap{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-icon{font-size:1.25rem;line-height:1}.kpi-icon--purple{background:#6c5dd31f;color:var(--accent)}.kpi-icon--teal{background:#3db8a526;color:#2a9d86}.kpi-icon--orange{background:#ff8f6b2e;color:#e8704a}.kpi-icon--rose{background:#e879a926;color:#c94d87}.kpi-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.kpi-value{font-size:1.5rem;font-weight:700;color:#12151f;letter-spacing:-.02em;line-height:1.2}.kpi-label{font-size:.8rem;color:var(--muted);font-weight:500}.kpi-hint{font-size:.72rem;color:#a0a7b8}.dashboard-highlight{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.dashboard-highlight-inner{background:linear-gradient(135deg,var(--accent) 0%,#8b7ae8 100%);padding:1.35rem 1.5rem;color:#fff}.dashboard-highlight-value{display:block;font-size:2rem;font-weight:700;letter-spacing:-.03em}.dashboard-highlight-label{font-size:.9rem;opacity:.92;font-weight:500}.entry-workspace .entry-progress{height:8px;background:#e8ecf4;border-radius:999px;overflow:hidden}.entry-workspace .entry-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),#9b8aed);border-radius:999px;transition:width .25s ease}.entry-workspace .entry-progress-label{margin:.35rem 0 0;font-size:.85rem}.entry-workspace-candidate-head{text-align:center}.entry-workspace-roll{margin:0;font-size:clamp(2.25rem,6vw,3.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.1}.entry-workspace-roll-edit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:.4rem;margin:0 0 .15rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted, #5c6578);cursor:pointer;line-height:0;transition:color .15s ease,border-color .15s ease,background .15s ease}.entry-workspace-roll-edit:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-glow, rgba(124, 92, 255, .08))}.entry-workspace-roll-input{font-size:clamp(1.35rem,4vw,2rem);font-weight:700;text-align:center;min-width:9rem;max-width:min(100%,14rem);padding:.55rem .85rem;border-radius:var(--radius);border:2px solid var(--border);box-sizing:border-box}.entry-workspace-name{margin:.5rem 0 0;font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:700}.entry-workspace-post{margin:.45rem 0 0;font-size:1.05rem}.entry-marks-workspace{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;margin:.35rem 0 .15rem}.entry-marks-input::-webkit-outer-spin-button,.entry-marks-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.entry-marks-input[type=number]{appearance:textfield;-moz-appearance:textfield}.entry-marks-input{width:100%;box-sizing:border-box;font-size:clamp(1.85rem,5.5vw,2.65rem);font-weight:700;line-height:1.15;text-align:center;padding:1rem 1.15rem;border-radius:var(--radius);border:2px solid var(--border);background:linear-gradient(180deg,#fafbfd 0%,var(--surface) 100%);color:var(--text, inherit);letter-spacing:-.03em;transition:border-color .15s ease,box-shadow .15s ease}.entry-marks-input:hover:not(:disabled){border-color:#b8aef0}.entry-marks-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow, rgba(124, 92, 255, .22))}.entry-marks-input:disabled{opacity:.65;cursor:not-allowed}.entry-marks-input:invalid{box-shadow:none;outline:none}.entry-marks-input:invalid:not(:focus){border-color:var(--border)}.entry-marks-input:invalid:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow, rgba(124, 92, 255, .22))}.marks-input-no-arrows[type=number]::-webkit-outer-spin-button,.marks-input-no-arrows[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.marks-input-no-arrows[type=number]{appearance:textfield;-moz-appearance:textfield}.card{padding:1.15rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.75rem;box-shadow:var(--shadow)}.page-hero{margin-bottom:1.5rem}.page-hero h1{font-size:1.65rem;margin-bottom:.35rem}.nav-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.nav-card{display:flex;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}.nav-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#6c5dd338;text-decoration:none}.nav-card-emoji{width:48px;height:48px;border-radius:12px;background:#f4f7fe;display:flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;flex-shrink:0}.nav-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.nav-card-title{font-weight:600;font-size:1rem;color:#12151f}.nav-card-desc{font-size:.85rem;color:var(--muted);line-height:1.4}.nav-card-arrow{color:var(--accent);font-weight:600;flex-shrink:0;align-self:center;opacity:.7}.nav-card:hover .nav-card-arrow{opacity:1}.section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.5rem 0 .75rem}.section-label:first-child{margin-top:0}.narrow{max-width:520px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow)}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border)}.table tbody tr:last-child td{border-bottom:none}.table th{background:#f8f9fd;color:#5c6378;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.table tbody tr:hover{background:#fafbff}.table--candidates thead th.candidates-col--audit{background:#e54d4d24;color:#b32d2d}.table--candidates thead th.candidates-col--first{background:#6c5dd31a;color:#5242a8}.table--candidates thead th.candidates-col--second{background:#3db8a51f;color:#2a7d6e}.table--candidates thead th.candidates-col--final{background:#228be61a;color:#1a6bab}.table--candidates tbody td.candidates-col--first{background:#6c5dd30f}.table--candidates tbody td.candidates-col--second{background:#3db8a512}.table--candidates tbody td.candidates-col--final{background:#228be612;font-weight:600;color:#163a5c}.table--candidates tbody tr.candidates-row--audit{background:linear-gradient(90deg,#e54d4d33,#e54d4d12 14px,#ffebeb59 14px);box-shadow:inset 4px 0 0 var(--danger)}.table--candidates tbody tr.candidates-row--audit:hover{background:linear-gradient(90deg,#e54d4d47,#e54d4d1a 14px,#ffe4e480 14px)}.table--candidates tbody td.candidates-audit-flag{color:var(--danger);font-weight:700;text-align:center;background:#e54d4d1a!important}.table--candidates tbody tr.candidates-row--audit td.candidates-audit-flag{background:#e54d4d29!important}.table--candidates tbody tr.candidates-row--final{background:linear-gradient(90deg,rgba(61,184,165,.2) 0%,rgba(61,184,165,.05) 12px,transparent 14px);box-shadow:inset 3px 0 #2a9d86}.table--candidates tbody tr.candidates-row--final:hover{background:linear-gradient(90deg,#3db8a542,#3db8a517 12px,#fafbff 14px)}.table--candidates tbody tr.candidates-row--zebra:nth-child(2n){background-color:#f8f9fdd9}.table--candidates tbody tr.candidates-row--zebra:nth-child(2n):hover{background:#f4f6fb}.table--candidates tbody tr.candidates-row--audit td.candidates-col--first,.table--candidates tbody tr.candidates-row--audit td.candidates-col--second,.table--candidates tbody tr.candidates-row--audit td.candidates-col--final,.table--candidates tbody tr.candidates-row--final td.candidates-col--first,.table--candidates tbody tr.candidates-row--final td.candidates-col--second,.table--candidates tbody tr.candidates-row--final td.candidates-col--final{background:transparent}.candidates-legend{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;align-items:center;font-size:.8rem;color:var(--muted);margin:0 0 .65rem;padding:0 .15rem}.candidates-legend span{display:inline-flex;align-items:center;gap:.4rem}.candidates-legend i{width:.65rem;height:.65rem;border-radius:2px;flex-shrink:0}.candidates-legend i.legend-audit{background:var(--danger);box-shadow:0 0 0 2px #e54d4d59}.candidates-legend i.legend-final{background:#2a9d86;box-shadow:0 0 0 2px #3db8a559}.candidates-legend i.legend-zebra{background:#e8ecf4}.pre{margin:0;padding:.85rem;background:#f8f9fd;border-radius:var(--radius-sm);font-size:.8rem;overflow:auto;border:1px solid var(--border);color:#3d4458}.error-log{max-height:200px;color:var(--danger)}.link-grid{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.ae-count-card--active{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-glow)}@media(max-width:900px){.app-layout{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border)}.sidebar-inner{min-height:auto;padding:1rem}.sidebar-nav{flex-direction:row;flex-wrap:wrap}.sidebar-settings-wrap{flex-basis:100%;width:100%}.sidebar-link{padding:.4rem .65rem;font-size:.82rem}.chrome-header{padding:.75rem 1rem}.main{padding:1rem 1rem 2rem}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
