:root{--bg:#f5f7fb;--card:#fff;--text:#182230;--muted:#667085;--line:#e4e7ec;--primary:#2563eb;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--info:#0891b2;--shadow:0 10px 30px rgba(16,24,40,.06)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}.topbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 24px;box-shadow:0 3px 16px rgba(16,24,40,.04)}.brand{display:flex;gap:10px;align-items:center;min-width:250px}.brandmark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#06b6d4);display:grid;place-items:center;color:#fff;font-weight:800}.brand strong{display:block}.brand small{color:var(--muted)}.mainnav{display:flex;gap:8px;align-items:center}.mainnav>a,.navdrop>button{border:0;background:transparent;color:#344054;padding:10px 11px;border-radius:9px;font:inherit;cursor:pointer}.mainnav>a:hover,.navdrop>button:hover{background:#f2f4f7}.logout{color:#b42318!important}.navdrop{position:relative}.dropmenu{display:none;position:absolute;right:0;top:100%;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--shadow)}.navdrop:hover .dropmenu{display:block}.dropmenu a{display:block;padding:10px 12px;border-radius:8px;color:#344054}.dropmenu a:hover{background:#f2f4f7}.dot{margin-left:5px;background:#ef4444;color:#fff;border-radius:99px;padding:1px 6px;font-size:11px}.mobile-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px}.container{max-width:1380px;margin:0 auto;padding:24px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pagehead h1{font-size:28px;margin:0 0 5px}.pagehead p{margin:0;color:var(--muted)}.grid{display:grid;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:30px;margin:5px 0}.stat small{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:10px;padding:10px 14px;background:#eef2ff;color:#3730a3;font-weight:650;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.success{background:var(--success);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.secondary{background:#344054;color:#fff}.btn.sm{padding:7px 10px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700;color:#344054}.field input,.field select,.field textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:10px 12px;background:#fff;color:#101828;font:inherit}.field textarea{min-height:110px;resize:vertical}.hint{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#fcfcfd}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}.badge.info{background:#cffafe;color:#155e75}.badge.secondary{background:#f2f4f7;color:#475467}.alert{padding:12px 14px;border-radius:10px;margin:0 0 16px}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.empty{padding:25px;text-align:center;color:var(--muted);border:1px dashed #d0d5dd;border-radius:12px}.steps{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:15px 0}.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:center;gap:8px}.step b{width:26px;height:26px;border-radius:50%;background:#e4e7ec;display:grid;place-items:center;font-size:12px}.step.done{border-color:#86efac;background:#f0fdf4}.step.done b{background:#22c55e;color:#fff}.step span{font-size:12px;font-weight:650}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{padding:14px;border-left:3px solid #cbd5e1;background:#fff;border-radius:0 12px 12px 0}.timeline-item strong{display:block}.muted{color:var(--muted)}.kpi{font-size:38px;font-weight:800}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-hero{background:linear-gradient(145deg,#0f172a,#1d4ed8 55%,#06b6d4);color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:center}.login-hero h1{font-size:48px;line-height:1.05;margin:0 0 16px}.login-hero p{font-size:18px;max-width:650px;color:#dbeafe}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.feature-list div{background:rgba(255,255,255,.1);padding:12px;border-radius:10px}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.login-card h2{margin-top:0}.footer{text-align:center;color:var(--muted);padding:25px;font-size:12px}.pill{display:inline-block;background:#eef2ff;color:#3730a3;padding:5px 9px;border-radius:999px;font-size:12px}.notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:12px;padding:14px}.right{text-align:right}.w100{width:100%}
@media(max-width:1000px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(4,1fr)}.mainnav{display:none;position:absolute;top:66px;left:10px;right:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.mainnav.open{display:flex}.navdrop:hover .dropmenu{display:none}.navdrop>button{width:100%;text-align:left}.dropmenu{position:static;display:block!important;box-shadow:none;border:0;padding-left:14px}.mobile-toggle{display:block}.login-wrap{grid-template-columns:1fr}.login-hero{display:none}}
@media(max-width:650px){.container{padding:14px}.grid.cols-4,.grid.cols-3,.grid.cols-2,.form-grid{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.topbar{padding:10px 14px}.brand{min-width:0}.brand small{display:none}.pagehead h1{font-size:23px}.field.full{grid-column:auto}}

/* Public homepage */
.public-body{background:#f7f9fc}.public-nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:13px max(24px,calc((100% - 1200px)/2));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.public-brand{display:flex;align-items:center;gap:10px;color:var(--text)}.public-brand span:last-child{display:flex;flex-direction:column}.public-brand small{color:var(--muted);font-size:11px}.public-nav nav{display:flex;align-items:center;gap:18px}.public-nav nav>a:not(.btn){color:#475467;font-weight:650;font-size:14px}.public-hero{background:radial-gradient(circle at 80% 20%,rgba(6,182,212,.25),transparent 26%),linear-gradient(145deg,#0b1220,#172554 48%,#1d4ed8);color:#fff;padding:76px 24px}.public-hero-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:center}.public-hero h1{font-size:clamp(38px,5vw,66px);line-height:1.02;letter-spacing:-.04em;margin:18px 0}.public-hero p{font-size:18px;line-height:1.7;color:#dbeafe;max-width:790px}.public-hero .pill{background:rgba(255,255,255,.12);color:#dbeafe}.public-secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25)}.hero-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:24px;box-shadow:0 30px 60px rgba(0,0,0,.18)}.hero-panel>strong{font-size:22px;display:block;margin-bottom:16px}.mini-step{display:flex;align-items:center;gap:15px;padding:15px 0;border-top:1px solid rgba(255,255,255,.12);font-weight:800;color:#67e8f9}.mini-step span{color:#fff;font-weight:650}.public-container{max-width:1200px;margin:auto;padding:52px 24px 70px}.public-section{padding-top:70px}.section-title{margin-bottom:24px}.section-title>span{font-size:12px;letter-spacing:.14em;color:var(--primary);font-weight:850}.section-title h2{font-size:34px;margin:6px 0 0;letter-spacing:-.02em}.public-stat{box-shadow:none}.public-stat strong{font-size:38px}.public-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.public-flow>div{min-height:125px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.public-flow b{font-size:30px;color:#bfdbfe}.public-flow span{font-weight:750}.public-ann{box-shadow:none}.public-ann h3{margin:14px 0 8px}.public-ann p{color:#475467;line-height:1.65;margin-bottom:0}.public-footer{text-align:center;background:#0b1220;color:#98a2b3;padding:28px;font-size:13px}
@media(max-width:900px){.public-nav nav>a:not(.btn){display:none}.public-hero-inner{grid-template-columns:1fr}.hero-panel{display:none}.public-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.public-nav{padding:10px 14px}.public-brand small{display:none}.public-nav .btn{padding:9px 11px}.public-hero{padding:52px 18px}.public-hero h1{font-size:40px}.public-hero p{font-size:16px}.public-container{padding:38px 14px 55px}.public-flow{grid-template-columns:1fr}.section-title h2{font-size:28px}}

/* v1.4 - Admin operator UI inspired by Neo Feeder */
:is(.admin-neo-body,.student-neo-body){background:#f3f6f9;color:#263238}.neo-shell{min-height:100vh}.neo-sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#fff;border-right:1px solid #dde5ec;z-index:80;display:flex;flex-direction:column;box-shadow:2px 0 12px rgba(31,45,61,.04);transition:.2s ease}.neo-brand{height:72px;padding:14px 18px;display:flex;gap:11px;align-items:center;border-bottom:1px solid #edf1f4}.neo-logo{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#0d8f94,#4bb7b2);color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px;box-shadow:0 7px 16px rgba(13,143,148,.2)}.neo-brand strong{display:block;font-size:13px;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-brand small{display:block;color:#8a98a6;font-size:10px;margin-top:2px;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-sidebar-scroll{padding:13px 10px 20px;overflow:auto;flex:1}.neo-menu-group{margin-bottom:14px}.neo-menu-title{display:block;padding:7px 10px;color:#a0acb8;font-size:9px;font-weight:800;letter-spacing:.12em}.neo-menu-link{display:flex;align-items:center;gap:11px;color:#52616f;padding:9px 10px;margin:2px 0;border-radius:6px;font-size:12.5px;font-weight:600;transition:.15s}.neo-menu-link:hover{background:#eff8f8;color:#0b7f83}.neo-menu-link.active{background:#e8f6f6;color:#087f83;box-shadow:inset 3px 0 #14a2a5}.neo-menu-icon{width:25px;height:25px;border-radius:5px;background:#f0f4f7;display:grid;place-items:center;color:#667784;font-size:14px}.neo-menu-link.active .neo-menu-icon{background:#11a0a4;color:#fff}.neo-sidebar-foot{padding:12px 16px;border-top:1px solid #edf1f4;display:flex;justify-content:space-between;font-size:10px;color:#9aa7b3}.neo-sidebar-foot a{color:#d14d4d;font-weight:700}.neo-main{margin-left:252px;min-height:100vh;display:flex;flex-direction:column;transition:.2s ease}.neo-topbar{height:72px;background:#fff;border-bottom:1px solid #dde5ec;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:70}.neo-topbar-left{display:flex;align-items:center;gap:13px}.neo-topbar-left strong{display:block;font-size:14px;color:#2c3944}.neo-topbar-left small{display:block;color:#93a0ab;font-size:10px;margin-top:2px}.neo-sidebar-toggle{width:34px;height:34px;border:1px solid #dce5eb;background:#fff;border-radius:6px;color:#60717f;cursor:pointer}.neo-topbar-actions{display:flex;align-items:center;gap:10px}.system-chip{font-size:10px;color:#4a6572;border:1px solid #dce7eb;border-radius:99px;padding:6px 9px;background:#fbfdfd}.system-chip i{display:inline-block;width:6px;height:6px;background:#28b487;border-radius:50%;margin-right:5px}.neo-top-action{font-size:11px;color:#5d6c78;border:1px solid #e1e8ed;border-radius:6px;padding:7px 9px}.neo-top-action b{margin-left:5px;background:#ef5350;color:#fff;border-radius:99px;padding:1px 5px}.neo-user{display:flex;align-items:center;gap:8px;color:#34434f;padding-left:6px}.neo-user>span{width:31px;height:31px;border-radius:50%;background:#edf6f6;color:#0c8588;display:grid;place-items:center;font-weight:800}.neo-user b{display:block;font-size:11px}.neo-user small{display:block;color:#9aa7b3;font-size:9px}.neo-container{max-width:none;width:100%;padding:20px 24px 28px;flex:1}.neo-pagehead{margin-bottom:15px}.neo-pagehead h1{font-size:19px;font-weight:700}.neo-pagehead p{font-size:10px}.neo-footer{padding:13px 24px;border-top:1px solid #dfe7ec;background:#fff;color:#94a1ad;font-size:10px}:is(.admin-neo-body,.student-neo-body) .card,:is(.admin-neo-body,.student-neo-body) .stat{border-radius:7px;border-color:#e0e7ec;box-shadow:0 2px 7px rgba(45,62,80,.05)}:is(.admin-neo-body,.student-neo-body) .card{padding:15px}:is(.admin-neo-body,.student-neo-body) .card h2,:is(.admin-neo-body,.student-neo-body) .card h3{font-size:13px;color:#374955}:is(.admin-neo-body,.student-neo-body) .table{font-size:11.5px}:is(.admin-neo-body,.student-neo-body) .table th{font-size:9px;background:#f6f8fa;color:#6f7d88;padding:10px}:is(.admin-neo-body,.student-neo-body) .table td{padding:10px}:is(.admin-neo-body,.student-neo-body) .field label{font-size:11px}:is(.admin-neo-body,.student-neo-body) .field input,:is(.admin-neo-body,.student-neo-body) .field select,:is(.admin-neo-body,.student-neo-body) .field textarea{border-radius:5px;padding:8px 9px;font-size:11.5px}:is(.admin-neo-body,.student-neo-body) .btn{border-radius:5px;padding:8px 11px;font-size:11px}:is(.admin-neo-body,.student-neo-body) .btn.primary{background:#168f93}:is(.admin-neo-body,.student-neo-body) .btn.success{background:#24a77e}:is(.admin-neo-body,.student-neo-body) .badge{border-radius:4px;font-size:9px;padding:3px 6px}:is(.admin-neo-body,.student-neo-body) .alert{border-radius:6px;font-size:11px}.neo-dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.neo-dash-card{position:relative;background:#fff;border:1px solid #e0e7ec;border-radius:7px;padding:15px;display:flex;align-items:center;gap:13px;min-height:92px;color:#35444f;box-shadow:0 2px 7px rgba(45,62,80,.05);transition:.15s}.neo-dash-card:hover{transform:translateY(-1px);box-shadow:0 5px 13px rgba(45,62,80,.09);border-color:#cbd9df}.neo-dash-icon{width:40px;height:40px;border-radius:6px;background:#eaf7f7;color:#128d91;display:grid;place-items:center;font-weight:900;font-size:18px}.neo-dash-content{min-width:0}.neo-dash-content span{display:block;color:#71808c;font-size:10px}.neo-dash-content strong{display:block;font-size:22px;line-height:1.15;margin:3px 0;color:#2f3e48}.neo-dash-content small{display:block;color:#a0aab3;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-dash-arrow{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:20px;color:#c2ccd3}.neo-sectionbar{display:flex;justify-content:space-between;align-items:center;margin:18px 0 9px}.neo-sectionbar h2{font-size:12px;margin:0;color:#4b5c67;text-transform:uppercase;letter-spacing:.05em}.neo-sectionbar span{font-size:10px;color:#96a3ad}.neo-quick-actions{display:flex;gap:8px;flex-wrap:wrap}.neo-sync-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.neo-sync-status{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e1e8ec;border-radius:6px;background:#fbfdfd}.neo-sync-status .pulse{width:9px;height:9px;border-radius:50%;background:#27ae83;box-shadow:0 0 0 5px rgba(39,174,131,.12)}.neo-sync-status b{display:block;font-size:11px}.neo-sync-status small{font-size:9px;color:#8c99a4}.graduate-policy{background:#fff8e8;border:1px solid #f4dfaa;color:#7a6124;padding:11px 12px;border-radius:6px;font-size:11px}.graduate-policy b{color:#6b531c}.sidebar-collapsed .neo-sidebar{transform:translateX(-252px)}.sidebar-collapsed .neo-main{margin-left:0}
@media(max-width:1100px){.neo-dash-grid{grid-template-columns:repeat(2,1fr)}.neo-sync-panel{grid-template-columns:1fr}.neo-sidebar{transform:translateX(-252px)}.neo-main{margin-left:0}.sidebar-collapsed .neo-sidebar{transform:translateX(0)}.neo-topbar-actions .system-chip,.neo-user div{display:none}}
@media(max-width:680px){.neo-container{padding:14px}.neo-topbar{padding:0 14px}.neo-dash-grid{grid-template-columns:1fr}.neo-top-action{display:none}:is(.admin-neo-body,.student-neo-body) .form-grid{grid-template-columns:1fr}:is(.admin-neo-body,.student-neo-body) .field.full{grid-column:auto}}


/* v1.6 - Student dashboard and portal UI aligned with Neo Feeder style */
.student-neo-body{background:#f3f6f9;color:#263238}
.student-neo-body .neo-logo{background:linear-gradient(135deg,#0d8f94,#35aaa8)}
.student-neo-body .neo-menu-link.active{background:#e8f6f6;color:#087f83;box-shadow:inset 3px 0 #14a2a5}
.student-welcome{background:linear-gradient(120deg,#ffffff,#f3fbfb);border:1px solid #dce8e9;border-radius:7px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 2px 7px rgba(45,62,80,.05)}
.student-welcome h2{margin:4px 0 5px;font-size:20px;color:#31424c}.student-welcome p{margin:0;color:#7b8994;font-size:11px}.student-eyebrow{font-size:9px;letter-spacing:.13em;color:#129296;font-weight:850}
.student-progress-ring{width:116px;min-width:116px;height:72px;border-left:1px solid #deeaeb;display:flex;flex-direction:column;align-items:center;justify-content:center}.student-progress-ring strong{font-size:25px;color:#118e92;line-height:1}.student-progress-ring span{font-size:9px;color:#8997a2;margin-top:5px}
.student-progress-card{padding:16px!important}.student-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-progress-head>div:first-child{min-width:0}.student-progress-head b{display:block;font-size:12px;color:#354751}.student-progress-head span:not(.badge){display:block;color:#7e8b95;font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:780px}
.progress-meter{height:7px;border-radius:99px;background:#e9eef1;overflow:hidden;margin:13px 0 10px}.progress-meter>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0d9295,#42b5ab)}
.student-neo-body .steps{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:10px 0}.student-neo-body .step{border-radius:6px;padding:8px;background:#fbfcfd;box-shadow:none}.student-neo-body .step b{width:22px;height:22px;font-size:9px}.student-neo-body .step span{font-size:9px}.student-neo-body .step.done{border-color:#b8e4d6;background:#f3fbf8}.student-neo-body .step.done b{background:#24a77e}
.student-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.student-dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.student-person{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f4}.student-person>span{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#eaf7f7;color:#128d91;font-size:10px;font-weight:850}.student-person b{display:block;font-size:11px;color:#3d4d58}.student-person small{display:block;font-size:9px;color:#8996a0;margin-top:3px}.student-neo-body .timeline-item{padding:9px 10px;border-left:2px solid #1ca1a4;border-radius:0 5px 5px 0;background:#fafcfd}.student-neo-body .timeline-item strong{font-size:10.5px}.student-neo-body .timeline-item .muted{display:block;font-size:9px;margin-top:3px}.badge.pending{background:#f2f4f7;color:#667085}
@media(max-width:1000px){.student-neo-body .steps{grid-template-columns:repeat(4,1fr)}.student-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:680px){.student-welcome{align-items:flex-start}.student-progress-ring{width:82px;min-width:82px}.student-neo-body .steps{grid-template-columns:repeat(2,1fr)}.student-progress-head{flex-direction:column}.student-stat-grid{grid-template-columns:1fr!important}}

/* v1.7 - Alur Pengajuan Judul Proposal/Skripsi 11 tahap */
.workflow-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.workflow-summary h2{margin:4px 0 5px}.workflow-summary p{margin:0 0 7px;color:var(--muted)}
.workflow-vertical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workflow-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfcfd}.workflow-row>b{width:28px;height:28px;min-width:28px;border-radius:50%;display:grid;place-items:center;background:#e8edf1;color:#667784;font-size:11px}.workflow-row>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:100%}.workflow-row strong{font-size:11px;color:#465761}.workflow-row.done{background:#f3fbf8;border-color:#b8e4d6}.workflow-row.done>b{background:#24a77e;color:#fff}
.workflow-steps{grid-template-columns:repeat(4,minmax(0,1fr))!important}.workflow-steps .step{min-height:58px}.workflow-steps .step{flex-wrap:wrap}.workflow-steps .step small{display:block;width:100%;font-size:8px;color:#87949e;padding-left:34px}
@media(max-width:900px){.workflow-vertical{grid-template-columns:1fr}.workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.workflow-summary{align-items:flex-start}.workflow-steps{grid-template-columns:1fr!important}}

/* v1.8 - Admin top dropdown navigation + Neo Feeder operator dashboard */
.admin-topnav-body{background:#f2f5f7;color:#2f3d46}.neo-admin-shell{min-height:100vh;display:flex;flex-direction:column}.neo-admin-header{position:sticky;top:0;z-index:120;background:#fff;box-shadow:0 2px 12px rgba(32,50,65,.07)}.neo-admin-brandbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #e3e9ed}.neo-admin-brand{display:flex;align-items:center;gap:11px;color:#2c3944;min-width:0}.neo-admin-brand>span:last-child{min-width:0}.neo-admin-brand strong{display:block;font-size:13px;max-width:440px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-admin-brand small{display:block;color:#8e9aa5;font-size:9.5px;margin-top:2px;max-width:440px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.neo-admin-head-actions{display:flex;align-items:center;gap:9px}.neo-version-chip{font-size:9px;font-weight:800;color:#60717e;background:#f5f8f9;border:1px solid #e0e7eb;border-radius:4px;padding:5px 7px}.neo-account-drop{position:relative}.neo-account-drop>summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;color:#41515d;padding:4px 6px;border-radius:6px}.neo-account-drop>summary::-webkit-details-marker{display:none}.neo-account-drop>summary>span{width:30px;height:30px;border-radius:50%;background:#e9f6f6;color:#07878b;display:grid;place-items:center;font-size:11px;font-weight:850}.neo-account-drop>summary b{font-size:10.5px}.neo-account-drop>summary em{font-style:normal;font-size:9px;color:#9aa6af}.neo-account-drop>div{position:absolute;right:0;top:43px;width:195px;background:#fff;border:1px solid #dfe6eb;border-radius:7px;padding:6px;box-shadow:0 12px 30px rgba(31,45,61,.13)}.neo-account-drop>div a{display:block;padding:9px 10px;border-radius:5px;color:#50616d;font-size:10.5px}.neo-account-drop>div a:hover{background:#eff7f7;color:#087f83}.neo-account-drop>div .logout{color:#c94747!important}.neo-admin-menubar{height:48px;display:flex;align-items:stretch;padding:0 24px;background:#fbfcfd;border-bottom:1px solid #dfe6eb}.neo-admin-nav{display:flex;align-items:stretch;gap:2px}.neo-admin-home,.neo-admin-drop>summary{height:47px;display:flex;align-items:center;gap:7px;padding:0 14px;color:#556672;font-size:11px;font-weight:700;border-bottom:3px solid transparent;cursor:pointer}.neo-admin-home:hover,.neo-admin-drop>summary:hover,.neo-admin-home.active,.neo-admin-drop.active>summary{background:#f0f8f8;color:#087f83;border-bottom-color:#15a1a5}.neo-admin-home span{font-size:14px}.neo-admin-drop{position:relative}.neo-admin-drop>summary{list-style:none}.neo-admin-drop>summary::-webkit-details-marker{display:none}.neo-admin-drop>summary span{font-size:8px;color:#93a0a9}.neo-admin-dropmenu{position:absolute;left:0;top:47px;width:310px;background:#fff;border:1px solid #dce5ea;border-radius:0 0 8px 8px;padding:7px;box-shadow:0 15px 35px rgba(31,45,61,.14)}.neo-admin-dropmenu>a{display:flex;align-items:center;gap:10px;color:#43545f;padding:10px;border-radius:6px}.neo-admin-dropmenu>a:hover,.neo-admin-dropmenu>a.active{background:#edf8f7;color:#087f83}.neo-admin-dropmenu>a>span{width:32px;height:32px;border-radius:5px;background:#eef3f5;display:grid;place-items:center;color:#667985;font-size:15px}.neo-admin-dropmenu>a.active>span{background:#11a0a4;color:#fff}.neo-admin-dropmenu b{display:block;font-size:10.5px}.neo-admin-dropmenu small{display:block;margin-top:2px;color:#98a4ad;font-size:8.5px;font-weight:500}.neo-admin-context{margin-left:auto;display:flex;align-items:center;color:#99a5ae;font-size:9px}.neo-admin-mobile{display:none;border:0;background:transparent;color:#4f626e;font:inherit;font-size:11px;font-weight:750;padding:0 4px}.neo-admin-container{max-width:1500px;width:100%;margin:0 auto;padding:18px 24px 30px;flex:1}.neo-admin-pagehead{margin-bottom:13px;padding:0 1px}.neo-admin-pagehead h1{font-size:18px}.neo-page-status{display:flex;align-items:center;gap:8px}.neo-page-status span{display:flex;align-items:center;gap:5px;color:#648076;background:#f1faf6;border:1px solid #d8eee4;border-radius:4px;padding:5px 7px;font-size:9px}.neo-page-status span i{width:6px;height:6px;background:#25a779;border-radius:50%}.neo-page-status b{font-size:9px;color:#87949d;border:1px solid #dfe6eb;border-radius:4px;padding:5px 7px;background:#fff}.neo-admin-footer{margin-top:auto}.admin-topnav-body .neo-dash-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-topnav-body .neo-dash-card{min-height:86px;border-radius:5px;box-shadow:0 1px 4px rgba(45,62,80,.05)}.admin-topnav-body .neo-dash-icon{width:38px;height:38px;border-radius:5px}.admin-topnav-body .neo-sectionbar{margin:15px 0 8px}.admin-topnav-body .neo-sectionbar h2{font-size:10px;color:#63747f}.neo-admin-overview{display:grid;grid-template-columns:1.4fr .6fr;gap:10px;margin-bottom:12px}.neo-admin-welcome{background:#fff;border:1px solid #dde6eb;border-radius:6px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 1px 5px rgba(45,62,80,.04)}.neo-admin-welcome .eyebrow{display:block;font-size:8px;font-weight:850;letter-spacing:.12em;color:#15969a}.neo-admin-welcome h2{font-size:17px;margin:3px 0 4px;color:#354650}.neo-admin-welcome p{margin:0;color:#84919b;font-size:9.5px}.neo-admin-welcome .welcome-mark{width:58px;height:58px;border-radius:7px;background:linear-gradient(135deg,#0b888d,#42b6ae);color:#fff;display:grid;place-items:center;font-size:23px;font-weight:900;box-shadow:0 8px 18px rgba(13,143,148,.18)}.neo-admin-health{background:#fff;border:1px solid #dde6eb;border-radius:6px;padding:12px 14px;box-shadow:0 1px 5px rgba(45,62,80,.04)}.neo-admin-health h3{font-size:10px;margin:0 0 8px;color:#536570}.neo-health-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid #edf1f3;font-size:9px}.neo-health-row:first-of-type{border-top:0}.neo-health-row span{color:#87949d}.neo-health-row b{color:#465861;font-size:9px}.neo-health-ok{color:#218b69!important}.neo-health-warn{color:#b77a13!important}.neo-operator-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.neo-operator-tabs a{border:1px solid #dfe6eb;background:#fff;color:#60717d;border-radius:4px;padding:6px 8px;font-size:9px;font-weight:700}.neo-operator-tabs a:hover{border-color:#b9d9d9;color:#087f83;background:#f0f9f8}
@media(max-width:1050px){.neo-admin-brand strong,.neo-admin-brand small{max-width:280px}.neo-admin-head-actions .system-chip,.neo-admin-context{display:none}.admin-topnav-body .neo-dash-grid{grid-template-columns:repeat(2,1fr)}.neo-admin-overview{grid-template-columns:1fr}}
@media(max-width:760px){.neo-admin-brandbar{height:58px;padding:0 13px}.neo-admin-brand strong{max-width:190px}.neo-admin-brand small,.neo-admin-head-actions .neo-version-chip,.neo-account-drop>summary b{display:none}.neo-admin-menubar{height:auto;min-height:44px;padding:0 13px;display:block}.neo-admin-mobile{display:flex;height:43px;align-items:center}.neo-admin-nav{display:none;position:absolute;left:10px;right:10px;top:102px;background:#fff;border:1px solid #dfe6eb;border-radius:7px;padding:6px;box-shadow:0 16px 34px rgba(31,45,61,.17);flex-direction:column;align-items:stretch}.neo-admin-nav.open{display:flex}.neo-admin-home,.neo-admin-drop>summary{height:40px;border-bottom:0;border-radius:5px;padding:0 11px}.neo-admin-home.active,.neo-admin-drop.active>summary{border-bottom:0;background:#edf8f7}.neo-admin-dropmenu{position:static;width:100%;border:0;border-radius:5px;box-shadow:none;background:#f8fafb;padding:4px}.neo-admin-context{display:none}.neo-admin-container{padding:14px}.admin-topnav-body .neo-dash-grid{grid-template-columns:1fr}.neo-admin-pagehead{align-items:flex-start}.neo-page-status{display:none}.neo-admin-welcome{align-items:flex-start}.neo-admin-welcome .welcome-mark{width:46px;height:46px;font-size:18px}.neo-admin-head-actions{gap:4px}}

/* v1.15 - Cetak Pendaftar Skripsi & Pengaturan Kop Surat */
.inline-check{display:flex!important;align-items:center;gap:7px;margin-top:7px;font-weight:600!important;color:#667085!important}.inline-check input{width:auto!important}.letterhead-admin-grid{align-items:start}.letterhead-preview-card{position:sticky;top:132px}.letterhead-paper{margin-top:16px;background:#fff;border:1px solid #dfe5e9;border-radius:7px;padding:22px 24px;min-height:510px;box-shadow:0 8px 24px rgba(31,45,61,.07)}
.letterhead{width:100%;font-family:Arial,sans-serif;color:#1f2937}.letterhead-main{display:grid;grid-template-columns:88px 1fr 88px;gap:12px;align-items:center;min-height:88px}.lh-logo{width:78px;height:78px;display:flex;align-items:center;justify-content:center;margin:auto}.lh-logo img{max-width:100%;max-height:100%;object-fit:contain}.lh-placeholder{border:1px dashed #c8d1d7;border-radius:7px;color:#9aa6af;font-size:10px;font-weight:800;letter-spacing:.08em}.lh-empty{visibility:hidden}.letterhead-text{text-align:center;line-height:1.15}.lh-line1{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--lh-primary)}.lh-line2{font-size:21px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;color:#1f3541;margin-top:2px}.lh-line3{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--lh-primary);margin-top:3px}.lh-meta{font-size:9.5px;color:#52636f;line-height:1.35;margin-top:5px}.letterhead-rule{height:6px;margin-top:7px;border-top:3px solid var(--lh-primary);position:relative}.letterhead-rule span{display:block;border-top:1px solid var(--lh-accent);margin-top:2px}.letterhead.compact .letterhead-main{grid-template-columns:72px 1fr 72px;min-height:70px}.letterhead.compact .lh-logo{width:62px;height:62px}.letterhead.compact .lh-line1{font-size:10px}.letterhead.compact .lh-line2{font-size:17px}.letterhead.compact .lh-line3{font-size:10px}.letterhead.compact .lh-meta{font-size:8px}.letterhead.compact .letterhead-rule{height:5px;margin-top:5px}
.preview-doc-title{text-align:center;padding:18px 0 14px}.preview-doc-title b{display:block;font-size:13px;letter-spacing:.08em}.preview-doc-title span{display:block;color:#84919b;font-size:9px;margin-top:4px}.preview-lines{display:grid;gap:9px}.preview-lines span{height:22px;border:1px solid #e3e8eb;border-radius:3px;background:linear-gradient(90deg,#f3f6f7 20%,#fff 20%)}.preview-sign{margin:24px 0 0 auto;width:190px;font-size:9px;display:flex;flex-direction:column;gap:3px}.preview-sign i{height:42px}.preview-sign strong{text-decoration:underline}.print-filter-card{border-top:3px solid #0f8e92}
@media(max-width:900px){.letterhead-admin-grid{grid-template-columns:1fr!important}.letterhead-preview-card{position:static}.letterhead-main{grid-template-columns:65px 1fr 65px}.lh-logo{width:56px;height:56px}.lh-line2{font-size:15px}.lh-line1,.lh-line3{font-size:9px}.lh-meta{font-size:8px}}

/* v1.20.0 - Cetak Pendaftar Skripsi */
.registrant-report-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:18px;padding:4px 2px}.registrant-report-head h2{font-size:24px;line-height:1.2;margin:4px 0 6px;color:#243746}.registrant-report-head p{margin:0;color:#73808b;max-width:720px}.report-eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#0f8e92}.report-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.registrant-filter-card{padding:20px;border-top:3px solid #0f8e92;margin-bottom:16px}.filter-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.filter-card-title h3{margin:0 0 4px;font-size:16px;color:#2a3e4d}.registrant-filter-grid{display:grid;grid-template-columns:1.15fr 1fr .85fr 1.3fr;gap:12px;align-items:end}.registrant-filter-grid .field{margin:0}.filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #edf1f3}.filter-summary-text{margin-left:auto;font-size:11px;color:#7b8790;max-width:46%;text-align:right}.registrant-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.registrant-stat{background:#fff;border:1px solid #dfe6ea;border-radius:9px;padding:15px 16px;box-shadow:0 3px 10px rgba(25,42,53,.035);position:relative;overflow:hidden}.registrant-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#0f8e92}.registrant-stat .rs-label{display:block;font-size:11px;font-weight:700;color:#62727d}.registrant-stat strong{display:block;font-size:25px;line-height:1.1;color:#203643;margin:7px 0 4px}.registrant-stat small{color:#8a969f;font-size:10px}.registrant-table-card{padding:0;overflow:hidden}.registrant-table-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px 14px;border-bottom:1px solid #e6ecef}.registrant-table-head h3{margin:0 0 3px;font-size:16px;color:#2a3e4d}.registrant-count{font-size:11px;font-weight:800;color:#0f7377;background:#eaf7f7;border:1px solid #cde8e8;padding:6px 9px;border-radius:999px;white-space:nowrap}.registrant-table{margin:0;min-width:1050px}.registrant-table thead th{background:#f5f8f9;color:#526572;font-size:10px;text-transform:uppercase;letter-spacing:.025em;padding:11px 10px;border-bottom:1px solid #dfe7eb;white-space:nowrap}.registrant-table tbody td{padding:11px 10px;vertical-align:top;border-bottom:1px solid #edf1f3;color:#344955}.registrant-table tbody tr:hover{background:#f9fcfc}.registrant-table .col-no{width:48px;text-align:center}.reg-number{font-size:11px;font-weight:800;color:#31505f;white-space:nowrap}.student-cell,.academic-cell,.program-cell{display:flex;flex-direction:column;gap:3px}.student-cell b{font-size:12px;color:#203643}.student-cell span,.academic-cell span{font-size:10px;color:#7c8992}.program-cell .program-code{display:inline-flex;align-self:flex-start;background:#eef4f5;border:1px solid #dce6e8;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:800;color:#526a76}.program-cell span:last-child{font-size:11px;line-height:1.3}.outline-cell{min-width:260px;max-width:390px;line-height:1.45}.academic-cell b{font-size:11px;color:#2e4b59}.date-cell{white-space:nowrap;font-size:11px;color:#61717c!important}.registrant-empty{display:flex!important;flex-direction:column;gap:4px;padding:34px!important}.registrant-empty b{color:#4a5e6b}.registrant-empty span{color:#8a969f;font-size:11px}
@media(max-width:1100px){.registrant-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registrant-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registrant-report-head{align-items:flex-start}.filter-summary-text{max-width:100%;width:100%;margin-left:0;text-align:left}}
@media(max-width:700px){.registrant-report-head{flex-direction:column;align-items:stretch}.report-head-actions{justify-content:flex-start}.registrant-filter-grid{grid-template-columns:1fr}.registrant-stat-grid{grid-template-columns:1fr 1fr}.filter-card-title{flex-direction:column}.registrant-report-head h2{font-size:21px}}
@media(max-width:480px){.registrant-stat-grid{grid-template-columns:1fr}}

/* v1.21.0 - Tahapan Alur Skripsi di Dashboard Admin */
.admin-flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.admin-flow-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;background:#fff;border:1px solid #dfe7eb;border-radius:8px;padding:11px 12px;color:#344955;box-shadow:0 2px 8px rgba(31,45,61,.035);transition:.15s ease}.admin-flow-step:hover{border-color:#8fc8c9;background:#f7fcfc;transform:translateY(-1px)}.admin-flow-no{width:32px;height:32px;border-radius:7px;display:grid;place-items:center;background:#e8f6f5;color:#087f83;font-size:11px;font-weight:900}.admin-flow-step strong{display:block;font-size:10.5px;line-height:1.3;color:#314753}.admin-flow-step small{display:block;margin-top:3px;color:#8a969f;font-size:8.5px;line-height:1.25}.admin-flow-count{min-width:27px;height:27px;border-radius:999px;background:#f1f5f7;color:#526572;display:grid;place-items:center;font-size:10px}.admin-flow-step:nth-child(4),.admin-flow-step:nth-child(11){border-left:3px solid #0f8e92}.admin-flow-step:nth-child(5),.admin-flow-step:nth-child(12){border-left:3px solid #6c8dd5}.admin-flow-step:nth-child(9),.admin-flow-step:nth-child(10){border-left:3px solid #d39a34}
@media(max-width:1180px){.admin-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.admin-flow-grid{grid-template-columns:1fr 1fr}.admin-flow-step{grid-template-columns:30px minmax(0,1fr) auto;padding:9px}.admin-flow-no{width:28px;height:28px}}@media(max-width:480px){.admin-flow-grid{grid-template-columns:1fr}}
