:root{--primary:#2563eb;--primary-hover:#1d4ed8;--secondary:#64748b;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--danger:#ef4444;--info:#0ea5e9;--font-family:"Inter", "Roboto", "Segoe UI", Arial, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--text-display:3rem;--text-h1:2.25rem;--text-h2:1.875rem;--text-h3:1.5rem;--text-h4:1.25rem;--text-h5:1.125rem;--text-h6:1rem;--text-body-lg:1rem;--text-body:.875rem;--text-small:.8125rem;--text-caption:.75rem;--text-overline:.6875rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-button:8px;--radius-card:12px;--radius-modal:16px;--radius-input:8px;--radius-table:10px;--radius-badge:999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 1px 3px #0000001a, 0 4px 12px #0000000a;--shadow-lg:0 4px 24px #0000001f;font-family:var(--font-family);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-normal);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-primary);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{box-sizing:border-box;min-height:100svh}.alert--success{color:var(--success)}.alert--error{color:var(--error)}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100svh;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);color:var(--text-primary);margin:0}h1{font-size:var(--text-h1);font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:1.22}h2{font-size:var(--text-h2);font-weight:var(--weight-semibold);line-height:1.27}h3{font-size:var(--text-h3);font-weight:var(--weight-semibold);line-height:1.33}h4{font-size:var(--text-h4);font-weight:var(--weight-semibold);line-height:1.4}h5{font-size:var(--text-h5);font-weight:var(--weight-semibold);line-height:1.44}h6{font-size:var(--text-h6);font-weight:var(--weight-semibold);line-height:1.5}p{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}button,input,textarea,select{font:inherit}body,button,input{-webkit-tap-highlight-color:transparent}*{scrollbar-width:thin;scrollbar-color:var(--secondary) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:3px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.layout{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:10;flex-direction:column;flex-shrink:0;width:250px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar__brand{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-4);border-bottom:1px solid var(--border);display:flex}.sidebar__logo{object-fit:cover;border-radius:6px;flex-shrink:0;width:32px;height:32px}.sidebar__brand-text{line-height:var(--leading-tight);flex-direction:column;display:flex}.sidebar__brand-text strong{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold)}.sidebar__brand-text span{color:var(--secondary);font-size:var(--text-caption)}.sidebar__nav{padding:var(--space-2);flex:1;overflow-y:auto}.sidebar__list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.sidebar__link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-button);color:var(--text-secondary);font-size:15px;font-weight:var(--weight-medium);text-decoration:none;transition:all .12s;display:flex}.sidebar__link:hover{color:var(--text-primary);background:#2563eb0f}.sidebar__link--active{color:var(--primary);font-weight:var(--weight-semibold);background:#2563eb14}.sidebar__link--active:hover{background:#2563eb1f}.sidebar__badge{background:var(--error);color:#fff;box-sizing:border-box;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.nav-icon{flex-shrink:0;width:24px;height:24px}.layout__main{background:var(--bg);flex:1;min-width:0}.layout__topbar{padding:var(--space-3) var(--space-8);border-bottom:1px solid var(--border);background:var(--surface);z-index:5;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.layout__topbar-right{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.sync-pill{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border);background:var(--bg);font:inherit;font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--text-secondary);cursor:pointer;border-radius:999px;transition:border-color .12s;display:inline-flex}.sync-pill:hover{border-color:var(--accent)}.sync-pill__dot{background:var(--success);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sync-pill--offline .sync-pill__dot{background:var(--warning);box-shadow:0 0 0 3px #f59e0b26}.sync-pill--offline{color:var(--warning)}.layout__topbar-branch{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-button);color:var(--primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;font:inherit;background:#2563eb0f;border:1px solid #2563eb1f;transition:background .12s;display:inline-flex}.layout__topbar-branch:hover{background:#2563eb1f}.layout__topbar-user{align-items:center;gap:var(--space-2);display:flex}.layout__topbar-avatar{border-radius:var(--radius-button);background:var(--primary);color:#fff;width:32px;height:32px;font-weight:var(--weight-bold);font-size:var(--text-caption);flex-shrink:0;justify-content:center;align-items:center;display:flex}.layout__topbar-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.layout__topbar-user-info{line-height:var(--leading-tight);flex-direction:column;display:flex}.layout__topbar-user-info strong{color:var(--text-primary);font-size:var(--text-body)}.layout__topbar-user-info span{color:var(--secondary);font-size:var(--text-caption)}.layout__topbar-logout{border:1px solid var(--border);border-radius:var(--radius-button);color:var(--secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:6px;transition:all .12s;display:flex}.layout__topbar-logout svg{width:20px;height:20px}.layout__topbar-logout:hover{color:var(--error);background:#ef44440f;border-color:#ef444433}.layout__topbar-bell{border:1px solid var(--border);border-radius:var(--radius-button);color:var(--secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:6px;transition:all .12s;display:flex;position:relative}.layout__topbar-bell svg{width:20px;height:20px}.layout__topbar-bell:hover{color:var(--primary);background:#2563eb0f;border-color:#2563eb4d}.layout__topbar-bell__badge{background:var(--error);color:#fff;box-sizing:border-box;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-6px}.page{padding:var(--space-8) var(--space-7,28px) var(--space-12)}.page-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--text-h1);color:var(--text-primary);margin:0}.page-subtitle{margin-top:var(--space-1);color:var(--secondary);font-size:var(--text-body)}.btn{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-button);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;line-height:var(--leading-normal);border:none;justify-content:center;transition:all .12s;display:inline-flex}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-hover)}.btn--ghost{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.btn--ghost:hover{background:var(--border);color:var(--text-primary)}.btn--danger{color:var(--error);background:#ef44440f;border:1px solid #ef444426}.btn--danger:hover{background:#ef44441a}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-sm)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold)}.data-table td{padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:var(--text-body);border-bottom:1px solid var(--border);line-height:var(--leading-normal)}.data-table tr:hover td{background:#2563eb08}.badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-badge);font-size:var(--text-caption);font-weight:var(--weight-semibold);display:inline-block}.badge--success{color:#166534;background:#22c55e1a}.badge--warning{color:#92400e;background:#f59e0b1a}.badge--danger{color:#991b1b;background:#ef44441a}.badge--info{color:#075985;background:#0ea5e91a;justify-content:center;align-items:center;display:flex}.search-input{align-items:center;gap:var(--space-2);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-input);padding:var(--space-2) var(--space-3);display:flex}.search-input svg{flex-shrink:0;width:18px;height:18px}.search-input input{color:var(--text-primary);font-size:var(--text-body);background:0 0;border:none;outline:none;width:100%}.search-input input::placeholder{color:var(--secondary)}.empty-state{text-align:center;padding:var(--space-10) var(--space-5);color:var(--secondary);font-size:var(--text-body)}.empty-state svg{width:40px;height:40px;margin-bottom:var(--space-3);opacity:.35}.modal-overlay{z-index:100;padding:var(--space-6);background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-modal);padding:var(--space-6);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-lg)}.modal__icon{border-radius:var(--radius-card);width:48px;height:48px;margin:0 auto var(--space-4);background:#ef444414;justify-content:center;align-items:center;display:flex}.modal__icon svg{width:24px;height:24px;color:var(--error)}.modal h3{margin:0 0 var(--space-2);color:var(--text-primary);font-size:var(--text-h4)}.modal p{margin:0 0 var(--space-5);color:var(--text-secondary);font-size:var(--text-body)}.modal__actions{gap:var(--space-3);justify-content:center;display:flex}.modal__actions .btn{padding:var(--space-3) var(--space-4);flex:1;justify-content:center}.sidebar-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:background .12s;display:none}.sidebar-toggle:hover{background:#2563eb0f}.sidebar-backdrop{display:none}@media (width<=900px){.sidebar-toggle{display:flex}.sidebar{z-index:100;height:100vh;transition:left .25s;display:flex;position:fixed;top:0;left:-260px}.sidebar.sidebar--open{left:0}.sidebar-backdrop{z-index:99;background:#0006;display:block;position:fixed;inset:0}.page{padding:var(--space-4) var(--space-4) var(--space-10)}.pos-main{flex-direction:column;height:auto}.pos-cart{min-height:50%}.pos-payment{border-top:1px solid var(--border);border-left:none!important;width:100%!important}}@media (width<=735px){.dropdown-results{z-index:99999;max-height:200px}}#receipt-print{display:none}.receipt{color:#000;background:#fff;width:100%;max-width:100%;margin:0;padding:0;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.4}.receipt-header{text-align:center;margin:0;padding:0}.receipt-logo{object-fit:contain;max-width:120px;max-height:60px;margin:0;padding:0}.receipt-business-name{text-transform:uppercase;letter-spacing:.05em;font-size:16px;font-weight:700}.receipt-branch{color:#000;font-size:12px;font-weight:600}.receipt-meta{color:#000;font-size:11px;line-height:1.4}.receipt-section{border-top:1px solid #000;margin:0;padding:4px 0}.receipt-row{justify-content:space-between;font-size:12px;line-height:1.6;display:flex}.r-center{text-align:center}.r-right{text-align:right}.r-left{text-align:left}.r-discount,.r-remain{color:#000}.receipt-items{table-layout:fixed;border-collapse:collapse;width:100%}.receipt-items th,.receipt-items td{vertical-align:top;text-overflow:ellipsis;padding:2px 0;font-size:11px;overflow:hidden}.receipt-items th{text-align:left;border-bottom:1px solid #000;font-weight:600}.ri-name{white-space:nowrap;width:auto}.ri-qty,.ri-price,.ri-uom,.ri-total{text-align:right;white-space:nowrap;width:auto}.receipt-item{margin-bottom:4px}.receipt-item-name{word-break:break-word;overflow-wrap:anywhere;font-size:11px;font-weight:600}.receipt-item-line{color:#000;justify-content:space-between;margin-top:1px;font-size:10px;display:flex}.receipt-totals{border-top:1px dashed #000;padding-top:4px}.receipt-totals .receipt-row{font-size:12px}.receipt-total-row{border-top:1px solid #000;font-size:15px;font-weight:700}.receipt-payment{border-top:1px dashed #000}.receipt-barcode{text-align:center;margin:0;padding:4px 0}.receipt-barcode svg{max-width:100%;height:auto}.receipt-footer{text-align:center;color:#000;border-top:1px solid #000;margin:0;padding:4px 0;font-size:11px}.receipt-thankyou{text-align:center;font-size:12px;font-weight:600}.receipt-80 .receipt-business-name{font-size:16px}.receipt-80 .receipt-items th,.receipt-80 .receipt-items td{padding:2px 4px;font-size:11px}.receipt-80 .receipt-logo{max-width:60px;max-height:40px}.receipt-58 .receipt-business-name{font-size:13px}.receipt-58 .receipt-items th,.receipt-58 .receipt-items td{padding:1px 2px;font-size:9px}.receipt-58 .receipt-logo{max-width:40px;max-height:30px}.receipt-58 .receipt-row{font-size:10px}.receipt-58 .receipt-meta{font-size:9px}.receipt-58 .receipt-total-row{font-size:13px}@media print{.sidebar,.layout__topbar,.pos-main,.page-header,.glass-card,.modal-overlay,.toast-container,.dialog-overlay{display:none!important}.layout{background:#fff;display:block!important}.layout__main{height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}#receipt-print{width:100%;position:static;display:block!important}.receipt-80{width:100%;font-size:12px}.receipt-58{width:100%;font-size:10px}.receipt-58 .receipt-business-name{font-size:12px}.receipt-58 .receipt-item-name{font-size:10px}.receipt-58 .receipt-item-line{font-size:9px}.receipt-58 .receipt-total-row{font-size:12px}.receipt-58 .receipt-row{font-size:10px}@page{size:auto;margin:2mm}}.dashboard-topbar{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.dashboard-topbar h1{margin-top:var(--space-3);font-size:var(--text-h2);line-height:1.27}.dashboard-topbar__actions{gap:var(--space-4);align-items:center;display:flex}.dashboard-user span,.dashboard-chip,.dashboard-eyebrow{color:var(--secondary);letter-spacing:.06em;text-transform:uppercase;font-size:var(--text-overline);font-weight:var(--weight-medium)}.dashboard-hero{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-card);padding:var(--space-7,28px);gap:var(--space-6);grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);display:grid}.dashboard-hero__copy p{max-width:54ch;color:var(--text-secondary);font-size:var(--text-body);line-height:var(--leading-relaxed)}.dashboard-hero__chart>*{border-radius:var(--radius-button) var(--radius-button) 4px 4px;display:block}@media (width<=1024px){.dashboard-shell{width:min(100% - 20px,1220px);padding-top:var(--space-5)}.dashboard-topbar,.dashboard-hero{grid-template-columns:1fr}.dashboard-topbar{display:grid}.dashboard-topbar__actions{justify-content:space-between;width:100%}.dashboard-hero{border-radius:var(--radius-card)}}@media (width<=640px){.dashboard-topbar__actions{flex-direction:column;align-items:stretch}.dashboard-user{width:100%}}.branch-select{min-height:100vh;padding:var(--space-6);background:var(--bg);justify-content:center;align-items:center;display:flex}.branch-select__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-modal);width:100%;max-width:600px;padding:var(--space-8) var(--space-8);box-shadow:var(--shadow-md)}.branch-select__header{margin-bottom:var(--space-6)}.branch-select__eyebrow{color:var(--secondary);font-size:var(--text-overline);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1);display:block}.branch-select__header h1{color:var(--text-primary);font-size:var(--text-h3);margin:0;line-height:1.33}.branch-select__intro{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--text-body);line-height:var(--leading-relaxed)}.branch-select__logo{border-radius:var(--radius-button);object-fit:cover;flex:none;width:48px;height:48px}.branch-select__error{color:#991b1b;padding:var(--space-3) var(--space-4);border-radius:var(--radius-input);font-size:var(--text-body);margin-bottom:var(--space-4);background:#ef44440f;border:1px solid #ef444426}.branch-select__empty{text-align:center;padding:var(--space-8) 0;color:var(--secondary)}.branch-select__empty svg{width:40px;height:40px;margin-bottom:var(--space-3);opacity:.35}.branch-select__empty p{font-size:var(--text-body)}.branch-select__grid{gap:var(--space-2);flex-direction:column;display:flex}.branch-card{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;color:inherit;flex-direction:row;font-family:inherit;transition:box-shadow .12s,border-color .12s;display:flex}.branch-card:hover:not(:disabled){border-color:var(--primary);background:#2563eb0a}.branch-card:active:not(:disabled){transform:translateY(1px)}.branch-card:disabled{opacity:.4;cursor:not-allowed}.branch-card__icon{border-radius:var(--radius-button);background:#2563eb14;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.branch-card__icon svg{width:20px;height:20px;color:var(--primary)}.branch-card__info{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-body);color:var(--text-secondary);line-height:var(--leading-normal);flex-direction:row;flex:1;display:flex}.branch-card__info strong{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold)}.branch-card__info span{color:var(--text-secondary);font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch-select__footer{margin-top:var(--space-5);justify-content:center;display:flex}.auth-shell,.splash-screen{min-height:100svh;padding:var(--space-6);background:var(--bg);place-items:center;display:grid}.splash-card,.login-card,.auth-hero,.dashboard-hero,.panel,.metric-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md)}.splash-card{width:min(520px,100%);padding:var(--space-10) var(--space-8) var(--space-8);border-radius:var(--radius-modal);text-align:center;justify-items:center;gap:var(--space-4);display:grid}.splash-orbit{width:120px;height:120px;position:relative}.splash-orbit span{border:1px solid #2563eb4d;border-radius:50%;animation:2.4s ease-in-out infinite pulse;position:absolute;inset:0}.splash-orbit span:nth-child(2){animation-delay:.2s;inset:16px}.splash-orbit span:nth-child(3){animation-delay:.4s;inset:32px}.splash-card h1{font-size:var(--text-h2);margin:0;line-height:1.27}.splash-card p,.auth-intro,.dashboard-hero__copy p,.metric-card p,.activity-list p{color:var(--text-secondary);font-size:var(--text-body);line-height:var(--leading-relaxed);margin:0}.splash-loader{gap:var(--space-2);margin-top:var(--space-3);display:flex}.splash-loader span{background:var(--primary);border-radius:50%;width:12px;height:12px;animation:1.2s ease-in-out infinite bounce}.splash-loader span:nth-child(2){animation-delay:.15s}.splash-loader span:nth-child(3){animation-delay:.3s}.splash-eyebrow,.auth-eyebrow,.login-card__eyebrow,.dashboard-user span,.dashboard-chip,.dashboard-eyebrow,.panel-label,.panel-meta,.metric-card span,.activity-list span{color:var(--secondary);letter-spacing:.06em;text-transform:uppercase;font-size:var(--text-overline);font-weight:var(--weight-medium)}.brand-mark{place-items:center;width:88px;height:88px;display:grid;position:relative}.brand-mark--small{flex:none;width:48px;height:48px}.brand-mark__layer{border-radius:14px;position:absolute;inset:0;transform:rotate(45deg)}.brand-mark__layer--top{background:linear-gradient(135deg,#2563eb,#60a5fa)}.brand-mark__layer--base{background:var(--surface);border:1px solid var(--border);inset:10px}.splash-logo{object-fit:cover;border-radius:14px;width:88px;height:88px;box-shadow:0 8px 24px #0000001f}.auth-logo{object-fit:cover;border-radius:14px;flex:none;width:48px;height:48px}.auth-panel{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(360px,460px);width:min(1100px,100%);display:grid}.auth-hero{border-radius:var(--radius-modal);padding:var(--space-10);align-content:center;gap:var(--space-6);display:grid}.brand-lockup{align-items:center;gap:var(--space-4);display:flex}.auth-hero h1{margin:var(--space-3) 0 0;font-size:var(--text-h1);line-height:1.22}.auth-highlights{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.auth-highlights article{border-radius:var(--radius-card);padding:var(--space-4);background:var(--bg);border:1px solid var(--border)}.auth-highlights strong{margin-bottom:var(--space-2);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);display:block}.auth-highlights span{font-size:var(--text-caption);color:var(--text-secondary)}.login-card{border-radius:var(--radius-modal);padding:var(--space-8);gap:var(--space-4);align-self:center;display:grid}.login-card__header h2{margin:var(--space-2) 0 0;font-size:var(--text-h4)}.auth-switch{border-radius:var(--radius-card);background:var(--bg);border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.auth-tab{border-radius:var(--radius-button);padding:var(--space-2) var(--space-3);color:var(--text-secondary);cursor:pointer;font-weight:var(--weight-medium);font-size:var(--text-body);background:0 0;border:0;transition:background .15s,color .15s}.auth-tab:hover{color:var(--text-primary)}.auth-tab.is-active{color:#fff;background:var(--primary);font-weight:var(--weight-semibold);box-shadow:0 1px 3px #2563eb4d}.field{gap:var(--space-2);display:grid}.field>span{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-medium)}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--bg);width:100%;color:var(--text-primary);font-size:var(--text-body);padding:var(--space-3) var(--space-4);outline:none;transition:border-color .15s,box-shadow .15s}.field input::placeholder,.field textarea::placeholder{color:var(--secondary)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--secondary) 50%), linear-gradient(135deg, var(--secondary) 50%, transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:40px}.field textarea{resize:vertical;min-height:100px}.input{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--bg);width:100%;color:var(--text-primary);font-size:var(--text-body);padding:var(--space-3) var(--space-4);outline:none;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--secondary)}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--secondary) 50%), linear-gradient(135deg, var(--secondary) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:40px}textarea.input{resize:vertical;min-height:80px}.password-row{gap:var(--space-3);grid-template-columns:1fr auto;align-items:center;display:grid}.password-toggle,.link-button,.secondary-action,.primary-action,.tertiary-action{border-radius:var(--radius-badge);padding:var(--space-2) var(--space-4);font:inherit;cursor:pointer;border:0;transition:background .15s}.password-toggle,.link-button{color:var(--primary);font-weight:var(--weight-medium);font-size:var(--text-body);background:0 0;padding:0}.password-toggle:hover,.link-button:hover{color:var(--primary-hover)}.login-row,.login-footer,.dashboard-topbar__actions{justify-content:space-between;gap:var(--space-3);align-items:center;display:flex}.form-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-caption);line-height:var(--leading-relaxed)}.checkbox-field{align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:var(--text-body);display:inline-flex}.checkbox-field input{width:16px;height:16px;accent-color:var(--primary)}.sign-in-button,.primary-action,input[type=submit]{color:#fff;font-weight:var(--weight-semibold);background:var(--primary);letter-spacing:.01em;font-size:var(--text-body)}.sign-in-button{width:100%;min-height:44px;padding-inline:var(--space-5);border-radius:var(--radius-button);font:inherit;cursor:pointer;isolation:isolate;border:0;justify-content:center;transition:background .15s,box-shadow .15s;position:relative;overflow:hidden}.sign-in-button:before{content:"";z-index:-1;background:linear-gradient(120deg,#0000 0%,#ffffff1f 45%,#0000 70%);transition:transform .28s;position:absolute;inset:0;transform:translate(-120%)}.sign-in-button:hover:before,.sign-in-button:focus-visible:before{transform:translate(120%)}.sign-in-button:hover,input[type=submit]:hover{background:var(--primary-hover)}.sign-in-button:focus-visible,input[type=submit]:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb40}input[type=submit]{border-radius:var(--radius-button);width:100%;min-height:44px;padding:var(--space-3) var(--space-5);font:inherit;cursor:pointer;border:0}.secondary-action,.tertiary-action{color:var(--text-primary);background:var(--bg);border:1px solid var(--border);font-size:var(--text-body)}.secondary-action:hover,.tertiary-action:hover{background:var(--border)}.login-footer{padding-top:var(--space-1);border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-small)}.auth-feedback{width:min(1100px,100%);padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);color:#166534;font-size:var(--text-body);background:#22c55e14;border:1px solid #22c55e33;grid-column:1/-1;margin-top:-4px}.auth-feedback--error{color:#991b1b;background:#ef44440f;border-color:#ef444433}.sign-in-button:disabled{opacity:.6;cursor:wait}.dashboard-shell{width:min(1220px,100% - 32px);padding:var(--space-8) 0 var(--space-12);gap:var(--space-5);margin:0 auto;display:grid}.dashboard-topbar,.dashboard-hero,.dashboard-metrics,.dashboard-grid{width:100%}.dashboard-topbar h1{margin-top:var(--space-3);font-size:var(--text-h2)}.dashboard-user{padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--bg);border:1px solid var(--border);gap:2px;display:grid}.dashboard-user strong{color:var(--text-primary);font-size:var(--text-body)}.dashboard-hero{border-radius:var(--radius-card);padding:var(--space-7,28px);gap:var(--space-6);grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);display:grid}.dashboard-hero__copy h2{margin:var(--space-3) 0 var(--space-3);font-size:var(--text-h3);line-height:1.33}.dashboard-hero__chart{gap:var(--space-3);min-height:220px;padding:var(--space-3) var(--space-1) 0;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;display:grid}.dashboard-hero__chart>.chart-bar>div{border-radius:var(--radius-button) var(--radius-button) 4px 4px;background:linear-gradient(#60a5fa,#2563eb);width:100%;min-width:12px;max-width:48px;display:block}.chart-bar{flex-direction:column;justify-content:end;align-items:center;height:100%;display:flex}.chart-bar__label{color:var(--color-text-secondary,#94a3b8);white-space:nowrap;margin-top:4px;font-size:10px}.trend-heading{flex-wrap:wrap}.trend-controls{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.segmented{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--bg);gap:2px;padding:2px;display:inline-flex}.segmented__btn{color:var(--secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold,600);border-radius:var(--radius-button);cursor:pointer;background:0 0;border:none;padding:4px 10px;transition:background .12s,color .12s}.segmented__btn:hover{color:var(--text-primary)}.segmented__btn--active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 2px #0f172a1f}.trend-summary{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.trend-stat{gap:2px;display:grid}.trend-stat span{font-size:var(--text-caption);color:var(--secondary)}.trend-stat strong{font-size:var(--text-h5,1.1rem);color:var(--text-primary)}.trend-up{color:var(--success)}.trend-down{color:var(--danger)}.trend-chart{width:100%;position:relative}.trend-grid{stroke:var(--border);stroke-width:1px}.trend-axis-label{fill:var(--secondary);font-size:10px}.trend-guide{stroke:var(--secondary);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}.trend-bar{opacity:.85}.trend-bar--active{opacity:1}.trend-tooltip{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);font-size:var(--text-caption);color:var(--text-primary);pointer-events:none;white-space:nowrap;z-index:2;gap:2px;display:grid;position:absolute;top:6px;transform:translate(-50%);box-shadow:0 6px 18px #0f172a24}.trend-tooltip strong{color:var(--text-primary)}.trend-dot{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}@media (width<=720px){.trend-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.metrics-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-card{border-radius:var(--radius-card);padding:var(--space-5);gap:var(--space-2);display:grid}.metric-card strong{font-size:2.125rem;font-weight:var(--weight-bold);color:var(--text-primary);line-height:1.2}.content-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);display:grid}.panel{border-radius:var(--radius-card);padding:var(--space-6)}.panel--wide{min-height:100%}.panel-heading{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);align-items:start;display:flex}.panel-heading h2{margin:var(--space-2) 0 0;font-size:var(--text-h5)}.alert-list,.activity-list{gap:var(--space-3);max-height:300px;padding:10px 2px;list-style:none;display:grid;overflow:auto}.alert-list li,.activity-list li{padding:var(--space-4);border-radius:var(--radius-card);background:var(--bg);border:1px solid var(--border);font-size:var(--text-body);color:var(--text-secondary);line-height:var(--leading-relaxed)}.activity-list li{justify-content:space-between;gap:var(--space-4);display:flex}.activity-list strong{margin-bottom:var(--space-1);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);display:block}.activity-list p{font-size:var(--text-small)}.table-panel{padding-bottom:var(--space-4)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px}th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);background:var(--bg)}td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-primary);font-size:var(--text-body);line-height:var(--leading-normal)}tbody tr:hover{background:#2563eb08}.status-pill{border-radius:var(--radius-badge);padding:var(--space-1) var(--space-3);font-size:var(--text-caption);font-weight:var(--weight-semibold);align-items:center;display:inline-flex}.status-pill--healthy{color:#166534;background:#22c55e1a}.status-pill--low{color:#92400e;background:#f59e0b1a}.status-pill--critical{color:#991b1b;background:#ef44441a}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}.toast-container{bottom:var(--space-6);right:var(--space-6);gap:var(--space-2);z-index:200;flex-direction:column;max-width:380px;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:var(--text-body);color:var(--text-primary);cursor:pointer;animation:.25s toast-in;display:flex}.toast__icon{width:24px;height:24px;font-size:12px;font-weight:var(--weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast--success .toast__icon{color:#166534;background:#22c55e1f}.toast--error .toast__icon{color:#991b1b;background:#ef44441a}.toast--info .toast__icon{color:#075985;background:#0ea5e91a}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--bg) 50%, var(--border) 75%);border-radius:var(--radius-input);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton--text{width:100%;height:14px}.skeleton--title{width:60%;height:20px}.skeleton--button{width:120px;height:36px}.skeleton--card{width:100%;height:100px}.skeleton--row{width:100%;height:48px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dialog-overlay{z-index:110;padding:var(--space-6);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-modal);padding:var(--space-6);width:100%;max-width:400px;box-shadow:var(--shadow-lg);text-align:center}.dialog h3{margin:0 0 var(--space-2)}.dialog p{margin:0 0 var(--space-6);color:var(--text-secondary)}.dialog__actions{gap:var(--space-3);justify-content:center;display:flex}.dialog__actions .btn{padding:var(--space-3) var(--space-4);flex:1;justify-content:center}.breadcrumb{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-small);color:var(--secondary);display:flex}.breadcrumb a{color:var(--secondary);text-decoration:none}.breadcrumb a:hover{color:var(--primary)}.breadcrumb__separator{color:var(--border)}@media (width<=640px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);max-width:none}}.branch-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.branch-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);flex-direction:column;transition:box-shadow .12s,border-color .12s;display:flex}.branch-card:hover{box-shadow:var(--shadow-md);border-color:#2563eb33}.branch-card--inactive{opacity:.55}.branch-card--card{cursor:default}.branch-card__header{justify-content:space-between;align-items:start;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0;display:flex}.branch-card__name{font-size:var(--text-h5);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:var(--leading-tight)}.branch-card__body{padding:var(--space-3) var(--space-5);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.branch-card__info{align-items:center;gap:var(--space-2);font-size:var(--text-body);color:var(--text-secondary);line-height:var(--leading-normal);display:flex}.branch-card__info svg{opacity:.5;flex-shrink:0;width:14px;height:14px}.branch-card__footer{padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.branch-card__actions{gap:var(--space-2);display:flex}.branch-toggle{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;position:relative}.branch-toggle input{opacity:0;width:0;height:0;position:absolute}.branch-toggle__track{background:var(--border);border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.branch-toggle input:checked+.branch-toggle__track{background:var(--success)}.branch-toggle__thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.branch-toggle input:checked+.branch-toggle__track .branch-toggle__thumb{transform:translate(16px)}.branch-toggle__label{font-size:var(--text-caption);color:var(--text-secondary);font-weight:var(--weight-medium)}@media (width<=1024px){.auth-shell,.splash-screen{padding:var(--space-5)}.auth-panel,.dashboard-hero,.content-grid,.metrics-grid,.branch-card-grid{grid-template-columns:1fr}.auth-hero,.login-card,.splash-card,.dashboard-hero,.panel,.metric-card{border-radius:var(--radius-card)}.auth-hero,.login-card,.splash-card{padding:var(--space-7,28px) var(--space-6)}}@media (width<=640px){.login-row,.login-footer,.dashboard-topbar__actions,.activity-list li{flex-direction:column;align-items:flex-start}.dashboard-user{width:100%}.auth-switch,.password-row{grid-template-columns:1fr}}.label-print-sheet{box-sizing:border-box;background:#fff;width:100%;padding:5mm;font-family:Arial,sans-serif;display:none}.label-print-sheet .label{box-sizing:border-box;page-break-inside:avoid;text-align:center;border:1px dashed #ccc;flex-direction:column;justify-content:center;align-items:center;margin:2mm;padding:2mm;display:flex}.label-print-sheet .label--40x25{width:38mm;height:23mm}.label-print-sheet .label--58x40{width:56mm;height:38mm}.label-print-sheet .label-name{color:#000;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:2.6mm;font-weight:600;overflow:hidden}@media print{body:has(.label-print-sheet)>#root{display:none!important}.label-print-sheet{padding:5mm;display:block!important}.label-print-sheet .label{border:none}@page{size:auto;margin:0}}
