:root{--color-primary: #ea580c;--color-primary-hover: #c2410c;--color-primary-soft: #ffedd5;--color-primary-ring: rgba(234, 88, 12, .15);--color-page: #f6f7fb;--color-surface: #ffffff;--color-surface-muted: #f9fafb;--color-surface-hover: #f3f4f6;--color-text: #111827;--color-text-body: #374151;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-border-subtle: #f1f5f9;--color-success: #15803d;--color-success-bg: #dcfce7;--color-warning: #b45309;--color-warning-bg: #fef3c7;--color-danger: #b91c1c;--color-danger-bg: #fee2e2;--color-danger-strong: #dc2626;--color-info: #1d4ed8;--color-info-bg: #dbeafe;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Nirmala UI", "Kohinoor Devanagari", "Devanagari Sangam MN", "Noto Sans Devanagari", "Mangal", sans-serif;--text-xs: 13px;--text-sm: 14px;--text-base: 15px;--text-md: 16px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 28px;--text-3xl: 32px;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-pill: 999px;--shadow-sm: 0 2px 6px rgba(17, 24, 39, .08);--shadow-md: 0 8px 20px rgba(17, 24, 39, .08);--shadow-drawer: 2px 0 16px rgba(0, 0, 0, .15);--sidebar-width: 240px;--header-height: 70px;--breakpoint-mobile: 768px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-drawer-overlay: 999;--z-drawer: 1000;--z-mobile-trigger: 1001;--z-modal: 1100;--z-toast: 1200}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0s;--transition-base: 0s;--transition-slow: 0s}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:1.5;color:var(--color-text-body);background:var(--color-page);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:var(--color-text);line-height:1.25}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}table{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lang-switcher{display:inline-flex;flex-shrink:0;padding:3px;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.lang-option{padding:var(--space-1) var(--space-3);border:none;border-radius:calc(var(--radius-md) - 3px);background:transparent;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.6;white-space:nowrap;transition:background var(--transition-base),color var(--transition-base)}.lang-option:hover{color:var(--color-text-body)}.lang-option.is-active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.lang-option{padding:var(--space-1) var(--space-2)}}.header{height:var(--header-height);flex-shrink:0;display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header-title{flex:1;min-width:0;font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:.01em;text-transform:uppercase;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user{display:flex;align-items:center;gap:var(--space-3)}.header-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.header-user-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-body);white-space:nowrap}.header-logout-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);transition:background var(--transition-base),border-color var(--transition-base)}.header-logout-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.header-menu-btn{display:none;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-body)}.header-menu-btn:hover{background:var(--color-surface-hover)}@media (max-width: 768px){.header{padding:0 var(--space-4);gap:var(--space-3)}.header-menu-btn{display:flex}.header-title{font-size:var(--text-md)}.header-user-name,.header-logout-label{display:none}.header-logout-btn{padding:var(--space-2)}}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-5);overflow-y:auto}.sidebar-brand{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.sidebar-brand-mark{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:.02em;color:var(--color-primary);line-height:1.1}.sidebar-brand-name{font-size:var(--text-xs);color:var(--color-text-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.sidebar-footer{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.menu-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text-body);font-size:var(--text-base);font-weight:var(--weight-medium);transition:background var(--transition-base),color var(--transition-base)}.menu-link:hover{background:var(--color-surface-hover)}.menu-link.is-active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--weight-semibold)}.menu-link-icon{flex-shrink:0}.menu-group{display:flex;flex-direction:column;gap:var(--space-1)}.menu-group-toggle{width:100%;border:none;background:transparent;text-align:left;font-family:inherit;cursor:pointer}.menu-group-toggle.is-active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--weight-semibold)}.menu-group-caret{margin-left:auto;width:0;height:0;border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:5px solid currentColor;opacity:.55;transition:transform var(--transition-base)}.menu-group-caret.is-open{transform:rotate(180deg)}.menu-sublist{display:flex;flex-direction:column;gap:2px;margin:2px 0 var(--space-1) 22px;padding-left:var(--space-3);border-left:1px solid var(--color-border)}.menu-sublink{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--transition-base),color var(--transition-base)}.menu-sublink:hover{background:var(--color-surface-hover);color:var(--color-text-body)}.menu-sublink.is-active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--weight-semibold)}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:var(--z-drawer);transform:translate(-100%);transition:transform var(--transition-slow);box-shadow:var(--shadow-drawer)}.sidebar.is-open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:var(--z-drawer-overlay)}}.app-layout{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-content{flex:1;padding:var(--space-6);background:var(--color-page);overflow-y:auto}@media (max-width: 768px){.app-content{padding:var(--space-4)}}.toast-viewport{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(380px,calc(100vw - var(--space-8)));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);pointer-events:auto;animation:toast-in .22s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.toast-icon{flex-shrink:0;margin-top:1px}.toast-success{border-left-color:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-error .toast-icon{color:var(--color-danger)}.toast-info{border-left-color:var(--color-primary)}.toast-info .toast-icon{color:var(--color-primary)}.toast-content{flex:1;min-width:0}.toast-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:2px}.toast-message{font-size:var(--text-xs);line-height:1.5;color:var(--color-text-body);word-break:break-word}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted)}.toast-close:hover{background:var(--color-surface-hover);color:var(--color-text-body)}@media (max-width: 640px){.toast-viewport{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);width:auto}}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-body)}.field-required{margin-left:2px;color:var(--color-danger)}.field-input{width:100%;padding:var(--space-3) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-base);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.field-input::placeholder{color:var(--color-text-muted)}.field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.field-input:focus-visible{outline:none}.field-input:disabled{background:var(--color-surface-hover);color:var(--color-text-muted);cursor:not-allowed}.field-input.has-error{border-color:var(--color-danger)}.field-input.has-error:focus{box-shadow:0 0 0 3px #b91c1c26}.field-error{font-size:var(--text-xs);color:var(--color-danger)}.field-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-weight:var(--weight-semibold);white-space:nowrap;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-md{padding:var(--space-3) var(--space-5);font-size:var(--text-base)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-block{width:100%}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-danger{background:var(--color-danger-strong);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger)}.btn-ghost{background:transparent;color:var(--color-text-body)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover)}.btn-spinner{width:15px;height:15px;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:.85;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn-spinner{animation-duration:1.6s}}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-6);background:var(--color-page)}.login-checking{color:var(--color-text-muted);font-size:var(--text-sm)}.login-card{width:100%;max-width:420px;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md)}.login-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);text-align:center}.login-mark{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--space-2);border-radius:var(--radius-xl);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:.02em}.login-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text)}.login-tagline{font-size:var(--text-sm);color:var(--color-text-muted)}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-error{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--text-sm)}.login-error svg{flex-shrink:0;margin-top:1px}.login-footnote{font-size:var(--text-xs);color:var(--color-text-muted)}@media (max-width: 480px){.login-card{padding:var(--space-6)}}.page-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--space-5);margin-bottom:var(--space-6)}.page-header-left{display:flex;align-items:center;gap:var(--space-4);min-width:0}.page-header-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-body);font-size:var(--text-lg);transition:background var(--transition-base),border-color var(--transition-base)}.page-header-back:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.page-header-title{font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-text)}.page-header-subtitle{margin-top:var(--space-1);font-size:var(--text-base);color:var(--color-text-muted)}.page-header-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}@media (max-width: 768px){.page-header{align-items:stretch;gap:var(--space-4)}.page-header-title{font-size:var(--text-2xl)}.page-header-actions{width:100%}.page-header-actions>*{flex:1}}.card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-5) var(--space-5);border-bottom:1px solid var(--color-border)}.card-heading{min-width:0}.card-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text)}.card-subtitle{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-muted)}.card-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.card-body{padding:var(--space-5);flex:1;min-width:0}.card-body.is-flush{padding:0}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-muted)}@media (max-width: 768px){.card-header,.card-body{padding:var(--space-4)}.card-body.is-flush{padding:0}}.badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1.4;white-space:nowrap}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background:var(--color-surface-hover);color:var(--color-text-body)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-10) var(--space-5)}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:var(--space-2);border-radius:var(--radius-xl);background:var(--color-surface-hover);color:var(--color-text-muted)}.empty-state-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text)}.empty-state-message{max-width:46ch;font-size:var(--text-sm);color:var(--color-text-muted)}.empty-state-action{margin-top:var(--space-3)}.datatable-wrapper{width:100%;overflow-x:auto;background:var(--color-surface)}.datatable{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.datatable thead th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.datatable tbody td{padding:var(--space-3) var(--space-4);color:var(--color-text-body);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.datatable tbody tr:last-child td{border-bottom:none}.datatable tbody tr:hover{background:var(--color-surface-muted)}.datatable tbody tr.is-clickable{cursor:pointer}.datatable .is-right{text-align:right}.datatable .is-center{text-align:center}.datatable .is-numeric{font-variant-numeric:tabular-nums;white-space:nowrap}.datatable-actions-header{text-align:right}.datatable-actions{text-align:right;white-space:nowrap}.datatable th.is-sortable{padding:0}.datatable-sort{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border:none;background:none;font:inherit;color:inherit;text-align:inherit}.datatable th.is-right .datatable-sort{justify-content:flex-end}.datatable-sort:hover{color:var(--color-text)}.datatable-sort-icon{width:6px;height:6px;flex-shrink:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.35;transform:rotate(45deg) translateY(-1px)}.datatable-sort-icon.is-asc{opacity:1;transform:rotate(-135deg) translateY(-1px);border-color:var(--color-primary)}.datatable-sort-icon.is-desc{opacity:1;border-color:var(--color-primary)}.row-action{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:var(--space-1);border:none;border-radius:var(--radius-sm);background:var(--color-surface-hover);color:var(--color-text-body);transition:background var(--transition-base),color var(--transition-base)}.row-action:hover:not(:disabled){background:var(--color-border)}.row-action:disabled{opacity:.4;cursor:not-allowed}.row-action-info{background:var(--color-info-bg);color:var(--color-info)}.row-action-warning{background:var(--color-warning-bg);color:var(--color-warning)}.row-action-danger{background:var(--color-danger-bg);color:var(--color-danger)}.datatable-skeleton{display:block;height:12px;width:70%;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-hover) 25%,var(--color-border) 37%,var(--color-surface-hover) 63%);background-size:400% 100%;animation:datatable-shimmer 1.4s ease infinite}@keyframes datatable-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.datatable-skeleton{animation:none;background:var(--color-surface-hover)}}.datatable-state{background:var(--color-surface)}.datatable-cards{display:none}@media (max-width: 768px){.datatable-wrapper{display:none}.datatable-cards{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface)}.datatable-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);background:var(--color-surface)}.datatable-card.is-clickable{cursor:pointer}.datatable-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.datatable-card-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);min-width:0;word-break:break-word}.datatable-card-actions{flex-shrink:0;white-space:nowrap}.datatable-card-fields{display:flex;flex-direction:column;gap:var(--space-1)}.datatable-card-field{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs)}.datatable-card-field dt{color:var(--color-text-muted);flex-shrink:0}.datatable-card-field dd{color:var(--color-text-body);text-align:right;font-variant-numeric:tabular-nums;min-width:0;word-break:break-word}}.sales-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5)}.sales-chart-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.sales-chart-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text)}.sales-chart-subtitle{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-muted)}.period-toggle{display:flex;gap:2px;padding:3px;border-radius:var(--radius-md);background:var(--color-surface-hover)}.period-btn{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);transition:background var(--transition-base),color var(--transition-base)}.period-btn:hover{color:var(--color-text-body)}.period-btn.is-active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.sales-chart-plot{position:relative}.sales-chart-svg{display:block;width:100%;height:auto;overflow:visible}.chart-gridline{stroke:var(--color-border);stroke-width:1;opacity:.6}.chart-baseline{stroke:var(--color-border-strong);stroke-width:1}.chart-axis-label{fill:var(--color-text-muted);font-size:11px;font-family:var(--font-sans)}.chart-bar{fill:var(--color-primary);opacity:.85;transition:opacity var(--transition-fast)}.chart-bar.is-hovered{opacity:1}.chart-hover-band{fill:var(--color-primary);opacity:.07}.chart-tooltip{position:absolute;top:0;transform:translate(-50%);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);pointer-events:none;white-space:nowrap;z-index:1}.chart-tooltip-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:2px}.chart-tooltip-value{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.chart-tooltip-meta{font-size:11px;color:var(--color-text-muted);margin-top:1px}.sales-chart-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-muted);font-size:var(--text-sm)}@media (max-width: 640px){.sales-chart{padding:var(--space-4)}.period-toggle{width:100%}.period-btn{flex:1}}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.quick-action{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.quick-action:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.quick-action-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary)}.stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}@media (max-width: 1400px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-tile{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.stat-tile.is-clickable{cursor:pointer}.stat-tile.is-clickable:hover{border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.stat-tile-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.stat-tile-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-medium)}.stat-tile-icon{display:flex;color:var(--color-text-muted);opacity:.7}.stat-tile-value{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums;line-height:1.15}.stat-tile-meta{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.stat-tile-danger .stat-tile-value{color:var(--color-danger)}.stat-tile-danger .stat-tile-icon{color:var(--color-danger);opacity:1}.stat-tile-success .stat-tile-value{color:var(--color-success)}.stat-tile-success .stat-tile-icon{color:var(--color-success);opacity:1}.dashboard-section{margin-bottom:var(--space-5)}.dashboard-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-4);margin-bottom:var(--space-5);align-items:start}.category-bars{display:flex;flex-direction:column;gap:var(--space-4);list-style:none}.category-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-body)}.category-bar-head strong{font-weight:var(--weight-semibold);color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.category-bar-track{height:8px;border-radius:var(--radius-pill);background:var(--color-surface-hover);overflow:hidden}.category-bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--color-primary);opacity:.85}@media (max-width: 640px){.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action{flex-direction:column;align-items:flex-start;gap:var(--space-2);text-align:left}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-tile-value{font-size:var(--text-lg)}.dashboard-columns{grid-template-columns:minmax(0,1fr)}}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface)}.pagination-summary{font-size:var(--text-xs);color:var(--color-text-muted)}.pagination-summary strong{color:var(--color-text-body);font-weight:var(--weight-semibold)}.pagination-controls{display:flex;align-items:center;gap:var(--space-2)}.pagination-pages{display:flex;align-items:center;gap:var(--space-1)}.pagination-btn,.pagination-page{min-width:34px;height:34px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-body);font-size:var(--text-xs);font-weight:var(--weight-medium);transition:background var(--transition-base),border-color var(--transition-base)}.pagination-btn:hover:not(:disabled),.pagination-page:hover:not(.is-current){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-page.is-current{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:var(--weight-semibold)}.pagination-gap{padding:0 var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}@media (max-width: 640px){.pagination{justify-content:center;text-align:center}.pagination-pages{display:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:#11182780}.modal-panel{display:flex;flex-direction:column;width:100%;max-height:90vh;background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.modal-subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.modal-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:none;border-radius:var(--radius-pill);background:var(--color-surface-hover);color:var(--color-text-body);transition:background var(--transition-base)}.modal-close:hover{background:var(--color-border)}.modal-body{flex:1;padding:var(--space-5);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-muted)}@media (max-width: 768px){.modal-overlay{padding:0;align-items:flex-end}.modal-panel{max-width:none!important;max-height:100vh;height:100%;border-radius:0}.modal-footer{flex-direction:column-reverse}.modal-footer>*{width:100%}}.filter-bar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.filter-bar-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-3);flex:1;min-width:0}.filter-bar-reset{border:none;background:none;padding:var(--space-2) var(--space-1);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.filter-bar-reset:hover{text-decoration:underline}.search-input{position:relative;display:flex;align-items:center;flex:1;min-width:220px}.search-input-icon{position:absolute;left:var(--space-3);display:flex;color:var(--color-text-muted);pointer-events:none}.search-input-field{width:100%;height:40px;padding:0 var(--space-8) 0 var(--space-8);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.search-input-field::placeholder{color:var(--color-text-muted)}.search-input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.search-input-field:focus-visible{outline:none}.search-input-field::-webkit-search-cancel-button{display:none}.search-input-clear{position:absolute;right:var(--space-2);display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-pill);background:var(--color-surface-hover);color:var(--color-text-muted)}.search-input-clear:hover{background:var(--color-border);color:var(--color-text-body)}.filter-select{display:flex;flex-direction:column;gap:var(--space-1);min-width:150px}.filter-select-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.filter-select-field{height:40px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.filter-select-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.filter-select-field:focus-visible{outline:none}.date-range{display:flex;gap:var(--space-3);flex-wrap:wrap}.date-range .filter-select{min-width:145px}@media (max-width: 768px){.filter-bar-controls{flex-direction:column;align-items:stretch}.search-input,.filter-select{min-width:0;width:100%}.date-range{width:100%}.date-range .filter-select{flex:1;min-width:0}}.select-wrapper{position:relative;display:block}.select-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:var(--space-8);cursor:pointer}.select-input:disabled{cursor:not-allowed}.select-arrow{position:absolute;top:50%;right:var(--space-4);width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg);pointer-events:none}.field-textarea{resize:vertical;min-height:80px;line-height:1.5;font-family:inherit}.gst-input-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.gst-input-wrapper{position:relative;flex:0 0 96px}.gst-input{padding-right:var(--space-6);text-align:right;font-variant-numeric:tabular-nums}.gst-input::-webkit-outer-spin-button,.gst-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.gst-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.gst-suffix{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);color:var(--color-text-muted);font-size:var(--text-sm);pointer-events:none}.gst-slabs{display:flex;gap:var(--space-1);flex-wrap:wrap}.gst-slab{min-width:34px;height:30px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.gst-slab:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-body)}.gst-slab.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--weight-semibold)}.gst-slab:disabled{opacity:.5;cursor:not-allowed}.gst-field.is-compact .gst-input-wrapper{flex:1 1 auto;min-width:72px}.gst-field.is-compact .gst-input{padding:var(--space-2) var(--space-5) var(--space-2) var(--space-2);font-size:var(--text-sm)}.gst-field.is-compact .gst-slabs{display:none}.cell-mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-xs);color:var(--color-text-body)}.form-note{display:block;margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning);font-size:var(--text-xs);line-height:1.5}.sale-form{display:flex;flex-direction:column;gap:var(--space-4)}.sale-form-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:var(--space-4);align-items:start}.customer-picker{display:flex;align-items:flex-end;gap:var(--space-3)}.customer-picker .field{flex:1;min-width:0}.summary-list{display:flex;flex-direction:column;gap:var(--space-2)}.summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm)}.summary-row dt{color:var(--color-text-muted)}.summary-row dd{color:var(--color-text-body);font-variant-numeric:tabular-nums;white-space:nowrap}.summary-row dd.is-negative{color:var(--color-warning)}.summary-row.is-total{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.summary-row.is-total dt{color:var(--color-text);font-weight:var(--weight-semibold);font-size:var(--text-md)}.summary-row.is-total dd{color:var(--color-primary);font-weight:var(--weight-bold);font-size:var(--text-xl)}.sale-form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.payment-toggle{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-body);cursor:pointer}.checkbox-row input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.payment-fields{margin-top:var(--space-4)}.sale-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:var(--space-4);align-items:start}.sale-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.sale-meta-item dt{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:2px}.sale-meta-item dd{font-size:var(--text-sm);color:var(--color-text);font-weight:var(--weight-medium)}.cancelled-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-lg);background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--text-sm);line-height:1.5}.cancelled-banner svg{flex-shrink:0;margin-top:1px}.balance-callout{padding:var(--space-4);margin-top:var(--space-4);border-radius:var(--radius-lg);text-align:center}.balance-callout.is-due{background:var(--color-danger-bg)}.balance-callout.is-settled{background:var(--color-success-bg)}.balance-callout-label{font-size:var(--text-xs);margin-bottom:var(--space-1)}.balance-callout-value{font-size:var(--text-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.balance-callout.is-due .balance-callout-label,.balance-callout.is-due .balance-callout-value{color:var(--color-danger)}.balance-callout.is-settled .balance-callout-label,.balance-callout.is-settled .balance-callout-value{color:var(--color-success)}.sale-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}@media (max-width: 1024px){.sale-form-bottom,.sale-detail-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.customer-picker{flex-direction:column;align-items:stretch}.sale-form-actions{flex-direction:column-reverse}}.line-items{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.line-items-head,.line-row{display:grid;grid-template-columns:minmax(180px,2.2fr) 78px 100px 100px 92px minmax(96px,1fr) minmax(88px,1fr) minmax(104px,1fr) 40px;gap:var(--space-2);align-items:center}.line-items-head{padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.line-items-head .line-col-amount,.line-items-head .line-col-qty,.line-items-head .line-col-rate,.line-items-head .line-col-discount,.line-items-head .line-col-gst{text-align:right}.line-items-body{display:flex;flex-direction:column}.line-row{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.line-row:last-child{border-bottom:none}.line-row.has-error{background:var(--color-danger-bg)}.line-label{display:none}.line-input{width:100%;height:36px;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.line-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.line-input:focus-visible{outline:none}.line-input:disabled{background:var(--color-surface-hover);cursor:not-allowed}.line-input.is-numeric{text-align:right;font-variant-numeric:tabular-nums}.line-input::-webkit-outer-spin-button,.line-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.line-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.line-input.is-overridden{border-color:var(--color-warning);background:var(--color-warning-bg)}.line-gst-wrapper{position:relative}.line-gst-flag{position:absolute;top:-5px;right:-5px;display:flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:var(--radius-pill);background:var(--color-warning);color:#fff;font-size:10px;font-weight:var(--weight-bold);cursor:help}.line-col-qty{position:relative}.line-unit{display:block;margin-top:1px;font-size:10px;color:var(--color-text-muted);text-align:right}.line-col-amount{text-align:right}.line-value{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-body);white-space:nowrap}.line-value.is-strong{font-weight:var(--weight-semibold);color:var(--color-text)}.line-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);transition:opacity var(--transition-base)}.line-remove:disabled{opacity:.35;cursor:not-allowed}.line-error{grid-column:1 / -1;padding-top:var(--space-1);font-size:var(--text-xs);color:var(--color-danger)}.line-items-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-muted);border-top:1px solid var(--color-border)}.line-items-count{font-size:var(--text-xs);color:var(--color-text-muted)}@media (max-width: 1024px){.line-items-head{display:none}.line-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding:var(--space-4);border-bottom:8px solid var(--color-surface-muted);position:relative}.line-col-product{grid-column:1 / -1;padding-right:40px}.line-label{display:block;margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.line-col-amount{text-align:left;padding-top:var(--space-1);border-top:1px dashed var(--color-border)}.line-col-remove{position:absolute;top:var(--space-4);right:var(--space-4)}.line-unit{text-align:left}}@media (max-width: 480px){.line-row{grid-template-columns:minmax(0,1fr)}}.attendance-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.attendance-toolbar-actions{display:flex;align-items:center;gap:var(--space-3)}.attendance-grid{display:flex;flex-direction:column}.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) auto 120px;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.attendance-row:last-child{border-bottom:none}.attendance-row-name{display:flex;flex-direction:column;gap:2px;min-width:0}.attendance-row-title{font-weight:var(--weight-semibold);color:var(--color-text)}.attendance-row-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap}.attendance-hourly-flag{color:var(--color-primary);font-weight:var(--weight-semibold)}.status-picker{display:flex;gap:var(--space-2);flex-wrap:wrap}.status-chip{position:relative;display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.status-chip:hover{background:var(--color-surface-hover)}.status-chip input{position:absolute;opacity:0;width:0;height:0}.status-chip:focus-within{outline:2px solid var(--color-primary);outline-offset:1px}.status-chip.is-selected.tone-success{background:var(--color-success-bg);border-color:transparent;color:var(--color-success)}.status-chip.is-selected.tone-danger{background:var(--color-danger-bg);border-color:transparent;color:var(--color-danger)}.status-chip.is-selected.tone-warning{background:var(--color-warning-bg);border-color:transparent;color:var(--color-warning)}.status-chip.is-selected.tone-info{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary)}.attendance-hours .field{margin:0}.attendance-hours-blank{text-align:center;color:var(--color-text-muted)}.attendance-row-error{grid-column:1 / -1;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-danger)}.attendance-summary-strip{display:flex;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-muted)}.attendance-summary-strip strong{color:var(--color-text);font-weight:var(--weight-bold)}.attendance-save-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4);border-top:1px solid var(--color-border)}@media (max-width: 860px){.attendance-row{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.attendance-hours{max-width:160px}}.settings-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);padding:4px;border-radius:var(--radius-lg);background:var(--color-surface-hover);overflow-x:auto}.settings-tab{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);background:none;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;transition:background var(--transition-base),color var(--transition-base)}.settings-tab:hover{color:var(--color-text-body)}.settings-tab.is-active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.settings-actions{display:flex;justify-content:flex-end;margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.logo-row{display:flex;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap}.logo-preview{display:flex;align-items:center;justify-content:center;width:96px;height:96px;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-muted);overflow:hidden}.logo-preview img{width:100%;height:100%;object-fit:contain}.logo-placeholder{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-primary)}.logo-controls{flex:1;min-width:240px;display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.number-preview{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-primary-soft);text-align:center}.number-preview-label{font-size:var(--text-xs);color:var(--color-primary);margin-bottom:var(--space-2)}.number-preview-value{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:.01em}.number-preview-note{max-width:56ch;margin:var(--space-3) auto 0;font-size:var(--text-xs);line-height:1.5;color:var(--color-text-muted)}.you-tag{display:inline-block;margin-left:var(--space-2);padding:1px 6px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:10px;font-weight:var(--weight-semibold)}@media (max-width: 640px){.settings-actions{justify-content:stretch}.settings-actions>*{width:100%}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-grid-full{grid-column:1 / -1}.form-error{display:block;margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--text-sm);line-height:1.5}.form-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.form-section:first-child{margin-top:0;padding-top:0;border-top:none}.form-section-title{margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}@media (max-width: 640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.list-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.cell-strong{font-weight:var(--weight-semibold);color:var(--color-text)}.cell-muted{color:var(--color-text-muted);font-size:var(--text-xs)}.cell-stack{display:flex;flex-direction:column;gap:1px}.cell-money{font-variant-numeric:tabular-nums;white-space:nowrap}.cell-money.is-due{color:var(--color-danger);font-weight:var(--weight-semibold)}.cell-money.is-clear{color:var(--color-text-muted)}.detail-grid{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--space-4);align-items:start}.detail-stack{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.info-list{display:flex;flex-direction:column;gap:var(--space-3)}.info-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm)}.info-row dt{color:var(--color-text-muted);flex-shrink:0}.info-row dd{color:var(--color-text-body);text-align:right;word-break:break-word;min-width:0}.finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.finance-cell{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.finance-cell-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.finance-cell-value{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.finance-cell.is-outstanding{background:var(--color-danger-bg);border-color:transparent}.finance-cell.is-outstanding .finance-cell-value,.finance-cell.is-outstanding .finance-cell-label{color:var(--color-danger)}.finance-cell.is-settled{background:var(--color-success-bg);border-color:transparent}.finance-cell.is-settled .finance-cell-value,.finance-cell.is-settled .finance-cell-label{color:var(--color-success)}.refund-note{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning);font-size:var(--text-xs);line-height:1.5}@media (max-width: 900px){.detail-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.finance-summary{grid-template-columns:minmax(0,1fr)}}.rate-cell{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.rate-value{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text)}.rate-unit{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.attendance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.attendance-tile{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.attendance-tile-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:2px}.attendance-tile-value{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.attendance-tile.is-present .attendance-tile-value{color:var(--color-success)}.attendance-tile.is-absent .attendance-tile-value{color:var(--color-danger)}.staff-form-page{max-width:820px}.period-picker{display:flex;align-items:flex-end;gap:var(--space-3)}.period-picker .field{min-width:130px}@media (max-width: 900px){.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.attendance-summary-grid{grid-template-columns:minmax(0,1fr)}.period-picker{flex-wrap:wrap}}.expense-total-strip{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-muted)}.expense-total-strip strong{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.receipt-chip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-info-bg);color:var(--color-info)}.receipt-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary);font-size:var(--text-sm);text-decoration:none}.receipt-link:hover{text-decoration:underline}.receipt-existing{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.receipt-input{width:100%;padding:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-body)}.receipt-input::file-selector-button{margin-right:var(--space-3);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:var(--color-surface-hover);color:var(--color-text-body);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer}.receipt-input::file-selector-button:hover{background:var(--color-border)}.receipt-note{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.link-button{padding:0;border:none;background:none;color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.link-button:hover{text-decoration:underline}.link-button.is-danger{color:var(--color-danger)}.salary-preview{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.salary-preview-total{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.salary-preview-total strong{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.salary-breakdown{display:flex;flex-direction:column}.salary-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.salary-line:last-child{border-bottom:none}.salary-line-label{color:var(--color-text-muted)}.salary-line-value{font-variant-numeric:tabular-nums;color:var(--color-text-body);white-space:nowrap}.salary-line.is-base .salary-line-value,.salary-line.is-base .salary-line-label{font-weight:var(--weight-semibold);color:var(--color-text)}.salary-line.is-credit .salary-line-value{color:var(--color-success)}.salary-line.is-debit .salary-line-value{color:var(--color-danger)}.salary-line.is-final{margin-top:var(--space-2);padding:var(--space-4);border:none;border-radius:var(--radius-lg);background:var(--color-primary-soft)}.salary-line.is-final .salary-line-label{color:var(--color-primary);font-weight:var(--weight-semibold)}.salary-line.is-final .salary-line-value{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-primary)}.salary-note{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);line-height:1.5}.salary-note.is-info{background:var(--color-surface-muted);color:var(--color-text-muted)}.salary-note.is-locked{background:var(--color-success-bg);color:var(--color-success)}.salary-note.is-warning{background:var(--color-warning-bg);color:var(--color-warning)}.salary-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.salary-total-strip{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-muted)}.salary-total-strip strong{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}
