:root{--batik-green:#173e35;--batik-gold:#bd9258;--batik-cream:#f6f2eb;--batik-ink:#243b34}
.master-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.master-tabs a{font-size:.77rem;color:#607257;background:#fff;border:1px solid #dce3d6;border-radius:7px;padding:10px 13px}.master-tabs a.selected{background:#e4eccb;color:#294b26;border-color:#baccaa;font-weight:600}.master-form{max-width:820px}.text-batik{color:#385c3c}.text-batik:hover{color:#183e21}
.management-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;flex-wrap:wrap}.management-search{display:flex;gap:10px;margin-bottom:24px;max-width:480px}.management-table th{font-size:.72rem;color:#829079;letter-spacing:.04em;border-top:0}.management-table td{font-size:.86rem;vertical-align:middle;padding-top:19px;padding-bottom:19px}.code-label{background:#f1f4ec;padding:5px 9px;border-radius:5px;font-size:.75rem}.btn-outline-batik{border-color:#91a18c;color:#385738}.btn-outline-batik:hover{background:#e6ede0;color:#28452c}.management-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.management-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:20px}.management-info{padding:25px;background:#e6ede0;border:1px solid #d5dfce;border-radius:10px;color:#52684c}.management-info>i{font-size:1.5rem;color:#80966e;margin-bottom:16px}.management-info p{font-size:.87rem;line-height:1.7;margin:0}.account-context{background:#f1f4ed;padding:12px;border-radius:6px;font-size:.84rem;margin-bottom:24px}.permission-scroll{max-height:630px;overflow:auto}.permission-table th{border-top:0;font-size:.74rem;color:#74816b}.permission-table td{font-size:.78rem;vertical-align:middle}.permission-table label{font-weight:500!important}.permission-table select{min-width:103px}.permission-table small{font-size:.65rem;margin-top:3px}
body{font-family:"Segoe UI",Arial,sans-serif;color:var(--batik-ink)}
.eyebrow{font-size:.7rem;letter-spacing:.16em;font-weight:700}
.batik-login{background:var(--batik-cream)}
.login-grid{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:56px 64px;color:#fff;background:var(--batik-green)}
.brand-panel:before{content:"";position:absolute;inset:0;opacity:.065;background-image:radial-gradient(ellipse at center,transparent 45%,#fff 46%,#fff 49%,transparent 50%);background-size:80px 120px;transform:rotate(-25deg) scale(1.5)}
.brand-panel>*{position:relative}.brand-sign{display:flex;align-items:center;gap:13px;color:white;font-size:1.4rem;font-weight:700}.brand-sign:hover{color:#fff}.brand-symbol{display:grid;place-items:center;width:40px;height:40px;background:rgba(255,255,255,.12);border-radius:12px;color:#e9c994}
.brand-copy{padding:72px 0;max-width:440px}.brand-copy .eyebrow{color:#e2c49b}.brand-copy h1{font-size:clamp(2.5rem,4.7vw,4.5rem);line-height:1.12;font-weight:650;letter-spacing:-.045em;margin:22px 0}.brand-copy p{font-size:1.06rem;line-height:1.8;color:#d3dfd7;max-width:350px}.brand-panel small{color:#b6c9bf;font-size:.77rem}
.brand-features{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px;font-size:.78rem;color:#e4d5be}.brand-features i{margin-right:5px}
.signin-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:56px 40px;position:relative}.signin-card{width:100%;max-width:390px}.signin-card h2{font-size:1.85rem;font-weight:650;letter-spacing:-.025em;margin-top:12px}.signin-card>.text-muted{font-size:.9rem}.signin-panel footer{font-size:.71rem;color:#7c827c;margin-top:50px;text-align:center}.signin-panel footer span{padding:0 7px}
.login-form label,.password-card label{font-size:.84rem;font-weight:600!important}.login-form .form-control{height:48px;border-radius:8px;background:#fff;border-color:#dedfd6;font-size:.88rem}.form-control:focus{border-color:#749384;box-shadow:0 0 0 .18rem rgba(23,62,53,.1)}
.btn-batik{background:var(--batik-green);border-color:var(--batik-green);color:#fff;border-radius:7px;padding:12px 18px;font-weight:600;font-size:.9rem}.btn-batik:hover,.btn-batik:focus{background:#245548;border-color:#245548;color:white}.btn-batik:disabled{opacity:.5}.signin-help{font-size:.73rem;color:#777f78;text-align:center;margin-top:24px}.signin-help i{color:#a68a61;margin-right:5px}
.setup-notice{display:flex;gap:12px;background:#efe7d8;border:1px solid #e2d5be;border-radius:9px;padding:15px;margin:24px 0;font-size:.82rem}.setup-notice>i{color:#a47a40;margin-top:4px}.setup-notice p{margin:4px 0 8px;color:#716956}.setup-notice a{color:var(--batik-green);font-weight:600}
.setup-page{background:var(--batik-cream);min-height:100vh}.setup-card{background:white;padding:36px;border-radius:14px;border:1px solid #e7e4dd;max-width:760px}.setup-brand{font-size:1.3rem;font-weight:700;color:var(--batik-green)}.setup-steps{padding-left:24px}.setup-steps li{padding-left:8px;margin:24px 0}.setup-steps p{color:#65716a;font-size:.91rem;margin-top:6px}.setup-steps pre{background:#f3f5f2;padding:13px;border-radius:7px;white-space:pre-wrap;font-size:.83rem;color:#23463a}
.batik-app .main-sidebar{background:var(--batik-green)}.batik-app .brand-link{padding:22px 25px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-icon{color:#e0ba80;margin-right:12px}.brand-text{font-size:1.4rem;font-weight:700}.brand-subtitle{display:block;font-size:.68rem;color:#afc7b9;margin:4px 0 0 34px;letter-spacing:.04em}.sidebar-identity{display:flex;align-items:center;gap:10px;padding:22px 10px;border-bottom:1px solid rgba(255,255,255,.1);color:white}.identity-avatar{width:35px;height:35px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;color:#e0ba80}.sidebar-identity strong{display:block;font-size:.82rem;max-width:157px;overflow:hidden;text-overflow:ellipsis}.sidebar-identity small{color:#b6c8bd;font-size:.69rem}.batik-app .nav-header{font-size:.64rem;letter-spacing:.13em;color:#92b2a0}.batik-app .nav-sidebar .nav-link{font-size:.87rem;border-radius:7px;margin:4px 5px;width:auto;color:#d4e0d8}.batik-app .nav-sidebar .nav-link.active{background:#f1e5cf!important;color:var(--batik-green)!important;box-shadow:none}.batik-app .nav-sidebar .nav-icon{font-size:.95rem}.sidebar-note{margin:48px 15px 20px;padding:17px 14px;border-radius:8px;background:rgba(255,255,255,.055);color:#b4c9ba;font-size:.73rem}.sidebar-note i{color:#dfbd88;margin-bottom:9px}.sidebar-note p{margin:0;line-height:1.6}
.batik-app .main-header{border-bottom:1px solid #e4e9e2;min-height:66px}.store-context{font-size:.85rem;color:#64746a!important}.logout-form{margin:0}.logout-form button{font-size:.81rem}.batik-app .content-wrapper{background:#f4f6f2}.batik-app .content-header{padding:30px 25px 22px}.batik-app .content-header h1{font-size:1.65rem;font-weight:650;margin-top:7px}.batik-app .content{padding:0 25px 24px}.date-label{font-size:.82rem;color:#758177}.date-label small{margin-left:4px;color:#99a299}.welcome-banner{background:#e4ece3;border:1px solid #d5e1d3;border-radius:12px;display:flex;justify-content:space-between;align-items:center;padding:28px 30px;overflow:hidden}.welcome-banner .eyebrow{color:#607d63}.welcome-banner h2{font-size:1.6rem;font-weight:600;margin:12px 0 7px;letter-spacing:-.025em}.welcome-banner p{color:#667d6d;font-size:.86rem;margin:0}.banner-icon{font-size:5rem;color:#bed0b7;transform:rotate(-10deg);margin-left:24px}.metric-card{background:white;border:1px solid #e2e7df;border-radius:10px;padding:24px 20px;margin-bottom:22px;display:flex;align-items:center;gap:17px}.metric-icon{background:#f1f4ea;color:#77926b;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;font-size:1.1rem}.metric-card span:not(.metric-icon){font-size:.78rem;color:#738073}.metric-card strong{display:block;font-size:1.85rem;line-height:1.1;margin-top:7px;font-weight:650}.batik-card{border:1px solid #e0e6db;border-radius:10px;box-shadow:none}.batik-card .card-header{padding:20px 24px;border-bottom:1px solid #e7ebe3;background:white;border-radius:10px 10px 0 0}.batik-card .card-body{padding:26px}.roadmap-row{display:flex;gap:14px;flex-wrap:wrap}.roadmap-row span{background:#f4f6f0;border-radius:6px;padding:10px 14px;color:#74816d;font-size:.8rem}.roadmap-row i{margin-right:6px}.empty-state{text-align:center;padding:25px}.empty-state>i{font-size:2rem;color:#8d9d80;margin-bottom:18px}.empty-state p{color:#7a8776;font-size:.88rem}.password-card{max-width:650px}.batik-app .main-footer{font-size:.75rem;color:#819078;border-top:1px solid #e3e8de;padding:18px 25px}.main-footer strong{color:#46634f}
.sidebar-collapse .brand-subtitle,.sidebar-collapse .sidebar-note,.sidebar-collapse .sidebar-identity{display:none}
@media(max-width:991px){.brand-panel{padding:42px 36px}.brand-features{gap:14px}.signin-panel{padding:42px 28px}.batik-app .content-header{padding:24px 12px 18px}.batik-app .content{padding:0 12px 18px}}
@media(max-width:767px){.login-grid{grid-template-columns:1fr}.brand-panel{padding:25px 28px}.brand-copy{padding:26px 0 0}.brand-copy h1{font-size:2.3rem;margin:13px 0}.brand-copy p{font-size:.9rem;margin-bottom:0;max-width:100%}.brand-features,.brand-panel>small{display:none}.signin-panel{padding:32px 25px}.signin-panel footer{margin-top:30px}.signin-card h2{font-size:1.65rem}.welcome-banner{padding:23px}.welcome-banner h2{font-size:1.25rem}.banner-icon{font-size:3rem}.date-label{margin-top:12px}.setup-card{padding:24px}.brand-subtitle{display:none}.roadmap-row{gap:7px}}
/* Tabel ringkas dan notifikasi global. */
.management-table th,.management-table td{padding:6px 10px;line-height:1.3}
.management-table .code-label{padding:2px 6px}
.management-table .btn-sm{padding:2px 8px;font-size:.75rem;line-height:1.4}
.batik-toast-container{position:fixed;top:16px;right:16px;z-index:2000;width:360px;max-width:calc(100vw - 32px)}
.batik-toast{background:#fff;box-shadow:0 5px 22px #0002;max-width:100%;width:100%}
.batik-toast .toast-body{white-space:pre-line;overflow-wrap:anywhere}
.master-form .form-group{margin-bottom:14px}

.purchase-items{min-width:900px}.purchase-items td:first-child{min-width:260px}.purchase-items input{min-width:100px}.purchase-items .form-control{font-size:.8rem}

.table th.money-cell,.table td.money-cell{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}
