:root{--bg:#f4f7f5;--card:#fff;--text:#17221b;--muted:#6d7c73;--line:#dde7e0;--green:#0d7a4b;--green2:#12a566;--gold:#d2a23a;--shadow:0 16px 45px rgba(23,55,38,.08)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eff8f2 0,#f7f9f8 260px,#f4f7f5 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text)}
a{text-decoration:none;color:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:14px 28px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;min-width:250px}.brandmark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(13,122,75,.22)}.brand strong,.brand small,.profile strong,.profile small{display:block}.brand small,.profile small{font-size:11px;color:var(--muted);margin-top:2px}
.mainnav{display:flex;align-items:center;gap:7px;flex:1;overflow:auto}.mainnav a{white-space:nowrap;padding:10px 13px;border-radius:12px;color:#526058;font-size:13px;display:flex;gap:6px;align-items:center}.mainnav a:hover{background:#edf7f1;color:var(--green)}.mainnav a.active{background:#e4f5eb;color:var(--green);box-shadow:inset 0 -2px 0 var(--green)}
.profile{display:flex;align-items:center;gap:9px}.avatar{width:36px;height:36px;border-radius:50%;background:#e7f4ec;color:var(--green);display:grid;place-items:center;font-weight:800}.logout{font-size:12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin-left:5px}
.container{width:min(1240px,calc(100% - 34px));margin:28px auto 50px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pagehead h1{font-size:30px;margin:2px 0 0;letter-spacing:-.6px}.eyebrow{font-size:11px;color:var(--green);font-weight:800;letter-spacing:1.5px}.version{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:7px 10px;border-radius:999px;background:#fff}
.hero{display:grid;grid-template-columns:1.55fr .8fr;gap:18px;margin-bottom:18px}.hero-main{border-radius:24px;padding:28px;background:linear-gradient(135deg,#0b7044,#13925b 65%,#d6aa48 150%);color:#fff;min-height:210px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-main:after{content:"";position:absolute;right:-55px;top:-70px;width:240px;height:240px;border:1px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025)}.hero-main h2{font-size:30px;line-height:1.1;margin:12px 0 9px;max-width:620px}.hero-main p{max-width:650px;color:#dff4e8;margin:0 0 22px}.badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;font-weight:700}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:10px 14px;font-weight:750;font-size:13px;cursor:pointer}.btn-primary{background:var(--green);color:#fff}.hero-main .btn-primary{background:#fff;color:var(--green)}.btn-soft{background:#edf7f1;color:var(--green);border:1px solid #d9ebdf}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff}
.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:20px}.panel h3{font-size:16px;margin:0 0 15px}.today{display:grid;gap:10px}.agenda{border:1px solid var(--line);border-radius:15px;padding:12px}.agenda strong,.agenda small{display:block}.agenda small{font-size:12px;color:var(--muted);margin-top:3px}.agenda .time{color:var(--green);font-size:11px;font-weight:800;margin-bottom:4px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 9px 24px rgba(23,55,38,.055)}.stat-icon{width:43px;height:43px;flex:none;border-radius:13px;background:#e8f6ee;color:var(--green);display:grid;place-items:center;font-size:20px}.stat span,.stat small,.stat strong{display:block}.stat span{font-size:12px;color:var(--muted)}.stat strong{font-size:24px;letter-spacing:-.5px;margin:2px 0}.stat small{font-size:11px;color:#819087}
.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.course{border:1px solid var(--line);border-radius:17px;padding:16px;background:#fff}.course-top{display:flex;justify-content:space-between;gap:8px;align-items:start}.course h4{margin:0;font-size:15px}.course p{font-size:12px;color:var(--muted);margin:6px 0 13px}.course-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.progress{height:7px;background:#edf1ee;border-radius:10px;overflow:hidden;margin:11px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:10px}
.list{display:grid;gap:9px}.list-item{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--line);padding:9px 0}.list-item:last-child{border-bottom:0}.list-item strong,.list-item small{display:block}.list-item small{font-size:11px;color:var(--muted);margin-top:2px}.pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#e8f6ee;color:var(--green)}.pill.warn{background:#fff5df;color:#936c13}.pill.gray{background:#eef1ef;color:#65736a}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf1ee;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#748178;background:#f8faf9}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-size:12px;font-weight:750;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;font:inherit}.field textarea{min-height:105px;resize:vertical}.span2{grid-column:span 2}
.alert{padding:12px 14px;border-radius:13px;margin-bottom:14px;font-size:13px}.alert.success{background:#e8f7ee;color:#0d7146;border:1px solid #cfead9}.alert.error{background:#fff0ee;color:#a03d35;border:1px solid #f1d1cc}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:15px}
.footer{text-align:center;color:#819087;font-size:11px;padding:20px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-art{background:linear-gradient(145deg,#075f3a,#10945b 70%,#d0a33e 150%);color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:center}.login-art h1{font-size:46px;line-height:1;margin:14px 0}.login-art p{font-size:17px;color:#dff4e8;max-width:620px}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-top:26px}.feature{padding:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:14px;font-size:13px}.login-side{display:grid;place-items:center;padding:30px;background:#f8faf9}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.login-card h2{margin:0 0 5px;font-size:26px}.login-card>p{color:var(--muted);font-size:13px;margin:0 0 20px}.login-card .field{margin-bottom:13px}.login-card .btn{width:100%;padding:12px}.hint{background:#f4f8f5;border-radius:12px;padding:11px;font-size:11px;color:#607067;margin-top:14px}
@media(max-width:1000px){.topbar{flex-wrap:wrap}.brand{min-width:auto}.mainnav{order:3;width:100%}.profile{margin-left:auto}.hero,.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.topbar{padding:12px 15px}.profile>div:not(.avatar),.logout{display:none}.container{width:min(100% - 22px,1240px)}.hero-main{padding:22px}.hero-main h2{font-size:25px}.stats,.cards,.form-grid,.features{grid-template-columns:1fr}.span2{grid-column:auto}.login-shell{grid-template-columns:1fr}.login-art{display:none}}

/* SIKADU LMS v2 */
.topbar{overflow:visible}.mainnav{overflow:visible}.navdrop{position:relative}.navdrop>button{border:0;background:transparent;padding:10px 12px;border-radius:12px;color:#526058;display:flex;gap:6px;align-items:center;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.navdrop>button b{font-size:10px;color:#8b9890}.navdrop.active>button,.navdrop>button:hover{background:#e8f6ee;color:var(--green)}.navmenu{display:none;position:absolute;top:44px;left:0;width:285px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 55px rgba(20,55,35,.16);z-index:50}.navdrop.open .navmenu,.navdrop:hover .navmenu{display:grid}.navmenu a{display:flex!important;align-items:center;gap:10px;padding:10px!important;border-radius:11px!important;background:transparent!important;color:var(--text)!important}.navmenu a:hover,.navmenu a.active{background:#edf7f1!important}.navmenu a>span{width:31px;height:31px;border-radius:9px;background:#edf7f1;color:var(--green);display:grid;place-items:center}.navmenu strong,.navmenu small{display:block}.navmenu strong{font-size:12px}.navmenu small{font-size:10px;color:var(--muted);margin-top:2px}.head-actions{display:flex;gap:8px;align-items:center}.semester{font-size:11px;padding:7px 10px;border-radius:999px;background:#e8f6ee;color:var(--green);font-weight:800}.toolbar{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar .left,.toolbar .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-danger{background:#a93c38;color:#fff}.btn-gold{background:#f7edd3;color:#7f5f12;border:1px solid #edd8a5}.btn-sm{padding:7px 10px;font-size:11px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tabs a{padding:8px 11px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:11px;color:var(--muted)}.tabs a.active{background:var(--green);color:#fff;border-color:var(--green)}.meeting-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.meeting-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;min-height:145px;position:relative}.meeting-card .no{width:32px;height:32px;border-radius:10px;background:#e8f6ee;color:var(--green);display:grid;place-items:center;font-weight:900;font-size:12px}.meeting-card h4{margin:10px 0 5px;font-size:13px}.meeting-card p{margin:0;color:var(--muted);font-size:11px;min-height:30px}.meeting-card .actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.dropzone{border:2px dashed #cfe1d5;border-radius:16px;padding:20px;text-align:center;background:#fbfdfb}.material-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.material-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}.material-card .type{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--green);font-weight:900}.material-card h4{margin:6px 0}.material-card small{color:var(--muted)}.forum-topic{padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;margin-bottom:10px}.forum-topic h4{margin:0 0 5px}.forum-meta{font-size:11px;color:var(--muted)}.post{display:flex;gap:10px;padding:13px 0;border-bottom:1px dashed var(--line)}.post:last-child{border-bottom:0}.post .avatar{flex:none}.quiz-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:16px}.quiz-card h4{margin:4px 0}.quiz-card p{color:var(--muted);font-size:12px}.quiz-meta{display:flex;gap:7px;flex-wrap:wrap}.question{padding:15px;border:1px solid var(--line);border-radius:15px;margin-bottom:12px;background:#fff}.question h4{margin:0 0 10px}.option{display:block;padding:9px;border:1px solid #e7ece9;border-radius:10px;margin:6px 0}.score-big{font-size:42px;font-weight:900;letter-spacing:-2px;color:var(--green)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#16a264;margin-right:5px}.status-dot.off{background:#a8b2ac}.integration-log{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:#122018;color:#d9f1e2;border-radius:14px;padding:14px;max-height:280px;overflow:auto}.update-step{display:flex;gap:12px;align-items:flex-start;padding:12px;border-bottom:1px dashed var(--line)}.update-step:last-child{border-bottom:0}.update-step .n{width:30px;height:30px;border-radius:9px;background:#e8f6ee;color:var(--green);display:grid;place-items:center;font-weight:900;flex:none}.codebox{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3f6f4;border:1px solid var(--line);border-radius:11px;padding:10px;font-size:11px;overflow:auto}.notice{padding:12px;border-left:4px solid var(--gold);background:#fff9ea;border-radius:10px;color:#6f5b27;font-size:12px}.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.kpi{border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px}.kpi span,.kpi strong{display:block}.kpi span{font-size:10px;color:var(--muted);text-transform:uppercase}.kpi strong{font-size:20px;margin-top:4px}
@media(max-width:1100px){.meeting-grid{grid-template-columns:repeat(2,1fr)}.material-list{grid-template-columns:repeat(2,1fr)}.kpi-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.mainnav{overflow-x:auto;overflow-y:visible}.navmenu{position:fixed;left:12px;right:12px;top:118px;width:auto}.meeting-grid,.material-list,.kpi-row{grid-template-columns:1fr}.head-actions .semester{display:none}}

/* =========================================================
   SIKADU LMS v2.0.8 — Beranda modern & minimalis
   ========================================================= */
.home-nav{font-weight:750}.home-nav>span{font-size:15px}.mainnav>.home-nav.active{background:#e8f6ee;color:var(--green);box-shadow:none}
.home-shell{display:grid;gap:16px}.home-welcome{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px;border:1px solid rgba(13,122,75,.12);border-radius:22px;background:linear-gradient(120deg,#0b7145 0%,#108b57 62%,#159764 100%);color:#fff;box-shadow:0 16px 36px rgba(13,90,56,.12);position:relative;overflow:hidden}.home-welcome:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-100px;top:-130px;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018)}.home-welcome-copy{position:relative;z-index:1;min-width:0}.home-kicker{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#d8f4e4}.home-kicker i{display:block;width:7px;height:7px;border-radius:50%;background:#aee5c5;box-shadow:0 0 0 4px rgba(255,255,255,.08)}.home-welcome h2{font-size:26px;letter-spacing:-.55px;line-height:1.12;margin:8px 0 5px}.home-welcome p{margin:0;color:#d9f1e3;font-size:13px}.home-welcome-actions{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn-home-primary{background:#fff;color:#0c7246}.btn-home-ghost{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);color:#fff}.btn-home-primary:hover,.btn-home-ghost:hover{transform:translateY(-1px)}
.home-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.home-metric{display:flex;align-items:center;gap:11px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 14px;box-shadow:0 7px 18px rgba(23,55,38,.035)}.metric-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:#edf8f1;color:var(--green);font-weight:900;font-size:12px}.home-metric small,.home-metric strong,.home-metric em{display:block;font-style:normal}.home-metric small{font-size:10px;color:var(--muted);font-weight:750}.home-metric strong{font-size:22px;line-height:1.05;margin:2px 0;color:#15241b;letter-spacing:-.5px}.home-metric em{font-size:9px;color:#94a198}
.home-section,.home-card{background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:0 9px 26px rgba(23,55,38,.045)}.home-section{padding:18px}.home-card{padding:18px;min-width:0}.home-section-head,.home-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.home-section-head>div>span,.home-card-head>div>span{display:block;font-size:9px;letter-spacing:.9px;text-transform:uppercase;color:var(--green);font-weight:900;margin-bottom:2px}.home-section-head h3,.home-card-head h3{font-size:15px;margin:0;letter-spacing:-.15px}.home-section-head>small{font-size:10px;color:var(--muted)}.home-card-head>a{font-size:10px;font-weight:800;color:var(--green);background:#edf7f1;padding:6px 9px;border-radius:999px}.home-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.home-shortcut{display:flex;align-items:center;gap:10px;min-height:68px;border:1px solid #e6ede8;border-radius:14px;padding:11px 12px;background:#fff;transition:.18s ease}.home-shortcut:hover{border-color:#c9dfd1;background:#fbfefc;transform:translateY(-1px);box-shadow:0 9px 18px rgba(23,55,38,.045)}.shortcut-icon{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;background:#edf8f1;color:var(--green);font-size:12px;font-weight:900}.home-shortcut>div{min-width:0;flex:1}.home-shortcut strong,.home-shortcut small{display:block}.home-shortcut strong{font-size:12px}.home-shortcut small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-shortcut>b{font-size:15px;color:#a2afa7;font-weight:600}.home-shortcut:hover>b{color:var(--green)}
.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-columns-main{grid-template-columns:1.45fr .75fr}.home-card-wide{min-width:0}.home-course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.home-course{display:block;border:1px solid #e7ede9;border-radius:14px;padding:13px;background:#fff;transition:.18s ease;min-width:0}.home-course:hover{border-color:#c8ded0;background:#fbfefc;transform:translateY(-1px)}.home-course-top,.home-course-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-course-code{font-size:9px;font-weight:900;letter-spacing:.5px;color:var(--green);background:#edf8f1;padding:5px 7px;border-radius:8px}.home-course-arrow{font-size:12px;color:#a2afa7}.home-course h4{font-size:13px;line-height:1.25;margin:10px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-course p{font-size:10px;color:var(--muted);margin:0 0 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-course-foot{font-size:9px;color:#8a978f;border-top:1px dashed #e4ebe6;padding-top:9px}.home-feed{display:grid}.home-feed-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px dashed #e5ebe7}.home-feed-item:last-child{border-bottom:0}.feed-dot{width:7px;height:7px;border-radius:50%;background:#18a363;box-shadow:0 0 0 4px #edf8f1}.feed-dot.danger{background:#cf5048;box-shadow:0 0 0 4px #fff0ee}.home-feed-item>div{min-width:0}.home-feed-item strong,.home-feed-item small{display:block}.home-feed-item strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-feed-item small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-feed-item time{font-size:9px;color:#89968e;text-align:right;max-width:118px}.home-empty{padding:22px 12px;text-align:center;color:#8a978f;font-size:10px;border:1px dashed #dce6df;border-radius:12px;background:#fbfcfb}.home-empty-span{grid-column:1/-1}.home-announcement-card{padding-bottom:13px}.home-announcements{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.home-announcements>a{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid #e7ede9;border-radius:12px;min-width:0}.home-announcements>a>span{width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#edf8f1;color:var(--green);display:grid;place-items:center}.home-announcements strong,.home-announcements small{display:block}.home-announcements strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-announcements small{font-size:9px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.home-metrics{grid-template-columns:repeat(3,1fr)}.home-shortcuts{grid-template-columns:repeat(2,1fr)}.home-columns-main{grid-template-columns:1fr}.home-announcements{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.home-welcome{align-items:flex-start;flex-direction:column;padding:20px}.home-welcome-actions{justify-content:flex-start}.home-welcome h2{font-size:22px}.home-metrics{grid-template-columns:repeat(2,1fr)}.home-columns{grid-template-columns:1fr}.home-course-grid{grid-template-columns:1fr}.home-section-head>small{display:none}.home-feed-item{grid-template-columns:9px minmax(0,1fr)}.home-feed-item time{grid-column:2;text-align:left;max-width:none}.home-announcements{grid-template-columns:1fr}}
@media(max-width:480px){.home-metrics{grid-template-columns:1fr}.home-shortcuts{grid-template-columns:1fr}.home-welcome-actions{width:100%}.home-welcome-actions .btn{flex:1}.home-section,.home-card{padding:14px}}

/* =========================================================
   SIKADU LMS v2.0.9 — Akun dosen terpusat & tampilan rapi
   ========================================================= */
.account-gen-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:18px;margin-bottom:18px}.account-gen-main,.account-status-panel,.account-list-panel{box-shadow:0 10px 28px rgba(23,55,38,.05)}.account-title-row,.account-status-head,.account-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-kicker{display:block;color:var(--green);font-weight:900;font-size:10px;letter-spacing:1.1px;margin-bottom:5px}.account-title-row h3,.account-status-head h3,.account-list-head h3{font-size:17px;margin:0;letter-spacing:-.2px}.section-lead,.account-list-head p{font-size:12px;line-height:1.55;color:var(--muted);margin:5px 0 0;max-width:720px}.account-total-badge{min-width:118px;text-align:right;padding:10px 12px;border:1px solid #dce9e1;border-radius:14px;background:#f9fcfa}.account-total-badge strong,.account-total-badge span{display:block}.account-total-badge strong{font-size:23px;line-height:1;color:var(--green)}.account-total-badge span{font-size:9px;color:var(--muted);margin-top:4px}.login-rule-box{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;margin:17px 0 13px;padding:11px;border-radius:15px;background:#f7faf8;border:1px solid #e3ece6}.login-rule-item{display:flex;align-items:center;gap:9px;padding:7px 9px}.rule-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:#e8f6ee;color:var(--green);font-size:10px;font-weight:900}.login-rule-item small,.login-rule-item strong,.login-rule-example small,.login-rule-example strong{display:block}.login-rule-item small,.login-rule-example small{font-size:9px;color:var(--muted);margin-bottom:2px}.login-rule-item strong{font-size:12px}.login-rule-example{padding:8px 11px;border-left:1px solid #dce6df;align-self:center}.login-rule-example strong{font-size:11px;color:#6c5725;white-space:nowrap}.compact-alert{margin-bottom:12px}.generate-action-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.generate-action-row>span{font-size:10px;color:var(--muted);line-height:1.45}.btn-generate{padding:11px 16px}.generate-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.generate-result-grid>div{padding:12px;border:1px solid #e1ebe5;background:#fbfdfc;border-radius:13px}.generate-result-grid strong,.generate-result-grid span{display:block}.generate-result-grid strong{font-size:21px;color:var(--green)}.generate-result-grid span{font-size:9px;color:var(--muted);margin-top:3px}.status-ready{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#e8f7ee;color:#0d7146;font-size:9px;font-weight:900}.status-ready.off{background:#fff0ee;color:#a03d35}.mini-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.mini-stat-row>div{padding:10px;border:1px solid #e6ede8;border-radius:12px;background:#fbfdfc}.mini-stat-row small,.mini-stat-row strong{display:block}.mini-stat-row small{font-size:9px;color:var(--muted)}.mini-stat-row strong{font-size:20px;margin-top:2px}.account-flow{display:grid}.account-flow>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px dashed #e3e9e5;align-items:center}.account-flow>div:last-child{border-bottom:0}.account-flow>div>span{width:30px;height:30px;border-radius:9px;background:#e8f6ee;color:var(--green);display:grid;place-items:center;font-weight:900;font-size:12px}.account-flow p{margin:0}.account-flow strong,.account-flow small{display:block}.account-flow strong{font-size:11px}.account-flow small{font-size:9px;color:var(--muted);margin-top:2px}.account-tip{margin-top:12px;padding:11px 12px;border-radius:11px;background:#fff9ea;border-left:3px solid var(--gold);color:#6f5b27;font-size:10px;line-height:1.5}.account-list-panel{margin-top:18px}.result-count{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#edf7f1;color:var(--green);font-size:9px;font-weight:850}.account-searchbar{display:flex;align-items:center;gap:8px;margin:15px 0 13px}.search-field{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:0 11px;background:#fff}.search-field>span{color:#8a978f;font-size:16px}.search-field input{width:100%;border:0;outline:0;padding:10px 0;background:transparent;font:inherit;font-size:12px}.account-searchbar select{min-width:150px;border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:#fff;font:inherit;font-size:12px;color:#415047}.account-table-wrap{box-shadow:none;border-radius:14px}.account-table{min-width:760px}.account-table th{padding:11px 13px}.account-table td{padding:11px 13px}.user-name-cell{display:flex;align-items:center;gap:9px}.user-avatar-sm{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:#e8f6ee;color:var(--green);font-weight:900;font-size:12px}.user-name-cell strong,.user-name-cell small{display:block}.user-name-cell strong{font-size:12px}.user-name-cell small{font-size:9px;color:var(--muted);margin-top:2px}.username-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:#f2f6f3;border:1px solid #e1e8e3;padding:5px 7px;border-radius:8px}.user-status{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:850;padding:5px 8px;border-radius:999px;background:#edf7f1;color:#0d7146}.user-status i{width:6px;height:6px;border-radius:50%;background:#18a363}.user-status.nonaktif{background:#f1f3f2;color:#68766e}.user-status.nonaktif i{background:#9ba79f}.empty-account{padding:28px 14px;text-align:center;color:var(--muted)}.empty-account>span{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 9px;border-radius:12px;background:#edf7f1;color:var(--green);font-size:20px}.empty-account strong,.empty-account small{display:block}.empty-account strong{font-size:12px;color:#34423a}.empty-account small{font-size:10px;margin-top:4px}.user-moved-notice{margin-bottom:18px}.compact-head{margin-bottom:14px}.required-star{color:#d43e36}
@media(max-width:1000px){.account-gen-grid{grid-template-columns:1fr}.login-rule-box{grid-template-columns:1fr 1fr}.login-rule-example{grid-column:1/-1;border-left:0;border-top:1px solid #dce6df}.generate-result-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.account-title-row,.account-status-head,.account-list-head{flex-direction:column}.account-total-badge{text-align:left}.login-rule-box{grid-template-columns:1fr}.login-rule-example{grid-column:auto}.account-searchbar{align-items:stretch;flex-direction:column}.account-searchbar select{width:100%}.search-field{min-width:0}.generate-result-grid{grid-template-columns:1fr 1fr}.generate-action-row .btn{width:100%}}

/* v2.0.10 - akun mahasiswa terpusat */
.account-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.page-info{font-size:10px;color:var(--muted)}
.page-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.page-number{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:#405048;text-decoration:none;font-size:11px;font-weight:800}
.page-number:hover{border-color:#b8d7c6;background:#f5faf7;color:var(--green)}
.page-number.active{background:var(--green);border-color:var(--green);color:#fff}
@media(max-width:700px){.account-pagination{align-items:flex-start;flex-direction:column}.page-links{justify-content:flex-start}}

/* =========================================================
   SIKADU LMS v2.0.11 — Menu admin modern + indikator + logo
   ========================================================= */
.topbar{gap:22px;padding-top:12px;padding-bottom:12px;box-shadow:0 8px 30px rgba(23,55,38,.025)}
.brand{min-width:255px}.brand-copy{min-width:0}.brandmark-logo{width:46px;height:46px;padding:4px;background:#fff;border:1px solid #dce9e1;box-shadow:0 8px 20px rgba(23,55,38,.08);overflow:hidden}.brandmark-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:9px}
.mainnav{gap:6px;min-width:0}.mainnav>.home-nav{position:relative;gap:8px;padding:8px 12px;border:1px solid transparent;font-weight:800}.home-nav .home-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#f1f6f3;color:#64746a}.home-nav .home-indicator{width:6px;height:6px;border-radius:50%;background:#c7d2cb;margin-left:1px}.mainnav>.home-nav:hover,.mainnav>.home-nav.active{background:#edf8f2;border-color:#dcece3;color:var(--green)}.mainnav>.home-nav.active .home-icon{background:#dff3e8;color:var(--green)}.mainnav>.home-nav.active .home-indicator{background:#16a264;box-shadow:0 0 0 3px rgba(22,162,100,.12)}
.navdrop{position:relative}.navdrop>button{height:45px;padding:6px 10px 6px 7px;gap:7px;border:1px solid transparent;border-radius:13px;font-weight:700;color:#4f5e55;transition:.16s ease}.navdrop>button:hover{background:#f2f8f4;border-color:#e3ece6}.navdrop.active>button,.navdrop.open>button{background:#e8f6ee;border-color:#d4eadf;color:var(--green);box-shadow:0 5px 14px rgba(13,122,75,.06)}
.nav-group-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#f0f5f2;color:#65756b;font-size:12px;font-weight:900}.navdrop.active .nav-group-icon,.navdrop.open .nav-group-icon{background:#d9f0e3;color:var(--green)}.nav-group-label{font-size:12px}.nav-indicator{display:inline-flex;align-items:center;gap:4px;margin-left:1px}.nav-indicator i{width:6px;height:6px;border-radius:50%;background:#c8d2cc}.nav-indicator em{font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#eef2ef;color:#7b8980;font-size:8px;font-weight:900}.navdrop.active .nav-indicator i,.navdrop.open .nav-indicator i{background:#18a363;box-shadow:0 0 0 3px rgba(24,163,99,.1)}.navdrop.active .nav-indicator em,.navdrop.open .nav-indicator em{background:#d9efe3;color:#0b7447}.nav-chevron{font-size:11px;color:#8b9890;transition:transform .16s ease;margin-left:0}.navdrop.open .nav-chevron{transform:rotate(180deg);color:var(--green)}
.navmenu{display:none;top:52px;width:330px;padding:0;border-radius:18px;overflow:hidden;border:1px solid #dce8e1;box-shadow:0 24px 65px rgba(19,54,34,.18);background:#fff}.navdrop:hover .navmenu{display:none}.navdrop.open .navmenu{display:block}.navdrop:last-child .navmenu{left:auto;right:0}.navmenu.navmenu-wide{width:350px}.navmenu-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 13px 12px;background:linear-gradient(180deg,#f8fcf9,#f3f8f5);border-bottom:1px solid #e5ece7}.navmenu-head-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#dff3e8;color:var(--green);font-weight:900}.navmenu-head strong,.navmenu-head small{display:block}.navmenu-head strong{font-size:13px;letter-spacing:-.1px}.navmenu-head small{font-size:9px;color:var(--muted);line-height:1.35;margin-top:2px}.navmenu-total{padding:5px 7px;border-radius:999px;background:#fff;border:1px solid #dce6df;color:#738078;font-size:8px;font-weight:850;white-space:nowrap}.navmenu-list{padding:7px;display:grid;gap:2px;max-height:min(535px,calc(100vh - 120px));overflow:auto;overscroll-behavior:contain}.navmenu a{display:grid!important;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 9px!important;border-radius:11px!important;border:1px solid transparent;background:#fff!important;min-width:0}.navmenu a:hover{background:#f3f9f5!important;border-color:#e1ece5}.navmenu a.active{background:#eaf7ef!important;border-color:#d4eadf;box-shadow:inset 3px 0 0 var(--green)}.navmenu a>.nav-item-icon{width:34px;height:34px;border-radius:10px;background:#eef6f1;color:#407158;display:grid;place-items:center;font-size:11px;font-weight:900}.navmenu a.active>.nav-item-icon{background:#d7f0e1;color:var(--green)}.nav-item-copy{min-width:0}.navmenu .nav-item-copy strong,.navmenu .nav-item-copy small{display:block}.navmenu .nav-item-copy strong{font-size:11px;color:#26342c}.navmenu .nav-item-copy small{font-size:8.5px;line-height:1.35;color:#7b8980;margin-top:2px;white-space:normal}.nav-item-arrow{color:#a3aea7;font-size:17px}.nav-active-label{padding:4px 6px;border-radius:999px;background:#d8f0e2;color:#0c7849;font-size:8px;font-weight:900}.navdrop>button:focus-visible,.home-nav:focus-visible,.navmenu a:focus-visible{outline:3px solid rgba(20,151,91,.18);outline-offset:2px}

.branding-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.branding-editor,.branding-guide{box-shadow:0 11px 30px rgba(23,55,38,.055)}.branding-title{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.branding-title h3,.branding-guide h3{margin:0;font-size:18px;letter-spacing:-.2px}.branding-title p{font-size:12px;line-height:1.55;color:var(--muted);margin:5px 0 0;max-width:650px}.branding-status{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#e8f7ee;color:#0d7146;font-size:9px;font-weight:900}.branding-preview-shell{margin:18px 0;padding:12px;border:1px solid #e0e9e3;border-radius:16px;background:#f7faf8}.branding-preview-label{font-size:9px;font-weight:900;color:#78867d;text-transform:uppercase;letter-spacing:.8px;margin:0 0 8px 3px}.branding-preview-bar{min-height:66px;display:flex;align-items:center;gap:10px;padding:10px 13px;background:#fff;border:1px solid #e2e9e5;border-radius:13px;box-shadow:0 7px 20px rgba(23,55,38,.04)}.branding-preview-logo,.branding-preview-default{width:42px;height:42px;flex:0 0 42px;border-radius:11px;display:grid;place-items:center}.branding-preview-logo{border:1px solid #e0e7e3;padding:4px}.branding-preview-logo img{display:block;width:100%;height:100%;object-fit:contain}.branding-preview-default{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;font-weight:900}.branding-preview-bar>div:nth-child(2){min-width:170px}.branding-preview-bar strong,.branding-preview-bar small{display:block}.branding-preview-bar strong{font-size:12px}.branding-preview-bar small{font-size:9px;color:var(--muted);margin-top:2px}.branding-preview-menu{margin-left:auto;color:#66766c;font-size:9px;white-space:nowrap}.branding-upload-form{padding-top:2px}.field-help{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:5px}.branding-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.branding-guide-list{display:grid;margin-top:12px}.branding-guide-list>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed #e2e9e5}.branding-guide-list>div:last-child{border-bottom:0}.branding-guide-list>div>span{width:30px;height:30px;border-radius:9px;background:#e8f6ee;color:var(--green);display:grid;place-items:center;font-size:11px;font-weight:900}.branding-guide-list p{margin:0}.branding-guide-list strong,.branding-guide-list small{display:block}.branding-guide-list strong{font-size:11px}.branding-guide-list small{font-size:9px;color:var(--muted);line-height:1.4;margin-top:2px}.branding-current{margin-top:14px;padding:11px 12px;border:1px solid #e1e9e4;border-radius:12px;background:#fafcfb;overflow:hidden}.branding-current small,.branding-current strong{display:block}.branding-current small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.branding-current strong{font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-branding{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #edf1ee}.login-branding>div:last-child strong,.login-branding>div:last-child small{display:block}.login-branding>div:last-child strong{font-size:13px}.login-branding>div:last-child small{font-size:9px;color:var(--muted);margin-top:2px}.login-logo{width:44px;height:44px;flex:0 0 44px;border:1px solid #dde7e0;border-radius:12px;padding:4px;display:grid;place-items:center;background:#fff}.login-logo img{width:100%;height:100%;object-fit:contain;display:block}.login-logo-default{background:linear-gradient(135deg,var(--green),var(--green2));border:0;color:#fff;font-weight:900;font-size:17px}
@media(max-width:1160px){.brand{min-width:220px}.nav-group-label{display:none}.navdrop>button{padding-right:8px}.nav-indicator em{display:none}.navmenu{left:0}.navdrop:last-child .navmenu{right:0}}
@media(max-width:1000px){.brand{min-width:auto}.mainnav{overflow-x:auto;overflow-y:visible;padding-bottom:2px}.nav-group-label{display:inline}.nav-indicator em{display:grid}.navmenu,.navmenu.navmenu-wide{position:fixed;top:116px;left:14px!important;right:14px!important;width:auto;max-width:none}.navmenu-list{max-height:calc(100vh - 195px)}.branding-grid{grid-template-columns:1fr}}
@media(max-width:650px){.brand-copy small{display:none}.brandmark-logo{width:42px;height:42px}.nav-group-label{display:none}.nav-indicator em{display:none}.mainnav>.home-nav>span:not(.home-icon),.home-indicator{display:none}.branding-title{flex-direction:column}.branding-preview-menu{display:none}.branding-actions .btn{width:100%}}
.settings-branding-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:12px;border:1px solid #e0e9e3;border-radius:14px;background:#f8fbf9}.settings-branding-link>div{display:flex;align-items:center;gap:10px}.settings-branding-link>div>span{width:34px;height:34px;border-radius:10px;background:#e7f5ed;color:var(--green);display:grid;place-items:center;font-weight:900}.settings-branding-link strong,.settings-branding-link small{display:block}.settings-branding-link strong{font-size:11px}.settings-branding-link small{font-size:9px;color:var(--muted);margin-top:2px}@media(max-width:650px){.settings-branding-link{align-items:flex-start;flex-direction:column}.settings-branding-link>a{width:100%}}

/* SIKADU LMS v2.1.0 Campus Complete */
.stats{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}
.campus-grid{display:grid;gap:18px}.campus-grid-2{grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr)}.campus-panel{margin-top:18px}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px}.section-title h3{margin:2px 0 0}.section-title p{font-size:11px;color:var(--muted);margin:4px 0 0}.form-stack{display:grid;gap:13px}.rps-read{display:grid;gap:7px}.rps-read h4{font-size:12px;margin:6px 0 0;color:var(--green)}.rps-read p{font-size:13px;line-height:1.6;margin:0;padding:10px 12px;border-radius:12px;background:#f7faf8;border:1px solid #e8eee9}.outcome-list{display:grid;gap:9px}.outcome-item{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.outcome-item strong,.outcome-item small{display:block}.outcome-item strong{font-size:11px;line-height:1.45}.outcome-item small{font-size:9px;color:var(--muted);margin-top:4px}.outcome-code{width:55px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e7f5ed;color:var(--green);font-size:10px;font-weight:900;text-align:center}
.inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-form select,.inline-form input{width:auto;min-width:150px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}.attendance-hadir{background:#e7f6ed;color:#0d7447}.attendance-izin{background:#eef3ff;color:#355c9c}.attendance-sakit{background:#fff4df;color:#8a671d}.attendance-alfa{background:#fff0ee;color:#a34139}.attendance-kosong{background:#eef1ef;color:#6f7b74}.attendance-stats{margin-top:5px}
.timeline-list{display:grid}.timeline-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;padding:14px 0;border-bottom:1px dashed var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-date{width:58px;height:62px;border-radius:14px;background:#e8f6ee;color:var(--green);display:grid;place-items:center;align-content:center}.timeline-date strong{font-size:20px;line-height:1}.timeline-date span{font-size:9px;font-weight:900;margin-top:4px}.timeline-body h4{margin:6px 0 4px;font-size:14px}.timeline-body p{font-size:11px;color:var(--muted);margin:0}.timeline-body small{font-size:10px;line-height:1.5;color:#637269;display:block;margin-top:6px}
.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;margin-bottom:18px}.group-card p{font-size:11px;color:var(--muted);min-height:18px}.member-list{display:grid;gap:6px}.member-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 0;border-bottom:1px dashed #e7ece8}.member-row:last-child{border-bottom:0}.member-row strong,.member-row small{display:block}.member-row strong{font-size:11px}.member-row small{font-size:9px;color:var(--muted)}.avatar.tiny{width:30px;height:30px;font-size:10px}.danger-form{margin-top:10px;text-align:right}.empty.compact{padding:12px;font-size:10px}
.rubric-list{display:grid}.rubric-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.rubric-row strong,.rubric-row small{display:block}.rubric-row strong{font-size:11px}.rubric-row small{font-size:9px;color:var(--muted);margin-top:3px}.rubric-score{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(140px,1fr);gap:8px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.rubric-score strong,.rubric-score small{display:block}.rubric-score strong{font-size:11px}.rubric-score small{font-size:9px;color:var(--muted)}.rubric-score input{border:1px solid var(--line);border-radius:10px;padding:9px;font:inherit;width:100%}.score-total{display:flex;justify-content:space-between;align-items:center;padding:14px;border-radius:12px;background:#f3f8f5;margin:13px 0}.score-total span{font-size:11px;color:var(--muted)}.score-total strong{font-size:18px}
.progress-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:23px 25px;margin-bottom:18px;border-radius:22px;background:linear-gradient(135deg,#0b7044,#15965d);color:#fff;box-shadow:var(--shadow)}.progress-hero .eyebrow{color:#c9f0db}.progress-hero h2{font-size:38px;margin:4px 0}.progress-hero p{margin:0;color:#d9f2e4;font-size:12px}.progress-ring{--p:0;flex:0 0 96px;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#fff calc(var(--p)*1%),rgba(255,255,255,.18) 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#148d58}.progress-ring strong{position:relative;z-index:1}.progress-materials{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:9px}.progress-material{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:13px}.progress-material strong,.progress-material small{display:block}.progress-material strong{font-size:11px}.progress-material small{font-size:9px;color:var(--muted);margin-top:3px}.mini-progress{height:6px;background:#edf1ee;border-radius:999px;overflow:hidden;min-width:90px;margin:5px 0}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green2));border-radius:999px}
.survey-form{display:grid;gap:13px;margin-top:15px}.survey-question{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.survey-question>strong{font-size:12px}.survey-question textarea,.survey-question select{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px;font:inherit}.scale-options{display:flex;gap:8px;flex-wrap:wrap}.scale-options label input{display:none}.scale-options label span{width:40px;height:36px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:#fff;font-size:12px;font-weight:800;cursor:pointer}.scale-options label input:checked+span{background:var(--green);color:#fff;border-color:var(--green)}.check-row{display:flex;align-items:center;gap:9px;font-size:11px}.survey-manage-list{display:grid;margin-top:12px}
.notification-list{display:grid}.notification-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:11px;align-items:start;padding:13px 0;border-bottom:1px dashed var(--line)}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:#f7fcf9;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:10px}.notif-dot{width:8px;height:8px;border-radius:50%;background:#cbd5ce;margin-top:5px}.notification-item.unread .notif-dot{background:var(--green);box-shadow:0 0 0 4px #e1f3e9}.notification-item strong{font-size:12px}.notification-item p{font-size:11px;line-height:1.5;color:#4d5f54;margin:4px 0}.notification-item small{font-size:9px;color:var(--muted);margin-right:7px}.top-notif{position:relative;width:34px;height:34px;border-radius:10px;background:#eef6f1;color:var(--green);display:grid;place-items:center;font-size:10px;font-weight:900}.top-notif b{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#b13f36;color:#fff;display:grid;place-items:center;font-size:8px;border:2px solid #fff}
.analytics-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d6e9dd;border-radius:20px;padding:20px 22px;margin-bottom:17px;background:linear-gradient(135deg,#f8fcf9,#eaf7ef)}.analytics-hero h2{margin:4px 0;font-size:23px}.analytics-hero p{margin:0;color:var(--muted);font-size:11px}.analytics-score{min-width:86px;height:58px;padding:0 14px;border-radius:15px;background:#fff;color:var(--green);display:grid;place-items:center;font-size:20px;font-weight:900;box-shadow:0 8px 20px rgba(23,55,38,.07)}.metric-list{display:grid}.metric-list>div{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px dashed var(--line)}.metric-list span{font-size:11px;color:var(--muted)}.metric-list strong{font-size:16px}.insight-card{padding:12px;border:1px solid var(--line);border-radius:13px;margin-bottom:9px}.insight-card strong{font-size:12px}.insight-card p{font-size:10px;line-height:1.5;color:var(--muted);margin:4px 0 0}
.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.report-card{position:relative}.report-icon{width:39px;height:39px;border-radius:11px;background:#e8f6ee;color:var(--green);display:grid;place-items:center;font-weight:900;margin-bottom:13px}.report-card h3{margin:0 0 5px}.report-card p{font-size:11px;color:var(--muted);line-height:1.5;min-height:34px}.report-actions{display:flex;gap:7px;margin-top:12px}.feature-chips{display:flex;flex-wrap:wrap;gap:7px}.feature-chips span{padding:7px 10px;border:1px solid #dce8e1;border-radius:999px;background:#f7faf8;font-size:10px;font-weight:750;color:#52655a}
.learning-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#0b7044,#16995f);color:#fff;margin-bottom:16px}.learning-hero .eyebrow{color:#ccefdc}.learning-hero h2{font-size:26px;margin:5px 0}.learning-hero p{font-size:12px;line-height:1.55;color:#dcf2e6;max-width:760px;margin:0}.learning-course{min-width:190px;padding:13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:15px}.learning-course span,.learning-course strong{display:block}.learning-course span{font-size:9px;color:#d9efe3}.learning-course strong{font-size:14px;margin:3px 0 9px}.learning-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.learning-step{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 14px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 7px 20px rgba(23,55,38,.04);transition:.15s}.learning-step:hover{transform:translateY(-1px);border-color:#cfe5d7;box-shadow:0 11px 28px rgba(23,55,38,.08)}.learning-no{width:38px;height:38px;border-radius:11px;background:#e8f6ee;color:var(--green);display:grid;place-items:center;font-weight:900}.learning-step strong,.learning-step small{display:block}.learning-step strong{font-size:12px}.learning-step small{font-size:9px;line-height:1.4;color:var(--muted);margin-top:3px}.learning-step b{color:#9cacA2}
.obe-panel{margin-top:18px}.obe-attainment{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.obe-card{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.obe-card>div:first-child{min-height:48px}.obe-card strong,.obe-card small{display:block}.obe-card strong{font-size:12px;color:var(--green)}.obe-card small{font-size:9px;line-height:1.4;color:var(--muted);margin-top:3px}.obe-value{font-size:20px;font-weight:900;margin:9px 0 3px}.obe-map-list{display:grid;align-content:start}
@media(max-width:1000px){.campus-grid-2{grid-template-columns:1fr}.learning-hero{align-items:flex-start}.learning-course{min-width:170px}.rubric-score{grid-template-columns:1fr 90px}.rubric-score input:last-child{grid-column:1/-1}.top-notif{display:none}}
@media(max-width:650px){.section-title{flex-direction:column}.outcome-item{grid-template-columns:45px minmax(0,1fr)}.outcome-item>form{grid-column:1/-1}.timeline-item{grid-template-columns:48px minmax(0,1fr)}.timeline-date{width:48px;height:54px}.group-grid{grid-template-columns:1fr}.progress-hero,.analytics-hero,.learning-hero{flex-direction:column;align-items:flex-start}.progress-ring{width:82px;height:82px;flex-basis:82px}.learning-course{width:100%}.rubric-row{grid-template-columns:1fr auto}.rubric-row>form{grid-column:1/-1}.notification-item{grid-template-columns:8px 1fr}.notification-item>form{grid-column:2}.report-grid{grid-template-columns:1fr}}
.answer-review-list{display:grid;gap:10px;margin-bottom:14px}.answer-review{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.answer-review>strong{display:block;font-size:12px;line-height:1.5;margin-bottom:9px}.answer-box{padding:10px 11px;border-radius:11px;background:#fff;border:1px solid #e6ece8;margin-bottom:9px}.answer-box small{font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:800}.answer-box p{font-size:11px;line-height:1.5;margin:4px 0 0}


/* =========================================================
   SIKADU LMS v2.1.1 — Compact Admin Navbar Emerald Gold
   - menjaga menu admin tetap muat tanpa menutupi profil kanan
   - background menu hijau-emas
   - dropdown lebih tegas, ringkas, dan mudah dibaca
   ========================================================= */
.topbar-admin{
  display:grid;
  grid-template-columns:215px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px 20px;
}
.topbar-admin .brand{
  min-width:0;
  width:215px;
  max-width:215px;
  gap:9px;
  overflow:hidden;
}
.topbar-admin .brandmark,
.topbar-admin .brandmark-logo{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:12px;
}
.topbar-admin .brand-copy{
  min-width:0;
  overflow:hidden;
}
.topbar-admin .brand strong{
  font-size:14px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.topbar-admin .brand small{
  font-size:9px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.topbar-admin .mainnav{
  min-width:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  overflow:visible;
}
.topbar-admin .mainnav>.home-nav,
.topbar-admin .navdrop>button{
  min-height:40px;
  height:40px;
  padding:5px 8px;
  gap:5px;
  border:1px solid #e2ddc7;
  border-radius:12px;
  background:linear-gradient(135deg,#edf8f2 0%,#fff8e7 100%);
  color:#31483b;
  box-shadow:0 3px 10px rgba(29,71,46,.035);
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.topbar-admin .mainnav>.home-nav:hover,
.topbar-admin .navdrop>button:hover{
  background:linear-gradient(135deg,#e0f4e8 0%,#fff1c9 100%);
  border-color:#d9c991;
  color:var(--green);
  box-shadow:0 6px 16px rgba(36,79,52,.07);
}
.topbar-admin .mainnav>.home-nav.active,
.topbar-admin .navdrop.active>button,
.topbar-admin .navdrop.open>button{
  color:#fff;
  border-color:#0d7a4b;
  background:linear-gradient(135deg,#0b7245 0%,#10905a 72%,#c89b31 145%);
  box-shadow:0 7px 18px rgba(13,122,75,.16),inset 0 -2px 0 rgba(210,162,58,.65);
}
.topbar-admin .home-nav .home-icon,
.topbar-admin .nav-group-icon{
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:8px;
  background:#fff7df;
  color:#9a7219;
  font-size:10px;
}
.topbar-admin .mainnav>.home-nav.active .home-icon,
.topbar-admin .navdrop.active .nav-group-icon,
.topbar-admin .navdrop.open .nav-group-icon{
  background:rgba(255,232,166,.18);
  color:#ffe7a4;
}
.topbar-admin .mainnav>.home-nav>span:not(.home-icon),
.topbar-admin .nav-group-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:-.08px;
}
.topbar-admin .home-nav .home-indicator,
.topbar-admin .nav-indicator i{
  width:5px;
  height:5px;
  flex:0 0 5px;
  background:#d1a43c;
}
.topbar-admin .mainnav>.home-nav.active .home-indicator,
.topbar-admin .navdrop.active .nav-indicator i,
.topbar-admin .navdrop.open .nav-indicator i{
  background:#ffe391;
  box-shadow:0 0 0 3px rgba(255,227,145,.13);
}
.topbar-admin .nav-indicator{
  gap:3px;
  margin-left:0;
}
.topbar-admin .nav-indicator em{
  min-width:16px;
  height:16px;
  padding:0 4px;
  background:#f1e4ba;
  color:#795812;
  font-size:7px;
  border:1px solid rgba(179,139,45,.14);
}
.topbar-admin .navdrop.active .nav-indicator em,
.topbar-admin .navdrop.open .nav-indicator em{
  background:#d3a33a;
  color:#fff;
  border-color:#e6c36f;
}
.topbar-admin .nav-chevron{
  margin-left:0;
  font-size:9px;
  color:#9b8c61;
}
.topbar-admin .navdrop.active .nav-chevron,
.topbar-admin .navdrop.open .nav-chevron{
  color:#ffe7a4;
}
.topbar-admin .profile{
  min-width:205px;
  max-width:245px;
  justify-content:flex-end;
  gap:7px;
  padding-left:9px;
  border-left:1px solid #e5ebe7;
  background:#fff;
  position:relative;
  z-index:3;
}
.topbar-admin .profile>div:not(.avatar){
  min-width:0;
  max-width:118px;
}
.topbar-admin .profile strong{
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.topbar-admin .profile small{font-size:9px}
.topbar-admin .avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
  background:linear-gradient(135deg,#e5f5eb,#fff3cf);
  color:var(--green);
  border:1px solid #e6e0c6;
}
.topbar-admin .logout{
  flex:0 0 auto;
  margin-left:2px;
  padding:7px 9px;
  border-color:#dfdfd2;
  background:linear-gradient(180deg,#fff,#fffaf0);
  font-size:10px;
}

/* Dropdown admin: kepala hijau dengan aksen emas. */
.topbar-admin .navmenu,
.topbar-admin .navmenu.navmenu-wide{
  top:47px;
  width:310px;
  border:1px solid #d8e6dd;
  border-top:3px solid #d1a13a;
  border-radius:16px;
  box-shadow:0 22px 58px rgba(16,58,34,.18);
  overflow:hidden;
}
.topbar-admin .navmenu.navmenu-wide{width:325px}
.topbar-admin .navmenu-head{
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:9px;
  padding:11px 11px 10px;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,#0b7144 0%,#108d57 72%,#c89a31 150%);
}
.topbar-admin .navmenu-head-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  background:rgba(255,238,187,.16);
  color:#ffe5a0;
  border:1px solid rgba(255,231,164,.22);
}
.topbar-admin .navmenu-head strong{font-size:12px;color:#fff}
.topbar-admin .navmenu-head small{
  font-size:8.5px;
  color:#ddf4e6;
  line-height:1.3;
}
.topbar-admin .navmenu-total{
  padding:4px 6px;
  background:#d2a23a;
  border-color:#e7c972;
  color:#fff;
  font-size:7.5px;
}
.topbar-admin .navmenu-list{
  padding:6px;
  gap:2px;
  max-height:min(505px,calc(100vh - 110px));
  background:linear-gradient(180deg,#fff 0%,#fffdf7 100%);
}
.topbar-admin .navmenu a{
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:8px;
  padding:7px 8px!important;
  border-radius:10px!important;
}
.topbar-admin .navmenu a>.nav-item-icon{
  width:31px;
  height:31px;
  border-radius:9px;
  background:linear-gradient(135deg,#e7f5ed,#fff2cb);
  color:#5d6f52;
  border:1px solid #e5e2cc;
}
.topbar-admin .navmenu .nav-item-copy strong{font-size:10.5px}
.topbar-admin .navmenu .nav-item-copy small{font-size:8px;line-height:1.3}
.topbar-admin .navmenu a:hover{
  background:linear-gradient(90deg,#edf8f2,#fff9e9)!important;
  border-color:#e2ddc6;
}
.topbar-admin .navmenu a.active{
  background:linear-gradient(90deg,#e3f5ea,#fff3d1)!important;
  border-color:#dccb93;
  box-shadow:inset 3px 0 0 var(--green),inset -2px 0 0 #d2a23a;
}
.topbar-admin .navmenu a.active>.nav-item-icon{
  background:linear-gradient(135deg,#0d7a4b,#13915a);
  color:#ffe5a0;
  border-color:#0d7a4b;
}
.topbar-admin .nav-active-label{
  background:#d2a23a;
  color:#fff;
  border:1px solid #e7ca78;
  font-size:7.5px;
}

/* Adaptasi bertahap: badge disederhanakan sebelum label disembunyikan. */
@media(max-width:1280px){
  .topbar-admin{grid-template-columns:195px minmax(0,1fr) auto;padding-left:16px;padding-right:16px;gap:9px}
  .topbar-admin .brand{width:195px;max-width:195px}
  .topbar-admin .nav-indicator em{display:none}
  .topbar-admin .profile{min-width:188px}
  .topbar-admin .mainnav>.home-nav,
  .topbar-admin .navdrop>button{padding-left:7px;padding-right:7px}
}
@media(max-width:1120px){
  .topbar-admin{grid-template-columns:180px minmax(0,1fr) auto}
  .topbar-admin .brand{width:180px;max-width:180px}
  .topbar-admin .brand small{display:none}
  .topbar-admin .nav-group-label{display:none}
  .topbar-admin .nav-indicator,.topbar-admin .nav-chevron{display:none}
  .topbar-admin .navdrop>button{width:38px;justify-content:center;padding:5px}
  .topbar-admin .mainnav>.home-nav{padding-left:7px;padding-right:7px}
  .topbar-admin .profile{min-width:180px}
}
@media(max-width:1000px){
  .topbar-admin{
    display:flex;
    flex-wrap:wrap;
    gap:9px 12px;
    padding:10px 15px;
  }
  .topbar-admin .brand{width:auto;max-width:none;flex:0 1 auto}
  .topbar-admin .profile{margin-left:auto;min-width:0;max-width:none;border-left:0;padding-left:0}
  .topbar-admin .mainnav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding-bottom:3px}
  .topbar-admin .nav-group-label{display:inline}
  .topbar-admin .nav-indicator{display:inline-flex}
  .topbar-admin .nav-chevron{display:inline}
  .topbar-admin .navdrop>button{width:auto;padding:5px 8px}
  .topbar-admin .navmenu,.topbar-admin .navmenu.navmenu-wide{position:fixed;top:112px;left:14px!important;right:14px!important;width:auto;max-width:none}
}
@media(max-width:650px){
  .topbar-admin .nav-group-label,
  .topbar-admin .nav-indicator,
  .topbar-admin .nav-chevron{display:none}
  .topbar-admin .navdrop>button{width:38px;justify-content:center;padding:5px}
  .topbar-admin .profile>div:not(.avatar),
  .topbar-admin .logout{display:none}
}


/* =========================================================
   SIKADU LMS v2.1.2 — Admin UI Besar, Modern, Hijau–Emas
   Referensi visual: dashboard PMB kampus
   Hanya memengaruhi role Administrator.
   ========================================================= */
.role-admin{
  --admin-green:#075f3d;
  --admin-green-2:#0b7149;
  --admin-green-3:#11865a;
  --admin-gold:#e5ad21;
  --admin-gold-soft:#fff3c8;
  --admin-ink:#173d2e;
  --admin-muted:#6f8379;
  background:linear-gradient(180deg,#edf5ef 0,#f7faf8 245px,#f4f7f5 100%);
}

/* Topbar admin seperti dashboard PMB: hijau penuh, menu besar, tetap muat. */
.role-admin .topbar-admin{
  display:grid;
  grid-template-columns:250px minmax(0,1fr) 226px;
  align-items:center;
  gap:12px;
  min-height:64px;
  padding:9px 14px;
  background:linear-gradient(90deg,#075b3b 0%,#086844 58%,#087149 100%);
  border-bottom:0;
  box-shadow:0 10px 28px rgba(5,73,45,.16);
  backdrop-filter:none;
}
.role-admin .topbar-admin .brand{
  width:250px;
  max-width:250px;
  min-width:0;
  gap:10px;
  color:#fff;
}
.role-admin .topbar-admin .brandmark,
.role-admin .topbar-admin .brandmark-logo{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 5px 16px rgba(2,44,27,.18);
  color:var(--admin-green);
}
.role-admin .topbar-admin .brandmark-logo img{max-width:100%;max-height:100%;object-fit:contain}
.role-admin .topbar-admin .brand-copy{min-width:0}
.role-admin .topbar-admin .brand-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.role-admin .topbar-admin .brand strong{
  color:#fff;
  font-size:15px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.role-admin .topbar-admin .brand small{
  margin-top:3px;
  color:#d7ede3;
  font-size:10px;
  line-height:1.2;
}
.role-admin .brand-version{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:999px;
  border:1px solid rgba(255,225,138,.28);
  background:rgba(255,255,255,.10);
  color:#ffe08b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.15px;
}

.role-admin .topbar-admin .mainnav{
  width:100%;
  min-width:0;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:5px;
  overflow:visible;
}
.role-admin .topbar-admin .mainnav>.home-nav,
.role-admin .topbar-admin .navdrop>button{
  min-height:43px;
  height:43px;
  padding:5px 9px;
  border:1px solid transparent;
  border-radius:10px;
  background:rgba(255,255,255,.045);
  color:#f5fbf7;
  box-shadow:none;
  gap:6px;
  transition:.16s ease;
}
.role-admin .topbar-admin .mainnav>.home-nav:hover,
.role-admin .topbar-admin .navdrop>button:hover,
.role-admin .topbar-admin .navdrop.open>button{
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.08);
  color:#fff;
  transform:none;
}
.role-admin .topbar-admin .mainnav>.home-nav.active,
.role-admin .topbar-admin .navdrop.active>button{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,229,151,.13);
  color:#fff;
  box-shadow:inset 0 -3px 0 var(--admin-gold);
}
.role-admin .topbar-admin .home-nav .home-icon,
.role-admin .topbar-admin .nav-group-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:8px;
  background:rgba(255,255,255,.10);
  color:#e4f3eb;
  border:1px solid rgba(255,255,255,.07);
  font-size:11px;
  display:grid;
  place-items:center;
}
.role-admin .topbar-admin .mainnav>.home-nav.active .home-icon,
.role-admin .topbar-admin .navdrop.active .nav-group-icon,
.role-admin .topbar-admin .navdrop.open .nav-group-icon{
  background:var(--admin-gold);
  color:#25462f;
  border-color:#efc85d;
}
.role-admin .topbar-admin .mainnav>.home-nav>span:not(.home-icon),
.role-admin .topbar-admin .nav-group-label{
  color:inherit;
  font-size:12px;
  font-weight:850;
  letter-spacing:-.1px;
}
.role-admin .topbar-admin .home-nav .home-indicator,
.role-admin .topbar-admin .nav-indicator i{
  width:5px;
  height:5px;
  flex:0 0 5px;
  background:#9fd3b8;
}
.role-admin .topbar-admin .mainnav>.home-nav.active .home-indicator,
.role-admin .topbar-admin .navdrop.active .nav-indicator i,
.role-admin .topbar-admin .navdrop.open .nav-indicator i{
  background:#ffd35e;
  box-shadow:0 0 0 3px rgba(255,211,94,.13);
}
.role-admin .topbar-admin .nav-indicator{gap:4px;margin-left:0}
.role-admin .topbar-admin .nav-indicator em{
  min-width:18px;
  height:18px;
  padding:0 5px;
  background:rgba(255,255,255,.11);
  color:#dff1e7;
  border:1px solid rgba(255,255,255,.08);
  font-size:8px;
}
.role-admin .topbar-admin .navdrop.active .nav-indicator em,
.role-admin .topbar-admin .navdrop.open .nav-indicator em{
  background:rgba(229,173,33,.18);
  color:#ffe088;
  border-color:rgba(229,173,33,.28);
}
.role-admin .topbar-admin .nav-chevron{
  margin-left:0;
  color:#cde5d9;
  font-size:10px;
}
.role-admin .topbar-admin .navdrop.active .nav-chevron,
.role-admin .topbar-admin .navdrop.open .nav-chevron{color:#ffe088}

/* Profil kanan dibuat seperti tombol administrator pada referensi. */
.role-admin .topbar-admin .profile{
  min-width:226px;
  max-width:226px;
  justify-content:flex-end;
  gap:8px;
  padding:5px 6px;
  border:0;
  border-radius:11px;
  background:rgba(255,255,255,.07);
  color:#fff;
  position:relative;
  z-index:4;
}
.role-admin .topbar-admin .profile>div:not(.avatar){min-width:0;max-width:105px}
.role-admin .topbar-admin .profile strong{
  color:#fff;
  font-size:13px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.role-admin .topbar-admin .profile small{color:#cfe8dc;font-size:9px}
.role-admin .topbar-admin .avatar{
  width:35px;
  height:35px;
  flex:0 0 35px;
  border-radius:9px;
  background:var(--admin-gold);
  color:#264a34;
  border:1px solid #efc75a;
  font-weight:900;
}
.role-admin .topbar-admin .logout{
  flex:0 0 auto;
  margin-left:0;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:9px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.role-admin .topbar-admin .logout:hover{background:rgba(255,255,255,.16)}
.role-admin .topbar-admin .top-notif{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff}

/* Dropdown: lebih besar, jelas, dan dekat dengan gaya kartu dashboard referensi. */
.role-admin .topbar-admin .navmenu,
.role-admin .topbar-admin .navmenu.navmenu-wide{
  top:48px;
  width:340px;
  padding:0;
  overflow:hidden;
  border:1px solid #d5e5dc;
  border-top:4px solid var(--admin-gold);
  border-radius:15px;
  background:#fff;
  box-shadow:0 24px 60px rgba(7,66,40,.24);
}
.role-admin .topbar-admin .navmenu.navmenu-wide{width:360px}
.role-admin .topbar-admin .navmenu-head{
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:10px;
  padding:13px 13px 12px;
  color:#fff;
  background:linear-gradient(135deg,#075c3b,#0a754b 78%);
  border-bottom:0;
}
.role-admin .topbar-admin .navmenu-head-icon{
  width:40px;
  height:40px;
  border-radius:10px;
  background:var(--admin-gold);
  color:#24482f;
  border:1px solid #efc65a;
  font-size:13px;
}
.role-admin .topbar-admin .navmenu-head strong{color:#fff;font-size:14px}
.role-admin .topbar-admin .navmenu-head small{color:#d6eee2;font-size:10px;line-height:1.35;margin-top:2px}
.role-admin .topbar-admin .navmenu-total{
  padding:5px 8px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  color:#ffe18c;
  font-size:9px;
}
.role-admin .topbar-admin .navmenu-list{
  padding:8px;
  gap:3px;
  max-height:min(560px,calc(100vh - 120px));
  background:#fff;
}
.role-admin .topbar-admin .navmenu a{
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  min-height:52px;
  padding:8px 10px!important;
  border:1px solid transparent;
  border-radius:11px!important;
}
.role-admin .topbar-admin .navmenu a>.nav-item-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  background:#eaf5ef;
  color:#08714a;
  border:1px solid #d8e9df;
  font-size:12px;
}
.role-admin .topbar-admin .navmenu .nav-item-copy strong{
  color:#173d2e;
  font-size:12.5px;
  line-height:1.2;
}
.role-admin .topbar-admin .navmenu .nav-item-copy small{
  margin-top:3px;
  color:#74877d;
  font-size:9.5px;
  line-height:1.35;
}
.role-admin .topbar-admin .navmenu a:hover{
  background:#f1f8f4!important;
  border-color:#dceae2;
}
.role-admin .topbar-admin .navmenu a.active{
  background:linear-gradient(90deg,#e8f6ee 0%,#fff8df 100%)!important;
  border-color:#dfd6ad;
  box-shadow:inset 4px 0 0 var(--admin-green-2);
}
.role-admin .topbar-admin .navmenu a.active>.nav-item-icon{
  background:var(--admin-gold);
  color:#274b34;
  border-color:#edc65b;
}
.role-admin .topbar-admin .nav-active-label{
  padding:5px 7px;
  background:var(--admin-green-2);
  color:#fff;
  border:0;
  font-size:8px;
}
.role-admin .topbar-admin .nav-item-arrow{color:#9aab9f;font-size:18px}

/* Area kerja dan teks admin dibuat lebih besar serta lebih nyaman dibaca. */
.role-admin .container{width:min(1320px,calc(100% - 48px));margin:24px auto 50px}
.role-admin .pagehead{margin-bottom:19px}
.role-admin .pagehead h1{font-size:32px;line-height:1.08;letter-spacing:-.7px;color:#173d2e}
.role-admin .eyebrow{font-size:11.5px;color:#9c7513;letter-spacing:1.4px}
.role-admin .semester{font-size:11px;padding:8px 11px}
.role-admin .version{font-size:11px;padding:7px 10px}
.role-admin .panel{padding:21px;border-radius:18px}
.role-admin .panel h3{font-size:17px;line-height:1.25;margin-bottom:15px}
.role-admin .panel p,
.role-admin .notice,
.role-admin .alert{font-size:13px;line-height:1.55}
.role-admin .btn{font-size:13px;padding:10px 14px;border-radius:10px}
.role-admin .field label{font-size:12.5px}
.role-admin .field input,
.role-admin .field select,
.role-admin .field textarea{font-size:13px;padding:11px 12px}
.role-admin th{font-size:11px;padding:13px 14px}
.role-admin td{font-size:13px;padding:13px 14px}
.role-admin .list-item strong{font-size:13px}
.role-admin .list-item small{font-size:10.5px;line-height:1.4}

/* Dashboard Administrator: tulisan/kartu diperbesar tetapi tetap minimalis. */
.role-admin .home-shell{gap:17px}
.role-admin .home-welcome{padding:25px 27px;border-radius:20px}
.role-admin .home-kicker{font-size:10.5px}
.role-admin .home-welcome h2{font-size:28px}
.role-admin .home-welcome p{font-size:13.5px}
.role-admin .home-metric{padding:15px 15px;border-radius:16px}
.role-admin .metric-icon{width:40px;height:40px;flex-basis:40px}
.role-admin .home-metric small{font-size:10.5px}
.role-admin .home-metric strong{font-size:23px}
.role-admin .home-metric em{font-size:9.5px}
.role-admin .home-section{padding:19px}
.role-admin .home-section-head>div>span,
.role-admin .home-card-head>div>span{font-size:9.5px;color:#9b7411}
.role-admin .home-section-head h3,
.role-admin .home-card-head h3{font-size:16px}
.role-admin .home-section-head>small{font-size:10.5px}
.role-admin .home-shortcut{min-height:72px;padding:12px 13px}
.role-admin .shortcut-icon{width:38px;height:38px;flex-basis:38px;background:#e8f5ee;color:#08714a}
.role-admin .home-shortcut strong{font-size:12.5px}
.role-admin .home-shortcut small{font-size:9.5px}
.role-admin .home-course h4{font-size:13.5px}
.role-admin .home-course p{font-size:10.5px}
.role-admin .home-feed-item strong{font-size:11.5px}
.role-admin .home-feed-item small,
.role-admin .home-feed-item time{font-size:9.5px}

/* Desktop menengah: turunkan badge dulu, bukan teks utama. */
@media(max-width:1280px){
  .role-admin .topbar-admin{grid-template-columns:220px minmax(0,1fr) 205px;gap:8px;padding-left:10px;padding-right:10px}
  .role-admin .topbar-admin .brand{width:220px;max-width:220px}
  .role-admin .topbar-admin .brand small{display:none}
  .role-admin .topbar-admin .nav-indicator em{display:none}
  .role-admin .topbar-admin .mainnav>.home-nav,
  .role-admin .topbar-admin .navdrop>button{padding-left:7px;padding-right:7px}
  .role-admin .topbar-admin .mainnav>.home-nav>span:not(.home-icon),
  .role-admin .topbar-admin .nav-group-label{font-size:11px}
  .role-admin .topbar-admin .profile{min-width:205px;max-width:205px}
}
@media(max-width:1110px){
  .role-admin .topbar-admin{display:flex;flex-wrap:wrap;gap:8px 12px;padding:9px 14px}
  .role-admin .topbar-admin .brand{width:auto;max-width:none;flex:0 1 auto}
  .role-admin .topbar-admin .profile{margin-left:auto;min-width:0;max-width:none}
  .role-admin .topbar-admin .mainnav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding:2px 0 3px}
  .role-admin .topbar-admin .nav-indicator em{display:grid}
  .role-admin .topbar-admin .navmenu,
  .role-admin .topbar-admin .navmenu.navmenu-wide{position:fixed;top:116px;left:14px!important;right:14px!important;width:auto;max-width:none}
}
@media(max-width:760px){
  .role-admin .container{width:calc(100% - 24px)}
  .role-admin .topbar-admin .brand-version{display:none}
  .role-admin .topbar-admin .nav-group-label,
  .role-admin .topbar-admin .nav-indicator,
  .role-admin .topbar-admin .nav-chevron{display:none}
  .role-admin .topbar-admin .navdrop>button{width:40px;justify-content:center;padding:5px}
  .role-admin .topbar-admin .mainnav>.home-nav>span:not(.home-icon),
  .role-admin .topbar-admin .home-indicator{display:none}
  .role-admin .topbar-admin .profile>div:not(.avatar),
  .role-admin .topbar-admin .logout{display:none}
  .role-admin .pagehead h1{font-size:27px}
}


/* =========================================================
   SIKADU LMS v2.1.4 — Full Login UI
   - panel promosi kiri dihilangkan
   - area login memakai seluruh viewport
   - kartu login dibuat lebih lega, modern, dan fokus
   ========================================================= */
body.login-page{
  min-height:100vh;
  background:#f6faf7;
  overflow-x:hidden;
}
.login-shell-full{
  min-height:100vh;
  display:block;
}
.login-shell-full .login-art{display:none!important}
.login-side-full{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  width:100%;
  display:grid;
  place-items:center;
  padding:46px 24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 12%,rgba(15,138,75,.10),transparent 27%),
    radial-gradient(circle at 88% 84%,rgba(210,162,58,.13),transparent 30%),
    linear-gradient(135deg,#f2faf5 0%,#fbfcfb 48%,#fffaf0 100%);
}
.login-side-full:before,
.login-side-full:after{
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
}
.login-side-full:before{
  width:420px;
  height:420px;
  left:-180px;
  top:-170px;
  border:1px solid rgba(15,138,75,.11);
  box-shadow:0 0 0 52px rgba(15,138,75,.035),0 0 0 104px rgba(15,138,75,.018);
}
.login-side-full:after{
  width:360px;
  height:360px;
  right:-150px;
  bottom:-155px;
  border:1px solid rgba(210,162,58,.14);
  box-shadow:0 0 0 46px rgba(210,162,58,.035),0 0 0 92px rgba(210,162,58,.018);
}
.login-stage{
  width:min(560px,100%);
  display:grid;
  gap:16px;
}
.login-card-full{
  position:relative;
  width:100%;
  padding:36px 38px 32px;
  border:1px solid #dbe6df;
  border-radius:30px;
  background:rgba(255,255,255,.97);
  box-shadow:0 28px 75px rgba(22,67,42,.13);
  backdrop-filter:blur(12px);
}
.login-card-full:before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#0d7a4b 0%,#16a166 70%,#d2a23a 100%);
}
.login-card-full .login-branding{
  position:relative;
  gap:12px;
  margin-bottom:24px;
  padding-bottom:20px;
}
.login-card-full .login-logo{
  width:52px;
  height:52px;
  flex-basis:52px;
  border-radius:15px;
}
.login-card-full .login-branding>div:last-of-type strong{font-size:15px}
.login-card-full .login-branding>div:last-of-type small{font-size:10px;margin-top:3px}
.login-version{
  margin-left:auto;
  padding:6px 9px;
  border-radius:999px;
  background:#edf8f2;
  border:1px solid #d9ebdf;
  color:#0d7a4b;
  font-size:9px;
  font-weight:900;
}
.login-kicker{
  margin-bottom:7px;
  color:#9a7219;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.15px;
}
.login-card-full h2{
  margin:0 0 8px;
  font-size:32px;
  line-height:1.12;
  letter-spacing:-.7px;
}
.login-card-full>p{
  max-width:455px;
  margin:0 0 24px;
  color:#68786f;
  font-size:14px;
  line-height:1.55;
}
.login-card-full .field{margin-bottom:16px}
.login-card-full .field label{
  margin-bottom:7px;
  font-size:11px;
  font-weight:850;
}
.login-card-full .field input{
  min-height:50px;
  border-radius:14px;
  padding:12px 14px;
  font-size:14px;
  background:#fcfdfc;
}
.login-card-full .field input:focus{
  border-color:#9fcdb3;
  box-shadow:0 0 0 4px rgba(13,122,75,.08);
  outline:none;
}
.login-submit{
  min-height:50px;
  margin-top:2px;
  border-radius:14px!important;
  font-size:14px!important;
  background:linear-gradient(135deg,#0b7748,#10965d)!important;
  box-shadow:0 10px 24px rgba(13,122,75,.18);
}
.login-card-full .hint{
  margin-top:16px;
  padding:13px 14px;
  border:1px solid #e6ece8;
  border-radius:14px;
  background:linear-gradient(135deg,#f3f8f5,#fffaf0);
  color:#5f7066;
  font-size:11px;
  line-height:1.55;
}
.login-role-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:14px;
}
.login-role-strip span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 9px;
  border:1px solid #dde9e1;
  border-radius:11px;
  background:#fbfdfc;
  color:#567064;
  font-size:10px;
  font-weight:800;
}
.login-role-strip span:nth-child(2){background:#f0f8f3;color:#0d7a4b}
.login-role-strip span:nth-child(3){background:#fff9eb;color:#886317;border-color:#eee1bb}
.login-footer-note{
  padding:0 16px;
  text-align:center;
  color:#77877e;
  font-size:10px;
  line-height:1.45;
}
@media(max-width:650px){
  .login-side-full{padding:22px 14px}
  .login-card-full{padding:29px 22px 24px;border-radius:23px}
  .login-card-full:before{left:20px;right:20px}
  .login-card-full h2{font-size:27px}
  .login-card-full>p{font-size:12px}
  .login-role-strip{grid-template-columns:1fr}
  .login-footer-note{font-size:9px}
}

/* =========================================================
   SIKADU LMS v2.1.5 — Split Login 50/50 Full Height
   - kembali ke konsep dua panel seperti tampilan awal
   - sisi kiri dan kanan sama besar (50% : 50%)
   - kedua panel full tinggi viewport
   ========================================================= */
body.login-page-split{
  min-height:100vh;
  margin:0;
  overflow:hidden;
  background:#f7faf8;
}
.login-shell-split{
  min-height:100vh;
  height:100vh;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.login-art-split{
  min-width:0;
  min-height:100vh;
  padding:clamp(38px,5vw,76px);
  display:flex!important;
  align-items:center;
  justify-content:center;
  color:#fff;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 82% 15%,rgba(212,165,55,.18),transparent 25%),
    radial-gradient(circle at 15% 86%,rgba(255,255,255,.09),transparent 27%),
    linear-gradient(145deg,#075f3a 0%,#0b7b49 48%,#12975a 100%);
}
.login-art-split:before,
.login-art-split:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.login-art-split:before{
  width:420px;height:420px;right:-180px;top:-190px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 0 52px rgba(255,255,255,.035),0 0 0 104px rgba(255,255,255,.018);
}
.login-art-split:after{
  width:330px;height:330px;left:-155px;bottom:-160px;
  border:1px solid rgba(214,170,61,.25);
  box-shadow:0 0 0 46px rgba(214,170,61,.045);
}
.login-art-inner{
  position:relative;
  z-index:1;
  width:min(630px,100%);
}
.login-art-split .badge{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:11px;
  font-weight:850;
}
.login-art-split h1{
  max-width:600px;
  margin:18px 0 24px;
  font-size:clamp(38px,4vw,56px);
  line-height:1.02;
  letter-spacing:-1.4px;
}
.login-art-split p{
  max-width:610px;
  margin:0;
  color:#e2f4e9;
  font-size:16px;
  line-height:1.55;
}
.login-features-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:34px;
}
.login-features-split .feature{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:13px 15px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.075);
  color:#fff;
  font-size:13px;
}
.login-side-split{
  min-width:0;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(30px,4vw,64px);
  background:
    radial-gradient(circle at 90% 12%,rgba(207,163,50,.08),transparent 25%),
    linear-gradient(135deg,#fbfdfc 0%,#f6faf7 100%);
  overflow:auto;
}
.login-form-wrap{
  width:min(500px,100%);
}
.login-card-split{
  width:100%;
  margin:0;
  padding:34px 34px 30px;
  border:1px solid #dce7e0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 58px rgba(22,67,42,.11);
}
.login-card-split .login-branding{
  margin-bottom:22px;
  padding-bottom:18px;
}
.login-card-split h2{
  margin:0 0 8px;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.6px;
}
.login-card-split>p{
  margin:0 0 22px;
  color:#66776d;
  font-size:13.5px;
  line-height:1.5;
}
.login-card-split .field{margin-bottom:15px}
.login-card-split .field label{font-size:12px}
.login-card-split .field input{
  min-height:46px;
  font-size:14px;
  border-radius:13px;
}
.login-card-split .login-submit{
  width:100%;
  min-height:44px;
  font-size:13px;
  border-radius:13px;
}
.login-card-split .hint{
  margin-top:14px;
  padding:12px 13px;
  line-height:1.55;
}
.login-form-wrap .login-footer-note{
  margin-top:13px;
  text-align:center;
  color:#7e8c83;
  font-size:10px;
}
@media(max-width:900px){
  body.login-page-split{overflow:auto}
  .login-shell-split{height:auto;min-height:100vh;grid-template-columns:1fr}
  .login-art-split{min-height:auto;padding:38px 26px}
  .login-art-split h1{font-size:36px;max-width:650px}
  .login-art-split p{font-size:14px}
  .login-features-split{margin-top:22px}
  .login-side-split{min-height:auto;padding:34px 22px 42px}
}
@media(max-width:560px){
  .login-art-split{padding:30px 20px}
  .login-art-split h1{font-size:31px}
  .login-features-split{grid-template-columns:1fr;gap:8px}
  .login-side-split{padding:24px 14px 32px}
  .login-card-split{padding:25px 20px 22px;border-radius:20px}
  .login-card-split h2{font-size:25px}
  .login-version{display:none}
}

/* =========================================================
   SIKADU LMS v2.1.6 — Login Form UI Refinement
   - panel kanan tetap full 50% seperti v2.1.5
   - kartu login sedikit diperbesar dan lebih lega
   - branding diperbaiki supaya judul/subjudul tidak berhimpitan
   - label, field, tombol, hint lebih jelas dibaca
   ========================================================= */
.login-form-wrap{
  width:min(560px,100%);
}
.login-card-split{
  padding:40px 40px 34px;
  border-radius:28px;
  border-color:#d6e3da;
  box-shadow:0 26px 70px rgba(19,70,42,.13);
}
.login-card-split .login-branding{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:26px;
  padding-bottom:22px;
  border-bottom:1px solid #e7eee9;
}
.login-card-split .login-logo{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:14px;
  padding:5px;
}
.login-card-split .login-brand-text{
  min-width:0;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  justify-content:center;
  line-height:1.2;
}
.login-card-split .login-brand-text strong{
  display:block;
  margin:0;
  color:#1e2b24;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.25px;
}
.login-card-split .login-brand-text small{
  display:block;
  margin-top:4px;
  color:#718078;
  font-size:10.5px;
  line-height:1.35;
}
.login-card-split .login-version{
  margin-left:auto;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid #d4e3d9;
  border-radius:999px;
  background:#edf8f1;
  color:#087442;
  font-size:10.5px;
  font-weight:900;
}
.login-card-split .login-kicker{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  margin-bottom:10px;
  padding:5px 9px;
  border-radius:8px;
  background:#fff6df;
  color:#987012;
  font-size:10px;
  font-weight:900;
  letter-spacing:.65px;
}
.login-card-split h2{
  margin:0 0 10px;
  font-size:32px;
  line-height:1.12;
  letter-spacing:-.7px;
}
.login-card-split>p{
  margin:0 0 25px;
  max-width:460px;
  color:#607168;
  font-size:14.5px;
  line-height:1.55;
}
.login-card-split .field{
  margin-bottom:18px;
}
.login-card-split .field label{
  display:block;
  margin-bottom:8px;
  color:#1f2e26;
  font-size:13px;
  font-weight:850;
}
.login-card-split .field input{
  width:100%;
  min-height:52px;
  padding:0 15px;
  border:1px solid #d4e0d8;
  border-radius:14px;
  background:#fff;
  font-size:15px;
  line-height:1.2;
}
.login-card-split .field input::placeholder{
  color:#8b9690;
}
.login-card-split .field input:focus{
  border-color:#0f8a4b;
  box-shadow:0 0 0 4px rgba(15,138,75,.10);
  outline:none;
}
.login-card-split .login-submit{
  min-height:50px;
  margin-top:2px;
  border-radius:14px;
  font-size:14px;
  font-weight:900;
}
.login-card-split .hint{
  margin-top:16px;
  padding:14px 15px;
  border:1px solid #e5ece7;
  border-radius:14px;
  background:#f4f8f5;
  color:#5f7066;
  font-size:12.5px;
  line-height:1.6;
}
.login-form-wrap .login-footer-note{
  margin-top:15px;
  font-size:10.5px;
  line-height:1.45;
}
@media(max-width:560px){
  .login-side-split{padding:22px 12px 30px}
  .login-form-wrap{width:100%}
  .login-card-split{
    padding:30px 24px 26px;
    border-radius:24px;
  }
  .login-card-split .login-branding{
    gap:12px;
    margin-bottom:23px;
    padding-bottom:19px;
  }
  .login-card-split .login-logo{
    width:48px;
    height:48px;
    flex-basis:48px;
  }
  .login-card-split .login-brand-text strong{font-size:15px}
  .login-card-split .login-brand-text small{font-size:10px}
  .login-card-split .login-version{
    display:inline-flex;
    min-height:28px;
    padding:4px 8px;
    font-size:10px;
  }
  .login-card-split .login-kicker{font-size:9.5px}
  .login-card-split h2{font-size:29px}
  .login-card-split>p{font-size:13.5px;margin-bottom:22px}
  .login-card-split .field label{font-size:12.5px}
  .login-card-split .field input{min-height:50px;font-size:14px}
  .login-card-split .login-submit{min-height:48px;font-size:13.5px}
  .login-card-split .hint{font-size:11.5px;padding:13px 14px}
}
@media(max-width:390px){
  .login-card-split{padding:26px 19px 23px}
  .login-card-split .login-branding{gap:10px}
  .login-card-split .login-logo{width:44px;height:44px;flex-basis:44px}
  .login-card-split .login-brand-text strong{font-size:14px}
  .login-card-split .login-brand-text small{font-size:9.5px}
  .login-card-split .login-version{font-size:9px;padding:4px 7px}
  .login-card-split h2{font-size:27px}
}

/* v2.1.7 - Administrator edit & delete */
.admin-editor-panel .form-grid select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;color:var(--text);font:inherit}.optional-label{display:inline-flex;margin-left:5px;padding:2px 6px;border-radius:999px;background:#eef4f0;color:var(--muted);font-size:8px;font-weight:800}.admin-editor-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-account-table{min-width:900px}.admin-action-head{text-align:right}.admin-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}.admin-row-actions form{margin:0}.btn-disabled{background:#f0f3f1;color:#9aa59e;border:1px solid #e1e7e3;cursor:not-allowed}.row-editing td{background:#fffaf0}.row-editing td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
@media(max-width:760px){.admin-editor-actions .btn{flex:1}.admin-row-actions{justify-content:flex-start}.admin-action-head{text-align:left}}

/* v2.1.8 - NeoFeeder period scoped sync */
.nf-period-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px}.nf-period-grid .field{min-width:0}.nf-period-grid select{min-height:44px}.nf-period-grid+.codebox{font-size:12px}.course .btn[form="nf-period-sync-form"]{width:100%;justify-content:center}
@media(max-width:780px){.nf-period-grid{grid-template-columns:1fr}}


/* v2.1.9 - Login As Dosen */
.account-action-head{text-align:right}.account-row-actions{text-align:right;white-space:nowrap}.account-row-actions form{display:inline-block;margin:0}.btn-login-as{min-height:34px;padding:7px 12px;border:1px solid #d3aa2d;background:#fff8df;color:#72550a;border-radius:10px;font-size:11px;font-weight:900;box-shadow:none}.btn-login-as:hover{background:#f4c63f;color:#183727;border-color:#e5b728}.login-as-disabled{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;background:#f0f3f1;color:#86938c;font-size:10px;font-weight:800}.impersonation-bar{position:relative;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 24px;background:linear-gradient(90deg,#fff4c6,#fffaf0);border-bottom:1px solid #e8c859;color:#5f4708;box-shadow:0 5px 18px rgba(64,50,10,.08)}.impersonation-copy{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px}.impersonation-copy>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.impersonation-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#0f8a4b;box-shadow:0 0 0 4px rgba(15,138,75,.12)}.impersonation-return{min-height:34px;padding:7px 12px;background:#0c7240;color:#fff;border:1px solid #0c7240;border-radius:10px;font-size:11px;font-weight:900}.impersonation-return:hover{background:#075f34;color:#fff}.impersonation-bar form{margin:0;flex:0 0 auto}
@media(max-width:760px){.account-action-head{text-align:left}.account-row-actions{text-align:left}.impersonation-bar{align-items:flex-start;padding:9px 12px}.impersonation-copy{align-items:flex-start;flex-wrap:wrap}.impersonation-copy>span:last-child{white-space:normal}.impersonation-return{white-space:nowrap}}
