:root{
  --bg:#f4f7fb;--surface:#ffffff;--surface-2:#f8fafc;--text:#162033;--muted:#6d7890;--border:#e6ebf2;
  --primary:#5b4df7;--primary-2:#7c3aed;--primary-soft:#eeecff;--success:#159a6b;--success-soft:#e9f8f2;
  --danger:#d6455d;--danger-soft:#fff0f3;--warning:#d88b16;--warning-soft:#fff7e7;--info:#2476d2;--info-soft:#edf5ff;
  --shadow:0 10px 30px rgba(28,39,64,.08);--shadow-lg:0 24px 70px rgba(25,33,55,.18);--radius:18px;--sidebar:268px;
}
html[data-theme="dark"]{
  --bg:#0d1320;--surface:#141c2b;--surface-2:#1a2435;--text:#eef3ff;--muted:#9aa7bf;--border:#263248;
  --primary:#8b7cff;--primary-2:#a855f7;--primary-soft:#252343;--success-soft:#15362c;--danger-soft:#3b1f29;
  --warning-soft:#3b301c;--info-soft:#172e4a;--shadow:0 10px 30px rgba(0,0,0,.25);--shadow-lg:0 24px 70px rgba(0,0,0,.45);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}
.auth-body{min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(91,77,247,.14),transparent 35%),radial-gradient(circle at 85% 80%,rgba(124,58,237,.12),transparent 32%),var(--bg);display:grid;place-items:center;padding:28px}.auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.2fr .8fr;background:var(--surface);border:1px solid var(--border);border-radius:30px;overflow:hidden;box-shadow:var(--shadow-lg);min-height:680px}.auth-hero{padding:58px;background:linear-gradient(145deg,#171b38,#4d3ee6 65%,#7b3fe4);color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;bottom:-180px;border:70px solid rgba(255,255,255,.08)}.auth-hero h1{font-size:48px;line-height:1.08;margin:18px 0;max-width:620px}.auth-hero p{font-size:17px;line-height:1.7;max-width:590px;color:rgba(255,255,255,.78)}.feature-row{display:flex;gap:14px;flex-wrap:wrap}.feature-row span{padding:10px 14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);border-radius:999px;font-size:13px}.auth-card{width:min(480px,100%);background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:36px;box-shadow:var(--shadow)}.auth-shell .auth-card{width:auto;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;justify-content:center;padding:58px}.auth-card h1,.auth-card h2{margin:12px 0 8px;font-size:30px}.auth-card form{margin-top:24px}.setup-card{width:min(560px,100%)}.brand-inline,.sidebar-brand,.mobile-brand{display:flex;align-items:center;gap:12px}.brand-inline small,.sidebar-brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.auth-hero .brand-inline small{color:rgba(255,255,255,.65)}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;display:grid;place-items:center;font-weight:900;letter-spacing:-1px;box-shadow:0 10px 22px rgba(91,77,247,.32)}.auth-hero .brand-mark{background:white;color:#5141db}.mobile-brand{display:none}.eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--primary)}.auth-hero .eyebrow{color:#dcd7ff}.auth-theme{position:absolute;right:20px;top:20px}.login-panel{position:relative}.login-help{text-align:center;color:var(--muted);margin-top:18px}.login-help a{color:var(--primary);font-weight:700}
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#111827;color:#d9e0ee;padding:18px 14px;display:flex;flex-direction:column;z-index:50;transition:.25s ease;box-shadow:10px 0 35px rgba(7,12,23,.16)}html[data-theme="dark"] .sidebar{background:#0a0f19}.sidebar-brand{padding:10px 10px 24px}.sidebar-brand strong{display:block;color:white;font-size:18px}.sidebar-brand small{color:#8290aa}.sidebar-close{margin-left:auto;display:none;background:none;border:0;color:#fff;font-size:25px}.nav-menu{display:flex;flex-direction:column;gap:5px;overflow:auto}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#66738a;font-weight:800;padding:18px 12px 6px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;color:#aeb8ca;font-weight:650;transition:.18s}.nav-item:hover{background:#1c2637;color:white}.nav-item.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;box-shadow:0 10px 22px rgba(91,77,247,.28)}.nav-icon{width:23px;text-align:center;font-size:17px}.sidebar-footer{margin-top:auto;padding-top:15px}.storage-card{display:flex;gap:10px;align-items:center;background:#1a2434;border:1px solid #243047;padding:13px;border-radius:14px;margin:0 4px 10px}.storage-card strong{display:block;font-size:12px;color:white}.storage-card small{font-size:10px;color:#8390a7}.storage-icon{width:28px;height:28px;border-radius:9px;background:var(--primary);display:grid;place-items:center;color:white}.logout-link{color:#ff9aac}.app-main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:76px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.topbar-left,.topbar-actions,.user-chip{display:flex;align-items:center}.topbar-left{gap:12px}.topbar-title{font-size:18px;font-weight:800}.topbar-date{font-size:11px;color:var(--muted);margin-top:2px}.topbar-actions{gap:12px}.user-chip{gap:10px;border-left:1px solid var(--border);padding-left:15px}.user-chip strong{display:block;font-size:12px}.user-chip small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.avatar{width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:900}.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center}.icon-btn:hover{background:var(--surface-2)}.mobile-menu{display:none}.page-content{padding:26px 28px;flex:1}.app-footer{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px;padding:18px 28px;border-top:1px solid var(--border)}.sidebar-backdrop{display:none}
.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.page-head h1{font-size:26px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted)}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-sidebar{grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.card-title{font-size:16px;font-weight:800;margin:0}.card-subtitle{font-size:11px;color:var(--muted);margin-top:4px}.card-plain{box-shadow:none}.stat-card{position:relative;overflow:hidden;min-height:132px}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-35px;background:var(--primary-soft)}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:20px}.stat-value{font-size:29px;font-weight:900;margin:14px 0 3px;letter-spacing:-.04em}.stat-label{font-size:12px;color:var(--muted)}.stat-change{font-size:10px;font-weight:700;color:var(--success)}.mini-stat{padding:15px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.mini-stat strong{font-size:20px;display:block}.mini-stat span{font-size:11px;color:var(--muted)}
.btn{border:1px solid transparent;border-radius:11px;padding:10px 15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;box-shadow:0 8px 18px rgba(91,77,247,.22)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 20%,var(--border))}.btn-success{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 20%,var(--border))}.btn-sm{padding:7px 10px;border-radius:9px;font-size:11px}.btn-lg{padding:13px 18px}.btn-block{width:100%}.action-group{display:flex;gap:6px;flex-wrap:wrap}.link{color:var(--primary);font-weight:750}.muted{color:var(--muted)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.nowrap{white-space:nowrap}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-group{min-width:0}.form-span-2{grid-column:span 2}.form-label{display:block;font-size:11px;font-weight:800;margin:0 0 7px;color:var(--text)}.form-label .required{color:var(--danger)}.form-control{width:100%;height:44px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:11px;padding:10px 12px;outline:none;transition:.16s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea.form-control{height:auto;min-height:95px;resize:vertical}select.form-control{appearance:auto}.form-help{font-size:10px;color:var(--muted);margin-top:5px}.form-section{border-bottom:1px solid var(--border);padding-bottom:22px;margin-bottom:22px}.form-section:last-child{border-bottom:0;margin-bottom:0}.section-title{font-size:14px;font-weight:850;margin:0 0 16px;display:flex;align-items:center;gap:8px}.password-wrap{position:relative}.password-wrap .form-control{padding-right:60px}.password-wrap button{position:absolute;right:8px;top:7px;border:0;background:var(--surface-2);color:var(--muted);border-radius:8px;padding:7px 9px;font-size:10px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check-item{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.check-item input{accent-color:var(--primary)}.switch{display:inline-flex;align-items:center;gap:8px}.switch input{accent-color:var(--primary);width:17px;height:17px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}.data-table{width:100%;border-collapse:collapse;min-width:850px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface-2);text-align:left;padding:13px;border-bottom:1px solid var(--border)}.data-table td{padding:13px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 40%,transparent)}.student-cell{display:flex;align-items:center;gap:10px}.student-photo{width:39px;height:39px;border-radius:11px;object-fit:cover;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:900}.student-cell strong{font-size:12px;display:block}.student-cell small{font-size:10px;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.02em}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-muted{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.table-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.filter-row{display:flex;gap:8px;flex-wrap:wrap}.filter-row .form-control{width:auto;min-width:150px}.search-box{position:relative;min-width:250px}.search-box .form-control{padding-left:37px}.search-box:before{content:"⌕";position:absolute;left:12px;top:10px;color:var(--muted);font-size:18px}.pagination{display:flex;justify-content:flex-end;gap:6px;margin-top:16px}.pagination a,.pagination span{min-width:34px;height:34px;border-radius:9px;border:1px solid var(--border);display:grid;place-items:center;background:var(--surface);font-size:11px}.pagination .active{background:var(--primary);color:white;border-color:var(--primary)}
.alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;margin-bottom:14px;border:1px solid}.alert button{border:0;background:none;color:inherit;font-size:20px}.alert-success{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 22%,transparent)}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 22%,transparent)}.alert-info{background:var(--info-soft);color:var(--info);border-color:color-mix(in srgb,var(--info) 22%,transparent)}.alert-warning{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 22%,transparent)}
.empty-state{text-align:center;padding:42px 20px}.empty-icon{width:60px;height:60px;border-radius:18px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;margin:0 auto 13px;font-size:27px}.empty-state h3{margin:0 0 7px}.empty-state p{color:var(--muted);margin:0 0 16px}.info-list{display:grid;gap:0}.info-row{display:grid;grid-template-columns:160px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:0}.info-row span{color:var(--muted);font-size:11px}.info-row strong{font-size:12px}.profile-head{display:flex;align-items:center;gap:16px}.profile-avatar{width:74px;height:74px;border-radius:20px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary);font-size:25px;font-weight:900}.profile-head h2{margin:0 0 4px}.profile-head p{margin:0;color:var(--muted)}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-card{border:1px solid var(--border);border-radius:13px;padding:13px;background:var(--surface-2)}.document-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.document-icon{width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.document-card strong{font-size:11px;display:block}.document-card small{font-size:9px;color:var(--muted)}.upload-box{margin-top:10px;display:flex;gap:7px;align-items:center}.upload-box input[type=file]{width:100%;font-size:10px}.progress-track{height:7px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-2));border-radius:999px}.progress-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:7px}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:34px 1fr;gap:10px}.timeline-dot{width:30px;height:30px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:12px}.timeline-item strong{display:block;font-size:11px}.timeline-item p{margin:3px 0;color:var(--muted);font-size:10px}.timeline-item time{font-size:9px;color:var(--muted)}
.chart{display:flex;align-items:flex-end;gap:10px;height:180px;padding-top:15px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:7px}.chart-bar{width:min(28px,70%);min-height:5px;background:linear-gradient(180deg,var(--primary-2),var(--primary));border-radius:8px 8px 3px 3px}.chart-col span{font-size:9px;color:var(--muted)}.donut-wrap{display:flex;align-items:center;gap:25px}.donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) 0 var(--p1),var(--success) var(--p1) var(--p2),var(--warning) var(--p2) 100%);position:relative}.donut:after{content:"";width:90px;height:90px;background:var(--surface);border-radius:50%}.donut-center{position:absolute;z-index:1;text-align:center}.donut-center strong{font-size:24px;display:block}.donut-center span{font-size:9px;color:var(--muted)}.legend{display:grid;gap:10px}.legend-row{display:flex;align-items:center;gap:8px;font-size:11px}.legend-dot{width:9px;height:9px;border-radius:3px;background:var(--primary)}
.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{padding:15px;border:1px solid var(--border);background:var(--surface-2);border-radius:13px;display:flex;gap:11px;align-items:center}.quick-action:hover{border-color:var(--primary);transform:translateY(-1px)}.quick-action span:first-child{width:36px;height:36px;border-radius:10px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary)}.quick-action strong{font-size:11px;display:block}.quick-action small{font-size:9px;color:var(--muted)}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:18px}.tab-btn{border:0;background:none;color:var(--muted);padding:10px 13px;font-weight:750;border-bottom:2px solid transparent}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-panel{display:none}.tab-panel.active{display:block}.import-zone{border:2px dashed var(--border);border-radius:16px;padding:35px;text-align:center;background:var(--surface-2)}.import-zone input{margin:15px auto}.code-note{background:#111827;color:#dbe5f6;border-radius:12px;padding:14px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.permission-note{padding:12px;border-radius:12px;background:var(--info-soft);color:var(--info);font-size:11px}.danger-zone{border-color:color-mix(in srgb,var(--danger) 25%,var(--border));background:color-mix(in srgb,var(--danger-soft) 50%,var(--surface))}
@media(max-width:1180px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-sidebar{grid-template-columns:1fr}.form-grid-3{grid-template-columns:repeat(2,1fr)}.kpi-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-105%)}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:40}.sidebar-close,.mobile-menu{display:grid}.app-main{margin-left:0;width:100%}.auth-shell{grid-template-columns:1fr;min-height:auto;max-width:520px}.auth-hero{display:none}.mobile-brand{display:flex;margin-bottom:28px}.auth-shell .auth-card{padding:42px}.topbar{padding:0 18px}.page-content{padding:20px 18px}.app-footer{padding:16px 18px}.grid-3{grid-template-columns:repeat(2,1fr)}.document-grid{grid-template-columns:1fr}}
@media(max-width:640px){body{font-size:13px}.auth-body{padding:14px}.auth-shell .auth-card,.auth-card{padding:26px 20px}.auth-card h1,.auth-card h2{font-size:25px}.topbar{height:68px}.topbar-date,.user-chip span:not(.avatar){display:none}.user-chip{padding-left:8px}.page-head{flex-direction:column}.page-head h1{font-size:22px}.page-actions{width:100%}.page-actions .btn{flex:1}.grid-4,.grid-3,.grid-2,.form-grid,.form-grid-3,.kpi-strip{grid-template-columns:1fr}.form-span-2{grid-column:auto}.card{padding:16px;border-radius:15px}.table-toolbar{align-items:stretch;flex-direction:column}.filter-row{display:grid;grid-template-columns:1fr 1fr}.filter-row .form-control,.search-box{width:100%;min-width:0}.quick-actions{grid-template-columns:1fr}.info-row{grid-template-columns:120px 1fr}.app-footer{flex-direction:column}.donut-wrap{flex-direction:column}.check-grid{grid-template-columns:1fr}}

/* ===== Shree Consultancy master portal v2 ===== */
.brand-logo{width:44px;height:44px;border-radius:13px;object-fit:contain;background:#fff;padding:4px;border:1px solid rgba(255,255,255,.16)}
.brand-copy{min-width:0}.brand-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px}
.sidebar-clock{margin:0 8px 8px;padding:13px 14px;border:1px solid #263248;border-radius:14px;background:#172132;display:flex;flex-direction:column;gap:3px}
.sidebar-clock strong{font-size:18px;color:#fff;letter-spacing:.02em}.sidebar-clock span{font-size:10px;color:#93a0b7}
.topbar-compact{height:62px}.topbar-compact .topbar-title{font-size:15px}.page-content{padding-top:22px}
.welcome-panel{display:flex;align-items:center;gap:15px}.welcome-logo{width:58px;height:58px;border-radius:16px;object-fit:contain;background:var(--surface);border:1px solid var(--border);padding:5px;box-shadow:var(--shadow)}
.welcome-mark{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:grid;place-items:center;font-weight:900;font-size:19px}
.master-filter{display:grid;grid-template-columns:1fr 1.3fr 1fr 1fr auto;gap:10px;align-items:end}.master-filter .form-control{min-width:0}
.unit-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:10px;font-weight:850}
.pipeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pipeline-step{padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.pipeline-step strong{display:block;font-size:20px}.pipeline-step span{font-size:10px;color:var(--muted)}
.compact-section{border:1px solid var(--border);border-radius:15px;padding:16px;background:var(--surface-2);margin-bottom:14px}.compact-section .section-title{margin-top:0}
details.advanced-box{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden;margin-top:14px}details.advanced-box summary{padding:14px 16px;font-weight:800;cursor:pointer;list-style:none}details.advanced-box summary::-webkit-details-marker{display:none}details.advanced-box[open] summary{border-bottom:1px solid var(--border)}details.advanced-box .advanced-inner{padding:16px}
.stage-select{font-weight:750}.studio-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px}.studio-sidebar{display:grid;gap:14px;align-content:start}.pdf-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.pdf-thumb{border:1px solid var(--border);border-radius:12px;padding:8px;background:var(--surface-2);cursor:pointer;transition:.16s}.pdf-thumb:hover,.pdf-thumb.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.pdf-thumb canvas{width:100%;height:auto;border-radius:7px;background:white}.pdf-thumb strong{display:block;text-align:center;font-size:10px;margin-top:6px}.crop-stage{position:relative;display:inline-block;max-width:100%;border:1px solid var(--border);background:#cbd5e1;user-select:none}.crop-stage canvas{display:block;max-width:100%;height:auto}.crop-box{position:absolute;border:2px dashed #ef4444;background:rgba(239,68,68,.08);pointer-events:none;display:none}.studio-status{padding:10px 12px;border-radius:10px;background:var(--info-soft);color:var(--info);font-size:11px}.file-hint{font-size:10px;color:var(--muted);line-height:1.5}.brand-preview{width:92px;height:92px;border-radius:18px;object-fit:contain;border:1px solid var(--border);background:var(--surface-2);padding:6px}.logo-upload-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
@media(max-width:1180px){.master-filter{grid-template-columns:repeat(2,1fr)}.master-filter .btn{width:100%}.pipeline-grid{grid-template-columns:repeat(2,1fr)}.studio-layout{grid-template-columns:1fr}}
@media(max-width:640px){.master-filter{grid-template-columns:1fr}.pipeline-grid{grid-template-columns:1fr 1fr}.welcome-panel{align-items:flex-start}.welcome-logo,.welcome-mark{width:48px;height:48px}.studio-layout{display:block}.studio-sidebar{margin-bottom:16px}}
.simple-auth{background:radial-gradient(circle at 20% 10%,rgba(91,77,247,.13),transparent 35%),var(--bg)}
.simple-login-card{width:min(430px,100%);padding:36px;border-radius:22px}.simple-login-card h1{font-size:28px;margin-top:10px}.simple-login-card form{margin-top:22px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--border)}.login-brand strong{display:block;font-size:16px}.login-brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.login-logo{width:52px;height:52px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid var(--border);padding:4px}.login-mini-footer{text-align:center;color:var(--muted);font-size:10px;margin-top:22px}

/* Platform-control additions */
.suffix-input{display:flex;align-items:stretch}.suffix-input .form-control{border-top-right-radius:0;border-bottom-right-radius:0}.suffix-input span{display:flex;align-items:center;padding:0 12px;border:1px solid var(--border);border-left:0;border-radius:0 11px 11px 0;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.admin-lock-note{border:1px dashed var(--border);background:var(--surface-2);padding:12px;border-radius:12px;font-size:12px;color:var(--muted)}

.admin-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:0 0 16px;border:1px solid var(--border);border-radius:12px;background:var(--card);font-size:13px}.admin-mode-banner strong{font-size:13px}.admin-mode-banner span{color:var(--muted)}@media(max-width:700px){.admin-mode-banner{align-items:flex-start;flex-direction:column}}

/* ===== Modular control center v3 ===== */
.avatar img,.nav-avatar img,.student-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.nav-avatar{width:24px;height:24px;border-radius:8px;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;background:var(--surface-2);border:1px solid var(--border);font-size:10px;font-weight:800}
.admission-locked{opacity:.42;filter:grayscale(.12);transition:.18s}.aadhaar-status{margin-top:9px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);font-size:11px;min-height:38px}.aadhaar-status.ok{border-color:color-mix(in srgb,var(--success) 35%,var(--border));color:var(--success)}.aadhaar-status.bad{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));color:var(--danger)}
.live-student-search{position:relative}.live-search-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:35;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;overflow:hidden;display:none;max-height:320px;overflow-y:auto}.live-search-results.show{display:block}.live-search-results a{display:block;padding:10px 12px;border-bottom:1px solid var(--border)}.live-search-results a:last-child{border-bottom:0}.live-search-results a:hover{background:var(--surface-2)}.live-search-results strong{display:block;font-size:12px}.live-search-results small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.legend-dot-success{background:var(--success)}.legend-dot-warning{background:var(--warning)}.compact-student-table{min-width:900px}
@media(max-width:640px){.live-search-results{position:fixed;left:18px;right:18px;top:auto;max-height:45vh}}

/* V6: unit-aware student chips + richer live search */
.unit-pill.unit-pill-color{
  --unit-h:220;
  background:hsl(var(--unit-h) 78% 94%);
  color:hsl(var(--unit-h) 58% 29%);
  border:1px solid hsl(var(--unit-h) 48% 81%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.live-search-results .live-result-card{padding:10px 12px;display:block;text-decoration:none}
.live-result-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.live-result-top strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-result-top .unit-pill{flex:0 0 auto}
.live-search-results .live-result-card>small{padding-right:4px}
.live-empty{padding:12px;color:var(--muted);font-size:11px}
.compact-student-table{min-width:1020px}
