@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#17365f;--blue:#2864b0;--ink:#17243a;--muted:#748198;--line:#e7ebf1;--bg:#f5f7fb;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input{font:inherit}.layout{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:22px 18px;border-bottom:1px solid var(--line)}.brand-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#214f88,#2f78c7);display:grid;place-items:center;color:white;font:800 16px Manrope}.brand b{display:block;font:800 12px Manrope}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.nav-caption{font-size:10px;letter-spacing:1.2px;color:#9aa5b6;font-weight:700;padding:20px 20px 8px}.sidebar nav{overflow:auto;padding:0 10px 12px}.nav-link{display:flex;align-items:center;gap:11px;color:#68758a;padding:10px 12px;margin:2px 0;border-radius:8px;font-size:11.5px;font-weight:600}.nav-link span{width:20px;text-align:center;font-size:16px;color:#8492a7}.nav-link:hover{background:#f5f8fc}.nav-link.active{background:#eaf2fc;color:#205b9f}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:15px 17px;color:#8a96a8;font-size:10px}.dot{display:inline-block;width:7px;height:7px;background:#e6a23c;border-radius:50%;margin-right:5px}.main{margin-left:260px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:3}.crumb{color:#8995a7;font-size:11px}.crumb span{padding:0 8px;color:#c3cbd6}.crumb b{color:#34425a}.account{display:flex;align-items:center;gap:9px}.account b{display:block;font-size:11px}.account small{display:block;color:#8995a6;font-size:10px;margin-top:3px}.avatar{display:grid;place-items:center;background:#e9f1fc;color:#245c9c;width:34px;height:34px;border-radius:50%;font-weight:700}.logout{font-size:10px;color:#a14d50;margin-left:10px}.hamburger{display:none;background:none;border:0;font-size:20px}.content{padding:28px;max-width:1600px;width:100%;margin:auto;flex:1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:700;color:#3973b8;margin:0 0 8px}.page-head h1,.auth-heading h1{font:800 26px Manrope;letter-spacing:-.6px;margin:0}.page-head p,.muted{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.7}.date{border:1px solid var(--line);background:white;border-radius:8px;padding:10px 12px;color:#68758a;font-size:10px;white-space:nowrap}.banner{background:#eef5ff;border:1px solid #d9e8fb;border-radius:11px;padding:16px 18px;margin-bottom:18px;color:#214f88}.banner b{font-size:12px}.banner p{margin:5px 0 0;font-size:11px;line-height:1.7;color:#5e7595}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 22px #1c30500b}.stat{padding:17px}.stat span{display:block;color:#6e7b90;font-size:11px}.stat strong{display:block;font:800 26px Manrope;margin:13px 0 5px}.stat small{color:#9aa4b3;font-size:10px}.grid-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px}.panel{padding:20px;margin-bottom:16px}.panel h2{font:800 14px Manrope;margin:0 0 7px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}.module-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #edf0f5;border-radius:9px;padding:12px;min-height:96px}.module-card:hover{border-color:#b8d1f1;background:#fbfdff}.module-icon{display:grid;place-items:center;background:#eaf2ff;color:#3470bd;border-radius:8px;width:30px;height:30px;margin-bottom:10px;font-size:16px}.module-card b{font-size:10px}.module-card small{font-size:9px;color:#8b97a8;margin-top:5px;line-height:1.4}.activity-list{margin-top:15px}.activity{display:flex;align-items:flex-start;gap:9px;padding:11px 0;border-bottom:1px solid #f0f2f6}.activity:last-child{border:0}.activity-dot{width:7px;height:7px;background:#76a5df;border-radius:50%;margin-top:5px;flex:none}.activity div{flex:1}.activity b{font-size:10px;display:block}.activity small{font-size:9px;color:#98a2b1;display:block;margin-top:4px}.activity time{font-size:9px;color:#98a2b1;white-space:nowrap}.empty{color:#98a2b1;font-size:11px;padding:18px 0}.module-detail{max-width:1000px}.module-detail h2{font-size:19px;margin:12px 0}.module-detail p,.module-detail li{font-size:12px;line-height:1.8;color:#617087}.module-detail h3{font-size:12px;margin-top:23px}.module-detail ul{padding-left:20px}.module-state{display:inline-block;background:#fff4df;color:#95661a;border-radius:6px;padding:6px 9px;font-size:9px;font-weight:700}.alert{border-radius:9px;padding:12px 14px;font-size:11px;line-height:1.6;margin:0 0 15px}.alert.error{background:#fff0f0;border:1px solid #f3d0d0;color:#983f43}.alert.info{background:#eef5ff;border:1px solid #d9e8fb;color:#385e8c}.alert.success{background:#eaf8f0;border:1px solid #ccebd9;color:#176d49}.alert ul{margin:6px 0 0;padding-left:18px}.narrow{max-width:760px}.form-stack{display:flex;flex-direction:column;gap:14px}.form-stack label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600;color:#4c5b70}.form-stack input{border:1px solid #dce2eb;border-radius:8px;padding:11px 12px;outline:none;background:#fff;color:#17243a;width:100%}.form-stack input:focus{border-color:#6b9cd9;box-shadow:0 0 0 3px #2864b018}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:12px 16px;font-weight:700;font-size:11px}.button.primary{background:#245e9e;color:white}.button.primary:hover{background:#194d86}.button.full{width:100%}.details{display:grid;grid-template-columns:160px 1fr;gap:11px;font-size:11px}.details dt{color:#8490a2}.details dd{margin:0;color:#34425a}.footer{border-top:1px solid var(--line);padding:16px 28px;color:#99a3b2;font-size:10px}.auth-body,.install-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px 14px;background:linear-gradient(135deg,#eef4fb,#f7f8fb)}.auth-card,.installer{width:100%;max-width:460px;background:white;border:1px solid var(--line);border-radius:16px;padding:27px;box-shadow:0 15px 45px #1c305013}.installer{max-width:780px;margin:15px auto}.auth-brand{padding:0 0 20px;border-bottom:1px solid var(--line)}.auth-heading{padding:23px 0 18px}.auth-heading h1{font-size:24px}.auth-heading p,.auth-foot{font-size:11px;line-height:1.7;color:#7d899b}.auth-foot{margin:18px 0 0}.requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.requirements>div{font-size:10px;color:#647188;display:flex;align-items:center;gap:7px}.requirements span{font-weight:800}.requirements .ok{color:#178657}.requirements .bad{color:#bd4c4c}.install-form{margin-top:15px}.install-form .panel{margin:0;padding:18px}.install-form .panel h2{margin-bottom:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.span-two{grid-column:span 2}.success-box{padding:20px 0}.success-box h1{font:800 22px Manrope}.success-box p{font-size:12px;line-height:1.7;color:#6d7a8e}.success-box code{background:#f0f3f8;padding:2px 5px;border-radius:4px}@media(max-width:1100px){.sidebar{width:230px}.main{margin-left:230px}.content{padding:22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{width:275px;transform:translateX(-100%);transition:transform .2s;box-shadow:none}.sidebar.open{transform:translateX(0);box-shadow:15px 0 35px #142b481a}.main{margin-left:0}.topbar{height:62px;padding:0 14px;gap:10px}.hamburger{display:block}.crumb{font-size:10px;flex:1}.account>div:nth-child(2){display:none}.content{padding:20px 13px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:23px}.stats{gap:9px}.stat{padding:13px}.stat strong{font-size:22px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:15px}.footer{padding:14px;font-size:9px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:span 1}.requirements{grid-template-columns:1fr}.installer{padding:19px}.details{grid-template-columns:120px 1fr}}


/* ADM Guru & Staf CRUD */
.staff-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:start}
.staff-form{gap:14px}
.staff-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#536681}
.staff-form input:not([type=checkbox]),.staff-form textarea,.search-form input{width:100%;box-sizing:border-box;border:1px solid #e1e8f2;background:#fbfcff;border-radius:10px;padding:11px 12px;color:#243954;font:inherit;font-weight:400;outline:none}
.staff-form input:focus,.staff-form textarea:focus,.search-form input:focus{border-color:#7aa9f0;box-shadow:0 0 0 3px #3478f614}
.staff-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.staff-form .checkline{display:flex;flex-direction:row;align-items:center;gap:9px;font-weight:600}
.checkline input{accent-color:#3478f6}
.form-actions,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.button.small{padding:7px 10px;font-size:10px}
.button.danger{background:#fff4f4;color:#b34450;border:1px solid #f3d9dc}
.button:not(.primary):not(.danger){background:#fff;color:#536681;border:1px solid #e0e7f0}
.table-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}
.search-form{display:flex;gap:7px;min-width:240px}
.search-form input{min-width:0}
.table-wrap{width:100%;overflow-x:auto}
.staff-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px}
.staff-table th{text-align:left;background:#f6f8fc;color:#7888a0;padding:12px 10px;font-size:9px;letter-spacing:.7px;text-transform:uppercase;border-bottom:1px solid #e7edf5}
.staff-table td{padding:13px 10px;border-bottom:1px solid #eef2f7;color:#425570;vertical-align:middle}
.staff-table td b{display:block;color:#243955;font-size:11px}
.staff-table td small{display:block;margin-top:5px;color:#8b99ad;font-size:9px;line-height:1.5}
.staff-badge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:700}
.staff-badge.active{background:#e8faf2;color:#18845b}
.staff-badge.inactive{background:#f1f3f7;color:#748196}
@media(max-width:1200px){.staff-layout{grid-template-columns:1fr}}
@media(max-width:650px){.staff-fields{grid-template-columns:1fr}.table-head{flex-direction:column}.search-form{width:100%;min-width:0}.staff-table{min-width:640px}}


/* ===== MEKARSARI PREMIUM UI REFRESH ===== */
:root{--navy:#102b50;--blue:#2468b4;--ink:#172b46;--muted:#74849b;--line:#e5ebf4;--bg:#f3f6fc}
body{background:radial-gradient(ellipse at 75% 0%,#e9f2ff 0,transparent 38%),#f3f6fc;color:#172b46}
.sidebar{background:rgba(255,255,255,.96);box-shadow:8px 0 35px rgba(25,53,91,.035);border-right:1px solid #e7edf6}
.brand{padding:25px 20px 24px;border-bottom:1px solid #edf1f7}
.brand-logo{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#123967,#3989df);box-shadow:0 8px 18px #245c9c30}
.nav-caption{padding-top:25px}
.nav-link{padding:12px 13px;margin:4px 0;border-radius:11px;transition:background .18s,transform .18s,color .18s}
.nav-link:hover{background:#f1f6fd;transform:translateX(2px)}
.nav-link.active{background:linear-gradient(100deg,#e8f2ff,#f0f6ff);color:#1559a1;box-shadow:inset 3px 0 #347fe0}
.topbar{height:76px;padding:0 32px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid #e8eef6}
.content{padding:32px;max-width:1760px}
.page-head{margin-bottom:26px}
.page-head h1{font-size:30px;letter-spacing:-1.1px;color:#122b4b}
.page-head p,.muted{font-size:12px}
.eyebrow{font-size:10px;letter-spacing:1.8px}
.stats{gap:16px;margin-bottom:22px}
.stat,.panel{border:1px solid #e5ebf4;border-radius:18px;box-shadow:0 10px 32px rgba(28,55,91,.045);transition:box-shadow .2s,border-color .2s}
.stat{padding:22px 23px;position:relative;overflow:hidden}
.stat:after{content:"";position:absolute;right:-22px;top:-28px;width:95px;height:95px;border-radius:50%;background:linear-gradient(145deg,#eaf3ff,#f8fbff)}
.stat span{position:relative;z-index:1;font-size:12px;font-weight:600}
.stat strong{position:relative;z-index:1;display:block;font:800 31px Manrope;color:#12335b;margin:12px 0 7px;letter-spacing:-1px}
.stat small{position:relative;z-index:1;font-size:10px;color:#91a0b4}
.panel{padding:24px}
.panel h2{font:800 16px Manrope;color:#173453;letter-spacing:-.3px;margin:0 0 7px}
.staff-layout{gap:20px}
.staff-form{gap:16px;margin-top:20px}
.staff-form label{gap:8px;font-size:11px;color:#526780}
.staff-form input:not([type=checkbox]),.staff-form textarea,.search-form input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #dfe7f2!important;background:#f9fbfe!important;border-radius:12px!important;padding:13px 14px!important;color:#263d5a!important;font:500 12px 'DM Sans',sans-serif!important;outline:none;box-shadow:inset 0 1px 2px #142f4a05;transition:border .18s,box-shadow .18s,background .18s}
.staff-form input:not([type=checkbox]):focus,.staff-form textarea:focus,.search-form input:focus{border-color:#76a7e9!important;background:white!important;box-shadow:0 0 0 4px #347fe015!important}
.staff-form input::placeholder,.search-form input::placeholder{color:#a0adbe}
.staff-fields{gap:14px}
.staff-form .checkline{padding:12px 14px;background:#f7f9fd;border:1px solid #e9eef5;border-radius:12px}
.staff-form .checkline input{width:16px;height:16px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px!important;padding:11px 16px!important;font-size:11px!important;font-weight:700!important;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.button:hover{transform:translateY(-1px)}
.button.primary{background:linear-gradient(135deg,#286fc0,#1e5597)!important;color:#fff!important;border:1px solid #286fc0!important;box-shadow:0 6px 14px #286fc025}
.button.primary:hover{box-shadow:0 9px 19px #286fc038}
.button.danger{background:#fff4f5!important;color:#b34450!important;border:1px solid #f4dadd!important}
.table-head{align-items:center;margin-bottom:20px;flex-wrap:wrap}
.table-head .muted{max-width:330px}
.search-form{display:flex;gap:8px;min-width:290px}
.search-form input{flex:1;min-width:0}
.staff-table{border-collapse:separate;border-spacing:0;font-size:11px}
.staff-table th{background:#f5f8fd;color:#8291a7;padding:14px 12px;font-size:9px;letter-spacing:1px;border-top:1px solid #e9eef5;border-bottom:1px solid #e9eef5}
.staff-table th:first-child{border-radius:10px 0 0 10px}
.staff-table th:last-child{border-radius:0 10px 10px 0}
.staff-table td{padding:15px 12px;border-bottom:1px solid #edf1f6;color:#526780}
.staff-table tbody tr:hover td{background:#fbfdff}
.staff-table td b{font-size:12px;color:#203957}
.staff-table td small{font-size:10px}
.staff-badge{padding:6px 10px;font-size:9px;letter-spacing:.2px}
.empty{border:1px dashed #d8e3f1;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#fff);padding:30px 18px;text-align:center;color:#7f91aa;font-size:12px;line-height:1.8}
.form-actions{padding-top:4px}
@media(min-width:1450px){.staff-layout{grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr)}}
@media(max-width:1050px){.content{padding:22px}.panel{padding:20px}.staff-layout{grid-template-columns:1fr}}
@media(max-width:650px){.content{padding:16px}.page-head h1{font-size:24px}.stat{padding:16px}.staff-fields{grid-template-columns:1fr}.table-head{align-items:stretch}.search-form{min-width:0;width:100%}.panel{padding:17px}}


/* Sidebar theme: midnight navy + warm gold */
:root{--sidebar-navy:#101f38;--sidebar-navy-2:#172b4a;--sidebar-gold:#d9b56d;--sidebar-gold-soft:#f1dfb3}
.sidebar{background:linear-gradient(180deg,var(--sidebar-navy) 0%,#132641 100%);border-right:1px solid #263953;color:#eaf0fa;box-shadow:8px 0 28px #0b17280b}
.brand{border-bottom:1px solid #ffffff17}
.brand-logo{background:linear-gradient(145deg,#d8b56b,#a9833e);color:#15233a;box-shadow:0 5px 14px #0002}
.brand b{color:#fff}
.brand small{color:#aab8cd}
.nav-caption{color:#b99b60}
.sidebar nav{scrollbar-color:#52627a #132641}
.nav-link{color:#c2cde0;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease}
.nav-link span{color:#d0b06b}
.nav-link:hover{background:#ffffff0c;color:#fff;border-color:#ffffff12}
.nav-link:hover span{color:#f0d28d}
.nav-link.active{background:linear-gradient(100deg,#d9b56d20,#d9b56d0a);color:#ffe3a1;border-color:#d9b56d55;box-shadow:inset 3px 0 #d9b56d}
.nav-link.active span{color:#f0cb78}
.sidebar-foot{border-top:1px solid #ffffff17;color:#9cacc3}
.dot{background:#e4bd6e;box-shadow:0 0 0 3px #d9b56d18}


/* Targeted premium polish: ADM Guru & Staf content only; sidebar and other modules unchanged */
.staff-layout{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:22px;align-items:start}
.staff-layout>.panel{position:relative;overflow:hidden;border:1px solid #e4eaf3;border-radius:22px;background:linear-gradient(155deg,#fff 0%,#fff 72%,#fbfcff 100%);box-shadow:0 14px 38px rgba(18,42,75,.065);padding:27px}
.staff-layout>.panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#122541 0%,#274b75 54%,#d7b66d 100%)}
.staff-layout>.panel h2{font-size:18px;letter-spacing:-.55px;margin:0 0 8px;color:#102642}
.staff-layout>.panel>p,.staff-layout .muted{color:#8291a7;line-height:1.7;font-size:12px}
.staff-form{margin-top:22px;gap:16px}
.staff-form label{font-size:11px;font-weight:750;letter-spacing:.08px;color:#334965;gap:8px}
.staff-form input:not([type=checkbox]),.staff-form textarea,.search-form input{border:1px solid #dfe7f1;background:#f9fbfe;border-radius:12px;padding:13px 14px;min-height:46px;color:#1b3452;font-size:12px;transition:border-color .2s,box-shadow .2s,background .2s}
.staff-form input::placeholder,.staff-form textarea::placeholder,.search-form input::placeholder{color:#9aa9bc}
.staff-form input:focus,.staff-form textarea:focus,.search-form input:focus{background:#fff;border-color:#b99a56;box-shadow:0 0 0 4px #d8b96b20}
.staff-fields{gap:15px}
.staff-form .checkline{padding:12px 14px;border:1px solid #e8edf4;background:#fbfcfe;border-radius:12px;color:#52647b}
.staff-form .checkline input{width:16px;height:16px;accent-color:#b48b3f}
.staff-form .button.primary,.search-form .button.primary{background:linear-gradient(135deg,#142943,#24476f);border:1px solid #243f60;color:#fff;border-radius:11px;padding:12px 18px;font-weight:750;box-shadow:0 7px 16px #1429431a;transition:transform .18s,box-shadow .18s}
.staff-form .button.primary:hover,.search-form .button.primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px #14294328}
.staff-form .form-actions{padding-top:3px}
.staff-table-panel .table-head{display:block;border-bottom:1px solid #edf1f6;padding-bottom:18px;margin-bottom:17px}
.staff-table-panel .table-head>div{margin-bottom:16px}
.staff-table-panel .table-head p{margin-bottom:0}
.staff-table-panel .search-form{display:flex;width:100%;max-width:460px;gap:9px}
.staff-table-panel .search-form input{flex:1;min-width:0}
.staff-table-panel .empty{min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;border:1px dashed #d8e1ed;border-radius:16px;background:radial-gradient(ellipse at top,#f2f6fc 0%,#fbfcfe 68%);color:#8493a8;font-size:12px;line-height:1.8}
.staff-table{border-collapse:separate;border-spacing:0 7px;min-width:550px}
.staff-table thead th{background:#f4f7fb;border:0;padding:13px 12px;color:#75859a;font-size:9px;letter-spacing:1px}
.staff-table thead th:first-child{border-radius:10px 0 0 10px}
.staff-table thead th:last-child{border-radius:0 10px 10px 0}
.staff-table tbody tr{background:#fff;box-shadow:0 2px 9px #172e4b08}
.staff-table td{border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;padding:14px 12px}
.staff-table td:first-child{border-left:1px solid #edf1f6;border-radius:11px 0 0 11px}
.staff-table td:last-child{border-right:1px solid #edf1f6;border-radius:0 11px 11px 0}
.staff-table td b{color:#1a304b;font-size:12px}
.staff-table td small{font-size:10px;color:#8998ab}
.staff-badge{padding:6px 10px;letter-spacing:.2px}
.staff-badge.active{background:#e9f7ef;color:#26764f;border:1px solid #d4efdf}
.staff-badge.inactive{background:#f1f3f7;color:#778399;border:1px solid #e4e8ef}
.row-actions .button{border-radius:9px!important;font-weight:700}
@media(max-width:1050px){.staff-layout{grid-template-columns:1fr}}
@media(max-width:650px){.staff-layout>.panel{padding:20px}.staff-fields{grid-template-columns:1fr}.staff-table-panel .search-form{max-width:none}}
