:root{--font-family-sans:"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--type-body-size:14px;--type-body-line-height:20px;--type-page-title-size:32px;--type-page-title-line-height:38px;--type-page-title-weight:700;--type-page-description-size:14px;--type-page-description-line-height:20px;--type-page-description-weight:400;--bg:#f4f6fb;--surface:#fff;--border:#e3e3e3;--text:#151618;--muted:#75777e;--color-action-primary:#17656d;--color-action-primary-hover:#104e55;--color-action-primary-soft:#edf6f5;--color-action-focus:#17656d38;--color-action-danger:#ef1b24;--color-action-danger-hover:#cf1018;--color-action-danger-soft:#ffe5e5;--action-primary:var(--color-action-primary);--action-primary-hover:var(--color-action-primary-hover);--action-primary-soft:var(--color-action-primary-soft);--action-danger:var(--color-action-danger);--action-danger-hover:var(--color-action-danger-hover);--action-danger-soft:var(--color-action-danger-soft);--primary:var(--color-action-primary);--primary-dark:var(--color-action-primary-hover);--primary-surface:var(--color-action-primary-soft);--sidebar-bg:#121a2b;--sidebar-text:#b8c2d4;--radius:12px;--shadow:0 1px 3px #10182814;--danger:#ff3a3a;--success:#1fca31;--warning:#ffaa2b;--info:#396fef}*{box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font-family-sans);background:var(--bg);color:var(--text);font-size:var(--type-body-size);line-height:var(--type-body-line-height);margin:0}input,textarea,select,button{font-family:inherit}input::placeholder,textarea::placeholder{font-family:inherit;font-weight:400}input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]),textarea,select{font-weight:400}button{cursor:pointer}a{color:var(--primary);text-decoration:none}button,a,[role=button],.btn,.icon-btn,.action-button,.mini-button,.row-action,.page-btn,.pagination button{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,filter .18s,transform .18s,opacity .18s}button:not(:disabled):not(.active):hover,[role=button]:not([aria-disabled=true]):not(.active):hover,.btn:not(:disabled):not(.active):hover,.icon-btn:not(:disabled):not(.active):hover,.action-button:not(:disabled):not(.active):hover,.mini-button:not(:disabled):not(.active):hover,.row-action:not(:disabled):not(.active):hover,.page-btn:not(:disabled):not(.active):hover,.pagination button:not(:disabled):not(.active):hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:0 6px 14px #0f172a14}button:not(:disabled):focus-visible,a:focus-visible,[role=button]:not([aria-disabled=true]):focus-visible,.btn:not(:disabled):focus-visible,.icon-btn:not(:disabled):focus-visible,.action-button:not(:disabled):focus-visible,.mini-button:not(:disabled):focus-visible,.row-action:not(:disabled):focus-visible,.page-btn:not(:disabled):focus-visible,.pagination button:not(:disabled):focus-visible{outline:3px solid var(--color-action-focus);outline-offset:2px}button:disabled,[aria-disabled=true]{cursor:not-allowed}@media (prefers-reduced-motion:reduce){button,a,[role=button],.btn,.icon-btn,.action-button,.mini-button,.row-action,.page-btn,.pagination button{transition:none}button:not(:disabled):not(.active):hover,[role=button]:not([aria-disabled=true]):not(.active):hover,.btn:not(:disabled):not(.active):hover,.icon-btn:not(:disabled):not(.active):hover,.action-button:not(:disabled):not(.active):hover,.mini-button:not(:disabled):not(.active):hover,.row-action:not(:disabled):not(.active):hover,.page-btn:not(:disabled):not(.active):hover,.pagination button:not(:disabled):not(.active):hover{transform:none}}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{background:#f8fafc}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed}.input,select.input,textarea.input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:9px 12px;font-size:14px}.input:focus{outline:2px solid var(--color-action-focus);border-color:var(--primary)}.input::placeholder{color:#9ca3af}label.field-label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field{margin-bottom:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%}table.data thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);background:#fafbfd;padding:12px 14px;font-size:12px}table.data tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}table.data tbody tr:hover{background:#f8fafc}table.data tbody tr.wa-inactive-row,.data-table tbody tr.wa-inactive-row,.menu-table tbody tr.wa-inactive-row,tr.wa-inactive-row,table.data tbody tr.wa-inactive-row:hover,.data-table tbody tr.wa-inactive-row:hover,.menu-table tbody tr.wa-inactive-row:hover,tr.wa-inactive-row:hover{background:#f3f3f4!important}table.data tbody tr.wa-inactive-row>td,.data-table tbody tr.wa-inactive-row>td,.menu-table tbody tr.wa-inactive-row>td,tr.wa-inactive-row>td{color:#9a9ca2;background:#f3f3f4!important;border-bottom-color:#e1e2e5!important}tr.wa-inactive-row .outlet-name,tr.wa-inactive-row .outlet-meta,tr.wa-inactive-row .menu-name,tr.wa-inactive-row .menu-desc,tr.wa-inactive-row .menu-description,tr.wa-inactive-row .voucher-name,tr.wa-inactive-row .role-name,tr.wa-inactive-row .driver-name,tr.wa-inactive-row .num-val,tr.wa-inactive-row .cell-caption,tr.wa-inactive-row .outlet-count,tr.wa-inactive-row .muted{color:#9a9ca2!important}tr.wa-inactive-row .icon-btn,tr.wa-inactive-row .mini-button,tr.wa-inactive-row .action-button{color:#9a9ca2;background:#f7f7f8;border-color:#d5d7db}.badge{border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.badge-green{color:#15803d;background:#dcfce7}.badge-red{color:#b91c1c;background:#fee2e2}.badge-gray{color:#4b5563;background:#f3f4f6}.badge-blue{color:#1d4ed8;background:#dbeafe}.badge-amber{color:#b45309;background:#fef3c7}.badge-purple{color:#6d28d9;background:#ede9fe}.modal-overlay{z-index:50;background:#0f172a80;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:640px;box-shadow:0 20px 50px #0003}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-head h3{margin:0;font-size:16px}.modal-body{padding:20px}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.alert{border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px}.alert-error{color:#b91c1c;background:#fee2e2}.alert-success{color:#15803d;background:#dcfce7}.page{padding:24px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-title{font-family:var(--font-family-sans);font-size:var(--type-page-title-size);line-height:var(--type-page-title-line-height);font-weight:var(--type-page-title-weight);margin:0 0 4px}.page-sub{font-family:var(--font-family-sans);font-size:var(--type-page-description-size);line-height:var(--type-page-description-line-height);font-weight:var(--type-page-description-weight);color:var(--muted);margin:0}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .input{max-width:280px}.empty{text-align:center;color:var(--muted);padding:40px}.grid-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--muted)}.flex{align-items:center;gap:8px;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.grow{flex:1}.mt-16{margin-top:16px}.mb-0{margin-bottom:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.table-row-contract{border-collapse:separate;border-spacing:0}.table-row-contract tbody>tr{background:#fff}.table-row-contract tbody>tr>td{color:#2b2d33;vertical-align:middle;border-bottom:1px solid #eeeeef;padding:10px 12px;font-size:13px;line-height:1.4}.table-row-contract tbody>tr:last-child>td{border-bottom:0}.table-row-contract tbody>tr.wa-inactive-row,.table-row-contract tbody>tr.muted,.table-row-contract tbody>tr.disabled,.table-row-contract tbody>tr.is-inactive{background:#f6f7f9!important}.table-row-contract tbody>tr.wa-inactive-row>td,.table-row-contract tbody>tr.muted>td,.table-row-contract tbody>tr.disabled>td,.table-row-contract tbody>tr.is-inactive>td{color:#9aa0aa}.table-row-contract tbody>tr.warning,.table-row-contract tbody>tr.row-warning,.table-row-contract tbody>tr.row--warning,.table-row-contract tbody>tr.level-warning,.table-row-contract tbody>tr.level-awas{background:#fff7e9!important}.table-row-contract tbody>tr.danger,.table-row-contract tbody>tr.row-danger,.table-row-contract tbody>tr.row--danger,.table-row-contract tbody>tr.level-danger,.table-row-contract tbody>tr.level-kritis{background:#fff0f1!important}.session-overlay[data-v-e7c80921]{z-index:9999;background:#0f172a73;place-items:center;display:grid;position:fixed;inset:0}.session-modal[data-v-e7c80921]{background:#fff;border-radius:16px;width:min(440px,100vw - 32px);padding:28px;box-shadow:0 24px 64px #0f172a47}.session-modal h2[data-v-e7c80921]{margin:0 0 10px;font-size:22px}.session-modal p[data-v-e7c80921]{color:#667085;margin:0;line-height:1.5}.session-actions[data-v-e7c80921]{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.session-actions button[data-v-e7c80921]{font:inherit;cursor:pointer;border-radius:8px;padding:11px 18px;font-weight:700}.session-secondary[data-v-e7c80921]{color:#344054;background:#fff;border:1px solid #d0d5dd}.session-primary[data-v-e7c80921]{color:#fff;background:#17636b;border:1px solid #17636b}.session-primary[data-v-e7c80921]:hover:not(:disabled){background:#104e55;border-color:#104e55}.session-primary[data-v-e7c80921]:disabled{opacity:.65;cursor:wait}
