:root{--teal-500: #14b8a6;--teal-600: #0d9488;--teal-700: #0f766e;--teal-50: #f0fdfa;--sidebar-bg: #0f172a;--sidebar-bg-hover: #1e293b;--sidebar-text: #94a3b8;--sidebar-text-active: #f1f5f9;--bg: #f1f5f9;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--danger: #dc2626;--danger-bg: #fef2f2;--success: #16a34a;--success-bg: #f0fdf4;--amber: #d97706;--amber-bg: #fffbeb;--info-bg: #eff6ff;--info: #2563eb;--radius: 10px;--radius-sm: 6px;--shadow-soft: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 14px rgba(15, 23, 42, .06);--shadow-pop: 0 8px 30px rgba(15, 23, 42, .14);--sidebar-width: 232px;--topbar-height: 60px;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1{font-size:22px;margin:0}h2{font-size:18px;margin:0 0 8px}h3{font-size:15px;margin:0 0 8px}p{margin:6px 0;line-height:1.5}a{color:var(--teal-600);text-decoration:none}code{background:var(--bg);padding:1px 5px;border-radius:4px;font-size:12.5px}.muted{color:var(--text-muted)}.center{text-align:center}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--teal-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--teal-700)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-spinner{width:13px;height:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.form-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-field label{font-weight:600;font-size:13px}.form-required{color:var(--danger)}.form-field input,.form-field select,.form-field textarea{padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:var(--surface);color:var(--text)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--teal-500);outline-offset:-1px;border-color:var(--teal-500)}.form-field.has-error input,.form-field.has-error select{border-color:var(--danger)}.form-hint{color:var(--text-muted);font-size:12px}.form-error{color:var(--danger);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:18px}.form-actions{margin-top:8px;display:flex;gap:10px}.form-inline{display:flex;gap:10px;align-items:flex-start}.form-inline .form-field{flex:1;margin-bottom:0}.checkbox-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-item input{accent-color:var(--teal-600);width:15px;height:15px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:18px 20px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.form-card{max-width:760px;margin-bottom:16px}.table-card{padding:0;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.data-table td{padding:11px 16px;border-bottom:1px solid var(--border)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--teal-50)}.row-inactive td{opacity:.55}.row-warning td,.row-warning:hover td{background:var(--amber-bg)}.table-actions{display:flex;gap:8px;justify-content:flex-end}.cell-truncate{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;margin-left:6px}.badge-teal{background:var(--teal-50);color:var(--teal-700)}.badge-gray{background:var(--bg);color:var(--text-muted)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.alert{padding:11px 14px;border-radius:var(--radius-sm);margin-bottom:14px;font-size:13.5px}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-success{background:var(--success-bg);color:var(--success)}.alert-info{background:var(--info-bg);color:var(--info)}.toast-stack{position:fixed;top:16px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-pop);font-size:13.5px;animation:toast-in .18s ease-out}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex:none;font-size:11px;font-weight:700;color:#fff}.toast-success .toast-icon{background:var(--success)}.toast-error .toast-icon{background:var(--danger)}.toast-info .toast-icon{background:var(--info)}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--info)}.toast-message{flex:1}.toast-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:15px;line-height:1;padding:0}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;font-size:13px}.pagination-controls{display:flex;align-items:center;gap:10px}.pagination-page{color:var(--text-muted)}.pagination-size{display:inline-flex;align-items:center;gap:6px;margin-right:6px}.pagination-size select{padding:2px 6px;font-size:13px}.row-link{color:var(--accent, #0d9488);font-weight:600;text-decoration:none;cursor:pointer}.row-link:hover{text-decoration:underline}.item-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.item-filters label{display:flex;flex-direction:column;gap:4px}.item-filters select{padding:6px 8px}.item-filters .field-label{font-size:12px;color:var(--text-muted)}.item-filters-check{flex-direction:row!important;align-items:center;gap:8px}.item-filters-check input{width:auto}.item-columns-list{list-style:none;margin:0;padding:0;max-width:420px}.item-columns-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border, #e5e7eb)}.item-columns-row label{display:flex;align-items:center;gap:8px}.item-columns-row input{width:auto}.item-columns-move{display:flex;gap:4px}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;color:var(--text-muted)}.page-loader-spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--teal-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:44px 24px}.empty-state-icon{font-size:36px;margin-bottom:10px}.empty-state .btn{margin-top:12px}.access-denied{text-align:center;padding:48px 24px;max-width:460px;margin:60px auto}.access-denied-icon{font-size:38px;margin-bottom:10px}.access-denied-actions{display:flex;gap:10px;justify-content:center;margin-top:16px}.toggle-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{width:44px;height:24px;background:var(--border);border-radius:999px;transition:background .2s;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:var(--teal-600)}.toggle-switch input:checked+.toggle-slider:after{transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-content{flex:1;padding:24px 28px;max-width:1280px;width:100%;margin:0 auto}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-brand-mark,.auth-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--teal-600);color:#fff;font-weight:800;font-size:14px;flex-shrink:0}.sidebar-brand-name{color:var(--sidebar-text-active);font-weight:700}.sidebar-nav{flex:1;padding:10px 8px;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:13.5px;font-weight:500;margin-bottom:2px}.sidebar-item:hover{background:var(--sidebar-bg-hover);color:var(--sidebar-text-active)}.sidebar-item.active{background:var(--teal-700);color:#fff}.sidebar-footer{padding:12px 16px;font-size:11.5px;color:#94a3b899;border-top:1px solid rgba(255,255,255,.07)}.topbar{height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 22px;position:sticky;top:0;z-index:20}.topbar-spacer{flex:1}.location-selector{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px}.location-selector select{border:none;background:transparent;font-size:13.5px;font-weight:600;font-family:inherit;color:var(--text);cursor:pointer;outline:none;max-width:230px}.location-selector-empty{font-size:13px;color:var(--text-muted)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13.5px;color:var(--text);padding:6px;border-radius:var(--radius-sm)}.user-menu-trigger:hover{background:var(--bg)}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--teal-600);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px}.user-menu-name{font-weight:600}.user-menu-caret{color:var(--text-muted)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);min-width:210px;padding:6px;z-index:30}.user-menu-email{padding:9px 12px;font-size:12.5px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:4px}.user-menu-link{display:block;width:100%;text-align:left;padding:9px 12px;border:none;background:none;border-radius:var(--radius-sm);font-size:13.5px;font-family:inherit;color:var(--text);cursor:pointer}.user-menu-link:hover{background:var(--bg)}.user-menu-link.danger{color:var(--danger)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-narrow{max-width:820px}.page-toolbar{display:flex;gap:10px;margin-bottom:14px;max-width:440px}.page-toolbar .form-field{flex:1;margin-bottom:0}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--sidebar-bg) 0%,#134e4a 100%);padding:20px}.auth-card{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-pop);width:100%;max-width:400px;padding:32px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.auth-brand h1{font-size:19px}.login-form .btn{width:100%;justify-content:center;margin-top:6px}.auth-alt{text-align:center;margin:16px 0 0;font-size:13px}.auth-alt a{font-weight:600}.link-btn{background:none;border:none;padding:0;font:inherit;color:var(--teal-700);font-weight:600;cursor:pointer;text-decoration:underline}.signup-stepper{display:flex;align-items:center;justify-content:center;list-style:none;margin:0 0 20px;padding:0;gap:6px}.signup-step{display:flex;align-items:center;gap:6px;font-size:13px}.signup-step-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;border:2px solid var(--border);color:var(--text-muted)}.signup-step.active .signup-step-dot,.signup-step.done .signup-step-dot{border-color:var(--teal-600);background:var(--teal-600);color:#fff}.signup-step-label{color:var(--text-muted)}.signup-step.active .signup-step-label{color:var(--text);font-weight:600}.signup-step-sep{width:20px;height:1px;background:var(--border)}.plan-selector h2{margin:0 0 4px}.plan-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.plan-card{position:relative;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;background:var(--surface)}.plan-card.highlight{border-color:var(--teal-600);border-width:2px}.plan-card-badge{position:absolute;top:-10px;right:14px;background:var(--teal-600);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.plan-card h3{margin:0 0 4px}.plan-card-price{display:flex;align-items:baseline;gap:4px;margin-bottom:6px}.plan-card-amount{font-size:26px;font-weight:800}.plan-card-features{list-style:none;margin:10px 0 14px;padding:0;font-size:13px}.plan-card-features li{padding:3px 0;color:var(--text-muted)}.plan-card-features li:before{content:"✓ ";color:var(--teal-600);font-weight:700}.plan-card .btn{width:100%;justify-content:center}.metric-grid{margin-bottom:18px}.metric-card{display:flex;align-items:center;gap:14px}.metric-icon{font-size:26px}.metric-value{font-size:22px;font-weight:800}.metric-label{color:var(--text-muted);font-size:12.5px}.quick-actions{margin-bottom:18px}.quick-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.setup-card{display:block;color:var(--text);transition:box-shadow .15s,transform .15s}.setup-card:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}.setup-card-header{display:flex;align-items:center;justify-content:space-between}.setup-card-stat{margin-top:8px;font-size:12.5px;font-weight:700;color:var(--teal-700)}.split-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.select-list{list-style:none;margin:12px 0 0;padding:0}.select-list-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:none;border-radius:var(--radius-sm);font-size:13.5px;font-family:inherit;color:var(--text);cursor:pointer;margin-bottom:2px}.select-list-item:hover{background:var(--bg)}.select-list-item.active{background:var(--teal-50);color:var(--teal-700);font-weight:700}.permission-grid-actions{margin-top:14px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:14px}.permission-group{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px 12px}.permission-group legend{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 6px}.permission-group .checkbox-item{margin-bottom:6px;font-size:12.5px}.email-preview{display:flex;align-items:baseline;gap:12px;background:var(--teal-50);border:1px dashed var(--teal-500);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:18px}.email-preview-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--teal-700)}.email-preview-value{font-size:17px;font-weight:800;color:var(--teal-700);word-break:break-all}.email-card{margin-bottom:12px}.email-card-address{font-size:17px;font-weight:800;color:var(--teal-700)}.email-card-meta{margin:8px 0 0 -6px}@media (max-width: 900px){.sidebar{width:168px}.sidebar-footer{display:none}.app-content{padding:16px}.split-layout{grid-template-columns:1fr}.user-menu-name{display:none}}@media (max-width: 600px){.page-header{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.table-actions{flex-direction:column}}.btn-block{width:100%;justify-content:center}.btn-lg{padding:14px 18px;font-size:16px;font-weight:700}td.num,th.num{text-align:right}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--teal-50)}.sales-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.sales-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);color:var(--text);font-weight:600;transition:transform .12s,box-shadow .12s}.sales-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop)}.sales-tile.accent{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}.sales-tile.danger{border-color:#fecaca}.sales-tile-icon{font-size:30px}.register-pill{padding:6px 14px;border-radius:999px;font-weight:700;font-size:13px}.register-pill.open{background:var(--success-bg);color:var(--success)}.register-pill.closed{background:var(--bg);color:var(--text-muted)}.register-switch{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.register-chip{padding:8px 16px;border:1px solid var(--border);background:var(--surface);border-radius:999px;font-weight:600;cursor:pointer;font-family:inherit;font-size:13px}.register-chip.active{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}.register-chip:disabled{opacity:.5;cursor:not-allowed}.register-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.register-status{font-weight:700;margin:6px 0 14px}.register-status.open{color:var(--success)}.register-status.closed{color:var(--text-muted)}.register-form{display:flex;flex-direction:column;gap:12px}.register-card-confirm{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg);border-radius:var(--radius-sm)}.register-card-confirm .form-field-label{font-size:12px;font-weight:700;color:var(--text-muted)}.register-line{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.register-stats{display:flex;gap:16px;margin-bottom:14px}.register-stat{flex:1;background:var(--bg);border-radius:var(--radius-sm);padding:14px;text-align:center}.register-stat-value{display:block;font-size:22px;font-weight:800}.register-stat-label{color:var(--text-muted);font-size:12px}.register-paytypes{margin-bottom:14px}.register-subhead{margin:14px 0 8px}.register-recent{list-style:none;margin:0;padding:0}.register-recent li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.register-recent-total{margin-left:auto;font-weight:700}.pos-screen{display:grid;grid-template-columns:1fr 380px;gap:16px;height:calc(100vh - var(--topbar-height) - 48px)}.pos-left{display:flex;flex-direction:column;gap:12px;min-height:0}.pos-right{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:16px}.pos-header-row{display:flex;justify-content:space-between}.sale-type-toggle{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:var(--radius-sm)}.sale-type-toggle button{flex:1;border:none;background:none;padding:8px 4px;border-radius:var(--radius-sm);font-weight:600;font-size:12.5px;cursor:pointer;font-family:inherit;color:var(--text-muted)}.sale-type-toggle button.active{background:var(--surface);color:var(--teal-700);box-shadow:var(--shadow-soft)}.age-banner{background:var(--amber-bg);color:var(--amber);padding:8px 12px;border-radius:var(--radius-sm);font-weight:700;font-size:13px}.pos-notes-toggle{background:none;border:none;text-align:left;cursor:pointer;color:var(--text-muted);font-weight:600;padding:4px 0;font-family:inherit}.pos-notes{display:flex;flex-direction:column;gap:8px}.customer-bar{position:relative;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}.customer-bar.attached{background:var(--teal-50);border-color:var(--teal-500)}.customer-bar-icon{font-size:18px}.customer-bar-info{flex:1}.customer-bar-input{flex:1;border:none;background:none;font-size:14px;outline:none;font-family:inherit}.customer-bar-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop)}.customer-bar-results button{display:flex;flex-direction:column;width:100%;text-align:left;border:none;background:none;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit}.customer-bar-results button:hover{background:var(--bg)}.item-search{position:relative;display:flex;align-items:center;gap:10px;background:var(--surface);border:2px solid var(--teal-500);border-radius:var(--radius-sm);padding:12px 14px}.item-search-icon{font-size:18px}.item-search-input{flex:1;border:none;background:none;font-size:16px;outline:none;font-family:inherit}.item-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);max-height:360px;overflow-y:auto}.item-search-row{display:grid;grid-template-columns:32px 1fr auto auto auto;gap:12px;align-items:center;width:100%;text-align:left;border:none;background:none;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:13.5px}.item-search-row.active,.item-search-row:hover{background:var(--teal-50)}.item-search-thumb{display:flex;align-items:center;justify-content:center;width:32px;height:32px}.item-search-thumb-img{width:32px;height:32px;object-fit:cover;border-radius:4px;display:block}.item-search-thumb-placeholder{font-size:1.2rem;opacity:.25}.item-search-name{font-weight:600;display:flex;align-items:center;gap:6px}.item-search-price{font-weight:700}.item-search-empty{padding:10px 14px}.cart-table-wrap{flex:1;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}.cart-empty-icon{font-size:40px;margin-bottom:8px}.cart-table{width:100%;border-collapse:collapse;font-size:13.5px}.cart-table th{position:sticky;top:0;background:var(--surface);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;color:var(--text-muted)}.cart-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.cart-table .col-qty,.cart-table .col-price,.cart-table .col-disc,.cart-table .col-tax,.cart-table .col-total{text-align:right;white-space:nowrap}.cart-table .col-total{font-weight:700}.cart-item-name{font-weight:600;display:flex;align-items:center;gap:6px}.cart-item-sku{font-size:11.5px}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.qty-stepper button{border:none;background:var(--bg);width:28px;height:30px;font-size:16px;cursor:pointer}.qty-stepper input{width:44px;border:none;text-align:center;font-size:14px;font-family:inherit}.cart-price-input{width:72px;padding:5px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:right;font-family:inherit}.cart-chip{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:5px 9px;font-size:12px;cursor:pointer;font-family:inherit}.cart-chip.active{background:var(--teal-50);border-color:var(--teal-500);color:var(--teal-700);font-weight:700}.cart-chip:disabled{opacity:.5;cursor:not-allowed}.cart-remove{border:none;background:none;color:var(--danger);font-size:20px;cursor:pointer;line-height:1}.totals-panel{margin-top:auto}.totals-rows{border-top:1px solid var(--border);padding-top:10px}.totals-row{display:flex;justify-content:space-between;padding:5px 0;font-size:14px}.totals-row.discount{color:var(--success)}.totals-row.grand{font-size:20px;font-weight:800;border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.totals-actions{margin-top:12px;display:flex;flex-direction:column;gap:8px}.payment-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.payment-panel{display:flex;flex-direction:column;gap:12px}.payment-due{display:flex;justify-content:space-between;align-items:center;background:var(--bg);padding:14px 16px;border-radius:var(--radius-sm)}.payment-due strong{font-size:24px;font-weight:800}.payment-due strong.paid{color:var(--success)}.payment-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.payment-type-btn{padding:14px 8px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-family:inherit}.payment-type-btn.active{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}.payment-entry{display:flex;flex-direction:column;gap:10px;background:var(--bg);padding:12px;border-radius:var(--radius-sm)}.payment-amount-field{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}.payment-amount-field input{padding:12px;font-size:20px;text-align:right;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit}.quick-cash{display:flex;gap:6px;flex-wrap:wrap}.quick-cash button{flex:1;min-width:56px;padding:10px 4px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-family:inherit}.payment-reference{padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit}.payment-list{list-style:none;margin:0;padding:0}.payment-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.payment-list li span:nth-child(2){margin-left:auto;font-weight:700}.payment-change{text-align:right;font-size:16px}.payment-change strong{color:var(--success)}.terminal-pay{text-align:center;display:flex;flex-direction:column;gap:10px;padding:8px 0}.terminal-pay-amount{font-size:30px;font-weight:800}.terminal-pay-provider{font-size:12px}.terminal-pay-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0}.terminal-pay-state p{margin:0}.terminal-pay-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff}.terminal-pay-icon.ok{background:var(--success)}.terminal-pay-icon.bad{background:#dc2626}.spinner{width:44px;height:44px;border:4px solid var(--border);border-top-color:var(--teal-600);border-radius:50%;animation:terminal-spin .8s linear infinite}@keyframes terminal-spin{to{transform:rotate(360deg)}}.receipt{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:380px;margin:0 auto;font-size:13px}.receipt-head{text-align:center;margin-bottom:14px}.receipt-logo{width:40px;height:40px;border-radius:8px;background:var(--teal-600);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.receipt-head h2{margin:8px 0 2px}.receipt-meta{border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);padding:10px 0;margin-bottom:10px}.receipt-meta div{display:flex;justify-content:space-between;padding:2px 0}.receipt-meta span:first-child{color:var(--text-muted)}.receipt-lines{width:100%;border-collapse:collapse}.receipt-lines th{text-align:left;font-size:11px;color:var(--text-muted);padding:4px 0;border-bottom:1px solid var(--border)}.receipt-lines th:nth-child(n+2),.receipt-lines td:nth-child(n+2){text-align:right}.receipt-lines td{padding:4px 0}.receipt-lines .small{font-size:11px}.receipt-totals{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px}.receipt-totals div{display:flex;justify-content:space-between;padding:2px 0}.receipt-totals .grand{font-weight:800;font-size:16px;border-top:1px solid var(--border);margin-top:4px;padding-top:6px}.receipt-payments{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px}.receipt-payments div{display:flex;justify-content:space-between;padding:2px 0}.receipt-payments .change{font-weight:700}.receipt-notes{margin-top:10px;padding:8px;background:var(--bg);border-radius:var(--radius-sm);font-style:italic}.receipt-foot{text-align:center;margin-top:14px;font-size:11px}.receipt-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px}.refund-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}.refund-head{display:flex;justify-content:space-between;align-items:center}.refund-lookup{margin-bottom:16px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.filter-bar input,.filter-bar select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-pop);width:100%;max-height:90vh;overflow-y:auto}.modal-sm{max-width:420px}.modal-md{max-width:620px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0}.modal-close{border:none;background:none;font-size:24px;cursor:pointer;color:var(--text-muted);line-height:1}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.modal-input{width:100%;padding:12px;font-size:18px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit}.toggle-group{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:var(--radius-sm);margin-bottom:12px}.toggle-group button{flex:1;border:none;background:none;padding:8px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-family:inherit}.toggle-group button.active{background:var(--surface);box-shadow:var(--shadow-soft);color:var(--teal-700)}.delete-confirm{text-align:center}.delete-confirm-icon{font-size:34px}@media (max-width: 960px){.pos-screen{grid-template-columns:1fr;height:auto}.register-grid,.payment-layout,.refund-layout{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.no-print,.receipt-actions{display:none!important}.app-content{padding:0}.receipt{border:none;box-shadow:none;max-width:100%}}.offline-banner-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.offline-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:var(--radius);font-size:14px}.offline-banner.offline{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber)}.offline-banner.syncing{background:var(--teal-50, #e6f6f4);color:var(--teal-700, #0f766e)}.offline-banner.conflict{background:var(--danger-bg);color:var(--danger);flex-direction:column;align-items:flex-start}.offline-dot{width:10px;height:10px;border-radius:50%;background:var(--amber);display:inline-block}.offline-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;animation:offline-spin .8s linear infinite}@keyframes offline-spin{to{transform:rotate(360deg)}}.offline-conflict-list{margin:4px 0;padding-left:18px;font-size:13px}.offline-conflict-list li{margin:2px 0}.inv-section{margin-bottom:24px}.inv-section h2{font-size:15px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.row-warn td{background:var(--amber-bg)}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{display:inline-flex;align-items:center;gap:6px}.tag-chip-remove{background:transparent;border:none;cursor:pointer;line-height:1;font-size:.95rem;color:inherit;opacity:.7;padding:0}.tag-chip-remove:hover{opacity:1}.category-tree{list-style:none;margin:4px 0 0 14px;padding:0;border-left:1px solid var(--border)}.category-tree li{padding:3px 0 3px 12px;position:relative}.category-list-header{display:flex;align-items:center;justify-content:space-between}.category-listing-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:10px}.category-listing-toolbar>:first-child{flex:0 0 280px}.category-listing td{padding:8px 16px}.category-indent{display:inline-flex;align-items:center;gap:8px}.category-arrow{color:var(--text-muted);font-size:12px}.category-link{color:var(--primary, #2a7de1);text-decoration:none;font-size:13.5px}.category-link:hover{text-decoration:underline}.category-link-top{text-transform:uppercase;font-weight:600;letter-spacing:.02em}.category-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.category-detail-header h1{font-size:20px}.breadcrumb-link{color:var(--text-muted);text-decoration:none;font-weight:400}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-sep{color:var(--text-muted);font-weight:400}.category-detail-actions{display:flex;gap:8px}.category-subcat-row{display:flex;align-items:flex-end;gap:12px}.category-subcat-row>:first-child{flex:1}.category-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--border)}.category-tab{background:transparent;border:none;cursor:pointer;padding:8px 14px;font-size:13.5px;color:var(--text-muted);border-bottom:2px solid transparent}.category-tab.active{color:var(--text);font-weight:600;border-bottom-color:var(--primary, #2a7de1)}.select-list-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border)}.pricing-stats{display:flex;gap:20px;margin:-4px 0 14px;padding:8px 12px;background:var(--surface-alt, #f8f9fa);border-radius:6px;font-size:13px;color:var(--text-muted)}.pricing-stats strong{color:var(--text)}.attributes-editor{display:flex;flex-direction:column;gap:14px}.attribute-block{border:1px solid var(--border);border-radius:8px;padding:12px 14px;background:var(--surface, #fff)}.attribute-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.attribute-name-field{display:flex;flex-direction:column;gap:4px;flex:1;max-width:320px}.attribute-name-field>span{font-size:12.5px;color:var(--muted, #666)}.attribute-values{margin-top:12px}.attribute-value-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px}.attribute-value-list li{display:flex;align-items:center;gap:8px}.attribute-value-handle{cursor:grab;color:var(--muted, #999);-webkit-user-select:none;user-select:none;font-size:13px;letter-spacing:-2px}.attribute-value-input{flex:1;max-width:360px}.attribute-add-value{display:flex;gap:8px;align-items:center}.attribute-add-value input{flex:1;max-width:360px}.count-scanner{display:flex;gap:10px;align-items:center;margin-bottom:14px}.count-scanner .item-search{flex:1}.count-summary{display:flex;align-items:center;gap:12px;margin-bottom:14px}.po-form{display:flex;flex-direction:column;gap:16px}.po-detail-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:16px}.po-detail-head>div>div{padding:2px 0}.po-totals{margin-top:12px;max-width:280px;margin-left:auto}.po-totals div{display:flex;justify-content:space-between;padding:3px 0}.po-totals .grand{font-weight:800;font-size:16px;border-top:1px solid var(--border);margin-top:4px;padding-top:6px}.po-actions{flex-wrap:wrap}.budget-bar{margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg)}.budget-bar.none{color:var(--text-muted);font-size:13px}.budget-bar-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.budget-bar-track{height:10px;background:var(--border);border-radius:999px;overflow:hidden}.budget-bar-fill{height:100%;background:var(--teal-600);transition:width .2s}.budget-bar.warning .budget-bar-fill{background:var(--amber)}.budget-bar.exceeded .budget-bar-fill{background:var(--danger)}.budget-bar-msg{margin-top:6px;font-size:12.5px;font-weight:700}.budget-bar.warning .budget-bar-msg{color:var(--amber)}.budget-bar.exceeded .budget-bar-msg{color:var(--danger)}.smart-panel-head{display:flex;align-items:center;justify-content:space-between}.alert-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.alert-card{padding:14px 16px}.alert-card.urgent{border-color:#fed7aa}.alert-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.alert-card-meta{font-size:12px;margin:4px 0 10px}.alert-card-stats{display:flex;justify-content:space-between}.alert-card-stats div{display:flex;flex-direction:column;font-size:12px}.alert-card-stats strong{font-size:16px}.item-image-drop-zone{border:2px dashed var(--border);border-radius:var(--radius-sm);min-height:160px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s;overflow:hidden;background:var(--bg)}.item-image-drop-zone:hover,.item-image-drop-zone.dragging{border-color:var(--teal-500);background:var(--teal-50)}.item-image-drop-zone:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.item-image-preview{max-width:100%;max-height:240px;object-fit:contain;display:block}.item-image-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px}.item-image-icon{font-size:2.5rem;opacity:.4}.item-image-placeholder{padding:24px;text-align:center;background:var(--bg);border-radius:var(--radius-sm);border:1px dashed var(--border)}.item-thumb-cell{width:40px;padding:6px 4px!important}.item-thumb{width:36px;height:36px;object-fit:cover;border-radius:4px;display:block}.item-thumb-placeholder{font-size:1.4rem;opacity:.25;display:block;text-align:center;line-height:36px}.preset-row{display:flex;gap:8px;flex-wrap:wrap}.code-editor{font-family:Consolas,Monaco,monospace;font-size:13px}.formula-history{list-style:none;margin:8px 0 0;padding:0}.formula-history li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--border)}.formula-history code{word-break:break-all}.page-header-actions{display:flex;gap:10px;flex-wrap:wrap}.data-table th.num,.data-table td.num{text-align:right;white-space:nowrap}.text-danger{color:var(--danger);font-weight:700}.text-success{color:var(--success);font-weight:700}.badge-blue{background:var(--info-bg);color:var(--info)}.badge-purple{background:#f5f3ff;color:#7c3aed}.badge-group{display:inline-flex;gap:4px;flex-wrap:wrap}.badge-group .badge{margin-left:0}.tag-chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-chip{--chip: var(--teal-600);display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;color:var(--chip);background:color-mix(in srgb,var(--chip) 12%,white);border:1px solid color-mix(in srgb,var(--chip) 30%,white)}.tag-chip.clickable{cursor:pointer;font-family:inherit}.tag-chip.clickable:hover{background:color-mix(in srgb,var(--chip) 22%,white)}.tag-chip.removable button{border:none;background:none;cursor:pointer;color:inherit;font-size:14px;line-height:1;padding:0;margin-left:2px}.customer-search-bar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.customer-search-bar .form-field{margin-bottom:0}.customer-search-main{flex:1;min-width:240px}.customer-name-link{font-weight:600}.customer-detail-layout{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}.customer-detail-sidebar{position:sticky;top:76px}.profile-card{padding:18px}.profile-card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.profile-avatar{width:48px;height:48px;border-radius:50%;background:var(--teal-600);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;flex-shrink:0}.profile-name{font-size:18px;margin:0 0 4px}.profile-warnings{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.warning-banner{padding:8px 11px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600}.warning-banner.danger{background:var(--danger-bg);color:var(--danger)}.warning-banner.amber{background:var(--amber-bg);color:var(--amber)}.profile-fields{margin:0 0 14px;display:flex;flex-direction:column;gap:9px}.profile-fields>div{display:grid;grid-template-columns:84px 1fr;gap:8px;align-items:baseline}.profile-fields dt{color:var(--text-muted);font-size:12px;margin:0}.profile-fields dd{margin:0;font-size:13px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--border);padding-top:14px;margin-bottom:12px}.profile-stat{display:flex;flex-direction:column}.profile-stat-value{font-size:15px;font-weight:800}.profile-stat-label{font-size:11px;color:var(--text-muted)}.profile-tags{margin-top:4px}.profile-note{margin-top:12px;font-size:12.5px;font-style:italic}.tab-nav{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.tab-nav-item{padding:9px 14px;color:var(--text-muted);font-weight:600;font-size:13.5px;border-bottom:2px solid transparent;white-space:nowrap}.tab-nav-item:hover{color:var(--text)}.tab-nav-item.active{color:var(--teal-700);border-bottom-color:var(--teal-600)}.tab-panel>h3{margin-bottom:10px}.overview-grid{display:grid;grid-template-columns:1fr;gap:18px}.credit-panel{display:flex;flex-direction:column;gap:14px}.credit-summary{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.credit-figure{display:flex;flex-direction:column}.credit-balance{font-size:26px;font-weight:800}.credit-meta{display:flex;gap:22px;flex-wrap:wrap}.credit-meta>div{display:flex;flex-direction:column;gap:2px;font-size:13px}.credit-txn-form h3{margin-bottom:10px}.gift-card-panel{display:flex;flex-direction:column;gap:12px}.gift-card-item{padding:14px 16px}.gift-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.gift-card-number{font-size:14px;letter-spacing:1px}.gift-card-balance strong{font-size:16px}.gift-card-meta{font-size:12px;margin:6px 0 10px}.gift-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.gift-card-adjust{gap:8px;align-items:center}.gift-card-adjust .form-field{margin-bottom:0;max-width:150px}.gift-card-ledger{margin-top:12px}.notes-panel{display:flex;flex-direction:column;gap:14px}.notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.note-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.note-item.pinned{border-left:3px solid var(--amber)}.note-body p{margin:6px 0}.note-body .badge{margin-left:0;margin-right:6px}.tag-manager{display:flex;flex-direction:column;gap:12px}.tag-available{display:flex;flex-direction:column;gap:6px}.tag-new{align-items:center;gap:8px}.tag-new input{flex:1;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit}.color-field{max-width:90px}.tag-color-swatch{width:34px;height:28px;padding:0;border:1px solid var(--border);border-radius:6px;cursor:pointer}.merge-search{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;margin-bottom:10px}.merge-results{list-style:none;margin:0;padding:0}.merge-results li button{display:block;width:100%;text-align:left;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-family:inherit;margin-bottom:6px}.merge-results li button:hover{background:var(--teal-50)}.merge-selected{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--teal-50);border:1px solid var(--teal-500);border-radius:var(--radius-sm);padding:12px 14px}.alert-warning{background:var(--amber-bg);color:var(--amber)}.dup-list{margin:8px 0;padding-left:18px}.dup-list li{margin:3px 0}@media (max-width: 900px){.customer-detail-layout{grid-template-columns:1fr}.customer-detail-sidebar{position:static}}.staff-nav{margin-bottom:16px}.section-title{margin:22px 0 10px}.staff-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.staff-home-grid>*{height:100%}.staff-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:start;margin-bottom:8px}.staff-list{list-style:none;margin:8px 0 0;padding:0}.staff-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:13.5px}.staff-list li:last-child{border-bottom:none}.timeclock-panel .form-inline{align-items:flex-end;margin-top:12px}.timeclock-status{display:flex;align-items:center;gap:10px;margin:6px 0 4px}.timeclock-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.timeclock-status.on .timeclock-dot{background:var(--success);box-shadow:0 0 0 4px var(--success-bg)}.timeclock-status.off .timeclock-dot{background:var(--text-muted)}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.week-nav{display:flex;align-items:center;gap:10px}.schedule-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:start}.calendar-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:130px;display:flex;flex-direction:column}.calendar-day-head{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;color:var(--text-muted)}.calendar-add{border:none;background:var(--bg);color:var(--teal-700);cursor:pointer;width:22px;height:22px;border-radius:6px;font-size:15px;line-height:1}.calendar-add:hover{background:var(--teal-50)}.calendar-day-body{padding:6px;display:flex;flex-direction:column;gap:6px}.calendar-empty{font-size:12px;text-align:center;padding:8px 0}.shift-block{text-align:left;border:1px solid var(--border);border-left:3px solid var(--teal-500);background:var(--surface);border-radius:6px;padding:6px 8px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:1px}.shift-block:hover{background:var(--teal-50)}.shift-block.status-completed{border-left-color:var(--success)}.shift-block.status-cancelled{border-left-color:var(--text-muted);opacity:.6;text-decoration:line-through}.shift-block-time{font-weight:700;font-size:12px}.shift-block-emp{font-size:12.5px}.shift-block-role{font-size:11px}.planner-toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.planner-toolbar .form-field{margin-bottom:0}.payroll-card-head{display:flex;align-items:center;justify-content:space-between}.payroll-figures{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}.payroll-figures>div{display:flex;flex-direction:column}.payroll-value{font-size:18px;font-weight:800}.payroll-figures .muted{font-size:11.5px}.payroll-note{margin-top:10px;font-size:12px}.attendance-counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:16px}@media (max-width: 900px){.schedule-calendar{grid-template-columns:1fr}.payroll-figures{grid-template-columns:repeat(2,1fr)}}.report-page>*+*{margin-top:16px}.report-description{margin-top:2px;max-width:640px}.report-filters{padding:14px 16px}.report-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.report-presets{display:flex;flex-wrap:wrap;gap:6px}.report-chip{padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.report-chip:hover{background:var(--bg)}.report-chip-active{background:var(--teal-600);border-color:var(--teal-600);color:#fff}.report-custom-range{display:flex;align-items:center;gap:8px}.report-custom-range input{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:13.5px}.report-filter-extra{display:flex;align-items:center;gap:8px;margin-left:auto}.report-inline-field{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.report-inline-field select{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:13.5px;font-weight:500}.report-scope{margin-top:10px;font-size:12.5px}.report-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.report-toolbar-left,.report-toolbar-right{display:flex;align-items:center;gap:8px}.report-preset-select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-family:inherit;font-size:13px}.report-toolbar-error{flex-basis:100%;color:var(--danger);font-size:12.5px}.report-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.report-kpi{padding:14px 16px}.report-kpi-label{color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.report-kpi-value{font-size:24px;font-weight:700;margin-top:6px}.report-kpi-hint{font-size:12px;margin-top:2px}.data-table th.report-num,.data-table td.report-num{text-align:right;font-variant-numeric:tabular-nums}.report-subsection{margin-top:18px}.report-subsection>h2{margin-bottom:10px}.reports-home>*+*{margin-top:22px}.report-category-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.report-category-head .report-cat-icon{font-size:18px}.report-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.report-card{position:relative;display:flex;flex-direction:column;padding:16px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .05s}.report-card:hover{border-color:var(--teal-500);box-shadow:var(--shadow-pop)}.report-card:active{transform:translateY(1px)}.report-card.is-disabled{cursor:default;opacity:.7}.report-card.is-disabled:hover{border-color:var(--border);box-shadow:var(--shadow-soft)}.report-card-name{font-weight:700;font-size:14.5px;padding-right:26px}.report-card-desc{color:var(--text-muted);font-size:12.5px;margin-top:6px;flex:1}.report-card-meta{margin-top:12px;font-size:11.5px;color:var(--text-muted)}.report-card-fav{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;font-size:16px;line-height:1;color:var(--text-muted)}.report-card-fav.is-fav{color:var(--amber)}.heatmap-wrap{overflow-x:auto}.heatmap{border-collapse:collapse;font-size:11px}.heatmap th{padding:4px 6px;color:var(--text-muted);font-weight:600;text-align:center}.heatmap td.heatmap-day{color:var(--text-muted);font-weight:600;padding-right:8px;white-space:nowrap}.heatmap-cell{width:30px;height:26px;text-align:center;border-radius:4px;color:#0f172a}.chart-style-toggle{display:flex;gap:6px}.dashboard-chart-svg{width:100%;height:220px}.badge-green{background:var(--success-bg);color:var(--success)}.plain-list{list-style:none;margin:8px 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.plain-list li{display:flex;align-items:center;gap:6px;justify-content:space-between}.linklike{background:none;border:none;color:var(--teal-700);cursor:pointer;padding:0;font:inherit;text-align:left}.linklike:hover{text-decoration:underline}.btn-aligned{align-self:flex-end;margin-bottom:2px}.wizard-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.field-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted, #6b7280);margin-bottom:.3rem}.data-table td.actions-cell{text-align:right;white-space:nowrap}.data-table td.actions-cell .btn-link+.btn-link{margin-left:.75rem}.wizard-stepper{align-items:center}.wo-detail-grid{display:grid;gap:20px;grid-template-columns:2fr 1fr;align-items:start}@media (max-width: 900px){.wo-detail-grid{grid-template-columns:1fr}}.wo-col{display:flex;flex-direction:column;gap:20px}.detail-list{margin:0}.detail-list>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.detail-list>div:last-child{border-bottom:none}.detail-list dt{color:var(--text-muted);font-size:13px}.detail-list dd{margin:0;font-weight:600;text-align:right}.search-results{list-style:none;margin:-8px 0 14px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-soft);max-height:240px;overflow-y:auto}.search-results li{margin:0}.search-results button{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:none;border-radius:var(--radius-sm);font-size:13.5px;font-family:inherit;color:var(--text);cursor:pointer}.search-results button:hover{background:var(--teal-50)}.selected-chip{display:inline-flex;align-items:center;gap:12px;padding:7px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:8px 0 8px 16px;border-left:2px solid var(--border);margin-left:4px}.timeline li+li{margin-top:2px}.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1.25rem}.integration-tile{display:flex;flex-direction:column;gap:.25rem;padding:1.25rem}.integration-tile-header{display:flex;align-items:flex-start;gap:.75rem}.integration-logo{font-size:1.75rem;line-height:1}.integration-meta{margin:1rem 0 0;display:grid;gap:.4rem}.integration-meta>div{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;border-bottom:1px solid var(--border);padding-bottom:.4rem}.integration-meta dt{color:var(--text-muted);margin:0}.integration-meta dd{margin:0;text-align:right;font-weight:600}.integration-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.integration-log{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:1rem}.integration-log-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .5rem}.integration-log-table{font-size:.85rem}.integration-location-list{display:grid;gap:.35rem;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;margin-top:.4rem}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.checkbox-row input{width:auto;margin:0}.badge-red{background:var(--danger-bg);color:var(--danger)}.alert-warn{background:var(--amber-bg);color:var(--amber);border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.85rem}@media (max-width: 640px){.integration-grid{grid-template-columns:1fr}}
