/* Adapted from D:/ANPR_BACKOFFICE's Modernize layout for WahanaOffice. */
@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url('../fonts/MaterialIcons-Regular.woff2') format('woff2');font-display:block}
.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
:root{color-scheme:dark;--bg:#202936;--panel:#2a3547;--ink:#e8eaed;--muted:#a6b0cf;--line:#3b4658;--brand:#5d87ff;--brand-dark:#4574f0;--accent:#49beff;--ok:#13deb9;--bad:#fa896b;--warn:#ffae1f;--bo-soft:#303b4d;--bo-sidebar:260px;--bo-shadow:0 2px 8px #00000015}
html[data-theme='light']{color-scheme:light;--bg:#f5f7fb;--panel:#fff;--ink:#2a3547;--muted:#63718a;--line:#e7ebf2;--bo-soft:#edf2f9;--ok:#087d67;--bad:#b8462a;--bo-shadow:0 2px 8px #172b4609}
.admin-backoffice,.guest-backoffice{font:14px/1.5 'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink)}
.admin-backoffice .shell{display:block;min-height:100vh}
.admin-backoffice .sidebar{position:fixed;inset:0 auto 0 0;width:var(--bo-sidebar);height:100dvh;display:flex;flex-direction:column;padding:0 16px;background:var(--panel);border-right:1px solid var(--line);z-index:40;overflow-y:auto;overflow-x:hidden;color:var(--ink)}
.bo-brand{min-height:90px;display:flex;align-items:center;position:relative;padding:15px 4px;gap:6px}
.bo-brand>a{display:flex;align-items:center;gap:10px;color:var(--ink)}
.bo-mark{background:var(--brand);width:37px;height:37px;border-radius:10px;display:grid;place-items:center;color:white;font-weight:800;font-size:21px;flex-shrink:0}
.bo-wordmark{font-size:18px;letter-spacing:-.6px;font-weight:700;line-height:1.25}.bo-wordmark b{color:var(--brand);font-weight:700}.bo-wordmark small{display:block;font-size:7px;letter-spacing:1.1px;color:var(--muted);margin-top:5px}
.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;background:var(--bo-soft);color:var(--muted);border:0;border-radius:50%;cursor:pointer;flex-shrink:0}.icon-button:hover{background:var(--brand);color:white}.icon-button:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.sidebar-collapse{margin-left:auto;width:25px;height:30px;border-radius:6px}.sidebar-collapse i{font-size:20px}
.admin-backoffice .nav{display:block;margin:0;padding-bottom:20px;flex:1}.admin-backoffice .nav p{font-size:10px;color:var(--muted);letter-spacing:1px;font-weight:700;margin:21px 14px 10px}.admin-backoffice .nav a{gap:12px;color:var(--muted);padding:11px 13px;border-radius:7px;font-size:13px;font-weight:500;margin:3px 0;min-height:44px}.admin-backoffice .nav a .material-icons{font-size:21px;flex:0 0 24px;width:24px;min-width:24px;overflow:hidden;text-align:center}.admin-backoffice .nav a .nav-icon{flex:0 0 24px;width:24px;height:24px}.admin-backoffice .nav a .nav-label{display:block;min-width:0;flex:1;color:inherit;border:0;border-radius:0;width:auto;height:auto;font-size:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-backoffice .nav a:hover{background:var(--bo-soft);color:var(--brand)}.admin-backoffice .nav a.active{background:var(--brand);color:white;box-shadow:0 6px 12px #5d87ff25}
.bo-profile{display:flex;align-items:center;gap:10px;background:var(--bo-soft);border-radius:10px;padding:12px 10px;margin:10px 0 20px}.profile-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#5d87ff25;color:var(--brand);font-weight:700;flex-shrink:0}.bo-profile>div{min-width:0;flex:1}.bo-profile strong,.bo-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bo-profile strong{font-size:12px}.bo-profile small{font-size:10px;color:var(--muted)}.bo-profile form{margin:0}.bo-profile .icon-button{width:28px}
.admin-backoffice .topbar{position:fixed;top:0;left:var(--bo-sidebar);right:0;height:82px;z-index:30;margin:0;padding:0 32px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:center;gap:16px}.admin-backoffice .topbar h1{font-size:21px;line-height:1.3;margin:0}.bo-page-title small{font-size:11px;color:var(--muted)}.bo-header-tools{display:flex;align-items:center;gap:20px;margin-left:auto}.bo-clock{text-align:right}.bo-clock strong{display:block;font-size:17px;letter-spacing:.5px}.bo-clock small{display:block;font-size:10px;color:var(--muted)}.mobile-menu{display:none}
.admin-backoffice .main{margin-left:var(--bo-sidebar);padding:106px 30px 24px;min-height:100vh}.bo-breadcrumb{display:flex;gap:10px;color:var(--muted);font-size:11px;margin-bottom:22px}.bo-breadcrumb a{color:var(--brand)}.bo-footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;padding:24px 0 0}.bo-footer span{font-size:10px}
.admin-backoffice .panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--bo-shadow);padding:22px}.admin-backoffice .panel h2{font-size:16px}.admin-backoffice .stats article,.admin-backoffice .catalog-stats article{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--bo-shadow);border-top:3px solid var(--brand)}.admin-backoffice .stats article:nth-child(2){border-top-color:#49beff}.admin-backoffice .stats article:nth-child(3){border-top-color:#13deb9}.admin-backoffice .stats article:nth-child(4){border-top-color:#ffae1f}.admin-backoffice .stats strong{font-size:27px;color:var(--ink)}
.admin-backoffice input,.admin-backoffice select,.admin-backoffice textarea,.guest-backoffice input{background:var(--panel);color:var(--ink);border-color:var(--line);border-radius:7px;min-width:0}.admin-backoffice input:focus,.admin-backoffice select:focus,.admin-backoffice textarea:focus,.guest-backoffice input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #5d87ff22}.admin-backoffice label{font-size:12px}.admin-backoffice .btn,.guest-backoffice .btn{border-radius:7px;background:var(--bo-soft);color:var(--ink);border-color:var(--line);font-size:12px}.admin-backoffice .btn.primary,.guest-backoffice .btn.primary{background:var(--brand);border-color:var(--brand);color:white}.admin-backoffice .btn.primary:hover,.guest-backoffice .btn.primary:hover{background:var(--brand-dark)}.admin-backoffice .btn.ghost{background:transparent}.admin-backoffice th{color:var(--muted);background:var(--bo-soft);font-size:10px;padding:13px 12px}.admin-backoffice td{border-color:var(--line);padding:13px 12px;font-size:12px}.admin-backoffice tbody tr:hover{background:#5d87ff08}
.admin-backoffice .pill{background:var(--bo-soft);color:var(--muted)}.admin-backoffice .pill.active,.admin-backoffice .pill.completed{background:#13deb91c;color:var(--ok)}.admin-backoffice .alert.ok,.guest-backoffice .alert.ok{background:#13deb918;color:var(--ok);border-color:#13deb944}.admin-backoffice .alert.bad,.guest-backoffice .alert.bad{background:#fa896b18;color:var(--bad);border-color:#fa896b44}
.admin-backoffice .card-admin{--teal:var(--brand)}.admin-backoffice .card-hero{background:linear-gradient(115deg,#253b64,#345680);border:1px solid #5d87ff30;border-radius:12px}.admin-backoffice .card-hero .btn{background:var(--brand);color:white}.admin-backoffice .card-hero .eyebrow{color:#a8c3ff}.admin-backoffice .catalog-tabs{border-color:var(--line)}.admin-backoffice .catalog-tabs a{color:var(--muted)}.admin-backoffice .catalog-tabs a[aria-current]{color:var(--brand)}.admin-backoffice .catalog-stats span,.admin-backoffice .catalog-stats small,.admin-backoffice .catalog-empty,.admin-backoffice .catalog-footnote{color:var(--muted)}.admin-backoffice .catalog-empty h3{color:var(--ink)}.admin-backoffice .catalog-code,.admin-backoffice .topup-preview,.admin-backoffice .catalog-empty>span{background:#5d87ff18;color:var(--brand)}.admin-backoffice .catalog-footnote{border-color:var(--line)}.admin-backoffice .catalog-warning{color:var(--warn)}.admin-backoffice .catalog-form{scroll-margin-top:105px}
.admin-backoffice .hour-row div,.admin-backoffice .summary,.admin-backoffice .menu-row{background:var(--bo-soft);color:var(--ink);border-color:var(--line)}.admin-backoffice .hour-row i{background:var(--brand)}
html[data-sidebar='collapsed']{--bo-sidebar:80px}html[data-sidebar='collapsed'] .bo-wordmark,html[data-sidebar='collapsed'] .nav-label,html[data-sidebar='collapsed'] .bo-profile>div,html[data-sidebar='collapsed'] .bo-profile form{display:none}html[data-sidebar='collapsed'] .bo-brand{justify-content:center;min-height:108px;padding-bottom:34px}html[data-sidebar='collapsed'] .sidebar-collapse{position:absolute;bottom:6px;left:11px}html[data-sidebar='collapsed'] .admin-backoffice .nav p{height:1px;background:var(--line);margin:17px 10px}html[data-sidebar='collapsed'] .nav p span{display:none}html[data-sidebar='collapsed'] .admin-backoffice .nav a{justify-content:center;padding:11px 0}html[data-sidebar='collapsed'] .admin-backoffice .nav a .nav-label{display:none}html[data-sidebar='collapsed'] .bo-profile{justify-content:center;padding:8px 0}
.menu-backdrop{display:none}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--brand);color:white;padding:12px}.skip-link:focus{top:12px}
.guest-backoffice{display:block;min-height:100vh}.guest-theme{position:fixed;top:24px;right:25px;z-index:5}.bo-login{display:grid;grid-template-columns:1.65fr 1fr;min-height:100vh}.bo-login-hero{background:var(--bo-soft);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:65px 50px;position:relative;overflow:hidden}.bo-login-brand{position:absolute;top:30px;left:36px;display:flex;gap:12px;align-items:center;font-weight:700;font-size:18px}.bo-login-message{z-index:1;max-width:480px}.bo-login-message .eyebrow{color:var(--brand)}.bo-login-message h1{font-size:48px;line-height:1.15;letter-spacing:-1.4px;margin:22px 0}.bo-login-message p{color:var(--muted);max-width:420px;line-height:1.9}.bo-login-art{display:flex;gap:14px;margin:35px 0;transform:rotate(-6deg)}.bo-login-art span{display:grid;place-items:center;width:100px;height:100px;border:1px solid #5d87ff44;border-radius:23px;background:#5d87ff12;color:var(--brand);box-shadow:0 15px 40px #00000010}.bo-login-art i{font-size:43px}.bo-login-art span:nth-child(2){transform:translateY(-18px);background:var(--brand);color:#fff}.bo-login-right{display:flex;align-items:center;justify-content:center;padding:80px 44px;background:var(--panel)}.bo-login-form{width:100%;max-width:370px}.bo-login-form h2{font-size:28px;line-height:1.2;margin:15px 0}.bo-login-form>p{color:var(--muted);margin-bottom:32px;font-size:13px}.bo-login-form label{font-size:12px;margin-bottom:19px}.bo-login-form input{padding:12px}.bo-login-form .btn{min-height:44px;margin-top:6px}.bo-login-note{font-size:11px!important;line-height:1.7;margin-top:22px}
@media(max-width:1000px){.admin-backoffice .main{padding-left:20px;padding-right:20px}.bo-login{grid-template-columns:1fr 1fr}.bo-login-message h1{font-size:36px}.bo-login-hero{padding:50px 28px}.bo-login-right{padding:70px 28px}}
@media(max-width:760px){:root,html[data-sidebar='collapsed']{--bo-sidebar:260px}.admin-backoffice .sidebar{transform:translateX(-100%)}.admin-backoffice.menu-open .sidebar{transform:translateX(0)}.admin-backoffice .topbar{left:0;padding:0 16px;height:76px}.admin-backoffice .main{margin-left:0;padding-top:98px}.mobile-menu{display:inline-grid}.admin-backoffice .topbar h1{font-size:17px}.bo-header-tools{gap:9px}.bo-clock strong{font-size:12px}.bo-clock small{font-size:9px}.bo-page-title small{font-size:9px}.menu-open .menu-backdrop{display:block;position:fixed;inset:0;background:#0008;z-index:35;border:0;width:100%;height:100%}.sidebar-collapse{display:none}html[data-sidebar='collapsed'] .bo-brand{justify-content:flex-start;min-height:90px;padding:15px 4px}html[data-sidebar='collapsed'] .bo-wordmark,html[data-sidebar='collapsed'] .nav p span,html[data-sidebar='collapsed'] .bo-profile>div,html[data-sidebar='collapsed'] .bo-profile form{display:block}html[data-sidebar='collapsed'] .admin-backoffice .nav a{justify-content:flex-start;padding:11px 13px}html[data-sidebar='collapsed'] .admin-backoffice .nav a .nav-label{display:block}html[data-sidebar='collapsed'] .admin-backoffice .nav p{height:auto;background:none;margin:21px 14px 10px}html[data-sidebar='collapsed'] .bo-profile{justify-content:flex-start;padding:12px 10px}.bo-footer{flex-direction:column}.bo-login{grid-template-columns:1fr}.bo-login-hero{display:none}.bo-login-right{min-height:100vh;padding:70px 28px}}
@media(prefers-reduced-motion:no-preference){.sidebar,.main,.topbar{transition:width .18s ease,margin-left .18s ease,left .18s ease,transform .18s ease}}

.admin-backoffice .rules,.admin-backoffice code,.guest-backoffice .empty{background:var(--bo-soft);color:var(--ink);border-color:var(--line)}
.admin-backoffice .pill.overtime{background:#ffae1f1c;color:var(--warn)}.admin-backoffice .pill.expired,.admin-backoffice .pill.cancelled{background:#fa896b1c;color:var(--bad)}
