:root{color-scheme:dark;--bg: #001412;--bg-panel: #0a1f1c;--bg-card: #0f2824;--bg-hover: #143530;--border: #1e4a44;--text: #e8f5f2;--text-muted: #7aa89f;--accent: #14b8a6;--accent-dim: #0d9488;--danger: #ef4444;--warning: #f59e0b;--success: #22c55e;--group-24: #ef4444;--group-87: #f59e0b;--group-72: #3b82f6;--tx-misu: oklch(.78 .16 220);--tx-cash: #ef4444;--tx-sugeum: #a78bfa;--tx-jabi: #f59e0b;--tx-card: #2dd4bf;--tx-card-settlement: #14b8a6;font-family:Segoe UI,Malgun Gothic,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:8px;padding:8px 14px;transition:background .15s}.btn:hover{background:var(--bg-hover)}.btn-primary{background:var(--accent-dim);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent)}.btn-danger{background:#3f1515;border-color:var(--danger);color:#fecaca}.btn-sm{padding:4px 10px;font-size:13px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--border)}.badge-online{background:#14532d;color:#86efac;border-color:#166534}.badge-offline{background:#1f2937;color:#9ca3af}.badge-pending{background:#422006;color:#fcd34d;border-color:#854d0e}.badge-role-admin{background:#450a0a;color:#fca5a5}.badge-role-towel{background:#422006;color:#fcd34d}.badge-role-main{background:#0c4a6e;color:#7dd3fc}.badge-role-driver{background:#1f2937;color:#d1d5db}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);background:#00000026}.panel-header h2{margin:0;font-size:15px;font-weight:600}.panel-body{flex:1;overflow:auto;padding:10px}.scroll-list{display:flex;flex-direction:column;gap:6px}.scroll-list>*{flex-shrink:0}.list-item{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;padding:10px 12px;text-align:left;width:100%;color:inherit;transition:background .15s,border-color .15s}.list-item:hover{background:var(--bg-hover)}.list-item.active{border-color:var(--accent);background:#0f3530}.empty{color:var(--text-muted);text-align:center;padding:32px 16px;font-size:14px}.toast{position:fixed;top:16px;right:16px;z-index:1000;padding:12px 16px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 8px 24px #0006;animation:slideIn .2s ease}.toast.success{border-color:var(--success)}.toast.error{border-color:var(--danger)}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:900;padding:24px}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;width:min(560px,100%);max-height:90vh;overflow:auto;padding:20px}.modal h3{margin:0 0 16px}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.form-row label{font-size:13px;color:var(--text-muted)}.customer-admin-memo-label{font-size:13px;font-weight:600;color:#fbbf24}.customer-admin-memo-input{min-height:72px;resize:vertical}.customer-admin-memo-preview{margin:6px 0 0;padding:6px 8px;border-radius:6px;border:1px solid rgb(245 158 11 / .3);background:#f59e0b1a;color:#fcd34d;font-size:11px;line-height:1.4;white-space:pre-wrap;text-align:left}.customer-admin-memo-badge{margin-left:6px;padding:1px 6px;border-radius:999px;border:1px solid rgb(245 158 11 / .35);background:#f59e0b1f;color:#fbbf24;font-size:10px;font-weight:600}.form-row-label-with-checkbox{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form-row-label-with-checkbox>label:first-child{margin:0}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(20,184,166,.12),transparent 40%),radial-gradient(circle at 80% 80%,rgba(59,130,246,.08),transparent 35%),var(--bg)}.login-card{width:min(420px,100%);background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;padding:32px}.login-card h1{margin:0 0 4px;font-size:24px}.login-card p{margin:0 0 24px;color:var(--text-muted);font-size:14px}.login-logo{width:56px;height:56px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:16px}.dashboard{display:flex;height:100vh;min-height:0}.app-shell{overflow:hidden}.sidebar{width:200px;flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border);padding:12px 8px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.sidebar-brand{font-weight:700;font-size:15px;padding:10px 12px 16px;color:var(--accent)}.sidebar-item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;color:var(--text-muted);border-radius:10px;padding:10px 12px;text-align:left;font-size:14px}.sidebar-item:hover{background:var(--bg-hover);color:var(--text)}.sidebar-item.active{background:var(--accent-dim);color:#fff}.sidebar-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.main-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.content-area{flex:1;padding:12px;min-height:0;overflow:hidden}.messages-layout{display:grid;grid-template-columns:248px minmax(0,1fr) minmax(0,260px);gap:10px;height:100%;min-height:0;width:100%;overflow:hidden}.mobile-message-switcher{display:none}.messages-center{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.75fr);gap:10px;min-height:0;min-width:0;overflow:hidden}.driver-list-panel .panel-header{padding:10px}.driver-list-panel .panel-header h2{font-size:13px}.driver-list-multi-label{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1}.driver-list-multi-label input[type=checkbox]{flex-shrink:0;pointer-events:none}.driver-list-multi-item.active{outline:1px solid rgba(56,189,248,.45)}.message-list-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.message-list-selection-hint{padding:4px 12px 0;font-size:.85rem}.driver-list-panel .list-item{padding:8px;font-size:12px}.driver-list-panel .list-item strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-list-panel .badge{font-size:10px;padding:2px 6px}.messages-center .panel{min-width:0}.message-detail-panel .panel-body{padding:12px 14px}.message-detail-empty{display:flex;align-items:center;justify-content:center;min-height:200px}.message-detail-body{display:flex;flex-direction:column;gap:4px}.message-detail-check{display:flex;align-items:center;gap:8px;font-size:13px;margin:8px 0;cursor:pointer}.message-via-row label{align-self:start;padding-top:8px}.message-via-inputs{display:flex;gap:6px;flex:1}.message-via-inputs input:first-child{flex:1}.message-photo-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.message-detail-meta{margin-top:8px;font-size:12px}.message-detail-actions{margin-top:12px;position:sticky;bottom:0;background:var(--bg-panel);padding-top:8px}.list-item-compact{padding:8px 10px}.list-item-compact .list-item-sub{font-size:11px;margin-top:4px}.message-list-panel .panel-body.message-app-list{padding:0}.message-app-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:start;width:100%;padding:12px 14px;text-align:left;border:none;border-bottom:1px solid var(--border);background:transparent;color:inherit;cursor:pointer;transition:background .15s}.message-app-row:hover{background:var(--bg-hover)}.message-app-row.active{background:#14b8a61f;box-shadow:inset 3px 0 0 var(--accent)}.message-app-left{min-width:0;padding-top:2px}.message-app-group{font-size:13px;font-weight:700;line-height:1.2}.message-app-time{display:block;margin-top:4px;font-size:11px;color:var(--text-muted);white-space:nowrap}.message-app-center{min-width:0}.message-app-customer{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;line-height:1.35}.message-app-customer-name{font-size:14px;font-weight:600}.message-app-driver{font-size:12px;font-weight:500;color:var(--accent);white-space:nowrap}.message-app-route{margin:4px 0 0;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-app-note{color:var(--text-muted)}.message-app-errand{margin:4px 0 0;font-size:11px;color:var(--warning);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-app-right{flex-shrink:0;text-align:right;padding-top:2px}.message-app-amount{margin:0;font-size:14px;font-weight:700;white-space:nowrap}.message-app-type{margin:4px 0 0;font-size:11px;font-weight:500;color:var(--text)}.message-app-jabi{margin:2px 0 0;font-size:10px;font-weight:500;white-space:nowrap}.single-panel-wrap{height:100%;max-width:720px}.single-panel-wrap .panel,.panel-full{height:100%}.header-actions{display:flex;gap:8px}.text-muted{color:var(--text-muted)}.form-error{color:var(--danger);font-size:13px;margin:8px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.modal-wide{width:min(720px,100%)}.msg-compose-modal{width:min(440px,100%);padding:0;overflow:hidden;max-height:min(90vh,900px);display:flex;flex-direction:column}.msg-compose-form{display:flex;flex-direction:column;min-height:0;max-height:min(90vh,900px)}.msg-compose-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.msg-compose-head h3{margin:0;font-size:16px}.msg-compose-close{border:none;background:transparent;color:var(--text-muted);font-size:24px;line-height:1;padding:0 4px}.msg-compose-close:hover{color:var(--text)}.msg-compose-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.msg-compose-toggle-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.msg-compose-toggle{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:12px;padding:10px 8px;font-weight:600;font-size:14px}.msg-compose-toggle.active{font-weight:700}.msg-compose-field{display:flex;flex-direction:column;gap:6px}.msg-compose-label{font-size:12px;color:var(--text-muted)}.msg-compose-label.danger{color:var(--danger)}.msg-compose-label.warn{color:var(--warning)}.msg-compose-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.msg-compose-autocomplete{position:relative}.msg-compose-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000059;max-height:220px;overflow-y:auto}.msg-compose-suggest button{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}.msg-compose-suggest button:last-child{border-bottom:none}.msg-compose-suggest button:hover{background:var(--bg-hover)}.msg-compose-rec-tag{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:10px;font-weight:700}.msg-compose-amount-block{display:flex;flex-direction:column;gap:8px}.msg-compose-amount-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.msg-compose-chip-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.msg-compose-chip,.msg-compose-link{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:4px 10px;font-size:11px;white-space:nowrap}.msg-compose-chip.active-warn{border-color:var(--warning);color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent)}.msg-compose-chip.active-danger{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.msg-compose-link{border:none;border-radius:0;padding:0;color:var(--accent);font-size:12px}.msg-compose-link.danger{color:var(--danger)}.msg-compose-link.warn{color:var(--warning)}.msg-compose-amount-input{text-align:right;font-size:20px;font-weight:700}.msg-compose-amount-input.small{font-size:16px}.msg-compose-quick-amounts{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.msg-compose-route-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--bg-card);display:flex;flex-direction:column;gap:10px}.msg-compose-route-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.msg-compose-route-row{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:start}.msg-compose-route-label{font-size:12px;padding-top:10px}.msg-compose-route-label.sugeum{color:var(--tx-sugeum);font-weight:600}.msg-compose-route-label.muted{color:var(--text-muted)}.msg-compose-route-input-wrap{display:flex;flex-direction:column;gap:6px;min-width:0}.msg-compose-route-input-line{display:flex;gap:6px;align-items:center}.msg-compose-route-input-line input,.msg-compose-route-input-wrap>input{flex:1;min-width:0}.msg-compose-wait-btn{flex-shrink:0;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:transparent;color:var(--accent);border-radius:8px;padding:8px 10px;font-size:11px;white-space:nowrap}.msg-compose-wait-btn.active{border-color:var(--warning);color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);font-weight:600}.msg-compose-wait-btn.danger{border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.msg-compose-wait-input{display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);background:color-mix(in srgb,var(--warning) 8%,transparent);border-radius:8px;padding:6px 10px}.msg-compose-wait-input span:first-child{font-size:11px;font-weight:600;color:var(--warning);white-space:nowrap}.msg-compose-wait-input input{flex:1;min-width:0;border:none;background:transparent;text-align:right;font-weight:600;padding:4px}.msg-compose-jabi{margin-top:4px}.msg-compose-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--border);flex-shrink:0}.msg-compose-form.embedded{height:100%;max-height:none;min-height:0}.message-detail-panel{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden}.message-detail-panel .msg-compose-form{flex:1;min-height:0}.msg-compose-form.embedded .msg-compose-actions{justify-content:space-between}.msg-compose-photos{display:flex;flex-direction:column;gap:8px}.msg-compose-photo-list{display:flex;flex-wrap:wrap;gap:6px}.msg-compose-meta{margin:0;font-size:12px}.panel-full .panel-body,.messages-layout .panel{min-height:0}.list-item-static{cursor:default}.inline-actions{display:flex;gap:6px;margin-top:10px}.segmented{display:flex;gap:6px;flex-wrap:wrap}.stats-body{padding:12px}.stats-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.stats-call-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.stats-excluded-panel{margin-bottom:12px;border:1px solid var(--border);border-radius:12px;background:#f59e0b0f;overflow:hidden}.stats-excluded-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:none;background:transparent;color:var(--text);font-size:14px;text-align:left;cursor:pointer}.stats-excluded-toggle strong{color:#fbbf24}.stats-excluded-hint{margin:0;padding:0 14px 10px;font-size:12px;line-height:1.5}.stats-excluded-table-wrap{max-height:360px;overflow:auto;border-top:1px solid var(--border)}.stats-excluded-table{width:100%;border-collapse:collapse;font-size:12px}.stats-excluded-table th,.stats-excluded-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.stats-excluded-table thead th{position:sticky;top:0;background:var(--bg-card);color:var(--text-muted);font-weight:600;z-index:1}.stats-excluded-memo{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}.stat-card-group strong{font-size:24px}.stat-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.stat-sub-split{display:block;margin-top:2px}.driver-per-case-toggle{display:inline-flex;align-items:center;gap:4px;font-size:12px;cursor:pointer;margin-right:8px}.contract-section-title{margin:12px 0 8px;font-size:13px;font-weight:700;color:var(--text-muted)}.contract-missing-section{margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--border)}.contract-missing-item{border-color:#f59e0b59;background:#f59e0b0f}.checkbox-inline{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.deposit-bank-options{display:flex;flex-wrap:wrap;gap:8px}.deposit-bank-option{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);cursor:pointer;font-size:13px}.deposit-bank-option:has(input:checked){border-color:var(--accent);background:#14b8a614}.deposit-bank-short,.deposit-bank-badge{color:var(--text-muted);font-size:12px}.deposit-bank-badge{margin-left:4px}.deposit-bank-add-form{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:8px}@media(max-width:640px){.deposit-bank-add-form{grid-template-columns:1fr}}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}.stat-card-expandable{padding:0;overflow:hidden}.stat-card-main{padding:14px 14px 4px;display:flex;flex-direction:column;gap:6px}.stat-card-expand-toggle{width:100%;padding:4px 14px 10px;border:none;background:transparent;text-align:right;cursor:pointer;font-size:12px}.stats-expand-body{border-top:1px solid var(--border);padding:8px 14px 12px;max-height:220px;overflow:auto}.stats-expand-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:12px}.stats-expand-row span{color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-expand-row strong{font-size:13px;font-weight:600;flex-shrink:0}.stat-card span{font-size:12px;color:var(--text-muted)}.stat-card strong{font-size:20px}.stat-card.highlight strong{color:var(--accent)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stats-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px}.stats-section h3{margin:0 0 10px;font-size:14px}.stats-row{display:flex;justify-content:space-between;gap:8px;padding:6px 0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.04)}.stats-row:last-child{border-bottom:none}.empty-inline{color:var(--text-muted);font-size:13px}.attendance-highlight{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:8px;border-radius:10px;background:#14b8a61f;border:1px solid rgba(20,184,166,.35)}.schedule-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 12px}.schedule-shift-tabs{padding:0}.schedule-shift-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:0 12px 10px}.schedule-classify-panel{margin:0 12px 12px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.schedule-classify-head,.schedule-classify-row{display:grid;grid-template-columns:1.2fr .5fr 1.8fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.12)}.schedule-classify-head{font-size:12px;color:#94a3b8;font-weight:600}.schedule-classify-row:last-child{border-bottom:none}.schedule-classify-name{font-weight:600}.schedule-classify-current{color:#94a3b8;font-size:13px}.schedule-classify-actions{justify-self:end}.schedule-classify-actions .tab-btn{padding:4px 8px;font-size:11px}.schedule-classify-empty{margin:0 12px 12px}.schedule-attendance-table .schedule-row{grid-template-columns:minmax(148px,1.15fr) repeat(7,minmax(72px,1fr));text-align:center}.schedule-attendance-table .schedule-name{min-width:148px;justify-content:center;text-align:center}.schedule-attendance-table .schedule-attendance-cell,.schedule-attendance-day-cell{position:relative;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:58px;padding:6px 5px;text-align:center}.schedule-attendance-driver-head{font-size:12px;justify-content:center}.schedule-attendance-driver-col{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;justify-content:center;min-height:58px;padding:6px 5px;text-align:center}.schedule-attendance-driver-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:700;line-height:1.35;color:#e2e8f0;text-align:center}.schedule-attendance-driver-default{display:block;width:100%;margin:0;padding:0;border:none;background:none;text-align:center;font-size:11px;line-height:1.4;color:#94a3b8;cursor:pointer}.schedule-attendance-driver-default:hover{color:#5eead4}.schedule-attendance-edit-popover--driver{top:calc(100% + 2px);left:50%;transform:translate(-50%)}.schedule-attendance-day-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;min-height:16px;width:100%}.schedule-attendance-toolbar-sep{color:#475569;font-size:10px;line-height:1}.schedule-attendance-toolbar-hours{font-size:10px;font-weight:600;color:#cbd5e1;white-space:nowrap}.schedule-attendance-day-range{margin:0;font-size:11px;font-weight:600;line-height:1.35;color:#e2e8f0;text-align:center;word-break:keep-all;width:100%}.schedule-attendance-driver-name{display:block}.schedule-shift-tag{display:inline-block;margin-top:0;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:700;line-height:1.4}.schedule-shift-tag--day{color:#6ee7b7;background:#10b98126}.schedule-shift-tag--night{color:#93c5fd;background:#3b82f626}.schedule-attendance-day-head,.schedule-attendance-day-display{display:none}.schedule-attendance-edit-btn{flex-shrink:0;padding:1px 5px;border:1px solid rgba(148,163,184,.35);border-radius:4px;background:#0f172a80;color:#cbd5e1;font-size:9px;line-height:1.3;cursor:pointer}.schedule-attendance-edit-btn:hover{border-color:#2dd4bf80;color:#5eead4}.schedule-attendance-day-display{display:flex;flex-direction:column;gap:2px}.schedule-attendance-day-line{display:flex;align-items:baseline;gap:4px;min-width:0}.schedule-attendance-day-label{flex-shrink:0;width:12px;font-size:9px;color:#64748b;font-weight:600}.schedule-attendance-day-value{font-size:11px;font-weight:600;color:#e2e8f0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-attendance-edit-backdrop{position:fixed;inset:0;z-index:40;border:none;background:transparent;cursor:default}.schedule-attendance-edit-popover{position:absolute;top:calc(100% - 4px);left:50%;z-index:50;transform:translate(-50%);min-width:132px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#0f172a;box-shadow:0 8px 24px #00000073}.schedule-attendance-edit-title{margin:0 0 6px;font-size:10px;font-weight:600;color:#94a3b8}.schedule-attendance-edit-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.schedule-attendance-table .schedule-attendance-default-head,.schedule-attendance-table .schedule-attendance-default-cell{padding:6px 4px;border-right:1px solid var(--border);background:#0f172a59}.schedule-attendance-default-head{font-size:11px;color:#94a3b8;display:flex;align-items:center;justify-content:center;text-align:center}.schedule-attendance-default-cell{display:flex;flex-direction:column;gap:4px;min-height:72px}.schedule-attendance-cell--default{background:#3b82f60f}.schedule-attendance-cell--override{background:#f59e0b14;box-shadow:inset 0 0 0 1px #f59e0b40}.schedule-attendance-cell--off{justify-content:center;align-items:stretch;min-height:58px;padding:4px 3px}.schedule-attendance-off-label{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:8px 4px;border-radius:6px;border:1px solid rgba(239,68,68,.35);font-size:13px;font-weight:700;letter-spacing:.04em}.schedule-attendance-foot,.schedule-hourly-foot{background:#00000040;font-weight:600}.schedule-attendance-foot-cell,.schedule-hourly-foot-cell{font-size:12px}.schedule-attendance-foot-cell strong,.schedule-hourly-foot-cell strong{color:#5eead4}.schedule-hourly-mode-tabs{margin:0 0 12px;align-self:flex-start}.schedule-hourly-wrap{overflow-x:auto;width:100%;padding:0 4px 4px}.schedule-hourly-split{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px;width:100%}.schedule-hourly-half{flex:0 1 auto}.schedule-hourly-half-title{margin:0 0 6px;text-align:center;font-size:12px;font-weight:700;color:#94a3b8}.schedule-hourly-table{width:max-content;max-width:100%}.schedule-hourly-table .schedule-row{grid-template-columns:36px repeat(7,50px)}.schedule-hourly-table .schedule-name,.schedule-hourly-table .schedule-cell{min-height:32px;padding:3px 2px}.schedule-hourly-day-head{flex-direction:column;gap:0;line-height:1.15;font-size:11px}.schedule-hourly-dow{font-size:10px;color:#94a3b8;font-weight:500}.schedule-hourly-time{justify-content:center;text-align:center;font-size:11px;font-weight:600;color:#cbd5e1;padding:2px 1px}.schedule-hourly-cell{font-size:11px;font-weight:600;color:#64748b}.schedule-hourly-cell.has-staff{color:#e2e8f0;background:#2dd4bf14}.schedule-hourly-cell--shift{flex-direction:column;gap:1px;line-height:1.2}.schedule-hourly-cell-main{font-size:11px;font-weight:700}.schedule-hourly-cell-sub{font-size:9px;font-weight:500;color:#94a3b8;white-space:nowrap}.schedule-hourly-foot .schedule-name,.schedule-hourly-foot-cell{font-size:11px}.schedule-hourly-foot-cell strong{color:#5eead4;font-size:12px}.schedule-hourly-row:hover .schedule-hourly-cell.has-staff{background:#2dd4bf24}.schedule-attendance-cell-head{display:none}.schedule-attendance-badge{font-size:9px;line-height:1;padding:2px 4px;border-radius:4px;font-weight:600;letter-spacing:.02em}.schedule-attendance-badge--default{color:#93c5fd;background:#3b82f626}.schedule-attendance-badge--override{color:#fcd34d;background:#f59e0b2e}.schedule-attendance-badge--attendance{color:#94a3b8;background:#94a3b81f}.schedule-attendance-field{display:grid;grid-template-columns:16px 1fr;gap:4px;align-items:center;font-size:11px;color:#94a3b8}.schedule-attendance-field input[type=time]{width:100%;min-width:0;padding:2px 4px;font-size:11px;border-radius:4px;border:1px solid var(--border);background:#0f172a99;color:var(--text)}.schedule-attendance-source{font-size:10px;line-height:1.2;text-align:center;width:100%}.schedule-table{overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.schedule-row{display:grid;grid-template-columns:140px repeat(7,minmax(72px,1fr));border-bottom:1px solid var(--border)}.schedule-row:last-child{border-bottom:none}.schedule-head,.schedule-foot{background:#0003;font-size:12px;font-weight:600}.schedule-name{padding:10px;display:flex;align-items:center;font-size:12px;font-weight:600}.schedule-cell{padding:8px 4px;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--border);font-size:11px;min-height:42px}.schedule-btn{border:1px solid var(--border);background:var(--bg-panel);color:inherit;border-radius:6px;margin:4px;cursor:pointer}.schedule-work{background:#10b98126;border-color:#10b98159;color:#6ee7b7}.schedule-off{background:#ef44441f;border-color:#ef444459;color:#fca5a5}.schedule-half{background:#f59e0b1f;border-color:#f59e0b59;color:#fcd34d}.schedule-leave{background:#0ea5e91f;border-color:#0ea5e959;color:#7dd3fc}.schedule-hint{margin:10px 0 0;font-size:12px;color:var(--text-muted)}.schedule-view-tabs{padding:0 12px 8px}.schedule-draft-toolbar{flex-wrap:wrap;gap:10px}.schedule-draft-actions{display:flex;gap:8px;flex-wrap:wrap}.schedule-request-cell{flex-direction:column;gap:4px;margin:4px;border-radius:6px;border:2px solid rgba(245,158,11,.55);background:#f59e0b1a;min-height:56px;padding:4px 2px}.schedule-request-label{font-size:10px;font-weight:700;color:#fcd34d}.schedule-request-reason,.schedule-request-reason-inline{font-size:9px;color:var(--text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-request-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.schedule-request-actions-inline{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:4px}.schedule-reject-modal{max-width:420px}.schedule-reject-summary{margin:0 0 12px;font-size:13px}.schedule-reject-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.schedule-reject-label textarea{width:100%;min-height:96px;resize:vertical}.schedule-reject-hint{margin:8px 0 0;font-size:12px}.btn-xs.btn-danger{background:#ef444426;border-color:#ef444473;color:#fca5a5}.schedule-btn-has-request{flex-direction:column;gap:2px;min-height:52px;border-width:2px;border-color:#f59e0b73!important}.schedule-request-badge{font-size:9px;font-weight:700;color:#fcd34d}.schedule-draft-main{border:none;background:transparent;color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;width:100%;font:inherit}.btn-xs{padding:2px 6px;font-size:10px;min-height:22px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border);background:#0003}.dashboard-header-left{display:flex;align-items:center;gap:12px}.dashboard-header-left h1{margin:0;font-size:18px}.dashboard-header-left span{color:var(--text-muted);font-size:13px}.dashboard-stats{display:flex;gap:16px;font-size:13px}.dashboard-stats strong{color:var(--accent)}.dashboard-main{flex:1;display:grid;grid-template-columns:260px 1fr 340px;gap:12px;padding:12px;min-height:0}.dashboard-tabs{display:flex;gap:6px;padding:0 12px 12px}.tab-btn{padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:13px}.tab-btn.active{background:var(--accent-dim);border-color:var(--accent);color:#fff}.tx-type{font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px}.tx-type-misu{background:#312e81;color:#c4b5fd}.tx-type-cash{background:#450a0a;color:#fca5a5}.tx-type-sugeum{background:#1e1b4b;color:#a5b4fc}.tx-type-jabi{background:#422006;color:#fcd34d}.group-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.request-pending{border-left:3px solid var(--warning)}.request-delete{border-left:3px solid var(--danger)}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;padding:0 10px 10px}.filter-bar input,.filter-bar select{flex:1;min-width:120px;font-size:13px}.week-day-strip{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 10px}.week-day-btn{min-width:44px;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:13px;font-weight:600}.week-day-btn:hover{background:var(--bg-hover);color:var(--text)}.week-day-btn.active{border-color:var(--accent);background:#14b8a62e;color:var(--accent)}.pl-side-hint{margin:0 0 8px;font-size:11px;line-height:1.4}.text-keep{color:#34d399;font-weight:700}.group-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 6px;border-radius:6px}.customer-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;overflow:hidden;transition:border-color .15s}.customer-card.expanded{border-color:var(--accent);background:#0f3530}.customer-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;color:inherit;text-align:left}.customer-card-head:hover{background:#ffffff08}.customer-card-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}.customer-card-title strong{font-weight:600}.customer-card-counts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:12px}.customer-card-balance{text-align:right;flex-shrink:0}.customer-card-balance span{display:block;font-size:11px}.customer-card-balance strong{font-size:15px;font-weight:700}.customer-card-actions{padding:0 14px 10px;margin-top:0}.customer-detail{padding:0 14px 14px;border-top:1px solid var(--border)}.customer-detail-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.customer-detail-actions .btn{flex:1}.customer-detail-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-alert-dialog{width:min(560px,100%);max-height:86dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:20px 20px 16px}.app-alert-backdrop{z-index:1100}.app-alert-dialog-header{min-height:0;text-align:left}.app-alert-dialog-header h3{margin:0 0 12px;font-size:18px}.app-alert-dialog-body{max-height:62dvh;overflow-y:auto;white-space:pre-wrap;text-align:left;font-size:13px;line-height:1.55;color:var(--text);padding-right:8px}.app-alert-dialog-line-highlight{font-weight:700;color:var(--danger)}.app-alert-dialog-footer{margin-top:16px}.app-alert-dialog-footer .btn{width:100%;padding:12px 16px;font-size:15px;font-weight:600}.customer-detail-hint{margin:8px 0 0;font-size:12px;color:#fbbf24}.customer-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.customer-stat-box{border-radius:10px;padding:10px 12px;font-size:13px}.customer-stat-box span{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}.customer-stat-box strong{font-size:14px;font-weight:600}.customer-tx-opening{text-align:left;font-weight:700;color:var(--warning);word-break:break-word}.customer-tx-opening-keep{text-align:left;font-weight:700;color:#34d399;word-break:break-word}.customer-tx-row-manual .customer-tx-detail{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.customer-tx-entry-actions{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.customer-formula{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#00000026;font-size:13px}.customer-formula-label{margin:0 0 6px;font-size:11px;color:var(--text-muted)}.customer-formula-result{margin-top:8px!important;font-size:14px;font-weight:600}.customer-tx-title{margin:0 0 8px;font-size:12px;color:var(--text-muted)}.customer-tx-head,.customer-tx-row{display:grid;grid-template-columns:3.25rem minmax(0,1fr) 4.75rem;gap:8px;align-items:start;padding:6px 4px;font-size:12px}.customer-tx-head{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px}.customer-tx-head span:last-child,.customer-tx-cum{text-align:right;font-weight:700}.customer-tx-row{border-bottom:1px solid rgba(255,255,255,.06)}.customer-tx-row:last-of-type{border-bottom:none}.customer-tx-detail{min-width:0;line-height:1.45;word-break:break-word;text-align:left}.customer-tx-opening{font-weight:700;color:var(--warning);word-break:break-word}.customer-tx-opening-keep{font-weight:700;color:#34d399;word-break:break-word}.stats-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px;min-width:0}.chart-card h3{margin:0 0 10px;font-size:14px;font-weight:600}.chart-box{height:240px;width:100%}.chart-box-sm{height:220px}.stats-analysis-summary{margin-bottom:16px}.stat-card-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card-half{display:flex;flex-direction:column;gap:4px;min-width:0}.stat-card-split .stat-card-half+.stat-card-half{border-left:1px solid var(--border);padding-left:12px}.stats-analysis-grid .chart-card-wide{grid-column:1 / -1}.stats-analysis-focus{color:var(--accent)}.stats-analysis-hint{margin:10px 0 0;font-size:12px;color:var(--text-muted)}.stat-card-truncate{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.stats-rank-list{display:flex;flex-direction:column;gap:8px}.stats-rank-row{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(80px,120px) 44px;gap:8px;align-items:center;font-size:13px}.stats-rank-row-btn{width:100%;border:1px solid transparent;background:transparent;color:inherit;border-radius:8px;padding:6px 8px;text-align:left;cursor:pointer}.stats-rank-row-btn:hover{background:#14b8a614}.stats-rank-row-btn.active{border-color:#14b8a659;background:#14b8a61f}.stats-rank-no{color:var(--text-muted);font-size:12px;text-align:center}.stats-rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-rank-bar-wrap{height:8px;background:#ffffff0f;border-radius:999px;overflow:hidden}.stats-rank-bar{display:block;height:100%;background:#14b8a6;border-radius:999px}.stats-rank-bar-alt{background:#3b82f6}.stats-rank-bar-customer{background:#f59e0b}.stats-rank-row strong{text-align:right;font-size:12px}.detail-grid{display:grid;grid-template-columns:100px 1fr;gap:8px 12px;font-size:13px}.detail-grid dt{color:var(--text-muted)}.detail-grid dd{margin:0}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warn{color:var(--warning)}.group-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px}.customer-row{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;padding:10px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-row-main{flex:1;min-width:0}.customer-row-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.customer-row-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:13px}.customer-row-actions{margin-top:0;flex-shrink:0}.misu-panel{display:flex;flex-direction:column;min-height:0;height:100%}.misu-panel-header,.misu-panel-tabs{flex-shrink:0}.misu-panel-header{flex-wrap:wrap;align-items:baseline;gap:10px 16px}.misu-panel-header h2{flex-shrink:0}.misu-panel .misu-panel-total{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;font-weight:400;margin-left:auto}.misu-panel-remaining{color:var(--text-muted)}.misu-panel-remaining strong{font-weight:700}.misu-weekly-summary-panel{display:flex;flex-direction:column;gap:12px;padding:4px 2px 16px}.misu-weekly-toolbar{flex-wrap:wrap;align-items:center;gap:8px}.misu-weekly-meta{margin-left:auto;font-size:13px}.misu-weekly-summary-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2);font-size:14px}.misu-weekly-note{margin:0;font-size:12px;line-height:1.5}.misu-sort-bar{display:flex;gap:6px;flex-wrap:wrap;padding:0 10px 10px}.misu-sort-bar-end{margin-left:auto}.collection-history-panel{display:flex;flex-direction:column;gap:10px;padding:0 10px 10px;min-height:0;flex:1}.collection-history-toolbar{align-items:center}.collection-history-kind-filter{margin-left:4px}.collection-history-meta{margin-left:auto;font-size:13px}.collection-history-bank-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 2px}.collection-history-bank-label{font-size:13px;flex-shrink:0}.collection-history-bank-filter{flex:1;min-width:0}.collection-history-detail .deposit-bank-badge{margin-right:6px}.collection-history-summary{display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);font-size:14px}.collection-history-list{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel)}.collection-history-head,.collection-history-row{display:grid;grid-template-columns:88px 72px minmax(120px,1.2fr) 96px minmax(0,1.5fr);gap:8px;align-items:center;padding:8px 12px;text-align:left}.collection-history-head{position:sticky;top:0;z-index:1;font-size:12px;color:var(--text-muted);background:var(--bg-card);border-bottom:1px solid var(--border)}.collection-history-row{width:100%;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:13px}.collection-history-row:not(:disabled):hover{background:var(--bg-hover)}.collection-history-row:disabled{cursor:default}.collection-history-date{display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums;white-space:nowrap}.collection-history-date-registered{font-size:11px;line-height:1.2}.collection-history-kind{font-size:12px;font-weight:600}.collection-kind-sugeum,.collection-kind-deposit{color:var(--tx-sugeum)}.collection-kind-card-settlement{color:var(--tx-card-settlement)}.collection-history-customer{display:flex;align-items:center;gap:6px;min-width:0}.collection-history-customer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-history-amount{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.collection-history-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.misu-panel-tabs{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;padding:0 10px 10px;border-bottom:1px solid var(--border)}.misu-finance-panel{padding:10px;display:flex;flex-direction:column;gap:12px}.misu-finance-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px}.misu-finance-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.misu-finance-filters label{display:inline-flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.misu-finance-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px}.misu-finance-desc{margin:0;font-size:13px;line-height:1.5}.misu-finance-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.misu-finance-form label{display:inline-flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.misu-finance-form-memo{flex:1;min-width:160px}.misu-finance-list{max-height:420px}.misu-finance-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);margin-bottom:8px}.misu-finance-row-deposited{opacity:.72;border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.misu-finance-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer;min-width:72px}.misu-finance-check input{accent-color:var(--accent);cursor:pointer}.misu-finance-row-deposited .misu-finance-check span{color:var(--accent)}.misu-finance-match{display:inline-flex;flex-direction:column;gap:2px;font-size:11px;min-width:180px}.misu-finance-match select{font-size:12px;max-width:220px}.card-settlement-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.card-settlement-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.card-settlement-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.card-settlement-form-grid input,.card-settlement-form-grid select{font-size:13px}.card-settlement-form-wide{grid-column:span 2}@media(max-width:720px){.card-settlement-form-wide{grid-column:span 1}}.card-settlement-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.card-settlement-table{width:100%;min-width:1400px;border-collapse:collapse;font-size:12px}.card-settlement-table th,.card-settlement-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.card-settlement-table th{position:sticky;top:0;background:var(--bg-elevated);color:var(--text-muted);font-weight:600}.card-settlement-table td.num{font-variant-numeric:tabular-nums;text-align:right}.card-settlement-match{max-width:200px;overflow:hidden;text-overflow:ellipsis}.card-settlement-match-select{min-width:140px;max-width:180px;font-size:12px}.card-settlement-table-wrap-compact{border:none;background:transparent}.card-settlement-table-wrap-compact .card-settlement-table{min-width:520px}.split-pane-row-active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.split-pane{display:grid;grid-template-columns:minmax(280px,42%) minmax(320px,58%);gap:12px;min-height:480px;height:calc(100vh - 240px);max-height:820px}.misu-customer-split{height:calc(100vh - 280px)}.split-pane-left,.split-pane-right{min-height:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);overflow:hidden;display:flex;flex-direction:column}.split-pane-list{flex:1;overflow:auto;padding:8px}.split-pane-list-item{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:10px 12px;margin-bottom:6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:inherit;cursor:pointer}.split-pane-list-item:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.split-pane-list-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-elevated))}.split-pane-list-item.deposited{opacity:.85}.split-pane-list-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.split-pane-list-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.split-pane-list-balance{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.split-pane-right{overflow:auto}.split-pane-detail{padding:16px}.split-pane-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.split-pane-detail-head h3{margin:0;font-size:16px}.split-pane-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.split-pane-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0 0 16px}.split-pane-detail-grid div{display:flex;flex-direction:column;gap:4px}.split-pane-detail-grid dt{font-size:11px;color:var(--text-muted)}.split-pane-detail-grid dd{margin:0;font-size:13px}.split-pane-detail-grid .wide{grid-column:1 / -1}.split-pane-detail-match,.split-pane-detail-check{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:12px;color:var(--text-muted)}.split-pane-detail-match select{font-size:13px}.split-pane-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;padding:24px;text-align:center;color:var(--text-muted);font-size:14px}@media(max-width:960px){.split-pane{grid-template-columns:1fr;height:auto;max-height:none}.split-pane-left{max-height:320px}}.misu-finance-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.misu-finance-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px}.misu-finance-date{font-variant-numeric:tabular-nums;color:var(--text-muted)}.misu-finance-amount{color:var(--accent)}.misu-deposit-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.misu-deposit-compare-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);font-size:13px}.misu-deposit-compare-card.warn strong{color:var(--warning)}.misu-deposit-compare-card.ok strong{color:var(--success)}.misu-deposit-group-grid{display:flex;flex-wrap:wrap;gap:8px}.misu-deposit-group-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);font-size:13px}.misu-sub-panel-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;gap:8px}.misu-placeholder-title{margin:0;font-size:16px;font-weight:600}.misu-approval-panel{padding:10px}.misu-approval-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.misu-approval-desc{margin:0;font-size:13px}.misu-approval-list{display:flex;flex-direction:column;gap:10px}.misu-approval-row{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-card)}.misu-approval-row.pending{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}.misu-approval-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px}.misu-approval-diff{margin-top:8px;font-size:13px;line-height:1.5}.misu-approval-actions{display:flex;gap:8px;margin-top:10px}.misu-main-intro{padding:10px 10px 0}.misu-main-drivers{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.misu-main-driver-chip{font-size:12px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}.misu-main-driver-chip em{font-style:normal;color:var(--text-muted)}.misu-main-summary{margin-top:8px;margin-left:0!important}.main-settlement-panel{padding:10px;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.main-settlement-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.main-settlement-collection-banner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.main-settlement-collection-main{display:flex;align-items:baseline;gap:10px}.main-settlement-collection-label{font-size:.95rem;color:var(--muted)}.main-settlement-collection-pct{font-size:1.75rem;line-height:1.1;color:var(--accent)}.main-settlement-collection-detail{margin:0;font-size:.85rem}.main-settlement-week{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.main-settlement-date-label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.main-settlement-range{font-size:13px}.main-settlement-actions{display:flex;align-items:center;gap:10px}.main-settlement-saved{font-size:12px}.main-settlement-formula{margin:0;font-size:13px;line-height:1.5}.main-settlement-error{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);font-size:13px}.main-settlement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.main-settlement-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-card);padding:12px;display:flex;flex-direction:column;gap:10px}.main-settlement-card-head{display:flex;align-items:flex-start;gap:10px}.main-settlement-plan-toggle{flex-shrink:0}.main-settlement-72-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto}.main-settlement-received{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.main-settlement-received-label{font-size:12px;color:var(--muted);margin-right:2px}.main-settlement-received-btn{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer}.main-settlement-received-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.main-settlement-received-btn.active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 18%,transparent);font-weight:600}.main-settlement-received-btn.active.plan1,.main-settlement-received-btn.active.plan2{color:var(--accent)}.main-settlement-received-btn.active.exclude{border-color:#c45c26;color:#c45c26;background:color-mix(in srgb,#c45c26 14%,transparent)}.main-settlement-received-deposit{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:6px;max-width:340px}.main-settlement-received-deposit label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}.main-settlement-received-deposit input{min-width:0;width:120px;font-size:12px;padding:4px 6px}.main-settlement-received-deposit input[type=datetime-local]{width:168px}.main-settlement-received-hint{margin:0;font-size:11px;text-align:right;max-width:280px;line-height:1.35}.main-settlement-plan-toggle .tab-btn{min-width:52px}.main-settlement-card-head strong{display:block;font-size:15px}.main-settlement-card-head p{margin:2px 0 0;font-size:12px}.main-settlement-rows{display:flex;flex-direction:column;gap:6px}.main-settlement-row{display:grid;grid-template-columns:72px 1fr 1fr;gap:8px;align-items:center;font-size:13px}.main-settlement-row.highlight{font-weight:600}.main-settlement-row-label{color:var(--text-muted)}.main-settlement-row-auto{text-align:right;font-size:12px}.main-settlement-row input{width:100%;padding:6px 8px;font-size:13px}.main-settlement-row input.overridden{border-color:var(--accent)}.main-settlement-divider{height:1px;background:var(--border);margin:4px 0}.main-settlement-rate{display:flex;flex-direction:column;gap:4px;font-size:13px}.main-settlement-rate label{display:flex;align-items:center;gap:8px}.main-settlement-rate input{width:64px;padding:6px 8px}.main-settlement-result{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);margin-top:4px}.main-settlement-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.main-settlement-result-formula{font-size:12px}.main-settlement-result strong{font-size:18px;color:var(--accent)}.main-settlement-result-sub{margin-top:8px;padding:10px 12px;background:var(--bg-panel);border-color:var(--border)}.main-settlement-result-sub strong{font-size:16px;color:var(--tx-sugeum)}.main-settlement-result-total{margin-top:8px;border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--bg-card))}.main-settlement-result-total strong{font-size:20px}.main-settlement-note{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.main-settlement-note textarea{resize:vertical;min-height:48px}.main-settlement-reset{align-self:flex-start}.main-settlement-details-wrap{display:flex;flex-direction:column;gap:6px;margin-top:8px}.main-settlement-details{border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);padding:8px 10px;font-size:12px}.main-settlement-details.nested{margin:6px 0 0 8px;background:var(--bg-card)}.main-settlement-details>summary{cursor:pointer;font-weight:600;color:var(--text);list-style-position:outside}.main-settlement-details-empty{margin:6px 0 0;font-size:12px}.main-settlement-details-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.main-settlement-details-list li{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch;padding:0;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.main-settlement-details-item{display:grid;grid-template-columns:72px 1fr auto;gap:8px;align-items:center;width:100%;padding:6px 4px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:6px}.main-settlement-details-item:hover:not(:disabled){background:var(--bg-hover)}.main-settlement-details-item:disabled{cursor:default}.main-settlement-details-item strong{text-align:right;color:var(--tx-sugeum);font-size:12px}.main-settlement-result-details summary:after{content:" · 클릭 시 계산식";font-size:11px;color:var(--text-muted);font-weight:400}.main-settlement-customer-explain-modal{width:min(480px,100%);max-height:min(88vh,720px);display:flex;flex-direction:column;padding:0;overflow:hidden}.main-settlement-customer-explain-head{display:flex;justify-content:space-between;gap:12px;padding:16px 16px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.main-settlement-customer-explain-head h3{margin:0 0 4px}.main-settlement-customer-explain-head p{margin:0;font-size:12px}.main-settlement-customer-explain-total{text-align:right;flex-shrink:0}.main-settlement-customer-explain-total strong{display:block;font-size:18px;color:var(--accent)}.main-settlement-customer-explain-body{padding:12px 16px;flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.main-settlement-customer-explain-body .main-misu-detail-card{margin:0}.main-settlement-customer-explain-modal .form-actions{flex-shrink:0;padding:12px 16px 16px;border-top:1px solid var(--border)}.main-settlement-deposit-hint{display:block;font-size:12px;margin-top:2px}.main-settlement-result-total.due-deposit strong{color:var(--success)}.main-settlement-result-total.over-collected strong{color:var(--warning)}.main-settlement-result.has-breakdown{gap:6px}.main-settlement-result-details{margin-top:4px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:6px;background:color-mix(in srgb,var(--bg-panel) 80%,transparent);padding:6px 8px;font-size:12px}.main-settlement-result-details>summary{cursor:pointer;font-weight:600;color:var(--text-muted);list-style-position:outside}.main-settlement-result-details .main-settlement-details-list{max-height:180px;overflow:auto;margin-top:6px}.main-settlement-calc-summary{margin-top:12px;border:1px solid var(--border);border-radius:10px;background:#0f172a73;overflow:hidden}.main-settlement-calc-summary>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 12px;cursor:pointer;font-weight:700;color:#e2e8f0;list-style-position:outside}.main-settlement-calc-summary-hint{font-size:11px;font-weight:500;color:var(--text-muted)}.main-settlement-calc-summary-body{padding:0 12px 12px;border-top:1px solid var(--border)}.main-settlement-calc-intro{margin:10px 0 4px;font-size:12px;line-height:1.5}.main-settlement-calc-section+.main-settlement-calc-section{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(148,163,184,.2)}.main-settlement-calc-section h4{display:flex;align-items:center;gap:4px;margin:0 0 8px;font-size:12px;color:#94a3b8;font-weight:700}.main-settlement-calc-lines{margin:0}.main-settlement-calc-line{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:baseline;padding:4px 0;font-size:13px}.main-settlement-calc-line dt{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0;color:#cbd5e1}.main-settlement-calc-line dd{margin:0;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.main-settlement-calc-line dd strong{font-variant-numeric:tabular-nums}.main-settlement-calc-line dd .text-muted{font-size:11px}.main-settlement-calc-line.emphasis dt,.main-settlement-calc-line.emphasis dd strong{color:#5eead4;font-weight:700}.main-settlement-calc-verify{margin:12px 0 0;padding:8px 10px;border-radius:6px;font-size:12px;background:#ef44441a;color:#fca5a5}.main-settlement-calc-verify.ok{background:#10b9811a;color:#6ee7b7}.misu-panel>.main-misu-allocation-scroll{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0}.misu-panel>.main-misu-allocation-scroll .main-misu-allocation-panel{flex:1;min-height:0;overflow:hidden}.misu-panel>.main-misu-allocation-panel{flex:1;min-height:0;overflow:hidden}.main-misu-allocation-panel{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1;padding:12px;overflow:hidden}.main-misu-allocation-panel .main-misu-allocation-summary,.main-misu-allocation-panel .filter-bar,.main-misu-allocation-panel .main-settlement-toolbar{flex-shrink:0}.main-misu-allocation-split{flex:1;min-height:280px;height:auto;max-height:none;grid-template-columns:minmax(0,1fr) minmax(260px,34%)}@media(min-width:1101px){.main-misu-allocation-split{grid-template-columns:minmax(520px,66%) minmax(280px,34%)}}@media(max-width:960px){.main-misu-allocation-split{grid-template-columns:1fr;height:auto;min-height:360px}}.main-misu-allocation-panel .split-pane-left{display:flex;flex-direction:column;min-height:0}.main-misu-allocation-panel .split-pane-right{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.main-misu-allocation-table-wrap{flex:1;min-height:0;padding:0;overflow:auto;-webkit-overflow-scrolling:touch}.main-misu-allocation-desc{margin:0 0 12px;font-size:13px;line-height:1.5}.main-misu-allocation-summary h3{margin:0 0 8px;font-size:15px}.main-misu-allocation-summary-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.main-misu-allocation-summary-head h3{margin:0}.main-misu-allocation-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:600;background:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-muted)}.main-misu-allocation-note{margin:0 0 12px;padding:8px 10px;border-radius:8px;font-size:12px;background:color-mix(in srgb,var(--warning) 10%,transparent);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning)}.pl-calc-btn.inline{margin-left:6px;vertical-align:middle}.main-misu-allocation-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.main-misu-allocation-summary-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg-card);display:flex;flex-direction:column;gap:4px}.main-misu-allocation-summary-card.highlight{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.main-misu-allocation-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.main-misu-allocation-card-head .pl-calc-btn{flex-shrink:0}.main-misu-allocation-summary-card .label{font-size:12px;color:var(--text-muted)}.main-misu-allocation-summary-card.positive{border-color:color-mix(in srgb,#22c55e 35%,var(--border));background:color-mix(in srgb,#22c55e 6%,var(--bg-card))}.main-misu-allocation-summary-card.positive strong{color:#16a34a}.main-misu-allocation-summary-card.negative{border-color:color-mix(in srgb,#ef4444 35%,var(--border));background:color-mix(in srgb,#ef4444 6%,var(--bg-card))}.main-misu-allocation-summary-card.negative strong{color:#dc2626}.main-misu-allocation-summary-card strong{font-size:18px;color:var(--accent)}.main-misu-allocation-summary-card .formula{font-size:11px}.main-misu-allocation-table{width:100%;border-collapse:collapse;font-size:12px}.main-misu-allocation-table th,.main-misu-allocation-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.main-misu-allocation-table th{position:sticky;top:0;background:var(--bg-panel);color:var(--text-muted);font-weight:600;z-index:1}.main-misu-allocation-table td.num,.main-misu-allocation-table th.num{text-align:right}.main-misu-allocation-table td.strong{font-weight:700;color:var(--accent)}.main-misu-allocation-table tbody tr{cursor:pointer}.main-misu-allocation-table tbody tr:hover{background:var(--bg-hover)}.main-misu-allocation-table tbody tr.active{background:color-mix(in srgb,var(--accent) 12%,transparent)}.main-misu-allocation-table tfoot td{font-weight:700;background:var(--bg-card)}.main-misu-allocation-detail .highlight-row dd{color:var(--accent);font-weight:700}.main-misu-allocation-detail{padding:12px;font-size:13px}.main-misu-allocation-detail .split-pane-detail-head{align-items:flex-start;margin-bottom:10px}.main-misu-allocation-detail .split-pane-detail-head h3{font-size:15px}.main-misu-detail-alias{margin:2px 0 0;font-size:12px}.main-misu-detail-period{margin:4px 0 0;font-size:11px;color:var(--text-muted)}.main-misu-detail-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.main-misu-detail-total strong{font-size:18px;color:var(--accent)}.main-misu-detail-section{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.main-misu-detail-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.main-misu-detail-section h4{margin:0 0 10px;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.02em}.main-misu-detail-section.timeline-section{background:color-mix(in srgb,var(--bg-panel) 80%,var(--bg-card));border:1px solid var(--border);border-radius:10px;padding:12px}.main-misu-detail-row.event-header{margin-top:8px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent);font-weight:600}.main-misu-detail-row.event-header:first-child{margin-top:0;padding-top:0;border-top:none}.main-misu-detail-row.event-header .main-misu-detail-label{color:var(--text)}.main-misu-detail-row.balance-row{margin-bottom:4px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.main-misu-detail-row.balance-row .main-misu-detail-value{font-size:12px;color:var(--text-muted)}.main-misu-detail-hint{margin:0 0 12px;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5;color:var(--text-muted);background:color-mix(in srgb,var(--bg-panel) 60%,transparent);border:1px solid var(--border)}.main-misu-detail-card{margin-bottom:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel)}.main-misu-detail-card.accent{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--bg-panel))}.main-misu-detail-card.balance{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.main-misu-detail-card h4{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--accent)}.main-misu-detail-lead{margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--text-muted)}.main-misu-detail-block{margin-top:10px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--border) 70%,transparent)}.main-misu-detail-block:first-of-type{margin-top:0;padding-top:0;border-top:none}.main-misu-detail-block-title{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--text)}.main-misu-detail-empty{margin:0;font-size:12px;color:var(--text-muted)}.main-misu-detail-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.main-misu-detail-balance-grid>div{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border)}.main-misu-detail-balance-grid>div.total{grid-column:1 / -1;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.main-misu-detail-balance-grid strong{font-size:16px;color:var(--accent)}.main-misu-detail-more{margin-top:4px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.main-misu-detail-more>summary{padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;list-style:none}.main-misu-detail-more>summary::-webkit-details-marker{display:none}.main-misu-detail-more>summary:before{content:"▸ ";display:inline-block;transition:transform .15s ease}.main-misu-detail-more[open]>summary:before{transform:rotate(90deg)}.main-misu-detail-more-body{padding:0 12px 12px;border-top:1px solid var(--border)}.main-misu-detail-week-impact{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.main-misu-detail-week-impact strong{font-size:17px;color:var(--accent)}.main-misu-summary-signed-hint{font-size:11px}.main-misu-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 0;font-size:13px}.main-misu-detail-row.indent{padding-left:12px;border-left:2px solid color-mix(in srgb,var(--accent) 25%,var(--border));margin-left:4px}.main-misu-detail-row.emphasis .main-misu-detail-value{font-weight:700;color:var(--text)}.main-misu-detail-row.muted{opacity:.75}.main-misu-detail-label{color:var(--text-muted);flex:1;min-width:0}.main-misu-detail-value{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.main-misu-detail-note{display:block;margin-top:2px;font-size:10px;font-weight:400;color:var(--text-muted);white-space:normal}.main-misu-detail-balance{background:color-mix(in srgb,var(--accent) 6%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:10px;padding:12px;margin-top:4px}.main-misu-detail-balance-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--accent) 30%,var(--border));font-size:14px}.main-misu-detail-balance-total strong{font-size:18px;color:var(--accent)}.main-misu-allocation-formula{margin:12px 0 0;font-size:12px;line-height:1.6}.customer-settlement-badge{font-size:11px;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success);font-weight:600}.customer-settlement-log-note{margin:0 0 8px;font-size:12px;color:var(--success)}.customer-settlement-dialog-note{margin:0 0 12px;padding:10px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--success) 35%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent);font-size:12px;color:var(--text-muted);line-height:1.5}.customer-card{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;overflow:hidden}.customer-card.expanded{border-color:var(--accent)}.customer-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;color:inherit;text-align:left;cursor:pointer}.customer-card-head:hover{background:var(--bg-hover)}.customer-card-main{flex:1;min-width:0}.customer-card-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.customer-card-counts{display:flex;gap:8px;margin-top:4px;font-size:12px;flex-wrap:wrap}.count-misu{color:var(--tx-misu)}.count-cash{color:var(--tx-cash)}.count-sugeum{color:var(--tx-sugeum)}.count-jabi{color:var(--tx-jabi)}.count-opening{color:var(--warning)}.count-opening-keep{color:#34d399}.count-misu-total{color:var(--tx-misu);font-weight:600}.count-deposit{color:var(--tx-sugeum)}.count-card{color:var(--tx-card)}.count-deposit-total{color:var(--tx-sugeum);font-weight:600}.customer-card-summary{line-height:1.5}.customer-card-balance{text-align:right;flex-shrink:0;display:flex;flex-direction:column;gap:2px;font-size:13px}.customer-card-balance strong{font-size:15px}.customer-detail{padding:0 12px 12px;border-top:1px solid var(--border)}.customer-detail-actions{display:flex;gap:8px;padding-top:10px}.customer-detail-actions.customer-detail-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-detail-hint{font-size:12px;color:var(--warning);margin:8px 0 0}.customer-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.customer-detail-grid-misu{grid-template-columns:repeat(4,1fr)}.customer-detail-cash{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--tx-cash) 12%,transparent);font-size:12px}.customer-detail-cash span{color:var(--text-muted)}.customer-detail-cash strong{font-size:14px;color:var(--tx-cash)}.customer-stat-box{border-radius:8px;padding:8px 10px;font-size:12px}.customer-stat-box span{color:var(--text-muted);display:block;margin-bottom:2px}.customer-stat-box strong{font-size:14px}.customer-stat-box.misu{background:color-mix(in srgb,var(--tx-misu) 12%,transparent)}.customer-stat-box.misu strong{color:var(--tx-misu)}.customer-stat-box.cash{background:color-mix(in srgb,var(--tx-cash) 12%,transparent)}.customer-stat-box.cash strong{color:var(--tx-cash)}.customer-stat-box.sugeum{background:color-mix(in srgb,var(--tx-sugeum) 12%,transparent)}.customer-stat-box.sugeum strong{color:var(--tx-sugeum)}.customer-stat-box.jabi{background:color-mix(in srgb,var(--tx-jabi) 12%,transparent)}.customer-stat-box.jabi strong{color:var(--tx-jabi)}.customer-stat-box.misu-total{background:color-mix(in srgb,var(--tx-misu) 18%,transparent)}.customer-stat-box.misu-total strong{color:var(--tx-misu)}.customer-stat-box.deposit-total{background:color-mix(in srgb,var(--tx-sugeum) 18%,transparent)}.customer-stat-box.deposit-total strong{color:var(--tx-sugeum)}.customer-stat-box.opening{background:color-mix(in srgb,var(--warning) 12%,transparent)}.customer-stat-box.opening strong{color:var(--warning)}.customer-stat-box.opening-keep{background:color-mix(in srgb,#34d399 12%,transparent)}.customer-stat-box.opening-keep strong{color:#34d399}.customer-stat-box.deposit{background:color-mix(in srgb,var(--tx-sugeum) 12%,transparent)}.customer-stat-box.deposit strong{color:var(--tx-sugeum)}.customer-stat-box.card{background:color-mix(in srgb,var(--tx-card) 12%,transparent)}.customer-stat-box.card strong{color:var(--tx-card)}.customer-formula{margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#00000026;font-size:13px}.customer-formula-label{font-size:11px;color:var(--text-muted);margin:0 0 4px}.customer-formula p{margin:0}.customer-formula-result{margin-top:6px!important;font-size:14px}.customer-tx-section{margin-top:12px;min-height:0}.customer-tx-list{max-height:min(420px,50vh);overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px;padding:4px 6px;margin-top:4px}.message-list-date-range{flex-wrap:wrap;align-items:center}.message-list-date-field{display:inline-flex;align-items:center;gap:6px;font-size:13px}.message-list-date-field input[type=date]{width:auto}.customer-tx-title{font-size:12px;color:var(--text-muted);margin:0 0 6px}.empty-inline{font-size:13px;color:var(--text-muted);margin:0}.customer-tx-head{display:grid;grid-template-columns:3.25rem minmax(0,1fr) 4.75rem;gap:8px;padding:4px 4px 6px;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--border)}.customer-tx-head span:last-child{text-align:right}.customer-tx-row{display:grid;grid-template-columns:3.25rem minmax(0,1fr) 4.75rem;gap:8px;padding:6px 4px;font-size:12px;border-bottom:1px solid rgba(30,74,68,.5);align-items:start}.customer-tx-date{font-weight:600;white-space:nowrap}.customer-tx-detail{min-width:0;word-break:break-word;line-height:1.4;text-align:left}.customer-tx-deposit{font-weight:700;color:var(--tx-sugeum);word-break:break-word}.customer-tx-card{font-weight:700;color:var(--tx-card);word-break:break-word}.customer-tx-card-settlement{font-weight:700;color:var(--tx-card-settlement);word-break:break-word}.customer-tx-sugeum{font-weight:700;color:var(--tx-sugeum);word-break:break-word}.customer-tx-cum{text-align:right;font-weight:700;white-space:nowrap}@media(max-width:1100px){.messages-layout{grid-template-columns:220px 1fr;grid-template-rows:1fr 300px}.messages-layout .panel-requests{grid-column:1 / -1}.stats-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-call-cards,.stats-grid,.stats-charts{grid-template-columns:1fr}}@media(max-width:768px){html,body,#root{min-height:100dvh}.dashboard{height:100dvh}.app-shell{flex-direction:column}.sidebar{position:fixed;left:0;right:0;bottom:0;z-index:80;width:100%;height:66px;flex-direction:row;overflow-x:auto;border-right:none;border-top:1px solid var(--border);border-bottom:none;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#0a1f1cfa;box-shadow:0 -8px 22px #00000040;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-brand{display:none}.sidebar-item{flex:0 0 72px;height:50px;flex-direction:column;justify-content:center;gap:2px;padding:5px 6px;border-radius:8px;font-size:11px;line-height:1.1;white-space:nowrap}.sidebar-item>span:first-child{font-size:17px;line-height:1}.sidebar-badge{position:absolute;top:2px;right:5px;margin-left:0;min-width:18px;padding:1px 5px;font-size:10px}.main-area{height:100dvh;padding-bottom:calc(66px + env(safe-area-inset-bottom))}.dashboard-header{align-items:flex-start;gap:8px;padding:10px 12px}.dashboard-header-left{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.dashboard-header-left h1{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.dashboard-stats{display:none}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.header-actions .btn{min-height:34px;padding:5px 9px}.handover-banner{position:relative;top:auto;gap:6px;padding:8px 10px}.handover-banner-compose{width:100%;min-width:0}.handover-banner-compose input{min-width:0}.content-area{padding:8px;overflow:auto;-webkit-overflow-scrolling:touch}.messages-layout{display:flex;flex-direction:column;height:auto;min-height:100%;overflow:visible}.mobile-message-switcher{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#0a1f1cfa}.mobile-message-switcher button{min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:700}.mobile-message-switcher button.active{background:var(--accent-dim);color:#fff}.messages-center{display:contents}.messages-layout>.driver-list-panel,.messages-layout .message-list-panel,.messages-layout .message-detail-panel,.messages-layout>.panel-requests{display:none;height:calc(100dvh - 178px);min-height:420px}.messages-layout.mobile-message-view-drivers>.driver-list-panel,.messages-layout.mobile-message-view-messages .message-list-panel,.messages-layout.mobile-message-view-detail .message-detail-panel,.messages-layout.mobile-message-view-requests>.panel-requests{display:flex}.message-detail-empty{min-height:340px}.filter-bar{padding:0 8px 8px;gap:6px}.filter-bar input,.filter-bar select{min-width:calc(50% - 3px);min-height:36px}.filter-bar input[placeholder]{min-width:100%}.message-app-row{grid-template-columns:46px minmax(0,1fr);gap:8px;padding:10px 8px}.message-app-right{grid-column:2;align-items:flex-start;text-align:left}.panel-header{padding:10px 12px}.panel-body{padding:8px}.requests-layout{grid-template-columns:1fr;grid-template-rows:minmax(200px,40vh) 1fr}}.requests-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:12px;height:100%;min-height:0}.requests-layout .panel{height:100%;min-height:0}.request-list-item{text-align:left;width:100%;color:inherit}.request-list-item.selected{border-color:var(--accent);background:var(--accent-dim)}.request-done{opacity:.92}.request-done-title{text-decoration:line-through;color:var(--text-muted)}.request-list-item.request-done.selected{background:#0f3530;border-color:var(--border)}.request-list-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.request-list-sub{font-size:12px;margin-top:4px}.request-list-preview{font-size:13px;margin-top:6px}.request-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.request-detail{display:flex;flex-direction:column;gap:14px}.request-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.request-detail-head h3{margin:0 0 4px;font-size:16px}.request-detail-meta{font-size:12px;margin:0}.request-detail-section h4{margin:0 0 8px;font-size:13px;color:var(--text-muted)}.request-detail-actions{display:flex;gap:8px;padding-top:4px}.request-group-pick{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.request-msg-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.request-msg-label{font-size:11px;font-weight:700;margin:0 0 6px}.request-msg-block{border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}.request-msg-block p{margin:0 0 4px}.request-msg-before{background:#ef444414;border:1px solid rgba(239,68,68,.25)}.request-msg-after{background:#22c55e14;border:1px solid rgba(34,197,94,.25)}.request-msg-delete{background:#ef444414;border:1px solid rgba(239,68,68,.25)}.request-diff-list{display:flex;flex-direction:column;gap:6px}.request-diff-row{display:grid;grid-template-columns:56px 1fr 20px 1fr;gap:6px;align-items:start;font-size:12px}.request-diff-label{color:var(--text-muted);font-weight:600}.request-diff-before{background:#ef44441a;border-radius:6px;padding:4px 6px;word-break:break-word}.request-diff-after{background:#22c55e1a;border-radius:6px;padding:4px 6px;word-break:break-word}.request-diff-arrow{text-align:center;color:var(--text-muted)}.request-edit-message{white-space:pre-wrap;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:8px 0 0}.request-json{font-size:11px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px;overflow:auto;max-height:160px}.work-hours-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-row input{width:auto}.finance-hint{font-size:12px;flex:1}.payroll-table-wrap{margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:auto}.payroll-table-wide .payroll-table-head,.payroll-table-wide .payroll-table-row{grid-template-columns:minmax(140px,1.4fr) repeat(4,minmax(90px,1fr)) minmax(100px,1fr) minmax(130px,1.1fr);min-width:980px}.payroll-split-pane{margin-top:12px;min-height:420px}.payroll-driver-list{max-height:none}.payroll-driver-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.payroll-driver-item-main{width:100%}.payroll-driver-item-sub{font-size:12px;line-height:1.4}.payroll-overview-row .payroll-overview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payroll-split-pane .payroll-detail-card{border:none;border-radius:0;height:100%;overflow:auto}.payroll-table-head,.payroll-table-row{display:grid;grid-template-columns:minmax(140px,1.4fr) repeat(4,minmax(100px,1fr));gap:8px;padding:10px 12px;align-items:center;font-size:13px}.payroll-table-head{background:#0003;color:var(--text-muted);font-weight:600;font-size:12px}.payroll-table-row{border-top:1px solid var(--border)}.payroll-table-row-btn{width:100%;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer}.payroll-table-row-btn:hover{background:var(--bg-hover)}.payroll-table-row-btn.active{background:#14b8a61f;box-shadow:inset 3px 0 0 var(--accent)}.payroll-col-net{font-weight:700;color:var(--accent)}.payroll-col-payment{display:flex;flex-direction:column;gap:2px;line-height:1.3}.payroll-detail-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.payroll-detail-empty{margin-top:12px;padding:24px;border:1px dashed var(--border);border-radius:12px;color:var(--text-muted);text-align:center}.payroll-detail-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-panel);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.payroll-detail-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.payroll-detail-card-header h3{margin:0;font-size:16px}.payroll-net-pay,.payroll-remaining-pay{font-size:18px;color:var(--accent)}.payroll-salary-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.payroll-salary-meta label,.payroll-full-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.payroll-salary-meta input,.payroll-salary-meta select,.payroll-full-field input{width:100%}.payroll-inline-summary{display:flex;align-items:flex-end;font-size:13px;color:var(--text-muted)}.payroll-line-template-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;border-top:1px solid var(--border)}.payroll-line-template-bar input{min-width:140px;flex:1}.payroll-line-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.payroll-line-item{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);font-size:12px}.payroll-line-item em{font-style:normal;color:var(--text-muted);margin-left:4px}.payroll-line-add em{color:var(--success)}.payroll-line-deduct em{color:var(--danger)}.payroll-line-label{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.payroll-line-remove{margin-left:auto}.payroll-salary-summary,.payroll-payment-summary{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;padding:8px 10px;border-radius:8px;background:#0000002e}.payroll-net-pay-label strong{color:var(--accent)}.payroll-check-row{display:flex;gap:16px}.payroll-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text)}.payroll-hint{margin:0;font-size:12px}.payroll-payment-target{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.payroll-payment-target label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted);min-width:160px}.payroll-weekly-list{border:1px solid var(--border);border-radius:8px;overflow:hidden}.payroll-weekly-head,.payroll-weekly-row{display:grid;grid-template-columns:100px 1fr auto;gap:8px;align-items:center;padding:8px 10px;font-size:13px}.payroll-weekly-head{background:#0003;color:var(--text-muted);font-size:12px}.payroll-weekly-row{border-top:1px solid var(--border)}@media(max-width:1100px){.payroll-detail-split,.payroll-salary-meta,.payroll-line-grid{grid-template-columns:1fr}}.payroll-xls-panel{margin-top:12px;display:flex;flex-direction:column;gap:16px}.payroll-xls-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.payroll-xls-section{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-panel)}.payroll-xls-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#00000038;border-bottom:1px solid var(--border)}.payroll-xls-section-title h3{margin:0;font-size:14px;font-weight:700}.payroll-xls-section-title strong{color:#f87171;font-size:15px}.payroll-xls-scroll{overflow:auto;max-width:100%}.payroll-xls-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:12px}.payroll-xls-table th,.payroll-xls-table td{border:1px solid var(--border);padding:6px 8px;vertical-align:middle;white-space:nowrap;background:var(--bg-card)}.payroll-xls-table thead th{position:sticky;top:0;z-index:2;background:#0b3b36;color:#e8f5f2;font-weight:600;text-align:center}.payroll-xls-sticky-1{position:sticky;left:0;z-index:3;background:var(--bg-card)!important}.payroll-xls-sticky-2{position:sticky;left:var(--payroll-sticky-1-width, 42px);z-index:3;background:var(--bg-card)!important;box-shadow:2px 0 6px #00000040}.payroll-xls-table thead .payroll-xls-sticky-1,.payroll-xls-table thead .payroll-xls-sticky-2{z-index:5;background:#0b3b36!important}.payroll-payment-table .payroll-payment-order-col{left:0}.payroll-payment-table .payroll-xls-sticky-name,.payroll-payment-table .payroll-payment-sticky-col.payroll-xls-sticky-name{left:var(--payroll-sticky-1-width, 36px);white-space:normal!important;box-shadow:2px 0 6px #00000040}.payroll-payment-table thead .payroll-payment-order-col,.payroll-payment-table thead .payroll-xls-sticky-name{z-index:5;background:#0b3b36!important}.payroll-payment-excluded{margin-top:12px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#00000026}.payroll-payment-excluded-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text-muted, #9aa5b1);font-size:13px;font-weight:600;text-align:left;cursor:pointer}.payroll-payment-excluded-toggle:hover{color:var(--text, #e8edf2);background:#ffffff0a}.payroll-payment-excluded-chevron{font-size:10px;opacity:.8}.payroll-payment-excluded-list{list-style:none;margin:0;padding:0 12px 10px;display:flex;flex-direction:column;gap:6px}.payroll-payment-excluded-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:4px;background:#ffffff0a}.payroll-payment-excluded-name{font-size:13px;color:var(--text-muted, #9aa5b1)}.payroll-resizable-th{position:relative;overflow:visible;padding-right:10px!important}.payroll-resizable-th-label{display:block;overflow:hidden;text-overflow:ellipsis}.payroll-col-resize-handle{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;touch-action:none}.payroll-col-resize-handle:hover,.payroll-col-resizing .payroll-col-resize-handle{background:#14b8a659}body.payroll-col-resizing{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.payroll-col-resize-hint{font-size:12px;margin-left:auto}.payroll-xls-section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.payroll-layout-controls{display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap;white-space:nowrap}.payroll-layout-cell{padding:4px 6px!important;vertical-align:middle}.payroll-layout-col{min-width:180px}.payroll-layout-btn{min-width:26px;width:26px;height:26px;padding:0;flex-shrink:0}.payroll-layout-select{flex:1;min-width:120px;width:auto;max-width:none;padding:3px 6px;font-size:11px;height:26px}.payroll-xls-table tbody tr td{padding-top:4px;padding-bottom:4px}.payroll-unassigned-hint{margin-left:auto;font-size:13px}.payroll-xls-empty-row{text-align:center;padding:16px!important}.payroll-xls-sticky-total{font-weight:700}.payroll-xls-table tbody tr:nth-child(2n) td{background:#ffffff05}.payroll-xls-table tbody tr:hover td{background:var(--bg-hover)}.payroll-xls-index{text-align:center;color:var(--text-muted);width:42px}.payroll-xls-name{font-weight:600;min-width:88px}.payroll-xls-input{width:100%;min-width:72px;padding:4px 6px;font-size:12px;border-radius:4px}.payroll-xls-input-date{min-width:118px}.payroll-xls-input-wide{min-width:180px}.payroll-xls-calc,.payroll-xls-net{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.payroll-xls-net{color:var(--accent);background:#14b8a614!important}.payroll-xls-check{text-align:center}.payroll-xls-col-remove{margin-left:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.payroll-xls-total-row td{background:#00000047!important;font-weight:700}.payroll-xls-paid{text-decoration:line-through;opacity:.65}.payroll-payment-xls-meta{margin-left:auto;font-size:13px}.payroll-payment-manual-add{display:inline-flex;align-items:center;gap:4px}.payroll-manual-login{width:72px}.payroll-manual-name{width:88px}.payroll-round-head-inner{display:inline-flex;align-items:center;gap:4px;justify-content:center;flex-wrap:wrap}.payroll-paydate-add{display:inline-flex;align-items:center;gap:6px}.payroll-paydate-add-label{font-size:.85rem;color:var(--muted, #94a3b8);white-space:nowrap}.payroll-paydate-input,.payroll-round-date-input{min-width:138px;width:auto}.payroll-round-date-input{font-weight:600}.payroll-round-remove{padding:0 4px;line-height:1.2;opacity:.6}.payroll-round-remove:hover{opacity:1}.payroll-payment-table .payroll-payment-round-head{text-align:center}.payroll-payment-paid-check{display:inline-flex;margin-left:4px;vertical-align:middle}.payroll-payment-driver{font-size:11px;line-height:1.45;color:var(--text-muted)}.payroll-payment-table tbody .payroll-xls-sticky-1,.payroll-payment-table tbody .payroll-xls-sticky-name{background:var(--bg-card)!important}.payroll-payment-table .payroll-xls-total-row .payroll-xls-sticky-1,.payroll-payment-table .payroll-xls-total-row .payroll-xls-sticky-name{background:#00000047!important}.archive-banner{display:flex;flex-direction:column;gap:8px;padding:10px 16px;background:linear-gradient(90deg,#0e749024,#0891b20f);border-bottom:1px solid rgba(14,116,144,.35)}.archive-banner-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.archive-banner-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;font-size:.92rem}.archive-banner-label{color:#0e7490}.archive-banner-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.archive-export-date{display:inline-flex;align-items:center;gap:4px;font-size:.85rem}.archive-export-date-header .archive-export-date-input{width:118px;padding:4px 6px;font-size:.82rem}.archive-export-date-input{width:132px;padding:4px 8px;font-size:.85rem}.archive-banner-list{margin:0;padding:0 0 0 1.1rem;max-height:160px;overflow:auto;font-size:.88rem}.handover-banner{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:linear-gradient(90deg,#f59e0b2e,#fbbf2414);border-bottom:2px solid rgba(245,158,11,.65);box-shadow:0 2px 8px #f59e0b26}.handover-banner-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.handover-banner-label{font-weight:700;color:#fbbf24;white-space:nowrap}.handover-banner-preview{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer;padding:4px 8px;border-radius:8px}.handover-banner-preview:hover{background:#f59e0b1f}.handover-banner-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.handover-banner-time{color:var(--text-muted);font-size:12px;flex-shrink:0}.handover-banner-empty{color:var(--text-muted);font-size:13px}.handover-banner-view{flex-shrink:0;border-color:#f59e0b80;color:#fbbf24}.handover-banner-compose{display:flex;gap:8px;align-items:center;min-width:280px}.handover-banner-compose input{flex:1;min-width:160px}.sidebar-item-handover{border:1px solid rgba(245,158,11,.35);background:#f59e0b14;color:#fcd34d;font-weight:600}.sidebar-item-handover.active{background:#f59e0b59;color:#fff}.handover-schedule-card{padding:14px 16px;border-bottom:1px solid var(--border);background:#f59e0b0f}.handover-schedule-card-collapsed{padding-bottom:10px}.handover-schedule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.handover-schedule-card-collapsed .handover-schedule-header{margin-bottom:0}.handover-schedule-toggle{flex:1;min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.handover-schedule-toggle:hover{opacity:.92}.handover-schedule-toggle-main{min-width:0;flex:1}.handover-schedule-chevron{flex-shrink:0;font-size:12px;font-weight:600;color:var(--text-muted, #94a3b8);white-space:nowrap;padding-top:2px}.handover-schedule-collapsed-summary{margin:4px 0 0;font-size:12px;line-height:1.45}.handover-schedule-header h3{margin:0;font-size:14px;font-weight:600;color:#fcd34d}.handover-schedule-meta{margin:4px 0 0;font-size:12px}.handover-schedule-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.handover-schedule-date{display:flex;align-items:center;gap:6px;font-size:12px}.handover-schedule-date input[type=date]{min-width:140px}.handover-schedule-loading{margin:0;font-size:13px}.handover-schedule-view-tabs{padding:0 16px 8px}.handover-schedule-view-tabs .tab-btn{cursor:default}.handover-schedule-week-nav{padding-top:0}.handover-staff-names{display:flex;flex-wrap:wrap;gap:10px 16px;padding:0 16px 12px}.handover-staff-name-field{display:flex;align-items:center;gap:8px;font-size:12px}.handover-staff-name-field input[type=text]{min-width:120px}.handover-schedule-week-grid{margin:0 16px 8px}.handover-schedule-week-grid .schedule-row{grid-template-columns:56px repeat(7,minmax(72px,1fr))}.handover-shift-col{justify-content:center;text-align:center;color:#fcd34d}.handover-schedule-cell{padding:4px}.handover-schedule-cell-filled{background:#10b9811f}.handover-schedule-name{font-size:12px;font-weight:600;color:#6ee7b7}.handover-schedule-select{width:100%;min-width:0;padding:6px 4px;font-size:11px;border:1px solid rgba(16,185,129,.35);border-radius:6px;background:#10b9811a;color:inherit}.handover-schedule-hint{margin:0;padding:0 16px 12px;font-size:12px}.handover-compose-box{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.handover-compose-box textarea{width:100%;resize:vertical}.handover-item-message{margin:8px 0 0;white-space:pre-wrap;line-height:1.5}.handover-item-top{display:flex;justify-content:space-between;gap:8px}.handover-item-actions{margin-top:8px}.handover-comments{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.handover-comment-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.handover-comment{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#ffffff08}.handover-comment-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:6px}.handover-comment p{margin:0;white-space:pre-wrap;line-height:1.45}.handover-comment-delete{margin-top:6px;padding:2px 8px;min-height:0}.handover-comment-empty{margin:0 0 10px;font-size:13px}.handover-comment-compose{display:flex;flex-direction:column;gap:8px}.handover-comment-compose textarea{width:100%;resize:vertical}.communication-thread h3{margin:0 0 12px}.communication-messages{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto;margin-bottom:12px}.communication-bubble{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}.communication-bubble.mine{border-color:#3b82f666;background:#3b82f614}.communication-bubble-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:6px}.communication-bubble p{margin:0;white-space:pre-wrap}.communication-reply{display:flex;flex-direction:column;gap:8px}.communication-reply textarea{width:100%;resize:vertical}.price-requests-box{margin-bottom:12px;padding:12px;border:2px solid rgba(245,158,11,.5);border-radius:12px;background:#f59e0b0f}.price-requests-title{margin:0 0 8px;font-weight:700;color:#fbbf24;font-size:14px}.price-requests-list{display:flex;flex-direction:column;gap:8px}.price-request-item{width:100%;text-align:left;border:1px solid rgba(245,158,11,.35);border-radius:10px;background:var(--bg-card);padding:10px;cursor:pointer}.price-request-item:hover{background:#f59e0b1a}.price-request-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;margin-bottom:6px}.price-request-detail{font-size:12px}.price-request-detail p{margin:2px 0}.price-request-missing{color:#fbbf24}.price-request-hint{margin:6px 0 0;font-size:11px;color:#fbbf24;font-weight:600}.photo-list-item{text-align:left}.photo-list-top{display:flex;justify-content:space-between;gap:8px}.photo-list-sub{margin-top:4px;font-size:12px}.photo-preview-modal{max-width:90vw;max-height:90vh}.photo-preview-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px}.backup-panel-body{display:flex;flex-direction:column;gap:12px;max-width:560px}.backup-progress{padding:10px 12px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border)}.backup-progress p{margin:0 0 8px;font-size:13px}.backup-progress-bar{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.backup-progress-fill{height:100%;background:var(--accent);transition:width .2s ease}.backup-result{padding:12px;border-radius:10px;background:#22c55e14;border:1px solid rgba(34,197,94,.3);font-size:13px;white-space:pre-wrap;margin:0}.frequent-places-list{display:flex;flex-direction:column;gap:8px;width:100%}.frequent-place-row{display:flex;gap:8px}.frequent-place-row input{flex:1}.attendance-extra-badge{display:inline-block;margin-top:6px;margin-right:6px;padding:2px 8px;border-radius:999px;font-size:11px;background:#3b82f626;color:#93c5fd}.attendance-late-badge{background:#ef444426;color:#fca5a5}.expense-daily-hint{margin:0 16px 10px;font-size:12px;line-height:1.5}.expense-category-box{margin:0 16px 12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.expense-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.expense-category-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.expense-category-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;background:#3b82f626;color:#93c5fd}.expense-category-remove{border:none;background:transparent;color:inherit;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.expense-category-add{display:flex;gap:8px}.expense-category-add input{flex:1}.fixed-expense-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 16px 12px}.expense-period-summary{display:grid;grid-template-columns:minmax(280px,1fr) minmax(240px,360px);gap:12px;margin:0 16px 12px;align-items:start}.expense-category-table-wrap{margin:0}.expense-category-table-head,.expense-category-table-row{grid-template-columns:1.2fr .6fr 1fr .5fr;min-width:0}.expense-category-table-total{background:#ef444414;font-weight:600}.expense-category-chart{margin:0;min-height:260px}.expense-day-group{margin-bottom:10px}.expense-day-group-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:#3b82f614;font-size:13px}.expense-day-group-item{margin-left:8px;border-left:2px solid rgba(59,130,246,.25)}.expense-period-hint{font-size:12px}@media(max-width:900px){.expense-period-summary{grid-template-columns:1fr}}.opacity-muted{opacity:.55}.pl-dashboard{display:grid;grid-template-columns:1fr 320px;gap:16px;padding:16px;min-height:0;overflow:auto;flex:1}.pl-main{min-width:0}.pl-section-title{margin:0;font-size:15px;font-weight:700}.pl-table-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.pl-table-tabs .tab-btn{font-size:12px;padding:6px 10px}.pl-table-empty{padding:24px 12px;text-align:center;font-size:13px}.pl-table-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#ffffff05}.pl-table-compact{overflow-x:auto}.pl-table-head,.pl-table-row{display:grid;grid-template-columns:minmax(96px,1.35fr) repeat(10,minmax(54px,.9fr));gap:6px;padding:8px 10px;align-items:center;font-size:11px;min-width:860px}.pl-table-excluded .pl-table-head,.pl-table-excluded .pl-table-row{grid-template-columns:minmax(88px,1.1fr) minmax(72px,1fr) repeat(10,minmax(54px,.9fr));min-width:960px}.pl-driver-name{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;min-width:0}.pl-driver-name strong{overflow:hidden;text-overflow:ellipsis}.pl-shift,.pl-work-days{font-size:10px;flex-shrink:0}.pl-exclude-reason-cell{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-table-off-duty{background:#f59e0b0f;font-style:italic}.pl-table-off-duty-toggle{width:100%;margin:0;padding:8px 10px;border:none;border-bottom:1px solid rgba(255,255,255,.06);color:inherit;font:inherit;text-align:left;cursor:pointer}.pl-table-off-duty-toggle:hover{background:#f59e0b1f}.pl-table-off-duty-detail{background:#f59e0b0a;font-style:normal}.pl-off-duty-chevron{margin-left:6px;font-size:10px;color:var(--text-muted);font-style:normal}.pl-off-duty-indent{margin-right:4px;color:var(--text-muted);font-size:11px}.pl-table-head .pl-head-with-calc{justify-content:flex-end}.pl-exclude-reason-input{width:100%;min-width:140px;padding:4px 8px;font-size:11px;border-radius:6px;border:1px solid var(--border);background:#0003;color:inherit}.pl-side-sub{padding-left:8px;font-size:11px;opacity:.9}.pl-driver-head,.pl-driver-row{grid-template-columns:1.2fr repeat(11,minmax(52px,1fr));min-width:900px}.pl-table-head{background:#3b82f61f;font-weight:700;color:#93c5fd;border-bottom:1px solid var(--border)}.pl-table-row{border-bottom:1px solid rgba(255,255,255,.06)}.pl-table-row:last-child{border-bottom:none}.pl-table-total{background:#ffffff0a;font-weight:600}.pl-side{display:flex;flex-direction:column;gap:10px}.pl-side-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:#ffffff05}.pl-side-card h4{margin:0 0 10px;font-size:13px}.pl-side-line{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:12px}.pl-side-line.highlight{background:#22c55e1a;margin:4px -8px;padding:6px 8px;border-radius:6px}.pl-side-total{margin-top:6px;padding-top:8px;border-top:1px dashed var(--border);font-weight:700;font-size:13px}.pl-box-operating{border-color:#22c55e59;background:#22c55e0f}.pl-box-net{border-color:#3b82f659;background:#3b82f60f}.pl-box-cumulative{border-color:#f59e0b59;background:#f59e0b14}.pl-side-empty{font-size:12px;margin:0}.pl-driver-body{padding:16px;overflow:auto}.pl-driver-hint{font-size:12px;margin:0 0 12px}.pl-exclude-panel{margin:0 16px 12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.pl-exclude-hint{margin:0 0 10px;font-size:12px}.pl-exclude-grid{display:flex;flex-wrap:wrap;gap:8px}.pl-exclude-item{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);font-size:12px;-webkit-user-select:none;user-select:none}.pl-exclude-name{font-weight:600}.pl-exclude-checks{display:flex;gap:12px}.pl-exclude-checks label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.pl-exclude-item.checked.excluded{border-color:#f59e0b80;background:#f59e0b1a;color:#fbbf24}.pl-exclude-item.checked.per-case{border-color:#3b82f680;background:#3b82f61a;color:#93c5fd}.pl-row-excluded,.pl-row-per-case{opacity:.85}.badge-per-case{background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.35);font-size:10px;padding:1px 5px;border-radius:4px;flex-shrink:0}.pl-side-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.pl-side-title-row h4{margin:0;font-size:13px}.pl-calc-btn{width:22px;height:22px;border-radius:50%;border:1px solid rgba(59,130,246,.5);background:#3b82f626;color:#93c5fd;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}.pl-calc-btn:hover{background:#3b82f64d}.pl-calc-btn-xs{width:18px;height:18px;font-size:10px}.pl-head-with-calc{display:inline-flex;align-items:center;gap:4px}.pl-driver-head .pl-head-with-calc{justify-content:flex-start}.pl-calc-modal{width:min(480px,92vw)}.pl-calc-body{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.6;margin:0 0 16px;padding:12px;border-radius:8px;background:#0003;border:1px solid var(--border);max-height:60vh;overflow:auto}@media(max-width:1100px){.pl-dashboard{grid-template-columns:1fr}}.message-edit-body{display:flex;flex-direction:column;gap:16px}.message-edit-header{justify-content:flex-start}.message-edit-tabs{display:flex;gap:8px}.message-edit-desc{margin:0;font-size:14px;line-height:1.6}.message-edit-abbrev{margin:0;font-size:12px;line-height:1.5}.message-edit-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.message-edit-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.message-edit-section{display:flex;flex-direction:column;gap:10px}.message-edit-section h3{margin:0;font-size:14px}.message-edit-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.message-edit-section-actions{display:flex;gap:6px}.message-edit-list,.message-edit-log{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto;min-height:0}.message-edit-log-full{max-height:none;flex:1}.message-edit-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);cursor:pointer;flex-shrink:0}.message-edit-row input[type=checkbox]{margin-top:4px;flex-shrink:0}.message-edit-row-main{flex:1;min-width:0}.message-edit-log-row{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#0000001f;flex-shrink:0}.message-edit-log-row.reverted{opacity:.65}.message-edit-row-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:6px}.message-edit-row-route{display:block;font-size:13px;line-height:1.5;word-break:break-word}.message-edit-row-route-after{color:var(--accent)}.message-edit-row-changes{margin-top:6px;font-size:12px;color:var(--warning)}.message-edit-reverted-tag{color:var(--text-muted);font-weight:600}.message-delete-source-tag{font-size:.82rem;color:var(--danger);font-weight:600}.message-delete-log-row{border-left:3px solid color-mix(in srgb,var(--danger) 35%,transparent)}.message-edit-log-row .btn{margin-top:8px}.count-card-settlement{color:var(--tx-card-settlement)}.customer-stat-box.card-settlement{background:color-mix(in srgb,var(--tx-card-settlement) 12%,transparent)}.customer-stat-box.card-settlement strong{color:var(--tx-card-settlement)}.split-pane-list-item.customer-card-preview{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left}.customer-card-preview-body{flex:1;min-width:0}.split-pane-list-item.customer-card-preview .customer-card-balance{flex-shrink:0;text-align:right}.split-pane-list-item.customer-card-preview .customer-card-counts{margin-top:6px}.card-entry-kind{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600}.card-entry-kind-card{background:color-mix(in srgb,var(--tx-card) 18%,transparent);color:var(--tx-card)}.card-entry-kind-card_settlement{background:color-mix(in srgb,var(--tx-card-settlement) 18%,transparent);color:var(--tx-card-settlement)}.kpi-panel .kpi-filter-bar{flex-wrap:wrap;gap:10px;align-items:center}.kpi-tab-bar{padding:0 16px 12px;flex-wrap:wrap;gap:6px}.kpi-panel-body{display:flex;flex-direction:column;gap:16px;overflow:auto}.kpi-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.kpi-stat-grid .stat-card{min-height:72px;padding:10px 12px;overflow:hidden}.kpi-stat-grid .stat-card span,.kpi-stat-grid .stat-card strong,.kpi-stat-grid .stat-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-stat-grid .stat-card strong{font-size:17px}.kpi-stat-grid .stat-card small{font-size:11px}.kpi-week-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kpi-week-range{font-size:12px;white-space:nowrap}.kpi-overview-layout{display:flex;flex-direction:column;gap:16px}.kpi-overview-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kpi-group-toolbar{margin-bottom:4px}.kpi-group-total{background:#3b82f614;font-weight:600}.kpi-ranking-layout{display:flex;flex-direction:column;gap:12px}.kpi-ranking-exclude-panel{border:1px solid var(--border);border-radius:10px;background:#ffffff05;overflow:hidden}.kpi-ranking-exclude-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;text-align:left}.kpi-ranking-exclude-toggle:hover{background:#ffffff0a}.kpi-ranking-exclude-list{padding:0 12px 12px;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.kpi-ranking-exclude-hint{margin:0 0 4px;font-size:12px}.kpi-ranking-exclude-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 6px;border-radius:6px;cursor:pointer}.kpi-ranking-exclude-item.excluded{background:#f8717114}.kpi-ranking-exclude-item input{flex-shrink:0}.kpi-section-subtitle{margin:0 0 10px;font-size:13px;font-weight:700;color:#93c5fd}.kpi-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.kpi-table-head,.kpi-table-row{display:grid;gap:6px;padding:8px 10px;align-items:center;font-size:11px;min-width:640px}.kpi-driver-head,.kpi-driver-row{grid-template-columns:1.1fr .55fr .5fr .55fr .75fr .8fr .7fr .7fr repeat(9,minmax(52px,.8fr));min-width:1280px}.kpi-group-head,.kpi-group-row{grid-template-columns:.4fr .5fr .5fr .45fr repeat(10,minmax(52px,.8fr));min-width:1200px}.kpi-group-summary-grid{margin-bottom:4px}.kpi-group-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.kpi-trend-intro{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px}.kpi-trend-intro-text{margin:0;font-size:12px}.kpi-trend-chart-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.kpi-trend-chart-head .kpi-section-subtitle{margin:0}.kpi-overview-group-bar{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.kpi-ma-toggle-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.kpi-ma-toggle-label{font-size:12px;font-weight:700;color:#93c5fd;margin-right:4px}.kpi-ma-toggle{border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;background:#ffffff08;color:var(--text-muted);cursor:pointer}.kpi-ma-toggle.active{border-color:var(--ma-color, #f59e0b);color:var(--ma-color, #f59e0b);background:color-mix(in srgb,var(--ma-color, #f59e0b) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ma-color, #f59e0b) 35%,transparent)}.kpi-shift-head,.kpi-shift-row{grid-template-columns:.8fr repeat(5,minmax(64px,1fr))}.kpi-table-head{background:#3b82f61f;font-weight:700;color:#93c5fd;border-bottom:1px solid var(--border)}.kpi-table-row{border-bottom:1px solid rgba(255,255,255,.06)}.kpi-table-row:last-child{border-bottom:none}.kpi-driver-name strong{white-space:nowrap}.kpi-group-layout{display:flex;flex-direction:column;gap:16px}.kpi-trend-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kpi-trend-full{grid-template-columns:1fr 1fr}.kpi-trend-change-card{grid-column:1 / -1}.kpi-trend-change-head,.kpi-trend-change-row{grid-template-columns:.7fr repeat(6,minmax(72px,1fr));min-width:720px}.kpi-ranking-share-section{margin-top:4px}.kpi-ranking-share-head,.kpi-ranking-share-row{grid-template-columns:1.1fr .6fr repeat(4,minmax(64px,.85fr)) .55fr .75fr repeat(2,minmax(64px,.85fr));min-width:980px}.kpi-ranking-share-empty{padding:12px}.kpi-analysis-layout{display:flex;flex-direction:column;gap:16px}.kpi-analysis-summary-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.kpi-analysis-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kpi-analysis-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.kpi-analysis-hour-head,.kpi-analysis-hour-row{grid-template-columns:.55fr .45fr repeat(4,minmax(64px,1fr));min-width:460px}.kpi-analysis-hour-row.kpi-hour-rank-top{background:#14b8a624;box-shadow:inset 3px 0 #14b8a6}.kpi-analysis-hour-row.kpi-hour-rank-bottom{background:#f871711f;box-shadow:inset 3px 0 #f87171}.kpi-hour-rank-cell strong{color:#5eead4;font-weight:700}.kpi-hour-rank-bottom .kpi-hour-rank-cell strong{color:#fca5a5}.kpi-analysis-location-head,.kpi-analysis-location-row{grid-template-columns:1.2fr repeat(4,minmax(56px,.9fr));min-width:480px}.kpi-chart-card{padding:12px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.kpi-trend-stock-chart{background:linear-gradient(180deg,#0f172a59,#ffffff05)}.kpi-trend-tooltip{background:#0f172af2;border:1px solid rgba(148,163,184,.25);border-radius:8px;padding:8px 10px;font-size:12px;min-width:140px}.kpi-trend-tooltip-label{color:#94a3b8;margin-bottom:6px;font-weight:600}.kpi-trend-tooltip-row{display:flex;align-items:center;gap:6px;margin-top:4px}.kpi-trend-tooltip-row strong{margin-left:auto}.kpi-trend-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kpi-ranking-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.kpi-ranking-card{padding:12px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.kpi-ranking-list{display:flex;flex-direction:column;gap:6px}.kpi-ranking-item{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;font-size:12px}.kpi-rank{font-weight:700;color:#93c5fd}.kpi-ranking-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-ranking-value{font-weight:600;white-space:nowrap}.kpi-ranking-empty{margin:0;font-size:12px}.kpi-customer-layout{display:flex;flex-direction:column;gap:16px}.kpi-customer-tables{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kpi-customer-usage{display:flex;flex-direction:column;gap:16px;padding-top:8px;border-top:1px solid var(--border)}.kpi-section-title{margin:0;font-size:15px;font-weight:700;color:#e2e8f0}.kpi-support-layout{display:flex;flex-direction:column;gap:12px}.kpi-support-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.kpi-support-metric-toggle{align-self:flex-start}.kpi-support-hour-row{grid-template-columns:.55fr .45fr repeat(2,minmax(64px,1fr));min-width:320px}.kpi-support-route-row{grid-template-columns:1.4fr repeat(2,minmax(56px,.9fr))}.kpi-pattern-layout{display:flex;flex-direction:column;gap:16px}.kpi-pattern-subtabs{align-self:flex-start}.kpi-support-section{display:flex;flex-direction:column;gap:16px}.kpi-support-hour-head,.kpi-support-hour-head+.kpi-analysis-hour-row{grid-template-columns:.55fr .45fr repeat(2,minmax(64px,1fr));min-width:320px}.kpi-support-route-row{grid-template-columns:1.4fr repeat(2,minmax(56px,.9fr));min-width:360px}.kpi-support-requester-row{grid-template-columns:1.4fr minmax(56px,.9fr);min-width:280px}.kpi-support-stats-head,.kpi-support-stats-row{grid-template-columns:1.1fr repeat(2,minmax(72px,1fr));min-width:360px}.kpi-support-weekday-head,.kpi-support-weekday-row{grid-template-columns:.5fr repeat(4,minmax(64px,1fr));min-width:420px}.kpi-support-hour-full-head,.kpi-support-hour-full-row{grid-template-columns:.5fr repeat(5,minmax(56px,.9fr));min-width:520px}.kpi-support-route-full-head,.kpi-support-route-full-row{grid-template-columns:1.3fr repeat(3,minmax(56px,.85fr));min-width:400px}.kpi-support-requester-full-head,.kpi-support-requester-full-row{grid-template-columns:1.2fr repeat(3,minmax(56px,.85fr));min-width:380px}.kpi-support-summary-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;grid-column:1 / -1}.kpi-dong-route-layout{display:flex;flex-direction:column;gap:16px}.kpi-dong-route-detail-panel{padding:0;overflow:hidden}.kpi-dong-route-detail-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;text-align:left}.kpi-dong-route-detail-toggle:hover{background:#ffffff0a}.kpi-dong-route-detail-body{padding:0 14px 14px}.kpi-dong-route-detail-empty{padding:0 14px 14px;margin:0}.kpi-dong-route-head,.kpi-dong-route-row{grid-template-columns:.9fr .9fr 1.2fr .55fr .6fr .8fr;min-width:640px}.kpi-dong-route-row{width:100%;text-align:left;border:none;background:transparent;cursor:pointer;transition:background .15s}.kpi-dong-route-row:hover,.kpi-dong-route-row.expanded{background:#ffffff08}.kpi-dong-route-24h{border-left:3px solid #6366f1}.kpi-dong-24h-badge{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:600;background:#6366f126;color:#818cf8;vertical-align:middle}.kpi-dong-active-hours{font-size:12px;line-height:1.35}.kpi-dong-customer-cell{font-size:11px}.kpi-dong-heatmap-wrap{overflow-x:auto}.kpi-dong-heatmap{width:100%;border-collapse:collapse;font-size:11px}.kpi-dong-heatmap th,.kpi-dong-heatmap td{border:1px solid rgba(148,163,184,.12);padding:2px 4px;text-align:center;white-space:nowrap}.kpi-dong-heatmap th{background:#ffffff0a;color:#94a3b8;font-weight:600;max-width:72px;overflow:hidden;text-overflow:ellipsis}.kpi-dong-heatmap-hour{position:sticky;left:0;background:#0f172af2;color:#94a3b8;font-weight:600;z-index:1}.kpi-dong-heatmap-cell{min-width:28px;color:#e2e8f0}.kpi-dong-heatmap-cell.level-0{background:#ffffff05}.kpi-dong-heatmap-cell.level-1{background:#6366f126}.kpi-dong-heatmap-cell.level-2{background:#6366f14d}.kpi-dong-heatmap-cell.level-3{background:#6366f180}.kpi-dong-heatmap-cell.level-4{background:#6366f1bf;font-weight:600}.kpi-pattern-filter{display:flex;align-items:center;gap:12px}.kpi-pattern-filter-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.kpi-pattern-filter-select{padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:#ffffff0a;color:inherit;font-size:13px}.kpi-pattern-top-label{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kpi-pattern-head,.kpi-pattern-row{grid-template-columns:1.6fr 1fr .6fr .7fr .5fr;min-width:560px}.kpi-pattern-block{border-bottom:1px solid rgba(148,163,184,.08)}.kpi-pattern-row{width:100%;text-align:left;border:none;background:transparent;cursor:pointer;transition:background .15s}.kpi-pattern-row:hover,.kpi-pattern-row.expanded{background:#ffffff08}.kpi-pattern-row span:first-child{display:flex;flex-direction:column;gap:2px}.kpi-pattern-customer-preview{font-size:11px;line-height:1.3}.kpi-pattern-new-badge{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:600;background:#14b8a626;color:#14b8a6;vertical-align:middle}.kpi-pattern-customer-list{padding:6px 12px 10px 24px;display:flex;flex-direction:column;gap:4px;background:#0000001f}.kpi-pattern-customer-item{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}@media(max-width:1100px){.kpi-group-layout,.kpi-trend-layout,.kpi-customer-tables,.kpi-analysis-charts,.kpi-overview-charts{grid-template-columns:1fr}}
