.admin-shell{color:#10253f;background:#eef1f4;grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:#0b223c;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #ffffff1c;align-items:center;gap:11px;padding:4px 7px 26px;display:flex}.admin-brand>span{color:#10253f;background:#d6a94e;border-radius:50%;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:12px;font-weight:900;display:grid}.admin-logo-img{object-fit:contain;background:#fff;border-radius:50%;flex:0 0 38px;width:38px;height:38px;padding:2px}.admin-brand div{flex-direction:column;display:flex}.admin-brand strong{font-family:Georgia,serif}.admin-brand small{color:#a8b8c8;letter-spacing:.12em;text-transform:uppercase;margin-top:3px;font-size:10px}.admin-sidebar nav{gap:6px;margin-top:26px;display:grid}.admin-sidebar nav a,.admin-nav-item{color:#c3d0dd;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.admin-sidebar nav a:hover,.admin-nav-item:hover{color:#fff;background:#ffffff14}.admin-nav-item.active{box-shadow:0 4px 14px #d6282859;color:#fff!important;background:#d62828!important}.admin-sidebar nav svg,.admin-nav-item svg{flex-shrink:0;width:17px;height:17px}.admin-user{background:#ffffff0d;border:1px solid #ffffff1c;border-radius:14px;flex-direction:column;margin-top:auto;padding:15px;display:flex}.admin-user small{color:#92a5b8;font-size:10px}.admin-user strong{margin-top:5px;font-size:13px}.admin-user span{color:#aebccc;text-overflow:ellipsis;margin-top:3px;font-size:10px;overflow:hidden}.admin-user button{color:#f0c66d;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:14px;padding:0;font-size:11px;font-weight:800;display:flex}.admin-user button svg{width:14px}.admin-main{min-width:0;padding:32px}.admin-topbar{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.admin-topbar a{color:#68778a;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.admin-topbar a svg{width:15px}.admin-topbar h1{letter-spacing:-.04em;margin:11px 0 4px;font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);font-weight:500}.admin-topbar p{color:#718094;margin:0;font-size:13px}.admin-topbar-actions{align-items:center;gap:10px;display:flex}.admin-topbar>button,.admin-topbar-actions>button{color:#10253f;cursor:pointer;background:#fff;border:1px solid #d7dde4;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:800;display:inline-flex}.admin-topbar button svg{width:16px}.spin{animation:1s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.system-status-box{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.system-live-badge{color:#197a47;background:#e6f6ee;border:1px solid #bce4ce;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:800;display:inline-flex}.system-pulse-dot{background:#197a47;border-radius:50%;width:7px;height:7px;animation:2s infinite system-pulse;box-shadow:0 0 #197a4780}@keyframes system-pulse{0%{box-shadow:0 0 #197a4799}70%{box-shadow:0 0 0 6px #197a4700}to{box-shadow:0 0 #197a4700}}.system-sub-note{color:#8795a5;font-size:10px;font-weight:600}.admin-message{color:#71531d;background:#fff7db;border:1px solid #dbc17e;border-radius:12px;margin-top:22px;padding:13px 16px;font-size:12px;font-weight:700}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.kpi-grid article{background:#fff;border:1px solid #dde2e8;border-radius:15px;align-items:center;gap:12px;min-width:0;padding:17px;transition:all .2s;display:flex}.kpi-clickable{cursor:pointer}.kpi-clickable:hover{border-color:#d62828;transform:translateY(-3px);box-shadow:0 8px 20px #102a4314}.kpi-grid article>span{color:#d62828;background:#edf2f6;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.kpi-grid svg{width:18px}.kpi-grid div{min-width:0}.kpi-grid small,.kpi-grid strong{display:block}.kpi-grid small{color:#758397;font-size:10px}.kpi-grid strong{text-overflow:ellipsis;margin-top:5px;font-size:15px;overflow:hidden}.admin-tabs{margin-top:26px}.admin-tabs-list{background:#fff;border:1px solid #dde2e8;justify-content:flex-start;gap:3px;width:100%;height:auto;padding:5px;overflow-x:auto}.admin-tabs-list button{flex:none;padding:9px 14px}.admin-tabs [data-slot=tabs-content]{margin-top:15px}.admin-card{background:#fff;border:1px solid #dde2e8;border-radius:17px;overflow:hidden;box-shadow:0 10px 28px #142b440a}.admin-card-heading{border-bottom:1px solid #e2e6eb;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.admin-card-heading h2{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:500}.admin-card-heading p{color:#748295;margin:5px 0 0;font-size:11px}.admin-card-heading>span{color:#596b7e;background:#edf2f6;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900}.admin-card-heading>svg{color:#d62828}.admin-card-header-actions{align-items:center;gap:10px;display:flex}.admin-card-header-actions>span{color:#596b7e;background:#edf2f6;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900}.admin-btn-export{color:#102a43;cursor:pointer;background:#fff;border:1px solid #d6dde5;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:11px;font-weight:800;transition:all .2s;display:inline-flex}.admin-btn-export:hover{color:#fff;background:#102a43;border-color:#102a43;transform:translateY(-1px)}.admin-card [data-slot=table-container]{max-height:560px}.admin-card table{min-width:1100px}.admin-card th{z-index:1;color:#6d7b8d;letter-spacing:.06em;text-transform:uppercase;background:#f6f8fa;padding:10px 12px;font-size:10px;position:sticky;top:0}.admin-card td{padding:11px 12px}.admin-card td,.admin-card th{border-color:#e4e8ed}.admin-card td strong{font-size:12px}.table-subtext{color:#7b8798;margin-top:3px;font-size:9px;display:block}.admin-card select,.admin-card input,.admin-card textarea{color:#1a344f;background:#fff;border:1px solid #d6dde5;border-radius:8px;outline:none;max-width:100%;font-size:11px}.admin-card td select,.admin-card td input{width:135px;height:34px;padding:0 8px}.admin-card td .money-input{width:120px}.public-toggle{align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.public-toggle input{width:15px!important;height:15px!important}.invoice-button{color:#102f52;cursor:pointer;background:#f8fafb;border:1px solid #d9dfe6;border-radius:8px;align-items:center;gap:5px;height:34px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.invoice-button svg{width:14px}.finance-pill{border-radius:999px;padding:5px 7px;font-size:9px;font-weight:900;display:inline-block}.finance-pill.pemasukan{color:#207446;background:#dff4e7}.finance-pill.pengeluaran{color:#9b352d;background:#fde6e3}.admin-empty{color:#738195;text-align:center;padding:60px 25px;font-size:13px}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px;display:grid}.admin-form label{color:#526477;flex-direction:column;gap:7px;font-size:11px;font-weight:800;display:flex}.admin-form input,.admin-form select,.admin-form textarea{width:100%;min-height:42px;padding:9px 11px}.admin-form textarea{resize:vertical}.admin-form .wide-field{grid-column:1/-1}.admin-form .checkbox-field{flex-direction:row;align-items:center}.admin-form .checkbox-field input{width:17px;min-height:17px}.admin-primary{color:#fff;cursor:pointer;background:#102f52;border:0;border-radius:10px;min-height:44px;font-weight:900}.login-page{background:linear-gradient(145deg,#0b223c,#123a61);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border-radius:24px;flex-direction:column;width:min(440px,100%);padding:36px;display:flex;box-shadow:0 30px 80px #00000047}.login-logo-img{object-fit:contain;background:#fff;border:1px solid #10253f26;border-radius:50%;width:62px;height:62px;padding:2px;box-shadow:0 4px 12px #00000014}.login-label{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;font-weight:900;display:flex;color:#a8791d!important;margin:24px 0 8px!important;font-size:11px!important}.login-label svg{width:15px}.login-card h1{color:#10253f;margin:0;font-family:Georgia,serif;font-size:32px;font-weight:500}.login-card>p{color:#6c7b8e;margin-top:6px;font-size:13px;line-height:1.6}.login-card label{color:#536579;flex-direction:column;gap:7px;margin-top:14px;font-size:11px;font-weight:800;display:flex}.login-card input{border:1px solid #d6dde5;border-radius:10px;min-height:44px;padding:10px 12px;font-size:13px}.login-card>button{color:#fff;cursor:pointer;background:#102f52;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:46px;margin-top:20px;font-weight:900;transition:background .2s;display:flex}.login-card>button:hover{background:#194676}.login-card>button svg{width:17px}.login-card>a{color:#66778b;text-align:center;margin-top:18px;font-size:11px;font-weight:800}.login-error{color:#9c352d;background:#fde8e5;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.login-loading-spin{border:3px solid #dfd8ca;border-top-color:#d6a94e;border-radius:50%;width:36px;height:36px;margin:0 auto 14px;animation:1s linear infinite admin-spin}.mfa-card{color:#10253f;background:#fff;border-radius:24px;flex-direction:column;width:min(480px,100%);padding:36px;display:flex;box-shadow:0 30px 80px #00000047}.mfa-header{margin-bottom:20px}.mfa-badge{color:#187744;letter-spacing:.08em;text-transform:uppercase;background:#e6f6ee;border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 10px;font-size:10px;font-weight:900;display:inline-flex}.mfa-header h2{margin:0 0 6px;font-family:Georgia,serif;font-size:26px;font-weight:500}.mfa-header p{color:#64748b;margin:0;font-size:13px;line-height:1.55}.mfa-steps{flex-direction:column;gap:16px;margin:16px 0;display:flex}.mfa-step-item{align-items:flex-start;gap:12px;display:flex}.mfa-step-num{color:#fff;background:#10253f;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;margin-top:2px;font-size:11px;font-weight:800;display:grid}.mfa-step-item strong{color:#10253f;font-size:13px;display:block}.mfa-step-item p{color:#64748b;margin:2px 0 0;font-size:12px;line-height:1.45}.mfa-qr-wrap{background:#fff;border:2px solid #e2e8f0;border-radius:20px;justify-content:center;align-items:center;width:230px;height:230px;margin:8px auto;padding:18px;display:flex;box-shadow:0 4px 16px #0000000f}.mfa-qr-img,.mfa-qr-svg-wrapper{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.mfa-qr-svg-wrapper svg{max-width:100%;max-height:100%;display:block;width:100%!important;height:100%!important}.mfa-secret-box{background:#f1f5f9;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:8px 12px;font-size:12px;display:flex}.mfa-secret-box code{color:#0f172a;word-break:break-all;font-family:monospace;font-weight:700}.mfa-copy-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.mfa-form{flex-direction:column;gap:14px;margin-top:8px;display:flex}.mfa-input-wrap{align-items:center;display:flex;position:relative}.mfa-input-icon{color:#94a3b8;position:absolute;left:14px}.mfa-otp-input{letter-spacing:.25em;text-align:center;color:#0f172a;border:2px solid #cbd5e1;border-radius:12px;outline:none;width:100%;height:50px;padding:0 16px 0 46px;font-size:22px;font-weight:900;transition:border-color .2s}.mfa-otp-input:focus{border-color:#d6a94e}.mfa-error-msg{color:#b91c1c;background:#fef2f2;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.mfa-action-btns{flex-direction:column;gap:8px;margin-top:8px;display:flex}.mfa-btn-primary{color:#fff;cursor:pointer;background:#10253f;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:46px;font-size:13px;font-weight:900;display:flex}.mfa-btn-primary:hover{background:#1d4b6e}.mfa-btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:42px;font-size:12px;font-weight:800;display:flex}.mfa-btn-secondary:hover{background:#f8fafc}.mfa-approval-card{text-align:center}.mfa-approval-icon{color:#0284c7;background:#e0f2fe;border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 16px;display:grid}.mfa-approval-box{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:16px 0 20px;padding:14px;font-size:13px;line-height:1.5}.mfa-challenge-card{text-align:center}.mfa-challenge-card h1{margin:10px 0 6px;font-size:28px}.mfa-challenge-footer{margin-top:14px}.mfa-link-btn{color:#64748b;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700;text-decoration:underline}.lock-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b223ceb;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.lock-card{text-align:center;color:#10253f;background:#fff;border-radius:20px;width:min(380px,100%);padding:32px;box-shadow:0 25px 60px #00000059}.lock-icon-wrap{color:#dc2626;background:#fee2e2;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 14px;display:grid}.lock-card h3{margin:0 0 6px;font-family:Georgia,serif;font-size:24px}.lock-card p{color:#64748b;margin:0 0 20px;font-size:13px;line-height:1.5}.lock-btn{color:#fff;cursor:pointer;background:#10253f;border:0;border-radius:10px;width:100%;height:44px;font-size:13px;font-weight:900}.user-role-badge{text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:900;display:inline-block}.user-role-badge.owner{color:#92400e;background:#fef3c7}.user-role-badge.admin{color:#0369a1;background:#e0f2fe}.user-role-badge.kasir{color:#15803d;background:#dcfce7}.user-role-badge.operator{color:#475569;background:#f1f5f9}.user-status-pill{border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:800;display:inline-flex}.user-status-pill.active{color:#15803d;background:#dcfce7}.user-status-pill.inactive{color:#b91c1c;background:#fee2e2}.user-toggle-btn{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:5px 10px;font-size:10px;font-weight:800}.user-toggle-btn.approve{color:#fff;background:#102f52;border-color:#102f52}.invoice-dialog{background:#eef1f4;max-height:94vh;overflow-y:auto}.invoice-dialog-header{z-index:5;background:#fff;border-bottom:1px solid #dce2e8;margin:-24px -24px 0;padding:22px 24px 15px;position:sticky;top:-24px}.invoice-toolbar{background:#fff;border:1px solid #d9e0e6;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px;display:grid}.invoice-toolbar label{color:#607186;text-transform:uppercase;flex-direction:column;gap:5px;font-size:9px;font-weight:900;display:flex}.invoice-toolbar input{color:#17324e;text-transform:none;border:1px solid #d5dde5;border-radius:7px;min-height:36px;padding:7px 9px;font-size:11px}.invoice-wide-field{grid-column:1/-1}.invoice-item-editor{background:#fff;border:1px solid #d9e0e6;border-radius:14px;padding:15px}.invoice-item-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:9px;display:flex}.invoice-item-heading button,.invoice-actions button{color:#fff;cursor:pointer;background:#102f52;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:10px;font-weight:900;display:inline-flex}.invoice-item-heading svg,.invoice-actions svg{width:14px}.invoice-item-row{border-top:1px solid #e5e9ed;grid-template-columns:.65fr 2.1fr .5fr .9fr .55fr .8fr 32px;align-items:center;gap:7px;padding:7px 0;display:grid}.invoice-item-row input{border:1px solid #d8dfe6;border-radius:7px;width:100%;min-width:0;height:34px;padding:6px 8px;font-size:10px}.invoice-item-row>strong{text-align:right;font-size:10px}.invoice-delete-item{color:#a43e34;cursor:pointer;background:#fde9e6;border:0;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.invoice-delete-item svg{width:14px}.invoice-message{color:#78591d;background:#fff5d8;border-radius:9px;padding:10px 13px;font-size:11px;font-weight:800}.invoice-actions{justify-content:flex-end;gap:9px;display:flex}.invoice-actions .invoice-print-button{color:#10253f;background:#d6a94e}.invoice-preview-scroll{background:#cfd5db;border-radius:14px;padding:18px;overflow-x:auto}.invoice-sheet{color:#121a1c;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:12mm 11mm 10mm;font-family:Arial,sans-serif;box-shadow:0 12px 34px #0000002e}.invoice-header{border-bottom:1.5px solid #111;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:4mm;display:flex}.invoice-header h1{letter-spacing:.04em;margin:0;font-size:25px}.invoice-header h2{margin:3px 0 2px;font-size:15px}.invoice-header p{color:#666;margin:0;font-size:9px;line-height:1.55}.invoice-logo{text-align:center;border:2px solid #111;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:30mm;height:30mm;display:flex;transform:rotate(-4deg)}.invoice-logo span,.invoice-logo small{letter-spacing:.2em;font-size:5px;font-weight:900}.invoice-logo strong{margin:2px 0;font-family:Georgia,serif;font-size:19px}.invoice-logo-container{justify-content:center;align-items:center;width:28mm;height:28mm;display:flex}.invoice-logo-img{object-fit:contain;width:28mm;height:28mm}.invoice-meta{grid-template-columns:1.05fr .95fr;gap:8mm;margin-top:5mm;display:grid}.invoice-meta-left p{border-bottom:1px solid #aaa;margin:0;padding:2mm 0;font-size:8px}.invoice-customer{border:1px solid #999;flex-direction:column;min-height:24mm;padding:3mm;font-size:8px;display:flex}.invoice-customer strong{letter-spacing:.12em;margin-bottom:2mm;font-size:7px}.invoice-customer span{border-bottom:1px solid #ccc;min-height:5mm}.invoice-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:5mm;font-size:8px}.invoice-table th,.invoice-table td{border:1px solid #111;height:10mm;padding:2mm}.invoice-table th{height:9mm;font-size:7px}.invoice-table th:first-child{width:7%}.invoice-table th:nth-child(2){width:13%}.invoice-table th:nth-child(3){width:34%}.invoice-table th:nth-child(4){width:8%}.invoice-table th:nth-child(5){width:16%}.invoice-table th:nth-child(6){width:8%}.invoice-table th:nth-child(7){width:14%}.invoice-table td:first-child,.invoice-table td:nth-child(4),.invoice-table td:nth-child(6){text-align:center}.invoice-table td:nth-child(5),.invoice-table td:nth-child(7){text-align:right}.invoice-empty-row td{height:12mm}.invoice-bottom{grid-template-columns:1fr .9fr;gap:11mm;margin-top:12mm;display:grid}.invoice-payment-notes{letter-spacing:.07em;font-size:7px;line-height:1.5}.invoice-payment-notes>strong{letter-spacing:.15em;max-width:58mm;display:block}.invoice-payment-notes b{font-weight:900}.invoice-payment-notes i{letter-spacing:.12em}.invoice-summary>div:not(.invoice-signature){letter-spacing:.1em;border-bottom:1px solid #999;justify-content:space-between;gap:10px;padding:2mm 0;font-size:8px;display:flex}.invoice-summary strong{letter-spacing:0;font-size:10px}.invoice-summary .invoice-grand-total{font-weight:900;border-block:1.5px solid #111!important}.invoice-signature{text-align:center;margin-top:6mm}.invoice-signature>span{font-size:7px}.invoice-signature>div{border-bottom:1px solid #111;height:25mm}.invoice-signature strong,.invoice-signature small{display:block}.invoice-signature strong{letter-spacing:.13em;margin-top:2mm;font-size:9px}.invoice-signature small{letter-spacing:.18em;margin-top:1mm;font-size:5px;font-weight:900}@media (max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:800px){.admin-shell{display:block}.admin-sidebar{height:auto;padding:14px;position:static}.admin-sidebar nav{grid-template-columns:repeat(3,1fr);margin-top:13px}.admin-sidebar nav a{justify-content:center}.admin-user{display:none}.admin-main{padding:20px 14px}.admin-topbar{flex-direction:column;align-items:flex-start;gap:14px}.admin-topbar-actions{justify-content:space-between;width:100%}.admin-topbar>button{padding:9px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form{grid-template-columns:1fr}.admin-form .wide-field{grid-column:auto}}@media (max-width:520px){.kpi-grid{grid-template-columns:1fr}.admin-sidebar nav a{font-size:0}.admin-topbar h1{font-size:34px}}
