:root{--bg:#f7f9fc;--surface:#fff;--surface-2:#f2f5fa;--text:#0b1020;--muted:#4b5563;--border:rgba(11,16,32,.1);--shadow:0 1px 2px rgba(11,16,32,.04),0 4px 8px rgba(11,16,32,.04),0 12px 32px rgba(11,16,32,.08);--shadow-lg:0 2px 4px rgba(11,16,32,.04),0 8px 16px rgba(11,16,32,.06),0 24px 48px rgba(11,16,32,.12);--brand:#2e3192;--brand-2:#1f66d1;--brand-soft:rgba(46,49,146,.1);--ring:rgba(46,49,146,.5);--success:#16a34a;--warning:#f59e0b;--danger:#ef4444;--color-primary:var(--brand);--color-success:var(--success);--color-warning:var(--warning);--color-danger:var(--danger);--color-border:var(--border);--color-success-bg:rgba(22,163,74,.08);--color-warning-bg:rgba(245,158,11,.1);--color-danger-bg:rgba(239,68,68,.08)}html.light{color-scheme:light}html.dark{--bg:#0b1020;--surface:#151b2e;--surface-2:#1c2438;--text:#f0f2f5;--muted:#8b95a8;--border:hsla(0,0%,100%,.1);--shadow:0 1px 2px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.12),0 12px 32px rgba(0,0,0,.24);--shadow-lg:0 2px 4px rgba(0,0,0,.16),0 8px 16px rgba(0,0,0,.2),0 24px 48px rgba(0,0,0,.32);--brand:#5b5fd3;--brand-2:#4a8ee8;--brand-soft:rgba(91,95,211,.15);--ring:rgba(91,95,211,.6);--success:#22c55e;--warning:#fbbf24;--danger:#f87171;--color-primary:var(--brand);--color-success:var(--success);--color-warning:var(--warning);--color-danger:var(--danger);--color-border:var(--border);--color-success-bg:rgba(34,197,94,.14);--color-warning-bg:rgba(251,191,36,.16);--color-danger-bg:hsla(0,91%,71%,.14);color-scheme:dark}html.dark .skeleton{background:linear-gradient(90deg,#1c2438,#252d44 50%,#1c2438);background-size:200% 100%}html.dark .drawer-overlay{background:rgba(0,0,0,.5)}html.dark .drawer-overlay,html.dark .modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}html.dark .modal-overlay{background:rgba(0,0,0,.55)}html.dark .divider{background:radial-gradient(circle,hsla(0,0%,100%,.12) 0,hsla(0,0%,100%,0) 75%)}html.dark .status.available{color:#4ade80;border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.2)}html.dark .status.full{color:#fcd34d;border-color:rgba(252,211,77,.45);background:rgba(252,211,77,.2)}html.dark .badge.status-checked-in,html.dark .badge.status-confirmed{color:#4ade80;border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.2)}html.dark .badge.status-canceled,html.dark .status-canceled{color:#fca5a5;border-color:hsla(0,94%,82%,.45);background:hsla(0,94%,82%,.2)}html.dark .badge.status-no-show{color:#fcd34d;border-color:rgba(252,211,77,.45);background:rgba(252,211,77,.2)}html.dark .company-ecocat{color:#60a5fa;border-color:rgba(96,165,250,.35);background:rgba(96,165,250,.15)}html.dark .company-sol{color:#f87171;border-color:hsla(0,91%,71%,.35);background:hsla(0,91%,71%,.15)}html.dark .company-ecobar,html.dark .company-stax{color:#4ade80;border-color:rgba(74,222,128,.35);background:rgba(74,222,128,.15)}html.dark .company-tab-ecocat.active{background:#3b82f6;border-color:#3b82f6}html.dark .company-tab-sol.active{background:#ef4444;border-color:#ef4444}html.dark .company-tab-ecobar.active,html.dark .company-tab-stax.active{background:#22c55e;border-color:#22c55e}html.dark .status-partial{color:#fcd34d;background:rgba(252,211,77,.12);border-color:rgba(252,211,77,.3)}html.dark .status-paid{color:#4ade80;background:rgba(74,222,128,.12);border-color:rgba(74,222,128,.3)}html.dark .badge.tour-available{color:#4ade80;border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.2)}html.dark .badge.tour-sold-out{color:#fca5a5;border-color:hsla(0,94%,82%,.45);background:hsla(0,94%,82%,.2)}html.dark .badge.tour-unavailable{color:#94a3b8;border-color:rgba(148,163,184,.45);background:rgba(148,163,184,.2)}html.dark .badge.tour-maintenance{color:#9ca3af;border-color:rgba(156,163,175,.45);background:rgba(156,163,175,.2)}html.dark .card-clickable:hover{box-shadow:0 12px 40px rgba(0,0,0,.4)}html.theme-transition,html.theme-transition *,html.theme-transition :after,html.theme-transition :before{transition:background-color .2s ease,border-color .2s ease,color .15s ease!important}*,:after,:before{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px 20px 48px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}a{color:inherit;text-decoration:none}:where(button,input[type=button],input[type=submit],input[type=reset],select,textarea){-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;line-height:1;border:none;background:transparent;color:inherit;border-radius:12px}:where(button,input[type=button],input[type=submit],input[type=reset],select,textarea,a,.button,.pill,.icon-button,.drawer-link){-webkit-tap-highlight-color:transparent}:where(button,input[type=button],input[type=submit],input[type=reset],.button,.pill,.icon-button,.drawer-link,a.button,a.pill){display:inline-flex;align-items:center;justify-content:center;cursor:pointer}:where(button,input[type=button],input[type=submit],input[type=reset],select,textarea,.input,.button,.pill,.icon-button,.drawer-link){border-radius:12px}:where(button,input[type=button],input[type=submit],input[type=reset],select,textarea,.input,.button,.pill,.icon-button,.drawer-link,a.button,a.pill):focus{outline:none}:where(button,input[type=button],input[type=submit],input[type=reset],select,textarea,.input,.button,.pill,.icon-button,.drawer-link,a.button,a.pill):focus-visible{outline:2px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 4px var(--brand-soft)}h1,h2,h3,h4,p{margin:0}.shell{max-width:1200px}.app-shell,.shell{width:100%}.app-header{width:100%;padding:14px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border)}.app-header-left,.app-header-right{display:flex;align-items:center;gap:8px}.app-header-right{justify-content:flex-end}.app-title{font-weight:700;font-size:18px;letter-spacing:-.02em;flex:1 1;display:flex;align-items:center;gap:10px;min-width:0}.app-title-text{text-overflow:ellipsis}.app-title-text,.sr-only{overflow:hidden;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.app-logo-link{display:inline-flex;align-items:center}.app-logo{height:48px;width:auto;display:block}.app-header-right .badge{font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{width:100%;padding-top:16px;display:flex;flex-direction:column;align-items:center}.icon-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:background .12s ease,border-color .12s ease}.icon-button:hover{background:var(--surface-2);border-color:var(--muted)}.drawer-overlay{position:fixed;inset:0;background:rgba(11,16,32,.32);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:40}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;left:0;height:100%;width:min(320px,86%);background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow);transform:translateX(-100%);transition:transform .2s ease;z-index:50;padding:18px 16px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.drawer.open{transform:translateX(0)}.drawer-link{display:block;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:inherit;font-size:14px}.drawer-sub{padding-left:18px;font-size:14px}.modal-overlay{position:fixed;inset:0;background:rgba(11,16,32,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100}.modal{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(520px,92vw);max-height:85vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);z-index:110;padding:18px;display:flex;flex-direction:column;gap:14px}.modal.wide{width:min(900px,94vw);max-height:90vh}.modal.xl{width:min(1060px,96vw);max-height:92vh}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-body{display:flex;flex-direction:column;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow)}.card.compact{padding:16px}.card-clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.card-clickable:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(11,16,32,.12)}.title{font-weight:700;letter-spacing:-.02em}.muted{color:var(--muted)}.stack{flex-direction:column;gap:14px}.row,.stack{display:flex}.row{gap:12px}.row.wrap{flex-wrap:wrap}.input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.input.small{padding:8px 10px;border-radius:10px;font-size:14px}select.form-select,select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px}html.dark select.form-select,html.dark select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E")}input[type=date].form-input,input[type=date].input,input[type=datetime-local].form-input,input[type=datetime-local].input,input[type=time].form-input,input[type=time].input{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=date].form-input::-webkit-calendar-picker-indicator,input[type=date].input::-webkit-calendar-picker-indicator,input[type=datetime-local].form-input::-webkit-calendar-picker-indicator,input[type=datetime-local].input::-webkit-calendar-picker-indicator,input[type=time].form-input::-webkit-calendar-picker-indicator,input[type=time].input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;padding:4px;border-radius:4px}input[type=date].form-input::-webkit-calendar-picker-indicator:hover,input[type=date].input::-webkit-calendar-picker-indicator:hover,input[type=datetime-local].form-input::-webkit-calendar-picker-indicator:hover,input[type=datetime-local].input::-webkit-calendar-picker-indicator:hover,input[type=time].form-input::-webkit-calendar-picker-indicator:hover,input[type=time].input::-webkit-calendar-picker-indicator:hover{opacity:1;background:var(--row-hover,#f3f4f6)}html.dark input[type=date].form-input::-webkit-calendar-picker-indicator,html.dark input[type=date].input::-webkit-calendar-picker-indicator,html.dark input[type=datetime-local].form-input::-webkit-calendar-picker-indicator,html.dark input[type=datetime-local].input::-webkit-calendar-picker-indicator,html.dark input[type=time].form-input::-webkit-calendar-picker-indicator,html.dark input[type=time].input::-webkit-calendar-picker-indicator{filter:invert(1)}input[type=number].form-input::-webkit-inner-spin-button,input[type=number].form-input::-webkit-outer-spin-button,input[type=number].input::-webkit-inner-spin-button,input[type=number].input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].form-input,input[type=number].input{-moz-appearance:textfield}input[type=file].form-input,input[type=file].input{padding:10px 14px;cursor:pointer;font-size:14px}input[type=file].form-input::-webkit-file-upload-button,input[type=file].input::-webkit-file-upload-button{-webkit-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-2,#f3f4f6);color:var(--text);padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;margin-right:10px;-webkit-transition:background .12s ease;transition:background .12s ease}input[type=file].form-input::file-selector-button,input[type=file].input::file-selector-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-2,#f3f4f6);color:var(--text);padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;margin-right:10px;transition:background .12s ease}input[type=file].form-input::-webkit-file-upload-button:hover,input[type=file].input::-webkit-file-upload-button:hover{background:var(--row-hover,#e5e7eb)}input[type=file].form-input::file-selector-button:hover,input[type=file].input::file-selector-button:hover{background:var(--row-hover,#e5e7eb)}html.dark input[type=file].form-input::-webkit-file-upload-button,html.dark input[type=file].input::-webkit-file-upload-button{background:var(--surface-alt,#2a2a3e);border-color:var(--border)}html.dark input[type=file].form-input::file-selector-button,html.dark input[type=file].input::file-selector-button{background:var(--surface-alt,#2a2a3e);border-color:var(--border)}html.dark input[type=file].form-input::-webkit-file-upload-button:hover,html.dark input[type=file].input::-webkit-file-upload-button:hover{background:var(--row-hover,#3a3a4e)}html.dark input[type=file].form-input::file-selector-button:hover,html.dark input[type=file].input::file-selector-button:hover{background:var(--row-hover,#3a3a4e)}.search-bar{display:flex;align-items:center;gap:8px}.search-field{position:relative;width:100%;max-width:420px}.search-field .search-input{padding-right:76px}.search-button{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:6px 10px;border-radius:10px}.input:focus{outline:2px solid var(--ring);border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}.button{padding:12px 16px;border-radius:12px;border:none;font-weight:600;cursor:pointer;background:var(--brand);color:#fff;transition:transform .08s ease,box-shadow .12s ease,opacity .12s ease}.button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.button.ghost{background:transparent;color:var(--text);border:1px dashed var(--border)}.button:disabled{opacity:.6;cursor:not-allowed}.button.small{padding:8px 12px;border-radius:10px;font-size:13px}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(46,49,146,.25)}.button:active:not(:disabled){transform:translateY(0);box-shadow:none}.button.secondary:hover:not(:disabled){background:var(--surface);border-color:var(--muted)}.button.ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted)}.ops-actions{display:flex;gap:10px;flex-wrap:wrap}.ops-action-button{padding:12px 18px;font-size:14px}.pill{padding:10px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;color:var(--text);font-weight:600;transition:border-color .12s ease,background .12s ease,transform .08s ease}.pill:hover:not(.active){border-color:var(--muted);background:var(--surface)}.pill.small{padding:6px 10px;border-radius:10px;font-size:12px}.form-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr}@media (min-width:900px){.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-advanced-toggle{display:flex;align-items:center;gap:6px;background:none;border:1px dashed var(--border);border-radius:8px;padding:8px 14px;color:var(--muted);font-size:13px;cursor:pointer;width:100%;transition:all .15s}.form-advanced-toggle:hover{border-color:var(--text);color:var(--text)}.form-advanced-toggle .chevron{transition:transform .2s;font-size:11px}.form-advanced-toggle[aria-expanded=true] .chevron{transform:rotate(90deg)}.pill.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.pill.private{border-color:var(--warning);background:rgba(245,158,11,.1)}.status{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:12px;font-weight:600;background:var(--surface-2);border:1px solid var(--border)}.status.available{color:var(--success);border-color:rgba(22,163,74,.25);background:rgba(22,163,74,.08)}.status.full{color:var(--warning);border-color:rgba(245,158,11,.25);background:rgba(245,158,11,.08)}.badge{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:13px}.badge.status-confirmed{color:var(--success);border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.08)}.badge.status-checked-in{color:var(--success);border-color:rgba(22,163,74,.45);background:rgba(22,163,74,.12)}.badge.status-canceled{color:var(--danger);border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.1)}.badge.status-no-show{color:var(--warning);border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.12)}.badge.tour-available{color:#166534;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.12)}.badge.tour-sold-out{color:#991b1b;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.12)}.badge.tour-unavailable{color:#334155;border-color:rgba(148,163,184,.35);background:rgba(148,163,184,.12)}.badge.tour-maintenance{color:#374151;border-color:#9ca3af;background:rgba(156,163,175,.12)}.company-badge{padding:8px 10px;border-radius:999px;font-size:13px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.company-ecocat{color:#1d4ed8;border-color:rgba(37,99,235,.35);background:rgba(37,99,235,.12)}.company-sol{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.12)}.company-stax{color:#15803d;border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.12)}.danger{color:var(--danger)}.error{color:var(--danger);background:rgba(239,68,68,.08);border-radius:12px;border:1px solid rgba(239,68,68,.35)}.error,.success{padding:10px 12px}.success{color:var(--success);background:rgba(22,163,74,.08);border-radius:12px;border:1px solid rgba(22,163,74,.35)}.warning{color:var(--warning);background:rgba(245,158,11,.1);padding:10px 12px;border-radius:12px;border:1px solid rgba(245,158,11,.35)}.divider{height:1px;width:100%;background:radial-gradient(circle,rgba(11,16,32,.12) 0,rgba(11,16,32,0) 75%);margin:8px 0}.form-group-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.calendar-head{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:600}.calendar-cell{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px;text-align:left;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:78px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;box-shadow:0 6px 18px rgba(11,16,32,.06)}.calendar-cell.today{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px var(--ring),0 10px 22px rgba(11,16,32,.12)}.calendar-cell.muted-cell{opacity:.5;background:var(--surface-2);box-shadow:none}.calendar-cell:hover{border-color:rgba(11,16,32,.18);transform:translateY(-1px);box-shadow:0 10px 24px rgba(11,16,32,.12)}.modal-backdrop{position:fixed;inset:0;background:rgba(11,16,32,.25);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;max-width:640px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow)}.checkin-panel{border-left:1px solid var(--border);box-shadow:var(--shadow);z-index:60;padding:16px;flex-direction:column}.checkin-panel,.checkin-panel-header{background:var(--surface);display:flex;gap:12px}.checkin-panel-header{justify-content:space-between;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:2}.checkin-panel-body{overflow-y:auto;padding-top:4px}.typeahead{position:relative}.typeahead-list{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:40;max-height:220px;overflow-y:auto;padding:6px}.typeahead-item,.typeahead-list{display:flex;flex-direction:column;gap:2px}.typeahead-item{text-align:left;border-radius:10px;padding:8px 10px;border:1px solid transparent;background:transparent;cursor:pointer}.typeahead-item.active,.typeahead-item:hover{background:var(--surface-2);border-color:rgba(148,163,184,.2)}.typeahead-item.create{font-weight:600}.modal .typeahead-list{position:relative;top:auto;left:auto;right:auto;box-shadow:none;margin-top:4px}@media (max-width:520px){.sticky-bar{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;z-index:40;box-shadow:0 -8px 24px rgba(11,16,32,.08)}.sticky-bar .button{min-height:44px}body{padding-bottom:120px}.input,.pill{min-height:44px}.input.small{min-height:40px}.search-field{max-width:100%}.search-field .search-input{padding-right:68px}.search-button{min-height:34px}.button{min-height:44px}.button.small{min-height:40px}}@media (max-width:640px){body{padding:18px 14px 36px}.app-header{padding:12px 16px}.app-title{font-size:16px}.app-logo{height:40px}.app-header-right .badge{max-width:120px}.card{padding:18px}.row{flex-direction:column}.row.keep-row{flex-direction:row!important;align-items:center}.calendar-grid{gap:4px}.calendar-cell{padding:6px;min-height:64px;border-radius:8px}.calendar-head{font-size:10px}.calendar-cell .row{flex-direction:row}.modal-card{padding:14px}}.eod-header{position:-webkit-sticky;position:sticky;top:8px;z-index:5;background:var(--bg);padding-top:8px}.eod-grid,.eod-layout,.eod-section{display:grid;grid-gap:18px;gap:18px}.eod-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.eod-reconcile-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat.success{color:var(--success);border-color:rgba(22,163,74,.3);background:rgba(22,163,74,.08)}.stat.error{color:var(--danger);border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.08)}.chart-card{padding:18px}.chart-container{width:100%;min-height:180px}.money-summary-top{display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr;margin-bottom:8px}@media (min-width:600px){.money-summary-top{grid-template-columns:repeat(3,1fr)}}.summary-kpi{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}.summary-positive{color:var(--success);border-color:rgba(22,163,74,.3);background:rgba(22,163,74,.08)}.summary-negative{color:var(--danger);border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.08)}.money-summary-split{display:grid;grid-gap:12px;gap:12px}.money-split{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px}.money-row{display:flex;justify-content:space-between;align-items:flex-start;gap:4px 12px;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.money-row>strong{text-align:right;min-width:0}@media (min-width:900px){.money-summary-split{grid-template-columns:repeat(2,minmax(0,1fr))}}.flag-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border)}.flag-row:last-child{border-bottom:none}.flags-compact{padding:16px}.flags-compact .flag-row{padding:6px 0}.item-detail-panel{background:var(--surface-2,#f8f9fb);border-left:3px solid var(--accent,#3b82f6);padding:10px 14px;font-size:13px}.item-detail-panel dt{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.item-detail-panel dd{margin:0 0 4px;font-weight:500}.item-detail-structured{display:flex;flex-direction:column;gap:4px}.item-detail-tour{font-size:12px;font-weight:600;color:var(--accent,#3b82f6);letter-spacing:.02em}.item-detail-row{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:13px}.item-detail-notes{font-size:12px;font-style:italic}.ledger-totals td{font-weight:600;border-top:2px solid var(--border);padding-top:8px}.ledger-row-clickable{cursor:pointer}.ledger-row-clickable:hover td{background:var(--surface-2,#f8f9fb)}.flag-row-clickable{cursor:pointer}.flag-row-clickable:hover{background:var(--surface-2,#f8f9fb)}.skeleton{width:100%;border-radius:14px;background:linear-gradient(90deg,#eef1f6,#f6f8fb 50%,#eef1f6);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}@media (min-width:768px){.eod-grid{grid-template-columns:1.1fr .9fr;align-items:start}.eod-section.two-col{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.eod-missed-close-banner{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:12px 16px;display:flex;align-items:flex-start;gap:10px;margin-top:12px}.eod-missed-close-banner .banner-icon{font-size:18px;flex-shrink:0;line-height:1.4}.eod-missed-close-dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.eod-missed-close-dates button{background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);border-radius:6px;padding:2px 8px;font-size:12px;cursor:pointer;color:inherit;transition:background .15s}.eod-missed-close-dates button:hover{background:rgba(245,158,11,.3)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2)}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 8px}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:12px 8px;vertical-align:top;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table tbody tr:nth-child(2n){background:var(--surface-2)}.table tr:last-child td{border-bottom:none}.table-row-click{cursor:pointer;transition:background .12s ease}.table-row-click:hover{background:var(--surface-2)}.table-row-click:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.table tr.invoice-ignored{opacity:.55}.ledger-top{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:14px}.ledger-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.ledger-item{display:flex;flex-direction:column;gap:6px}.ledger-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ledger-value{font-size:22px;font-weight:700;color:var(--text)}.ledger-positive{color:var(--success)}.ledger-negative{color:var(--danger)}.ledger-divider{height:1px;background:var(--border)}.ledger-meta-wrap{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}.ledger-meta{display:flex;flex-wrap:wrap;gap:6px}.ledger-meta span+span:before{content:"•";margin:0 6px 0 2px;color:var(--muted)}.kpi-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi-card{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px}.kpi-card.emphasis{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.08)}.kpi-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.kpi-value{font-size:24px;font-weight:700;color:var(--text)}.kpi-secondary{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.kpi-secondary span+span:before{content:"•";margin:0 6px 0 2px;color:var(--muted)}.profile-grid{display:grid;grid-gap:16px;gap:16px}@media (min-width:960px){.profile-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start}}.safe-balance-header{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:16px}.safe-balance-header-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:12px}.safe-balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.safe-balance-card{background:var(--surface-2);border-radius:10px;padding:12px}.safe-balance-name{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px}.safe-balance-amounts{font-size:16px;font-weight:700}.safe-balance-separator{color:var(--muted);margin:0 4px}.safe-balance-carryover{font-size:11px;color:var(--muted);margin-top:4px}.day-status-card{padding:20px}.day-status-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.day-status-date{font-size:18px;font-weight:700}.day-status-summary{display:flex;flex-direction:column;gap:8px}.day-status-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.day-status-divider{height:1px;background:var(--border);margin:4px 0}.day-status-alert,.day-status-closed-info,.day-status-expected,.day-status-pending{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.expected-cash-card{padding:16px}.expected-cash-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.expected-cash-title{font-size:16px;font-weight:600}.expected-cash-toggle{font-size:18px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.expected-cash-breakdown{margin-top:12px;display:flex;flex-direction:column;gap:6px}.expected-cash-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.expected-cash-divider{height:1px;background:var(--border);margin:8px 0}.expected-cash-total{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;margin-top:8px}.expected-cash-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.ledger-section-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.card>.ledger-section-card{border:none;border-radius:0;background:transparent}.ledger-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface-2);border:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s;gap:12px;text-align:left;font-family:inherit;font-size:inherit;color:inherit}.ledger-section-header:hover{background:var(--surface-2);filter:brightness(.97)}.ledger-section-header-left{display:flex;align-items:center;gap:8px;min-width:0}.ledger-section-icon{width:16px;height:16px;flex-shrink:0}.ledger-section-title-group{display:flex;align-items:baseline;gap:8px}.ledger-section-title{font-weight:600;font-size:14px}.ledger-section-count,.ledger-section-subtitle{font-size:12px;color:var(--muted)}.ledger-section-header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.ledger-section-totals{text-align:right;font-size:14px}.ledger-section-total-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.ledger-section-total-empty{color:var(--muted);font-size:12px}.ledger-section-chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0}.ledger-section-items{border-top:1px solid var(--border)}.ledger-section-item{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;font-size:14px}.ledger-section-item+.ledger-section-item{border-top:1px solid var(--border)}.ledger-section-item-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1}.ledger-section-item-time{font-size:12px;color:var(--muted);width:48px;flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ledger-section-item-desc{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-section-bu-badge{font-size:11px;padding:1px 6px;border-radius:4px;background:rgba(59,130,246,.1);color:var(--brand);font-weight:500;flex-shrink:0;white-space:nowrap}.ledger-section-item-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:8px;font-weight:500}.ledger-section-empty{padding:12px 16px;font-size:14px;color:var(--muted);font-style:italic;border-top:1px solid var(--border)}.cash-ledger-page>.card{overflow:hidden}.cash-ledger-page{width:100%;padding:24px 16px 120px;display:flex;flex-direction:column;gap:20px}@media (max-width:768px){.cash-ledger-page{padding:16px 12px 120px}}.cash-ledger-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cash-ledger-header-left{display:flex;flex-direction:column;gap:4px}.cash-ledger-title{font-size:22px;font-weight:700;margin:0}.cash-ledger-date{font-size:14px;color:var(--muted)}.cash-ledger-cancel-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:13px;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.cash-ledger-cancel-btn:hover{background:var(--surface-2);color:var(--text)}.cash-ledger-cancel-icon{width:14px;height:14px}.cash-ledger-section-label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;margin-bottom:12px;color:var(--text)}.cash-ledger-section-label-icon{width:18px;height:18px;flex-shrink:0}.cash-ledger-color-green{color:var(--success)}.cash-ledger-color-red{color:var(--danger)}.cash-ledger-color-blue{color:var(--brand)}.cash-ledger-color-purple{color:#8b5cf6}.cash-ledger-color-amber{color:var(--warning)}.cash-ledger-color-muted{color:var(--muted)}.cash-ledger-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.cash-ledger-card-header-left{display:flex;align-items:center;gap:10px;min-width:0}.cash-ledger-card-title-group{display:flex;flex-direction:column;gap:2px;min-width:0}.cash-ledger-card-title{font-size:16px;font-weight:600;margin:0;color:var(--text)}.cash-ledger-card-subtitle{font-size:13px;color:var(--muted);margin:0}.cash-ledger-card-totals{display:flex;align-items:center;gap:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;font-size:14px;font-weight:600;flex-shrink:0}.cash-ledger-card-totals>span+span{padding-left:12px;border-left:1px solid var(--border)}.cash-ledger-divider{border:none;border-top:1px solid var(--border);margin:20px 0}.cash-ledger-currency-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:768px){.cash-ledger-currency-grid{grid-template-columns:1fr;gap:12px}}.cash-ledger-currency-col{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}.cash-ledger-col-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.cash-ledger-col-header-icon{width:14px;height:14px}.cash-ledger-col-items{flex:1 1;min-height:40px}.cash-ledger-col-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:13px;gap:8px}.cash-ledger-col-item+.cash-ledger-col-item{border-top:1px solid var(--border)}.cash-ledger-col-item-left{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1}.cash-ledger-col-item-time{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.cash-ledger-col-item-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cash-ledger-col-item-amount{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.cash-ledger-col-total{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-weight:600;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--surface-2);border-top:2px solid var(--border)}.cash-ledger-col-total-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cash-ledger-col-empty{padding:20px 12px;font-size:13px;color:var(--muted);font-style:italic;text-align:center}.cash-ledger-col-item-bu{font-size:10px;padding:1px 5px;border-radius:4px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);flex-shrink:0;white-space:nowrap}.cash-ledger-dual-inputs{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:500px){.cash-ledger-dual-inputs{grid-template-columns:1fr}}.cash-ledger-currency-input{display:flex;flex-direction:column;gap:4px}.cash-ledger-currency-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.cash-ledger-input-wrapper{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 12px;transition:border-color .15s}.cash-ledger-input-wrapper:focus-within{border-color:var(--brand)}.cash-ledger-input-prefix,.cash-ledger-input-suffix{color:var(--muted);font-size:14px;flex-shrink:0}.cash-ledger-input{flex:1 1;padding:10px 8px;font-size:18px;font-weight:600;text-align:right;background:transparent;border:none;outline:none;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:0}.cash-ledger-suggest-btn{display:inline-block;margin-top:8px;padding:0;border:none;background:none;color:var(--brand);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.cash-ledger-suggest-btn:hover{opacity:.8}.cash-ledger-lock-icon{width:16px;height:16px;color:var(--muted);flex-shrink:0}.cash-ledger-readonly-amounts{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.cash-ledger-readonly-currency{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--surface-2);border-radius:10px}.cash-ledger-readonly-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.cash-ledger-readonly-value{font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.cash-ledger-hint{margin:8px 0 0;font-size:13px;color:var(--muted)}.cash-ledger-recon-expected{background:var(--surface-2);border-radius:10px;padding:14px 16px}.cash-ledger-recon-expected-title{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.cash-ledger-recon-expected-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.cash-ledger-recon-expected-item{display:flex;flex-direction:column;gap:2px}.cash-ledger-recon-expected-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.cash-ledger-recon-expected-value{font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.cash-ledger-recon-counted-title{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.cash-ledger-variance{border-radius:12px;padding:16px}.cash-ledger-variance-ok{background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.25)}.cash-ledger-variance-over{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25)}.cash-ledger-variance-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px;margin-bottom:10px}.cash-ledger-variance-icon{width:16px;height:16px;flex-shrink:0}.cash-ledger-variance-ok .cash-ledger-variance-header{color:var(--success)}.cash-ledger-variance-over .cash-ledger-variance-header{color:var(--danger)}.cash-ledger-variance-rows{display:flex;flex-direction:column;gap:6px}.cash-ledger-variance-row{display:flex;justify-content:space-between;font-size:14px}.cash-ledger-variance-label{color:var(--muted)}.cash-ledger-variance-positive,.cash-ledger-variance-zero{color:var(--success);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cash-ledger-variance-negative{color:var(--danger);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cash-ledger-variance-note-area{margin-top:12px;padding-top:12px;border-top:1px solid rgba(239,68,68,.2)}.cash-ledger-textarea-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.cash-ledger-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .15s}.cash-ledger-textarea:focus{outline:none;border-color:var(--brand)}.cash-ledger-textarea::placeholder{color:var(--muted)}.cash-ledger-retention{animation:cash-ledger-fade-in .2s ease-out}@keyframes cash-ledger-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cash-ledger-fx-item{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.cash-ledger-fx-item-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1}.cash-ledger-fx-conversion{font-size:14px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.cash-ledger-fx-time{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cash-ledger-fx-status{flex-shrink:0}.cash-ledger-fx-approved{color:var(--success)}.cash-ledger-fx-approved,.cash-ledger-fx-pending{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.cash-ledger-fx-pending{color:var(--warning)}.cash-ledger-fx-status-icon{width:14px;height:14px}.cash-ledger-footer{position:fixed;bottom:0;left:0;right:0;padding:16px;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 12px rgba(0,0,0,.06);display:flex;justify-content:center;z-index:20}.cash-ledger-footer-inner{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.cash-ledger-footer-hint{font-size:12px;color:var(--muted);margin:0}.cash-ledger-footer-admin-hint{display:flex;align-items:center;gap:4px;color:var(--danger)}.cash-ledger-footer-lock{width:12px;height:12px}.cash-ledger-close-btn{width:100%;padding:14px 24px;border:none;border-radius:12px;background:var(--brand);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;display:flex;align-items:center;justify-content:center;gap:8px}.cash-ledger-close-btn:hover:not(:disabled){opacity:.9}.cash-ledger-close-btn:disabled{opacity:.5;cursor:not-allowed}.cash-ledger-spinner{width:18px;height:18px;animation:cash-ledger-spin 1s linear infinite}@keyframes cash-ledger-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ledger-drawer-header-title{display:flex;align-items:center;gap:10px;min-width:0}.ledger-drawer-header-icon{width:20px;height:20px;flex-shrink:0;color:var(--brand)}.ledger-drawer-title{font-size:16px;font-weight:600;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-drawer-subtitle{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ledger-drawer-amount-hero{display:flex;align-items:baseline;gap:6px;padding:20px 0 8px}.ledger-drawer-amount-value{font-size:28px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.ledger-drawer-amount-currency{font-size:14px;font-weight:600;color:var(--muted)}.ledger-drawer-fields{display:flex;flex-direction:column;gap:0}.ledger-drawer-field{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.ledger-drawer-field:last-child{border-bottom:none}.ledger-drawer-field-label{font-size:13px;color:var(--muted);flex-shrink:0}.ledger-drawer-field-value{font-size:13px;font-weight:500;color:var(--text);text-align:right}.ledger-drawer-mono{font-family:SF Mono,Menlo,monospace;font-size:12px;letter-spacing:.02em}.ledger-drawer-action-section{padding-top:16px}.ledger-drawer-link-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--brand);border:1px solid var(--brand);border-radius:8px;text-decoration:none;transition:background .15s,color .15s}.ledger-drawer-link-btn:hover{background:var(--brand);color:#fff}.cash-ledger-col-item-clickable{cursor:pointer;transition:background .1s}.cash-ledger-col-item-clickable:hover{background:var(--surface-2)}.ledger-section-item-clickable{cursor:pointer;transition:background .1s}.ledger-section-item-clickable:hover{background:var(--surface-2)}.quick-actions{gap:12px}.eod-dash-page,.quick-actions{display:flex;flex-direction:column}.eod-dash-page{width:100%;padding:24px 16px 120px;gap:20px}@media (max-width:768px){.eod-dash-page{padding:16px 12px 120px}}.eod-dash-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.eod-dash-header-left{display:flex;flex-direction:column;gap:8px}.eod-dash-header-title-row{display:flex;align-items:center;gap:8px}.eod-dash-header-icon{color:var(--brand);flex-shrink:0}.eod-dash-title{font-size:22px;font-weight:700;margin:0;letter-spacing:-.01em}.eod-dash-date-row{display:flex;align-items:center;gap:8px}.eod-dash-date-input{padding:6px 10px;color:var(--text);font-size:14px;font-family:inherit}.eod-dash-date-input,.eod-dash-refresh-btn{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.eod-dash-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.eod-dash-refresh-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.eod-dash-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.eod-dash-bu-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.eod-dash-bu-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;border:1px solid var(--border);border-radius:20px;background:var(--surface);font-size:13px}.eod-dash-bu-name{font-weight:500}.eod-dash-bu-badge{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.eod-dash-missed-banner{display:flex;gap:12px;padding:12px 16px;border-radius:10px;background:color-mix(in srgb,var(--warning) 10%,var(--card-bg));border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border))}.eod-dash-missed-icon{color:var(--warning);flex-shrink:0;margin-top:2px}.eod-dash-missed-content{display:flex;flex-direction:column;gap:4px;flex:1 1;font-size:14px}.eod-dash-missed-sub{font-size:12px;color:var(--text-muted)}.eod-dash-missed-dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.eod-dash-missed-date{display:inline-flex;align-items:center;gap:2px}.eod-dash-missed-date button:first-child{padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--brand);font-size:12px;cursor:pointer;font-family:inherit}.eod-dash-missed-date button:first-child:hover{background:var(--surface-2)}.eod-dash-missed-dismiss{background:none;border:none;cursor:pointer;padding:2px;color:var(--text-muted);line-height:1}.eod-dash-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-radius:10px;background:color-mix(in srgb,var(--danger) 10%,var(--card-bg));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));color:var(--danger);font-size:14px}.eod-dash-error button{background:none;border:none;color:var(--danger);cursor:pointer;font-size:12px;text-decoration:underline}.eod-dash-cash-panel{padding:20px}.eod-dash-cash-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.eod-dash-cash-icon{color:var(--brand)}.eod-dash-cash-title{font-size:16px;font-weight:600;margin:0}.eod-dash-cash-hero{display:flex;gap:24px;align-items:stretch}@media (max-width:600px){.eod-dash-cash-hero{flex-direction:column;gap:16px}.eod-dash-cash-divider{width:100%!important;height:1px!important}}.eod-dash-cash-column{flex:1 1;display:flex;flex-direction:column;gap:6px}.eod-dash-cash-column-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.eod-dash-cash-amount-lg{display:flex;flex-direction:column;gap:2px}.eod-dash-amount-mxn,.eod-dash-amount-usd{font-size:24px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.eod-dash-amount-mxn{font-size:20px;color:var(--text-muted)}.eod-dash-cash-divider{width:1px;background:var(--border);align-self:stretch;flex-shrink:0}.eod-dash-cash-no-count{font-size:16px;color:var(--text-muted);font-style:italic;padding-top:4px}.eod-dash-breakdown-toggle{display:inline-flex;align-items:center;gap:4px;margin-top:12px;padding:0;background:none;border:none;color:var(--brand);font-size:13px;cursor:pointer;font-family:inherit}.eod-dash-breakdown-toggle:hover{text-decoration:underline}.eod-dash-breakdown{margin-top:10px;display:flex;flex-direction:column;gap:0;padding:12px 16px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.eod-dash-bk-header{display:grid;grid-template-columns:20px 1fr 90px 90px;grid-gap:8px;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:4px}.eod-dash-bk-col-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:right}.eod-dash-bk-line{display:grid;grid-template-columns:20px 1fr 90px 90px;grid-gap:8px;gap:8px;align-items:center;padding:5px 0;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eod-dash-bk-sign{display:flex;align-items:center;justify-content:center}.eod-dash-bk-label{color:var(--text-muted)}.eod-dash-bk-mxn,.eod-dash-bk-usd{text-align:right;color:var(--text)}.eod-dash-bk-total-line{display:grid;grid-template-columns:20px 1fr 90px 90px;grid-gap:8px;gap:8px;align-items:center;padding:8px 0 2px;margin-top:4px;border-top:2px solid var(--text);font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eod-dash-bk-total-line .eod-dash-bk-label{color:var(--text);font-weight:600}.eod-dash-bk-total-line .eod-dash-bk-mxn,.eod-dash-bk-total-line .eod-dash-bk-usd{font-weight:600}.eod-dash-variance-bar{display:flex;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;border-radius:8px;font-size:13px}.eod-dash-variance-bar.within{background:color-mix(in srgb,var(--success) 10%,var(--surface));color:var(--success)}.eod-dash-variance-bar.over{background:color-mix(in srgb,var(--warning) 10%,var(--surface));color:var(--warning)}.eod-dash-variance-amounts{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.eod-dash-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:900px){.eod-dash-grid{grid-template-columns:1fr}}.eod-dash-col-a,.eod-dash-col-b{display:flex;flex-direction:column;gap:16px}.eod-dash-card-header{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.eod-dash-card-title{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;margin:0}.eod-dash-card-title-icon{color:var(--text-muted);flex-shrink:0}.eod-dash-icon-admin{color:var(--danger)}.eod-dash-card-subtitle{font-size:12px;color:var(--text-muted)}.eod-dash-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--brand);color:#fff;font-size:11px;font-weight:600}.eod-dash-empty{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);font-style:italic;padding:8px 0;margin:0}.eod-dash-money-card{padding:16px}.eod-dash-money-section{display:flex;flex-direction:column;gap:4px}.eod-dash-money-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 0}.eod-dash-icon-in{color:var(--success)}.eod-dash-icon-out{color:var(--danger)}.eod-dash-equiv{margin-left:auto;font-size:12px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eod-dash-method-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0 2px 20px;font-size:13px}.eod-dash-method-label{color:var(--text-muted)}.eod-dash-method-amounts{display:flex;gap:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eod-dash-money-divider{height:1px;background:var(--border);margin:8px 0}.eod-dash-money-net{display:flex;align-items:center;justify-content:space-between;padding-top:8px;font-size:14px;font-weight:600}.eod-dash-net-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eod-dash-pending-card{padding:16px}.eod-dash-pending-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.eod-dash-pending-stat{display:inline-flex;padding:3px 10px;border-radius:6px;background:var(--surface);font-size:12px;color:var(--text-muted)}.eod-dash-pending-totals{display:flex;flex-direction:column;gap:4px}.eod-dash-pending-total-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:2px 0}.eod-dash-pending-total-row span:first-child{color:var(--text-muted)}.eod-dash-pending-total-row span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eod-dash-link-btn{display:inline-flex;align-items:center;gap:4px;margin-top:10px;padding:0;background:none;border:none;color:var(--brand);font-size:13px;cursor:pointer;font-family:inherit}.eod-dash-link-btn:hover{text-decoration:underline}.eod-dash-count-card{padding:16px}.eod-dash-count-list{display:flex;flex-direction:column;gap:12px}.eod-dash-count-entry{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:8px;background:var(--surface)}.eod-dash-count-badge-row{display:flex;gap:6px}.eod-dash-count-grid{display:flex;flex-direction:column;gap:0}.eod-dash-count-grid-header{display:grid;grid-template-columns:1fr auto auto;grid-gap:0 16px;gap:0 16px;padding-bottom:4px;border-bottom:1px solid var(--border);margin-bottom:4px}.eod-dash-count-col-label{font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--text-muted);text-align:right;min-width:90px}.eod-dash-count-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:0 16px;gap:0 16px;padding:4px 0;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eod-dash-count-row-label{color:var(--text-muted);font-size:12px}.eod-dash-count-row-mxn,.eod-dash-count-row-usd{text-align:right;min-width:90px}.eod-dash-count-meta-grid{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:8px;border-top:1px solid var(--border)}.eod-dash-count-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted)}.eod-dash-count-meta-item svg{opacity:.6;flex-shrink:0}.eod-dash-sep{color:var(--border)}.eod-dash-admin-card{padding:16px}.eod-dash-admin-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.eod-dash-admin-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.eod-dash-admin-btn:hover{background:var(--surface-2)}.eod-dash-admin-btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.eod-dash-admin-btn.danger:hover{background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.eod-dash-admin-btn.warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,var(--border))}.eod-dash-admin-btn.warning:hover{background:color-mix(in srgb,var(--warning) 8%,var(--surface))}.eod-dash-quick-actions{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:var(--card-bg);border-top:1px solid var(--border);z-index:50}@media (min-width:769px){.eod-dash-quick-actions{left:var(--sidebar-width,240px)}}.eod-dash-primary-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border:none;border-radius:10px;background:var(--brand);color:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.eod-dash-primary-btn:hover{opacity:.9}.eod-dash-secondary-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s}.eod-dash-secondary-btn:hover{background:var(--surface-2)}.eod-dash-card-header--toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left;font-family:inherit;color:inherit}.eod-dash-toggle-icon{color:var(--text-muted);flex-shrink:0}.eod-dash-history-card{padding:16px}.eod-dash-history-list{display:flex;flex-direction:column;gap:2px}.eod-dash-history-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-size:13px;font-family:inherit;color:var(--text);transition:background .1s}.eod-dash-history-row:hover{background:var(--surface)}.eod-dash-history-date{font-weight:500;min-width:90px}.eod-dash-history-cash{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.eod-dash-skeleton-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:900px){.eod-dash-skeleton-grid{grid-template-columns:1fr}}@keyframes eod-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.eod-dash-refresh-btn .spin{animation:eod-spin .8s linear infinite}.quick-action-main{width:100%;position:relative}.quick-action-badge{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center}.quick-actions-secondary{display:flex;gap:8px;flex-wrap:wrap}.count-card{padding:16px}.count-card-compact{padding:12px}.count-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.count-card-title{font-size:16px;font-weight:600;margin-bottom:4px}.count-card-badges{display:flex;gap:6px;flex-wrap:wrap}.count-totals{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.count-total-row{display:flex;flex-direction:column;gap:2px}.count-variance{background:var(--surface-2);border-radius:10px;padding:12px;margin-top:8px}.count-variance-header{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px}.count-variance-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.count-variance-col{display:flex;flex-direction:column;gap:4px}.count-variance-row{display:flex;justify-content:space-between;font-size:13px}.count-card-note{margin-top:10px;font-size:13px;color:var(--muted)}.close-stepper{padding:16px 0;margin-bottom:16px}.fx-issues-panel{padding:14px}.fx-issues-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.fx-issues-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.fx-issue-row{display:flex;justify-content:space-between;font-size:13px}.fx-moves-list{margin-top:12px;gap:6px}.fx-move-row,.fx-moves-list{display:flex;flex-direction:column}.fx-move-row{gap:2px;padding:6px 8px;border-radius:8px;background:var(--surface-2);font-size:12px}.fx-move-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fx-move-actions{display:flex;gap:6px;margin-top:4px}.fx-wizard{gap:16px}.fx-wizard,.fx-wizard-section{display:flex;flex-direction:column}.fx-wizard-section{gap:8px}.fx-wizard-options{display:flex;flex-direction:column;gap:8px}.fx-wizard-option{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;font-size:13px}.fx-wizard-option.selected{border-color:var(--brand);background:var(--surface-2)}.fx-wizard-option.disabled{opacity:.6;cursor:not-allowed}.fx-wizard-option.disabled input{pointer-events:none}.fx-wizard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px;gap:10px}.fx-wizard-field{display:flex;flex-direction:column;gap:6px;font-size:13px}.fx-wizard-field input,.fx-wizard-field select{width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.close-stepper-track{justify-content:center;gap:0}.close-stepper-item,.close-stepper-track{display:flex;align-items:center}.close-stepper-connector{width:40px;height:2px;background:var(--border)}.close-stepper-connector.complete{background:var(--success)}.close-stepper-step{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;background:transparent;cursor:default}.close-stepper-step:disabled{cursor:default}.close-stepper-step:not(:disabled){cursor:pointer}.close-stepper-number,.close-stepper-step:not(:disabled):hover{background:var(--surface-2)}.close-stepper-number{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.close-stepper-step.active .close-stepper-number{background:var(--brand);border-color:var(--brand);color:#fff}.close-stepper-step.complete .close-stepper-number{background:var(--success);border-color:var(--success);color:#fff}.close-stepper-label{font-size:12px;color:var(--muted)}.close-stepper-step.active .close-stepper-label{color:var(--brand);font-weight:600}.close-step{max-width:600px;margin:0 auto}.step-header{margin-bottom:20px}.step-title{font-size:22px;font-weight:700;margin-bottom:8px}.step-description{color:var(--muted);font-size:14px}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.step-empty{text-align:center;padding:32px}.review-summary{padding:16px;margin-bottom:16px}.review-summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.review-section{margin-bottom:20px}.review-section-title{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-bottom:12px}.review-activity-list{display:flex;flex-direction:column;gap:8px}.review-activity-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--surface-2);border-radius:10px}.review-activity-info{display:flex;flex-direction:column;gap:2px}.review-activity-label{font-weight:600;font-size:14px}.review-activity-sublabel{font-size:12px;color:var(--muted)}.review-activity-amount{display:flex;align-items:center;gap:8px;font-weight:600}.cash-count-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}@media (max-width:500px){.cash-count-grid{grid-template-columns:1fr}}.cash-count-currency{padding:16px}.cash-count-label{font-size:14px;font-weight:600;margin-bottom:8px}.cash-count-expected{display:flex;justify-content:space-between;font-size:13px;margin-bottom:12px}.cash-count-input-wrapper{display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:0 12px}.cash-count-prefix,.cash-count-suffix{color:var(--muted);font-size:14px}.cash-count-input{flex:1 1;padding:12px 8px;font-size:18px;font-weight:600;text-align:right;background:transparent}.prefill-btn{margin-bottom:16px}.cash-count-tips{padding:12px 16px;background:var(--surface-2)}.cash-count-tips h4{font-size:13px;font-weight:600;margin-bottom:8px}.cash-count-tips ul{margin:0;padding-left:20px;font-size:13px;color:var(--muted)}.cash-count-tips li{margin-bottom:4px}.variance-preview{padding:16px;border-radius:10px;margin:16px 0}.variance-preview.within-tolerance{background:rgba(22,163,74,.1);border:1px solid rgba(22,163,74,.3)}.variance-preview.over-tolerance{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3)}.variance-preview-header{font-weight:600;margin-bottom:8px}.variance-preview-amounts{display:flex;flex-direction:column;gap:4px;font-size:14px}.variance-preview-currency{display:flex;justify-content:space-between}.safe-drop-toggle{display:flex;align-items:center;gap:12px;margin-bottom:16px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600}.toggle-hint{font-size:13px}.safe-options{display:flex;flex-direction:column;gap:12px}.safe-option{display:flex;align-items:center;gap:16px;padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .15s ease}.safe-option.selected,.safe-option:hover{border-color:var(--brand)}.safe-option.selected{background:var(--brand-soft)}.safe-option-icon{font-size:28px}.safe-option-info{flex:1 1;display:flex;flex-direction:column;gap:2px}.safe-option-name{font-weight:600}.safe-option-balance{font-size:13px;color:var(--muted)}.safe-option-check{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;opacity:0}.safe-option.selected .safe-option-check{opacity:1}.split-drop-form{display:flex;flex-direction:column;gap:16px}.split-drop-total{display:flex;justify-content:space-between;padding:12px 16px;background:var(--surface-2);border-radius:10px}.split-drop-safes{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:500px){.split-drop-safes{grid-template-columns:1fr}}.split-drop-safe h4{margin-bottom:12px}.split-drop-inputs{display:flex;flex-direction:column;gap:8px}.split-input-group{display:flex;flex-direction:column;gap:4px}.split-input-group label{font-size:12px;color:var(--muted)}.split-input-group input{padding:10px;border:1px solid var(--border);border-radius:8px;font-size:16px}.split-drop-remaining{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:10px}.split-drop-remaining.balanced{background:rgba(22,163,74,.1)}.split-drop-remaining.unbalanced{background:rgba(239,68,68,.1)}.split-drop-warning{font-size:13px;color:var(--danger)}.confirm-notes,.confirm-summary,.confirm-variance{padding:16px;margin-bottom:16px}.confirm-summary h3,.confirm-variance h3{font-size:14px;font-weight:600;margin-bottom:12px}.confirm-row{display:flex;justify-content:space-between;padding:6px 0}.confirm-variance-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.confirm-variance-col{display:flex;flex-direction:column;gap:6px}.confirm-variance-row{display:flex;justify-content:space-between;font-size:14px}.confirm-notes label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.confirm-notes-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;resize:vertical}.variance-alert{padding:16px;margin-bottom:16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3)}.variance-alert-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.variance-alert-icon{font-size:20px}.variance-alert-title{font-size:16px;font-weight:600;color:var(--danger)}.variance-alert-description{color:var(--muted);font-size:14px;margin-bottom:12px}.variance-alert-amounts{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.variance-alert-row{display:flex;justify-content:space-between}.variance-alert-note label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.required{color:var(--danger)}.variance-note-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;resize:vertical}.variance-alert-approval,.variance-alert-self-approve{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.eod-post-close-page{max-width:800px;margin:0 auto}.post-close-header{gap:16px;margin-bottom:20px}.post-close-title{flex:1 1;font-size:22px;font-weight:700}.post-close-date{color:var(--muted)}.post-close-content{display:flex;flex-direction:column;gap:20px}.post-close-selector{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.post-close-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.post-close-list{display:flex;flex-direction:column;gap:8px}.post-close-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-2);border-radius:10px;cursor:pointer;transition:all .12s ease}.post-close-item:hover{background:var(--border)}.post-close-item.selected{background:var(--brand-soft);outline:2px solid var(--brand)}.post-close-item input[type=checkbox]{width:18px;height:18px}.post-close-item-info{flex:1 1;display:flex;flex-direction:column;gap:2px}.post-close-item-label{font-weight:600}.post-close-item-meta{font-size:12px;color:var(--muted)}.post-close-item-amount{display:flex;align-items:center;gap:8px;font-weight:600}.post-close-totals{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.post-close-total-row{display:flex;justify-content:space-between;padding:4px 0}.post-close-form{display:flex;flex-direction:column;gap:16px}.post-close-count,.post-close-safe,.post-close-variance-note{padding:16px}.post-close-expected{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.post-close-inputs{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.post-close-input-group{display:flex;flex-direction:column;gap:6px}.input-with-prefix{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:0 12px}.input-with-prefix input{flex:1 1;padding:12px 0;font-size:16px;background:transparent}.post-close-variance{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;border-radius:10px;background:var(--surface-2)}.post-close-variance.over-tolerance{background:rgba(239,68,68,.1)}.post-close-safe-options{display:flex;gap:12px;flex-wrap:wrap}.safe-radio{display:flex;align-items:center;gap:8px;padding:12px 16px;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .12s ease}.safe-radio.selected,.safe-radio:hover{border-color:var(--brand)}.safe-radio.selected{background:var(--brand-soft)}.safe-radio-icon{font-size:20px}.post-close-actions{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.pc-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(640px,94vw);max-height:88vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);z-index:110;overflow:hidden;animation:pc-modal-enter .18s ease-out}@keyframes pc-modal-enter{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:500px){.pc-modal{width:100%;max-height:100%;height:100%;border-radius:0;top:0;left:0;transform:none}@keyframes pc-modal-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}.pc-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.pc-modal-header-left{display:flex;flex-direction:column;gap:2px;min-width:0}.pc-modal-title{font-size:20px;font-weight:700;margin:0;letter-spacing:-.02em}.pc-modal-subtitle{font-size:13px;color:var(--muted);margin:0}.pc-modal-body{flex:1 1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:16px}@media (max-width:500px){.pc-modal-body{padding:12px 16px}}.pc-modal-section{overflow:hidden}.pc-modal-select-actions{flex-shrink:0}.pc-modal-link-btn{display:inline-block;padding:0;border:none;background:none;color:var(--brand);font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.pc-modal-link-btn:hover{opacity:.8}.pc-modal-items{display:flex;flex-direction:column;gap:6px}.pc-modal-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--surface-2);cursor:pointer;transition:background .12s,outline-color .12s;outline:2px solid transparent}.pc-modal-item:hover{background:var(--border)}.pc-modal-item-selected{background:rgba(46,49,146,.06);outline-color:var(--brand)}html.dark .pc-modal-item-selected{background:rgba(91,95,211,.12)}.pc-modal-item-checkbox{width:16px;height:16px;accent-color:var(--brand);flex-shrink:0;cursor:pointer}.pc-modal-item-info{flex:1 1;display:flex;flex-direction:column;gap:1px;min-width:0}.pc-modal-item-label{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-modal-item-meta{font-size:12px;color:var(--muted)}.pc-modal-item-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.pc-modal-item-amount{font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pc-modal-item-currency{font-size:11px;font-weight:600;color:var(--muted);padding:1px 5px;border-radius:4px;background:var(--surface);border:1px solid var(--border)}.pc-modal-items-totals{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-top:8px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.pc-modal-items-totals-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.pc-modal-totals-icon{width:14px;height:14px;flex-shrink:0}.pc-modal-items-totals-amounts{display:flex;align-items:center;gap:12px}.pc-modal-totals-amount{font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pc-modal-totals-amount+.pc-modal-totals-amount{padding-left:12px;border-left:1px solid var(--border)}.pc-modal-safe-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px;gap:10px}.pc-modal-safe-radio{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .12s,background .12s}.pc-modal-safe-radio:hover{border-color:var(--brand)}.pc-modal-safe-radio-selected{border-color:var(--brand);background:rgba(46,49,146,.06)}html.dark .pc-modal-safe-radio-selected{background:rgba(91,95,211,.1)}.pc-modal-safe-radio-input{display:none}.pc-modal-safe-radio-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface-2);flex-shrink:0}.pc-modal-safe-radio-selected .pc-modal-safe-radio-icon{background:rgba(46,49,146,.12)}html.dark .pc-modal-safe-radio-selected .pc-modal-safe-radio-icon{background:rgba(91,95,211,.18)}.pc-modal-safe-icon{width:16px;height:16px;color:var(--muted)}.pc-modal-safe-radio-selected .pc-modal-safe-icon{color:var(--brand)}.pc-modal-safe-radio-label{font-size:14px;font-weight:500}.pc-modal-footer{display:flex;justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.pc-modal-finalize-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 24px;border:none;border-radius:10px;background:var(--brand);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .12s,transform .08s;min-width:160px}.pc-modal-finalize-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.pc-modal-finalize-btn:active:not(:disabled){transform:translateY(0)}.pc-modal-finalize-btn:disabled{opacity:.5;cursor:not-allowed}.pc-modal-spinner{width:16px;height:16px;animation:pc-spin .8s linear infinite}@keyframes pc-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.eod-status-page{width:100%;max-width:1000px}.eod-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.eod-title{font-size:24px;font-weight:700}.date-picker{padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px}.eod-content{display:grid;grid-gap:20px;gap:20px}@media (min-width:768px){.eod-content{grid-template-columns:1fr 280px;align-items:start}}.eod-main,.eod-sidebar{display:flex;flex-direction:column;gap:16px}.pending-alert{padding:16px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3)}.pending-alert-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.pending-alert-icon{font-size:18px}.pending-alert-header h3{font-size:14px;font-weight:600}.pending-alert-list{margin:0;padding-left:20px;font-size:13px}.pending-alert-list li{margin-bottom:4px}.eod-close-page{width:100%;max-width:700px;margin:0 auto}.close-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.close-title{flex:1 1;font-size:22px;font-weight:700}.close-date{color:var(--muted)}.close-content{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.close-loading{flex-direction:column;justify-content:center;padding:60px;gap:16px}.alert,.close-loading{display:flex;align-items:center}.alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;justify-content:space-between;gap:12px}.alert-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:var(--danger)}.empty-state{text-align:center;padding:40px}.empty-state h3{margin-bottom:8px}.empty-state p{margin-bottom:20px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.spinner.spinner-sm{width:16px;height:16px;border-width:2px}.spinner.spinner-lg{width:48px;height:48px;border-width:4px}.page-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--brand);transform-origin:left;transition:transform .2s ease;z-index:9999}.page-progress:after{content:"";position:absolute;right:0;width:100px;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4));animation:page-progress-glow .8s ease infinite}@keyframes page-progress-glow{0%,to{opacity:0}50%{opacity:1}}.global-loading-overlay{position:fixed;inset:0;background:rgba(11,16,32,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9998;animation:overlay-fade-in .15s ease}html.dark .global-loading-overlay{background:rgba(0,0,0,.6)}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.global-loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;background:var(--surface);border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.global-loading-text{color:var(--muted);font-size:14px;font-weight:500}.page-loading{display:flex;align-items:center;justify-content:center;min-height:200px;padding:40px}.balance-positive{color:var(--success)}.balance-negative{color:var(--danger)}.balance-partial{color:var(--warning)}.company-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.company-ecocat{color:#2563eb;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.25)}.company-ecobar,.company-stax{color:#16a34a;background:rgba(22,163,74,.1);border:1px solid rgba(22,163,74,.25)}.company-sol{color:#dc2626;background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.25)}.vendor-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:border-color .12s ease,box-shadow .12s ease;cursor:pointer;text-decoration:none;color:inherit}.vendor-card:hover{border-color:var(--brand);box-shadow:0 4px 12px rgba(46,49,146,.08)}.vendor-card-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1}.vendor-card-name{font-weight:700;font-size:16px;letter-spacing:-.01em}.vendor-card-meta{font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.vendor-card-balance{text-align:right;display:flex;flex-direction:column;gap:2px}.vendor-card-balance-amount{font-size:18px;font-weight:700}.vendor-card-balance-label{font-size:12px;color:var(--muted)}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.quick-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}.quick-stat-value{font-size:20px;font-weight:700}.quick-stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.quick-stat-clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.quick-stat-clickable:hover{border-color:var(--brand);box-shadow:0 2px 8px rgba(46,49,146,.08)}.status-badge{padding:4px 8px;border:1px solid}.status-open{color:var(--brand);background:var(--brand-soft);border-color:rgba(46,49,146,.3)}.status-partial{color:var(--warning);background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3)}.status-paid{color:var(--success);background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.3)}.status-upcoming{color:var(--muted);background:rgba(75,85,99,.08);border-color:rgba(75,85,99,.2)}.status-overdue{color:var(--danger);background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.3)}.status-closed,.status-skipped{color:var(--muted);background:rgba(75,85,99,.06);border-color:rgba(75,85,99,.15)}.status-skipped{text-decoration:line-through}.status-canceled{color:var(--danger);background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.2)}.filters-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filters-bar .input{flex:1 1;min-width:180px}.filters-bar select.input{flex:0 0 auto;width:auto;min-width:150px;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235B6476' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;text-overflow:ellipsis}.vendor-profile-header{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px}.vendor-profile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.vendor-profile-info{display:flex;flex-direction:column;gap:6px}.vendor-profile-title{font-size:22px;font-weight:700;letter-spacing:-.02em}.vendor-profile-subtitle{font-size:14px;color:var(--muted)}.vendor-company-selector{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:4px}.vendor-company-label{font-size:13px;color:var(--muted);font-weight:500}.vendor-company-tabs{display:flex;gap:6px;flex-wrap:wrap}.company-tab{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:all .12s ease}.company-tab:hover{border-color:var(--muted)}.company-tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}.company-tab-ecocat.active{background:#2563eb;border-color:#2563eb}.company-tab-ecobar.active,.company-tab-stax.active{background:#16a34a;border-color:#16a34a}.company-tab-sol.active{background:#dc2626;border-color:#dc2626}.vendor-header-stat{display:flex;flex-direction:column;gap:2px;padding:6px 16px;min-width:80px}.vendor-header-stat-label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ap-muted)}.vendor-header-stat-value{font-size:16px;font-weight:700;color:var(--ap-text,var(--text))}.vendor-header-stat-divider{width:1px;background:var(--ap-border);align-self:stretch;margin:4px 0}.vendor-profile-tabs{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border)}.vendor-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.vendor-progress-bar{height:8px;background:var(--ap-border);border-radius:4px;overflow:hidden}.vendor-progress-fill{height:100%;border-radius:4px;transition:width .4s ease}.complement-card{border:1px solid var(--ap-border);border-radius:12px;padding:16px;background:var(--ap-surface);transition:border-color .15s ease}.complement-card:hover{border-color:var(--ap-muted)}.complement-card-header{justify-content:space-between;margin-bottom:12px}.complement-card-header,.complement-card-id{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.complement-payment{padding:8px 10px;border-left:3px solid var(--ap-accent,var(--brand));background:var(--ap-hover-bg,rgba(0,0,0,.02));border-radius:0 8px 8px 0}html.dark .complement-payment{background:hsla(0,0%,100%,.03)}.complement-meta{display:grid;grid-template-columns:repeat(3,auto);grid-gap:10px;gap:10px;font-size:13px;margin-bottom:6px}.complement-meta-item{display:flex;flex-direction:column;gap:2px}.complement-meta-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ap-muted)}.complement-meta-value{font-weight:600}.complement-expand-detail{padding:10px 16px 14px;background:var(--ap-hover-bg,rgba(0,0,0,.015));border-top:1px solid var(--ap-border,#eee)}html.dark .complement-expand-detail{background:hsla(0,0%,100%,.02)}.complement-summary{display:flex;align-items:center;gap:16px;padding:8px 12px;background:var(--ap-hover-bg,rgba(0,0,0,.02));border-radius:10px;margin-bottom:10px;font-size:13px}html.dark .complement-summary{background:hsla(0,0%,100%,.03)}.complement-summary-stat{display:flex;align-items:center;gap:6px}.complement-summary-label{color:var(--ap-muted);font-weight:500}.complement-summary-value{font-weight:700;font-family:var(--font-mono,monospace)}.vendor-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;color:var(--ap-muted);text-align:center;gap:8px}.vendor-empty-state-icon{font-size:32px;opacity:.4;margin-bottom:4px}.vendor-empty-state-text{font-size:14px;font-weight:500}.balance-summary{display:grid;grid-gap:10px;gap:10px}.balance-summary-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--surface-2);border-radius:10px}.balance-summary-label{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.balance-summary-value{font-size:18px;font-weight:700}.vendor-details-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.vendor-details-row{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border)}.vendor-details-row:last-child{border-bottom:none}.vendor-details-label{font-size:13px;color:var(--muted)}.vendor-details-value{font-size:14px;font-weight:500;text-align:right;max-width:60%}.recent-preview{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.recent-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recent-preview-title{font-size:14px;font-weight:600}.recent-preview-link{font-size:13px;color:var(--brand);cursor:pointer}.recent-preview-link:hover{text-decoration:underline}.recent-preview-list{display:flex;flex-direction:column;gap:8px}.recent-preview-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--surface-2);border-radius:10px;font-size:13px}.recent-preview-item-info{display:flex;flex-direction:column;gap:2px}.recent-preview-item-label{font-weight:600}.recent-preview-item-meta{color:var(--muted);font-size:12px}@media (max-width:640px){.vendor-card{flex-direction:column;align-items:flex-start}.vendor-card-balance{text-align:left;flex-direction:row;gap:8px;align-items:baseline}.vendor-profile-header{padding:18px}.vendor-profile-title{font-size:18px}.vendor-company-selector{flex-direction:column;align-items:flex-start;gap:8px}.vendor-company-tabs{width:100%}.company-tab{flex:1 1;text-align:center;min-width:0}.filters-bar{flex-direction:column}.filters-bar .input,.filters-bar select.input{width:100%;min-width:100%}}.currency-pair{justify-content:flex-end;flex-wrap:wrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;gap:4px 6px}.currency-amount,.currency-pair{display:inline-flex;align-items:center}.currency-amount{gap:4px;white-space:nowrap}.currency-label{font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--text-muted);flex-shrink:0}.currency-sep{color:var(--border);font-size:12px}.adv-panel{display:flex;flex-direction:column;gap:16px;padding:20px 0}.adv-panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.adv-panel-summary{display:flex;align-items:center;gap:10px}.adv-panel-icon{color:var(--brand);flex-shrink:0}.adv-panel-title{font-size:18px;font-weight:600;color:var(--text);margin:0}.adv-outstanding-badge{font-size:13px;font-weight:600;color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,transparent);padding:3px 10px;border-radius:20px}.adv-empty,.adv-loading{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}.adv-list{display:flex;flex-direction:column;gap:20px}.adv-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.adv-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s ease}.adv-row:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}.adv-row-header{justify-content:space-between}.adv-row-header,.adv-row-left{display:flex;align-items:center;gap:8px}.adv-row-icon{color:var(--brand);flex-shrink:0}.adv-row-number{font-weight:600;font-size:14px;color:var(--text)}.adv-row-amount{font-weight:700;font-size:16px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adv-row-details{display:flex;flex-direction:column;gap:4px}.adv-row-purpose{font-size:13px;color:var(--text);font-style:italic}.adv-row-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}.adv-row-meta strong{color:var(--text);font-weight:500}.adv-row-settlement{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);padding-top:6px;border-top:1px solid var(--border)}.adv-variance-flag{display:inline-flex;align-items:center;gap:4px;color:var(--warning);font-weight:600}.adv-row-actions{display:flex;gap:8px;padding-top:8px}.adv-settle-given{font-size:14px;color:var(--text);background:var(--surface-2);padding:10px 14px;border-radius:8px}.adv-settle-receipts{display:flex;flex-direction:column;gap:10px}.adv-settle-receipts-header{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:var(--text)}.adv-receipt-block{border:1px solid var(--border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.adv-receipt-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.adv-receipt-row .input{min-width:0}.adv-receipt-row .flex-2{flex:3 1;min-width:180px;position:relative}.adv-receipt-factura{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);white-space:nowrap;cursor:pointer}.adv-receipt-factura input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.adv-receipt-fx-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:6px 0 0;border-top:1px dotted var(--border)}.adv-receipt-fx-field{display:flex;flex-direction:column;gap:3px}.adv-receipt-fx-field .muted{font-size:11px}.adv-receipt-fx-field .currency-tag{font-size:12px;font-weight:600;color:var(--text-2);min-width:30px}.adv-fx-badge{align-self:flex-end;white-space:nowrap}.adv-settle-summary{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--surface-2);border-radius:8px;margin-top:8px}.adv-settle-summary-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:8px}.adv-settle-summary-row .input{text-align:right}.adv-variance-warn{color:var(--warning);font-weight:600}@media (max-width:640px){.adv-receipt-row{flex-direction:column}.adv-receipt-row .flex-2,.adv-receipt-row .input{width:100%!important;flex:none!important}.adv-receipt-fx-row{flex-direction:column;align-items:stretch}}.segmented-control{border-radius:12px;padding:3px;gap:2px}.segmented-control button{padding:8px 16px;border-radius:10px;font-size:14px;transition:all .15s ease;white-space:nowrap}.segmented-control button:hover{color:var(--text)}.segmented-control button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.1)}.toggle-group{display:inline-flex;background:var(--surface-2);border-radius:10px;padding:2px}.toggle-group button{padding:6px 12px;border-radius:4px;font-size:13px;font-weight:500;color:var(--muted);background:transparent;cursor:pointer;transition:all .15s ease}.toggle-group button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.08)}.invoices-topbar{align-items:center;justify-content:space-between}.invoices-search{min-width:260px}.saved-views{flex-wrap:wrap;gap:4px}.invoices-filters{align-items:center}.vendor-filter{position:relative;gap:6px}.bulk-actions,.vendor-filter{display:flex;align-items:center}.bulk-actions{flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2)}.bulk-totals{display:flex;flex-wrap:wrap;gap:8px}.bulk-total{display:flex;gap:6px;color:var(--muted)}.bulk-total,.warning-pill{align-items:center;font-size:12px}.warning-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-weight:600;color:#b45309;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3)}.status-canceled{color:#b91c1c;background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3)}.table-row-selected{background:rgba(46,49,146,.06)}.th-label{display:inline-flex;align-items:center;gap:6px}.th-sort-indicator{font-size:10px;color:var(--muted)}.invoices-table thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface);z-index:2}.skeleton{height:16px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2),var(--surface),var(--surface-2));background-size:400px 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.empty-state{padding:16px 12px}.side-drawer-overlay{position:fixed;inset:0;background:rgba(11,16,32,.32);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:60}.side-drawer-overlay.open{opacity:1;pointer-events:auto}.side-drawer{position:fixed;top:0;right:0;height:100%;width:min(520px,96vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow);transform:translateX(100%);transition:transform .2s ease;z-index:70;padding:18px 18px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.side-drawer.open{transform:translateX(0)}.side-drawer.inline{position:static;transform:none;width:100%;height:auto;border:1px solid var(--border);border-radius:16px}.side-drawer-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.drawer-summary{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2);display:grid;grid-gap:10px;gap:10px}.drawer-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.drawer-section{display:grid;grid-gap:10px;gap:10px}.drawer-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.warnings-panel{border:1px dashed rgba(245,158,11,.4);border-radius:12px;padding:12px;background:rgba(245,158,11,.08)}.warnings-panel ul{margin:0;padding-left:16px;color:#92400e}.payment-form{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface-2)}.drawer-skeleton{display:grid;grid-gap:8px;gap:8px}.column-setting-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.panel{border-radius:10px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border)}.tipo-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap}.tipo-green{background:#dcfce7;color:#166534}.tipo-orange{background:#ffedd5;color:#9a3412}.tipo-blue{background:#dbeafe;color:#1e40af}.tipo-purple{background:#f3e8ff;color:#7c3aed}.tipo-gray{background:#f3f4f6;color:#374151}html.dark .tipo-green{background:rgba(22,163,74,.2);color:#86efac}html.dark .tipo-orange{background:rgba(249,115,22,.2);color:#fdba74}html.dark .tipo-blue{background:rgba(59,130,246,.2);color:#93c5fd}html.dark .tipo-purple{background:rgba(139,92,246,.2);color:#c4b5fd}html.dark .tipo-gray{background:hsla(220,9%,46%,.2);color:#d1d5db}.flag-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.flag-error{background:rgba(220,38,38,.12);color:#dc2626;border:1px solid rgba(220,38,38,.3)}.flag-warning{background:rgba(245,158,11,.12);color:#b45309;border:1px solid rgba(245,158,11,.3)}.flag-info{background:rgba(59,130,246,.1);color:#2563eb;border:1px solid rgba(59,130,246,.25)}.flag-default{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}html.dark .flag-error{background:rgba(220,38,38,.2);color:#fca5a5}html.dark .flag-warning{background:rgba(245,158,11,.2);color:#fcd34d}html.dark .flag-info{background:rgba(59,130,246,.2);color:#93c5fd}.flags-cell{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.flags-overflow{font-size:10px;color:var(--muted);padding:2px 4px}.source-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.source-upload{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.source-sat{background:rgba(16,185,129,.1);color:#059669;border:1px solid rgba(16,185,129,.25)}.source-gmail{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.25)}.source-api{background:rgba(139,92,246,.1);color:#7c3aed;border:1px solid rgba(139,92,246,.25)}html.dark .source-sat{background:rgba(16,185,129,.2);color:#6ee7b7}html.dark .source-gmail{background:rgba(239,68,68,.2);color:#fca5a5}html.dark .source-api{background:rgba(139,92,246,.2);color:#c4b5fd}.vendor-cell{display:flex;flex-direction:column;gap:2px}.vendor-name{font-weight:600;font-size:13px}.vendor-rfc{font-family:ui-monospace,monospace}.total-iva-cell{display:flex;flex-direction:column;gap:2px}.iva-amount{font-size:11px;color:var(--muted)}.date-period-cell{display:flex;flex-direction:column;gap:2px}.period-label{font-size:11px;color:var(--muted)}.business-cell{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapped-line-display{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.mapped-line-actions{display:flex;gap:4px;opacity:.6;transition:opacity .15s ease}.mapped-line-display:hover .mapped-line-actions{opacity:1}.button.ghost.danger{color:var(--danger,#dc2626)}.button.ghost.danger:hover{background:rgba(220,38,38,.1)}.uuid-display{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:12px}.uuid-display code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;color:var(--muted);flex:1 1;overflow:hidden;text-overflow:ellipsis}.uuid-display .muted{font-size:11px;font-weight:500;flex-shrink:0}.uuid-copy-btn{padding:4px 8px;font-size:11px;flex-shrink:0}.quick-toggles{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 0}.checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.checkbox-label:hover{color:var(--brand)}.drawer-summary-item{display:flex;flex-direction:column;gap:2px}.drawer-summary-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.drawer-summary-value{font-size:14px;font-weight:600}.drawer-summary-value.muted{font-weight:400;color:var(--muted)}.retenciones-display{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.2);border-radius:8px;font-size:13px}.retenciones-label{font-size:11px;color:#7c3aed;font-weight:600}html.dark .retenciones-display{background:rgba(139,92,246,.15)}html.dark .retenciones-label{color:#c4b5fd}.fx-info-display{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);border-radius:8px;font-size:13px}.fx-info-label{font-size:11px;color:#2563eb;font-weight:600}html.dark .fx-info-display{background:rgba(59,130,246,.15)}html.dark .fx-info-label{color:#93c5fd}.period-selector{min-width:140px}.filters-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.line-item-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.line-item-row:last-child{border-bottom:none}.line-item-info{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.line-item-desc{font-size:13px;font-weight:500}.line-item-meta{font-size:11px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.line-item-amount{font-size:14px;font-weight:600;text-align:right;flex-shrink:0}.line-item-mapping{display:flex;flex-direction:column;gap:6px;min-width:200px}.remap-mode-hint{font-size:11px;color:var(--brand);margin-bottom:4px}.attendance-grid{border-collapse:separate;border-spacing:0}.attendance-grid td,.attendance-grid th{padding:6px 4px;text-align:center;vertical-align:middle}.attendance-grid th{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.attendance-grid .sticky-col{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;min-width:180px;padding-left:12px;border-right:1px solid var(--border)}.attendance-grid thead .sticky-col{background:var(--surface-2);z-index:3}.attendance-grid tbody tr:hover,.attendance-grid tbody tr:hover .sticky-col{background:var(--hover)}.attendance-cell{width:100%;max-width:52px;padding:6px 4px;text-align:center;font-size:13px;font-weight:500;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);transition:border-color .15s,background .15s,box-shadow .15s;-moz-appearance:textfield}.attendance-cell::-webkit-inner-spin-button,.attendance-cell::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.attendance-cell:focus{border-color:var(--brand);outline:none;background:var(--brand-soft);box-shadow:0 0 0 2px rgba(46,49,146,.15)}.attendance-cell.cell-dirty{border-color:var(--warning,#f59e0b);background:rgba(245,158,11,.08)}.attendance-cell.cell-dirty:focus{border-color:var(--warning,#f59e0b);box-shadow:0 0 0 2px rgba(245,158,11,.2)}.attendance-cell.cell-invalid{border-color:var(--danger,#dc2626);background:rgba(239,68,68,.08)}.attendance-cell.cell-invalid:focus{border-color:var(--danger,#dc2626);box-shadow:0 0 0 2px rgba(239,68,68,.2)}.attendance-grid .row-actions{position:-webkit-sticky;position:sticky;right:0;z-index:2;background:var(--surface);padding:4px 8px;border-left:1px solid var(--border)}.attendance-grid thead .row-actions{background:var(--surface-2);z-index:3}.attendance-grid tbody tr:hover .row-actions{background:var(--hover)}.fill-row-btn{padding:4px 8px;font-size:11px;font-weight:600;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .12s ease}.fill-row-btn:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.attendance-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.attendance-toolbar-actions{display:flex;align-items:center;gap:8px}.unsaved-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;border-radius:6px;background:rgba(245,158,11,.12);color:#b45309;border:1px solid rgba(245,158,11,.3)}html.dark .unsaved-badge{background:rgba(245,158,11,.2);color:#fcd34d}.attendance-grid .weekend-col,.attendance-grid tbody tr:hover .weekend-col{background:var(--surface-2)}.date-header{display:flex;flex-direction:column;align-items:center;gap:1px}.date-header-day{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:500}.date-header-date{font-size:12px;font-weight:600}.attendance-grid .row-total{font-weight:600;background:var(--surface-2);min-width:50px}.attendance-grid tbody tr:hover .row-total{background:var(--hover)}.shift-cell{transition:all .15s ease}.shift-cell:hover{border-color:var(--border)!important;filter:brightness(.95)}.shift-cell:hover:not(.has-shift){background:var(--hover)}.shift-cell:focus{border-color:var(--brand)!important;outline:none;box-shadow:0 0 0 2px rgba(59,130,246,.2)}.shift-cell.has-shift:focus{box-shadow:0 0 0 2px rgba(59,130,246,.25)}.shift-cell.editing{border-color:var(--brand)!important;box-shadow:0 0 0 2px rgba(59,130,246,.3)}.shift-editor{animation:shift-editor-in .15s ease}@keyframes shift-editor-in{0%{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.shift-editor .input{padding:6px 8px}.shift-editor .button{padding:5px 10px}html.dark .shift-editor{background:var(--surface-alt);border-color:var(--border)}select.form-select option,select.input option{background:var(--surface);color:var(--text);padding:8px 12px}html.dark select.form-select option,html.dark select.input option{background:#1a1a2e;color:#f0f0f0}.shift-editor select.input{background:var(--surface);color:var(--text)}html.dark .shift-editor select.input{background:var(--surface-alt);color:var(--text)}.side-drawer-close{background:none;border:none;font-size:24px;color:var(--muted);cursor:pointer;padding:0;line-height:1}.side-drawer-close:hover{color:var(--text)}.side-drawer-body{flex:1 1;overflow-y:auto}.side-drawer-footer{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--border);margin-top:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;font-size:12px;font-weight:500;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--text)}.data-table th .th-content{display:inline-flex;align-items:center;gap:4px}.data-table th .sort-icon{font-size:10px}.data-table td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr.selected{background:var(--brand-soft)}.data-table tbody tr:hover{background:var(--surface-2)}.data-table .empty-state{text-align:center;color:var(--muted);padding:32px 16px}.sf-symbol-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));grid-gap:6px;gap:6px}.sf-symbol-picker-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;color:var(--text);transition:border-color .15s,background .15s}.sf-symbol-picker-btn.selected,.sf-symbol-picker-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.sf-symbol-picker-btn.selected{box-shadow:0 0 0 1px var(--accent)}.color-picker-row{display:flex;align-items:center;gap:8px}.color-picker-row input[type=color]{width:36px;height:36px;padding:2px;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer}.color-picker-row .input{flex:1 1}.drag-handle{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:16px;color:var(--muted);padding:4px;line-height:1}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.price-rules-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.price-rules-stat-card{padding:12px 14px;background:var(--surface);border-radius:10px;border:1px solid var(--border)}.price-rules-stat-value{font-size:22px;font-weight:600;color:var(--text)}.price-rules-stat-label{font-size:12px;color:var(--muted);margin-top:2px}.bulk-actions-bar{padding:12px 14px;background:var(--brand-soft);border:1px solid var(--brand)}.price-rules-filters{display:flex;flex-wrap:wrap;gap:10px}.price-rules-filters .input{min-width:140px}.status-badge{padding:2px 8px;font-weight:500}.status-badge.status-paid{background:rgba(22,163,74,.12);color:var(--success)}.status-badge.status-canceled{background:rgba(239,68,68,.12);color:var(--danger)}.status-badge.status-partial{background:rgba(245,158,11,.12);color:var(--warning)}.button.danger{background:var(--danger);color:#fff}.button.danger:hover{background:#dc2626}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.status-badge--sm{padding:2px 6px;font-size:10px}.status-badge--lg{padding:6px 14px;font-size:14px}.status-badge__icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:currentColor;color:#fff;font-size:10px;font-weight:700}.status-badge--needs-payment{background:rgba(239,68,68,.12);color:var(--danger);border:1px solid rgba(239,68,68,.25)}.status-badge--ready{background:rgba(245,158,11,.12);color:var(--warning);border:1px solid rgba(245,158,11,.25)}.status-badge--checked-in{background:rgba(22,163,74,.12);color:var(--success);border:1px solid rgba(22,163,74,.25)}.status-badge--canceled,.status-badge--no-show{background:hsla(220,9%,46%,.12);color:var(--muted);border:1px solid hsla(220,9%,46%,.25)}.checkin-progress{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.checkin-progress__count{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.checkin-progress--complete .checkin-progress__count{color:var(--success)}.payment-status{display:flex;flex-direction:column;gap:2px;font-size:13px}.payment-status__row{display:flex;justify-content:space-between;gap:12px}.payment-status__label{color:var(--muted)}.payment-status__value{font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.payment-status__row--collect{font-weight:600}.payment-status__row--due{color:var(--danger);font-weight:600}.payment-status--paid .payment-status__value{color:var(--success)}html.dark .status-badge--needs-payment{background:hsla(0,91%,71%,.18);color:#f87171;border-color:hsla(0,91%,71%,.35)}html.dark .status-badge--ready{background:rgba(251,191,36,.18);color:#fbbf24;border-color:rgba(251,191,36,.35)}html.dark .status-badge--checked-in{background:rgba(74,222,128,.18);color:#4ade80;border-color:rgba(74,222,128,.35)}html.dark .status-badge--canceled,html.dark .status-badge--no-show{background:rgba(156,163,175,.18);color:#9ca3af;border-color:rgba(156,163,175,.35)}.checkin-info-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:600px){.checkin-info-grid{grid-template-columns:1fr}}.checkin-salesman-info{padding:12px;background:var(--bg-alt);border-radius:8px;border:1px solid var(--border)}.checkin-salesman-info .salesman-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.checkin-salesman-info a{color:var(--primary);text-decoration:none}.checkin-salesman-info a:hover{text-decoration:underline}.checkin-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.checkin-modal-header h3{margin:0;font-size:18px;font-weight:600}.checkin-modal-header .muted{font-size:13px;margin-top:4px;display:block}.pax-edit-input{width:60px;text-align:center;padding:4px}.checkin-primary-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}@media (max-width:500px){.checkin-primary-actions{grid-template-columns:1fr}}.checkin-action-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.checkin-action-card .label{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.checkin-progress-bar{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-bottom:12px}.checkin-progress-bar .progress-fill{height:100%;transition:width .3s ease;border-radius:4px}.checkin-progress-bar .progress-fill.none{background:var(--muted)}.checkin-progress-bar .progress-fill.partial{background:var(--warning)}.checkin-progress-bar .progress-fill.complete{background:var(--success)}.checkin-count{display:block;font-weight:600}.checkin-count,.payment-summary{font-size:14px;margin-bottom:12px}.payment-summary{display:flex;flex-direction:column;gap:4px}.payment-summary .collect{font-weight:600;font-size:15px}.payment-summary .due{color:var(--danger);font-weight:600}.payment-summary .paid{color:var(--success)}.phone-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-2);border-radius:8px;font-weight:500;text-decoration:none;color:var(--text);border:1px solid var(--border);font-size:14px;transition:all .15s ease}.phone-button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.checkin-salesman{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;gap:16px;flex-wrap:wrap}.checkin-salesman strong{font-size:15px}.checkin-salesman .badge{margin-left:8px}.checkin-details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}@media (max-width:500px){.checkin-details-grid{grid-template-columns:1fr}}.checkin-details-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.checkin-details-card .title{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.checkin-details-card .row{display:flex;justify-content:space-between;font-size:14px;padding:4px 0}.checkin-details-card .row strong{font-weight:600}.checkin-secondary-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap;align-items:center}.checkin-secondary-actions .spacer{flex:1 1}.checkin-form-section{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.checkin-form-section .title{font-size:14px;font-weight:600;margin-bottom:12px}.checkin-form-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.checkin-form-row>*{flex:1 1;min-width:100px}@media (max-width:500px){.checkin-form-row{flex-direction:column}.checkin-form-row>*{flex:1 1 100%;min-width:0}}.activity-log{background:var(--surface);border-radius:8px;border:1px solid var(--border)}.activity-log__header{padding:12px 16px;border-bottom:1px solid var(--border)}.activity-log__title{font-size:14px;font-weight:600;color:var(--text)}.activity-log__list{padding:8px 0;max-height:300px;overflow-y:auto}.activity-log__item{display:flex;gap:12px;padding:8px 16px;transition:background .15s ease}.activity-log__item:hover{background:var(--surface-2)}.activity-log__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:600;flex-shrink:0}.activity-log__content{display:flex;flex-direction:column;gap:2px;min-width:0}.activity-log__action{font-size:13px;color:var(--text);font-weight:500}.activity-log__meta{display:flex;gap:8px;font-size:12px;color:var(--muted)}.activity-log__actor{font-weight:500}.activity-log__time{color:var(--muted)}.activity-log__skeleton{padding:16px}.activity-log__empty-msg,.activity-log__error-msg{padding:24px 16px;text-align:center;color:var(--muted);font-size:13px}.activity-log__error-msg{color:var(--danger)}.salesman-info{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--surface-2);border-radius:8px}.salesman-info__avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:16px;font-weight:600;flex-shrink:0}.salesman-info__details{display:flex;flex-direction:column;gap:4px;min-width:0}.salesman-info__name{font-size:14px;font-weight:600;color:var(--text)}.salesman-info__affiliation{font-size:12px;color:var(--muted)}.salesman-info__phone{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--brand);text-decoration:none;font-weight:500}.salesman-info__phone:hover{text-decoration:underline}.reservation-card{background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow:hidden;transition:box-shadow .2s ease}.reservation-card:hover{box-shadow:var(--shadow)}.reservation-card--expanded{box-shadow:var(--shadow-lg)}.reservation-card__header{display:flex;align-items:center;justify-content:space-between;padding:16px;cursor:pointer;gap:12px}.reservation-card__header:hover{background:var(--surface-2)}.reservation-card__primary{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0}.reservation-card__customer{font-size:16px;font-weight:600;color:var(--text)}.reservation-card__ref{font-size:12px;color:var(--muted);font-family:monospace}.reservation-card__badges{display:flex;gap:8px;align-items:center}.reservation-card__body{padding:0 16px 16px;display:none}.reservation-card--expanded .reservation-card__body{display:block}.reservation-card__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:16px}@media (max-width:640px){.reservation-card__grid{grid-template-columns:1fr}}.reservation-card__section{padding:12px;background:var(--surface-2);border-radius:8px}.reservation-card__section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}.reservation-card__actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border)}.reservation-card__divider{height:1px;background:var(--border);margin:16px 0}.pax-breakdown{display:flex;flex-direction:column;gap:4px;font-size:14px}.pax-breakdown__row{display:flex;justify-content:space-between}.pax-breakdown__label{color:var(--muted)}.pax-breakdown__value{font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.commission-info{display:flex;flex-direction:column;gap:4px;font-size:14px}.commission-info__row{display:flex;justify-content:space-between}.commission-info__label{color:var(--muted)}.commission-info__value{font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.commission-info__value--highlight{color:var(--success);font-weight:600}.filter-item{display:flex;flex-direction:column;gap:4px;font-size:13px}.filter-label{font-weight:500;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.form-card{max-width:600px;padding:24px;background:var(--bg,#fff);border:1px solid var(--border);border-radius:8px}.closeout-form{gap:16px}.closeout-form,.form-row{display:flex;flex-direction:column}.form-row{gap:4px}.form-row-split{flex-direction:row;gap:16px}.form-row-split>.form-label{flex:1 1}.form-label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500}.form-label-inline{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.form-input,.form-select,.form-textarea{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--bg,#fff);color:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent,#3b82f6);box-shadow:0 0 0 2px rgba(59,130,246,.15)}.form-textarea{resize:vertical}.form-error{padding:10px 14px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:6px;color:var(--danger);font-size:14px}.form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px}.file-name{font-size:13px;color:var(--muted)}.restaurants-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.restaurants-toolbar-right{display:flex;align-items:center;gap:12px}.clickable-row{cursor:pointer;transition:background .12s ease}.clickable-row:hover{background:var(--surface-2)}.recon-dashboard{display:flex;flex-direction:column;gap:12px}.recon-header{display:flex;justify-content:space-between;align-items:center}.recon-header h2{font-size:18px;font-weight:600;margin:0}.recon-sessions-list{display:flex;flex-direction:column;gap:8px}.recon-session-card{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.recon-session-card:hover{border-color:var(--muted);background:var(--surface-2)}.recon-session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.recon-period{font-weight:500;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recon-session-meta{display:flex;gap:12px;font-size:13px;color:var(--muted)}.recon-restaurant{font-weight:500}.recon-completed{font-size:13px;color:var(--muted)}.recon-session-metrics{margin-top:6px;font-size:13px}.unresolved-badge{color:var(--warning);font-weight:500}.recon-detail-header{justify-content:space-between;margin-bottom:24px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.recon-detail-header,.recon-detail-info{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.recon-detail-actions{gap:8px}.recon-by{font-size:13px;color:var(--muted)}.section{margin-bottom:28px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title{font-size:16px;font-weight:600;margin:0 0 12px}.section-header .section-title{margin-bottom:0}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;background:rgba(0,0,0,.06)}.badge-draft{background:hsla(220,9%,46%,.12);color:var(--muted)}.badge-in-progress,.badge-in_progress{background:rgba(59,130,246,.12);color:var(--brand)}.badge-completed{background:rgba(22,163,74,.12);color:var(--success)}.badge-success{background:rgba(22,163,74,.12);color:var(--success,#16a34a)}.badge-error{background:rgba(239,68,68,.12);color:var(--error,#ef4444)}.badge-warning{background:rgba(245,158,11,.12);color:var(--warning,#d97706)}.severity-info{background:rgba(59,130,246,.12);color:var(--brand)}.severity-warning{background:rgba(245,158,11,.12);color:var(--warning)}.severity-critical{background:rgba(239,68,68,.12);color:var(--danger)}[data-theme=dark] .badge-draft{background:hsla(220,9%,46%,.18)}[data-theme=dark] .badge-in-progress,[data-theme=dark] .badge-in_progress{background:rgba(59,130,246,.18)}[data-theme=dark] .badge-completed{background:rgba(22,163,74,.18)}[data-theme=dark] .severity-info{background:rgba(59,130,246,.18)}[data-theme=dark] .severity-warning{background:rgba(245,158,11,.18)}[data-theme=dark] .severity-critical{background:rgba(239,68,68,.18)}.badge-source-csv{background:hsla(220,9%,46%,.12);color:var(--muted,#6b7280)}.badge-source-csv,.badge-source-live{padding:2px 6px;border-radius:4px;font-size:11px}.badge-source-live{background:rgba(22,163,74,.12);color:var(--success,#16a34a)}.badge-source-manual{background:hsla(220,9%,46%,.12);color:var(--muted,#6b7280)}.badge-source-email,.badge-source-manual{padding:2px 6px;border-radius:4px;font-size:11px}.badge-source-email{background:rgba(21,101,192,.1);color:#1565c0}.badge-source-vision{background:rgba(123,31,162,.1);color:#7b1fa2;padding:2px 6px;border-radius:4px;font-size:11px}[data-theme=dark] .badge-source-csv{background:hsla(220,9%,46%,.22);color:#9ca3af}[data-theme=dark] .badge-source-live{background:rgba(22,163,74,.22);color:#4ade80}[data-theme=dark] .badge-source-manual{background:hsla(220,9%,46%,.22);color:#9ca3af}[data-theme=dark] .badge-source-email{background:rgba(96,165,250,.15);color:#93c5fd}[data-theme=dark] .badge-source-vision{background:rgba(196,133,255,.15);color:#d8b4fe}.table-container{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.comparison-table td,.comparison-table th,.date-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.variance-positive{color:var(--danger);font-weight:500}.variance-negative{color:var(--success);font-weight:500}.totals-row{font-weight:600;background:rgba(0,0,0,.02)}.row-resolved{background:var(--surface-2);color:var(--muted)}.description-cell{max-width:240px;overflow:hidden;text-overflow:ellipsis}.actions-cell,.description-cell{white-space:nowrap}.modal-footer-actions{display:flex;gap:8px;justify-content:flex-end}.modal-description{font-size:14px;color:var(--muted);margin-bottom:12px}.modal-description code{font-size:12px;padding:1px 4px;background:rgba(0,0,0,.05);border-radius:3px}.loading-message{padding:40px 0;text-align:center;color:var(--muted);font-size:14px}.error-message{padding:12px 16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:12px;color:var(--danger);font-size:14px}.success-message{color:var(--success);font-weight:500}.warning-message{color:var(--warning);font-weight:500}.form-hint{font-size:12px;color:var(--muted);margin-top:2px}.session-notes{font-size:14px;color:var(--muted);line-height:1.5}.import-result{display:flex;flex-direction:column;gap:8px}.pos-import-format-selector{display:flex;gap:8px;margin-bottom:12px}.pos-import-format-option{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);cursor:pointer;font-size:13px;transition:border-color .15s,background .15s}.pos-import-format-option.active{border-color:var(--accent);background:rgba(var(--accent-rgb,59,130,246),.08)}.pos-import-format-option input[type=radio]{margin:0}.pos-import-file-list{margin-top:10px;border:1px solid var(--border);border-radius:8px;max-height:200px;overflow-y:auto}.pos-import-file-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border);font-size:13px}.pos-import-file-row:last-child{border-bottom:none}.pos-import-file-name{font-weight:500}.pos-import-file-count,.pos-import-file-size{color:var(--muted);font-size:12px}.pos-import-file-count{padding:6px 12px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 8px 8px}.pos-import-result-table-wrapper{margin-top:12px;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.pos-import-result-table{width:100%;border-collapse:collapse;font-size:13px}.pos-import-result-table th{text-align:left;padding:8px 10px;background:var(--surface-2);font-weight:600;font-size:12px}.pos-import-result-table td,.pos-import-result-table th{border-bottom:1px solid var(--border);white-space:nowrap}.pos-import-result-table td{padding:6px 10px}.pos-import-result-table tr:last-child td{border-bottom:none}.pos-import-result-table .row-error{background:rgba(239,68,68,.06)}.pos-import-result-table .row-warning{background:rgba(245,158,11,.06)}.pos-import-summary{margin-bottom:8px}.pos-import-progress-section{display:flex;flex-direction:column;gap:12px}.pos-import-progress-header{display:flex;justify-content:space-between;align-items:center;font-size:13px}.pos-import-progress-label{color:var(--text);font-weight:500}.pos-import-progress-pct{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pos-import-progress-bar{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.pos-import-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.pos-import-file-row.done .pos-import-file-status-icon{color:var(--success,#22c55e)}.pos-import-file-row.error .pos-import-file-status-icon{color:var(--error,#ef4444)}.pos-import-file-row.active{background:rgba(var(--accent-rgb,59,130,246),.06)}.pos-import-file-status-icon{width:20px;text-align:center;font-weight:700;flex-shrink:0}.pos-import-file-date{color:var(--muted);font-size:12px;margin-left:auto}.pos-import-file-error{color:var(--error,#ef4444);font-size:12px;margin-left:8px}.pos-import-spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:pos-spin .7s linear infinite}@keyframes pos-spin{to{transform:rotate(1turn)}}.btn{padding:12px 16px;border-radius:12px;border:1px solid var(--border);font-weight:600;cursor:pointer;background:var(--surface-2);color:var(--text);transition:transform .08s ease,box-shadow .12s ease,opacity .12s ease;font-size:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(46,49,146,.15)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn-primary,.btn.btn--primary{background:var(--brand);color:#fff;border:none}.btn-primary:hover:not(:disabled),.btn.btn--primary:hover:not(:disabled){box-shadow:0 4px 12px rgba(46,49,146,.25)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface);border-color:var(--muted)}.btn-ghost{background:none;border:1px dashed var(--border);color:var(--text);cursor:pointer}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted)}.btn-danger{background:rgba(239,68,68,.1);color:var(--danger);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover:not(:disabled){background:rgba(239,68,68,.18)}.btn-sm,.btn-small,.btn.btn--sm{padding:8px 12px;border-radius:10px;font-size:13px}.btn-lg{padding:14px 20px;font-size:16px}.btn-back{padding:8px 12px;font-size:13px}.btn-close{background:none;border:none;font-size:22px;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:8px;line-height:1}.btn-close:hover{color:var(--text);background:var(--surface-2)}.bulk-closeout-header{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:16px}.bulk-closeout-header .form-label{flex:1 1;min-width:180px}.bulk-closeout-list{display:flex;flex-direction:column;gap:6px}.emp-checklist-item{border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .15s}.emp-checklist-item.filled{border-color:var(--accent,#3b82f6);background:rgba(59,130,246,.03)}.emp-checklist-item.closed{opacity:.55}.emp-checklist-item-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .1s}.emp-checklist-item.closed .emp-checklist-item-header{cursor:default}.emp-checklist-item-header:hover{background:var(--surface-2)}.emp-checklist-item.closed .emp-checklist-item-header:hover{background:transparent}.emp-checklist-item-chevron{flex-shrink:0;width:16px;height:16px;color:var(--muted);transition:transform .15s}.emp-checklist-item.expanded .emp-checklist-item-chevron{transform:rotate(90deg)}.emp-checklist-item.closed .emp-checklist-item-chevron{visibility:hidden}.emp-checklist-item-name{font-weight:500;font-size:14px;flex:1 1}.emp-checklist-item-badge{font-size:12px;padding:2px 8px;border-radius:4px;background:var(--surface-2);color:var(--success)}.emp-checklist-item-fields{padding:4px 14px 14px 40px;display:flex;flex-direction:column;gap:10px}.bulk-closeout-summary{display:flex;align-items:center;gap:16px;padding:10px 0;font-size:13px;color:var(--muted);border-top:1px solid var(--border);margin-top:4px}.bulk-closeout-summary strong{color:var(--text)}.bulk-closeout-results{display:flex;flex-direction:column;gap:0}.bulk-closeout-results .result-row{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--border)}.bulk-closeout-results .result-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.bulk-closeout-results .result-icon.success{color:var(--success)}.bulk-closeout-results .result-icon.error{color:var(--danger)}.bulk-closeout-results .result-name{font-weight:500;min-width:140px}.bulk-closeout-results .result-message{font-size:13px;color:var(--muted)}.bulk-closeout-progress{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0;color:var(--muted);font-size:14px}.bulk-closeout-results-header{display:flex;align-items:center;gap:8px;padding:8px 0 12px;font-size:14px;font-weight:500}.otp-input-group{display:flex;gap:8px;justify-content:center;margin:24px 0}.otp-input-digit{width:48px;height:56px;text-align:center;font-size:24px;font-weight:600;border:2px solid var(--border-color,#d1d5db);border-radius:8px;background:var(--input-bg,#fff);color:var(--text-primary,#111);outline:none;transition:border-color .15s}.otp-input-digit:focus{border-color:var(--primary-color,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.otp-input-digit:disabled{opacity:.5;cursor:not-allowed}.phone-input-group{display:flex;align-items:center;border:1px solid var(--border-color,#d1d5db);border-radius:6px;overflow:hidden;background:var(--input-bg,#fff)}.phone-input-prefix{background:var(--bg-secondary,#f3f4f6);border:none;border-right:1px solid var(--border-color,#d1d5db);font-weight:500;color:var(--text-secondary,#6b7280);font-size:14px;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;padding:8px 20px 8px 10px}.phone-input-field{flex:1 1;padding:8px 12px;border:none;outline:none;font-size:14px;background:transparent;color:var(--text-primary,#111)}.phone-input-field::placeholder{color:var(--text-muted,#9ca3af)}.wa-templates-grid{display:grid;grid-gap:24px;gap:24px;margin-top:16px}.wa-template-card{border:1px solid var(--border-color,#d1d5db);border-radius:8px;padding:20px;background:var(--card-bg,#fff)}.wa-template-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.wa-template-title{font-size:16px;font-weight:600;color:var(--text-primary,#111)}.wa-template-subtitle{font-size:13px;color:var(--text-secondary,#6b7280);margin-top:2px}.wa-template-badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:500;text-transform:uppercase}.wa-template-badge.authentication{background:#dbeafe;color:#1e40af}.wa-template-badge.utility{background:#d1fae5;color:#065f46}.wa-template-badge.marketing{background:#fef3c7;color:#92400e}.wa-template-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color,#d1d5db);margin-bottom:12px}.wa-template-tab{padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;background:none;color:var(--text-secondary,#6b7280);border:none;border-bottom:2px solid transparent;transition:all .15s}.wa-template-tab.active{color:var(--primary-color,#2563eb);border-bottom-color:var(--primary-color,#2563eb)}.wa-template-body{width:100%;min-height:80px;padding:12px;border:1px solid var(--border-color,#d1d5db);border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;background:var(--input-bg,#fff);color:var(--text-primary,#111)}.wa-template-variables{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.wa-template-variable{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-family:monospace;background:var(--bg-secondary,#f3f4f6);color:var(--text-secondary,#6b7280);cursor:pointer;border:1px solid var(--border-color,#d1d5db);transition:background .15s}.wa-template-variable:hover{background:var(--primary-color,#2563eb);color:#fff;border-color:var(--primary-color,#2563eb)}.wa-template-preview{margin-top:12px;padding:12px;border-radius:6px;background:#dcf8c6;font-size:14px;white-space:pre-wrap;border:1px solid #b8e994}.wa-template-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}.report-table{width:100%;border-collapse:collapse;font-size:14px}.report-table th{text-align:left;padding:8px 12px;border-bottom:2px solid var(--border,#e5e7eb);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--muted,#6b7280)}.report-table td{padding:8px 12px;border-bottom:1px solid var(--border,#e5e7eb)}.report-table tr:hover{background:var(--row-hover,#f9fafb)}.report-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-badge-critical{background:#fef2f2;color:#dc2626}.report-badge-critical,.report-badge-warning{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.report-badge-warning{background:#fffbeb;color:#d97706}.report-badge-healthy,.report-badge-ok{background:#f0fdf4;color:#16a34a}.report-badge-healthy,.report-badge-marginal,.report-badge-ok{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.report-badge-marginal{background:#fffbeb;color:#d97706}.report-badge-underperforming{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#fef2f2;color:#dc2626}.report-business-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--badge-bg,#e5e7eb);color:var(--badge-text,#374151)}.report-empty{text-align:center;padding:32px;color:var(--muted,#6b7280);font-size:14px}.report-expand-icon{display:inline-block;width:16px;margin-right:4px;transition:transform .15s ease;color:var(--muted,#6b7280);font-size:10px}.report-expand-icon.expanded{transform:rotate(90deg)}.report-item-count{margin-left:6px;font-size:11px;color:var(--muted,#6b7280)}html.dark .app-logo,html.dark .company-logo{filter:brightness(0) invert(1)}.pivot-table{border-collapse:collapse;width:100%;font-size:14px}.pivot-table th{text-align:right;padding:8px 12px;font-size:12px;text-transform:uppercase;color:var(--muted,#6b7280);font-weight:600;border-bottom:2px solid var(--border,#e5e7eb);white-space:nowrap}.pivot-table th:first-child{text-align:left}.pivot-table td{padding:6px 12px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-bottom:1px solid var(--border-light,#f3f4f6)}.pivot-table td:first-child{text-align:left}.pivot-row-header td{font-weight:700;font-size:14px;border-bottom:2px solid var(--border,#e5e7eb);padding-top:12px}.pivot-row-section td{font-weight:600;font-size:12px;text-transform:uppercase;color:var(--muted,#6b7280);background:var(--row-alt,#f9fafb);padding-top:10px;border-bottom:1px solid var(--border,#e5e7eb)}.pivot-row-item td{font-size:13px}.pivot-row-item td:first-child{padding-left:24px;color:var(--fg,#111827)}.pivot-row-subtotal td{font-weight:700;border-top:1px solid var(--border,#e5e7eb);border-bottom:2px solid var(--border,#e5e7eb)}.pivot-row-total td{font-weight:700;font-size:15px;border-top:2px solid var(--fg,#111827);border-bottom:2px solid var(--fg,#111827)}.pivot-row-pct td{font-size:12px;color:var(--muted,#6b7280);font-style:italic;border-bottom:none}.pivot-row-pct td:first-child{padding-left:24px}.pivot-row-spacer td{padding:4px 0;border:none}.pivot-col-total{background:var(--row-alt,#f9fafb);font-weight:600}.pivot-negative{color:#dc2626}.pivot-sub-header{font-size:10px!important;text-transform:none!important;color:var(--muted,#9ca3af)!important;padding-top:2px!important;padding-bottom:4px!important;border-bottom:1px solid var(--border-light,#f3f4f6)!important}.pivot-pct-col{font-size:11px;color:var(--muted,#9ca3af);min-width:48px}.pivot-target-warning{color:#d97706;font-weight:600}.pivot-target-critical{color:#dc2626;font-weight:600}.pivot-row-item.pivot-drillable td:first-child{cursor:pointer}.pivot-row-item.pivot-drillable td:first-child:hover{text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;color:var(--accent,#3b82f6)}.pivot-row-item.pivot-drillable td:not(:first-child){cursor:pointer}.pivot-row-item.pivot-drillable td:not(:first-child):hover{background:var(--row-hover,#eef2ff);color:var(--accent,#3b82f6)}.report-alert-card{display:flex;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid var(--border,#e5e7eb);cursor:pointer;transition:background .15s}.report-alert-card:hover{background:var(--row-hover,#f9fafb)}.report-alert-title{font-weight:600;font-size:13px}.report-alert-detail{font-size:12px;color:var(--muted,#6b7280);margin-top:2px}.mapping-health-scoreboard .kpi-card{cursor:pointer;transition:border-color .15s}.mapping-health-scoreboard .kpi-card:hover{border-color:var(--brand,#2e3192)}.cfdi-scoreboard .kpi-card{cursor:pointer;transition:border-color .15s}.cfdi-scoreboard .kpi-card:hover{border-color:var(--brand,#2e3192)}.cfdi-scoreboard-flags{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 0}.cfdi-scoreboard-flags .badge{cursor:pointer;transition:opacity .15s}.cfdi-scoreboard-flags .badge:hover{opacity:.8}.aging-days{font-size:10px;margin-left:4px;opacity:.6}.aging-warning{color:var(--warning,#d97706)}.aging-stale,.aging-warning{font-size:10px;margin-left:4px;font-weight:600}.aging-stale{color:var(--danger,#ef4444)}.vendor-aging-row{cursor:pointer}.vendor-aging-row:hover{background:var(--surface-2)}.vendor-rfc{font-size:11px;color:var(--muted)}.ledger-accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.ledger-account-card{background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:16px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.ledger-account-card:hover{border-color:var(--primary,#3b82f6);box-shadow:0 2px 8px rgba(0,0,0,.06)}.ledger-account-type{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#6b7280)}.ledger-account-name{font-size:16px;font-weight:600;margin:4px 0}.ledger-account-balance{font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:8px}.ledger-account-institution{font-size:12px;color:var(--muted,#6b7280)}.ledger-amount-positive{color:var(--success,#16a34a)}.ledger-amount-negative{color:var(--danger,#dc2626)}.ledger-loading{text-align:center;padding:32px;color:var(--muted,#6b7280)}.cashflow-type-payment{color:#059669;background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25)}.cashflow-type-expense{color:#dc2626;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2)}.cashflow-preset-bar{display:flex;gap:0;border-bottom:2px solid var(--border,#e5e7eb)}.cashflow-preset-tab{padding:10px 22px;background:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--muted,#6b7280);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s,background .15s;border-radius:8px 8px 0 0}.cashflow-preset-tab:hover{color:var(--text,#111);background:var(--row-hover,#f9fafb)}.cashflow-preset-tab.active{color:var(--primary,#3b82f6);border-bottom-color:var(--primary,#3b82f6);background:var(--card-bg,#fff)}.cashflow-drawer-overlay{position:fixed;inset:0;background:rgba(11,16,32,.32);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}.cashflow-drawer-overlay.open{opacity:1;pointer-events:auto}.cashflow-drawer{position:fixed;top:0;right:0;width:560px;max-width:90vw;height:100vh;background:var(--surface);border-left:1px solid var(--border);transform:translateX(100%);transition:transform .2s ease;z-index:41;display:flex;flex-direction:column;overflow-y:auto}.cashflow-drawer.open{transform:translateX(0)}.cashflow-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 12px;border-bottom:1px solid var(--border)}.cashflow-drawer-body{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1 1}.cashflow-drawer-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.cashflow-method-row{display:flex;gap:24px;padding:8px 0;font-size:13px;color:var(--muted,#6b7280)}.cashflow-method-row .method-stat{display:flex;align-items:baseline;gap:8px}.cashflow-method-row .method-label{font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.03em;min-width:60px}.cashflow-method-row .method-amounts{display:flex;flex-direction:column;gap:2px}.cashflow-method-row .method-in,.cashflow-method-row .method-out{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.cashflow-method-row .method-in{color:#059669;font-weight:600}.cashflow-method-row .method-out{color:#dc2626;font-weight:600}.connection-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;animation:connection-banner-in .25s ease}.connection-banner--offline{background:var(--color-danger-bg);color:var(--danger);border-bottom:2px solid var(--danger)}.connection-banner--reconnecting{background:var(--color-warning-bg);color:var(--warning);border-bottom:2px solid var(--warning)}.connection-banner--syncing{background:var(--color-info-bg,#e8f4fd);color:var(--info,#1976d2);border-bottom:2px solid var(--info,#1976d2)}.connection-banner--success{background:var(--color-success-bg,#e8f5e9);color:var(--success,#2e7d32);border-bottom:2px solid var(--success,#2e7d32)}.connection-banner--pending{background:var(--color-warning-bg);color:var(--warning);border-bottom:2px solid var(--warning)}.connection-banner__toggle{background:none;border:none;cursor:pointer;font-size:12px;color:inherit;padding:2px 6px;border-radius:4px;line-height:1}.connection-banner__toggle:hover{opacity:.7}.connection-queue{position:fixed;top:36px;left:50%;transform:translateX(-50%);z-index:9998;width:380px;max-height:300px;overflow-y:auto;background:var(--card-bg,#fff);border:1px solid var(--border-color,#ddd);border-radius:0 0 8px 8px;box-shadow:0 4px 12px rgba(0,0,0,.15);animation:connection-banner-in .2s ease}.connection-queue__item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color,#eee);font-size:12px}.connection-queue__item:last-child{border-bottom:none}.connection-queue__desc{flex:1 1;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-queue__time{color:var(--text-secondary);font-size:11px;flex-shrink:0}.connection-queue__badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;flex-shrink:0}.connection-queue__badge--failed{background:var(--color-danger-bg,#fde8e8);color:var(--danger,#d32f2f)}.connection-queue__actions{display:flex;gap:4px;flex-shrink:0}.connection-queue__actions .btn.btn-sm{font-size:11px;padding:2px 8px}@keyframes connection-banner-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch-track{position:absolute;inset:0;background:var(--border);border-radius:10px;cursor:pointer;transition:background .2s}.toggle-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--surface);border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.18)}.toggle-switch input:checked+.toggle-switch-track{background:var(--success)}.toggle-switch input:checked+.toggle-switch-track:after{transform:translateX(16px)}.toggle-switch input:focus-visible+.toggle-switch-track{outline:2px solid var(--ring);outline-offset:2px}.toggle-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0}.toggle-row-text{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.toggle-row-label{font-size:14px;font-weight:500;color:var(--text);cursor:pointer}.toggle-row-desc{font-size:12px;color:var(--muted);line-height:1.3}.form-section{border:1px solid var(--border);border-radius:10px;overflow:hidden}.form-section-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--surface-2);transition:background .1s}.form-section-header:hover{background:var(--border)}.form-section-title{font-size:14px;font-weight:600;flex:1 1}.form-section-chevron{width:16px;height:16px;flex-shrink:0;transition:transform .15s;color:var(--muted)}.form-section.open .form-section-chevron{transform:rotate(90deg)}.form-section-body{padding:16px;display:flex;flex-direction:column;gap:14px}.receipt-preview-wrap{position:-webkit-sticky;position:sticky;top:20px}.receipt-preview-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px}.rp-paper{width:320px;background:#fafafa;color:#1a1a1a;border-radius:2px 2px 0 0;padding:28px 22px 20px;font-family:-apple-system,Helvetica Neue,Arial,sans-serif;font-size:12px;line-height:1.5;box-shadow:0 4px 24px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);position:relative}.rp-paper:after{content:"";display:block;position:absolute;left:0;right:0;bottom:-8px;height:8px;background:linear-gradient(135deg,#fafafa 33.33%,transparent 0),linear-gradient(225deg,#fafafa 33.33%,transparent 0);background-size:12px 8px}html.dark .rp-paper{box-shadow:0 4px 24px rgba(0,0,0,.3),0 1px 4px rgba(0,0,0,.2)}.rp-header{font-size:18px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.rp-header,.rp-subheader{text-align:center;margin-bottom:2px}.rp-subheader{font-size:10.5px;color:#666}.rp-divider{border:none;border-top:1px dashed #ccc;margin:10px 0}.rp-divider.thick{border-top:2px solid #333;margin:12px 0}.rp-row{display:flex;justify-content:space-between;font-size:11.5px;line-height:1.6}.rp-row.small{font-size:10.5px;color:#666}.rp-item-row{display:grid;grid-template-columns:28px 1fr auto;grid-gap:4px;gap:4px;font-size:11.5px;line-height:1.6;align-items:baseline}.rp-item-qty{font-weight:600;text-align:right;padding-right:4px;color:#555}.rp-item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-item-price{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.rp-modifier{padding-left:32px;font-size:10.5px;color:#777;line-height:1.5}.rp-total-row{display:flex;justify-content:space-between;font-size:15px;font-weight:700;line-height:1.6}.rp-footer{text-align:center;margin-top:12px;font-size:11.5px}.rp-promo{text-align:center;font-size:10px;color:#888;margin-top:4px}.rp-kitchen-header{text-align:center;font-size:16px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:6px 0;margin-bottom:4px}.rp-kitchen-header.rush{background:#1a1a1a;color:#fff;margin:-28px -22px 8px;padding:10px 22px}.rp-kitchen-table{text-align:center;font-size:20px;font-weight:800;margin:6px 0 2px}.rp-course-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-top:10px;margin-bottom:4px;padding-bottom:3px;border-bottom:1px solid #ddd}.rp-kitchen-item{display:grid;grid-template-columns:28px 1fr;grid-gap:4px;gap:4px;font-size:13px;font-weight:500;line-height:1.6}.rp-kitchen-note{padding-left:32px;font-size:11px;font-weight:700;color:#c00;line-height:1.5}.rp-section{margin-bottom:2px}.segmented-control{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-2)}.segmented-control button{padding:6px 14px;font-size:13px;font-weight:500;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s;border-right:1px solid var(--border)}.segmented-control button:last-child{border-right:none}.segmented-control button.active{background:var(--brand);color:#fff}.segmented-control button:not(.active):hover{background:var(--border)}.number-stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden}.number-stepper button{width:32px;height:32px;border:none;background:var(--surface-2);color:var(--text);font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.number-stepper button:hover:not(:disabled){background:var(--border)}.number-stepper button:disabled{opacity:.4;cursor:not-allowed}.number-stepper input{width:44px;height:32px;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font-size:13px;font-weight:600;background:var(--surface);color:var(--text)}.number-stepper input::-webkit-inner-spin-button,.number-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.template-editor{display:grid;grid-template-columns:1fr 360px;grid-gap:28px;gap:28px;align-items:start}.template-editor-form{min-width:0;display:flex;flex-direction:column;gap:12px}@media (max-width:1024px){.template-editor{grid-template-columns:1fr}.template-editor-preview{order:-1;justify-self:center}}.type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.type-badge--receipt{background:rgba(46,49,146,.12);color:var(--brand)}.type-badge--kitchen{background:rgba(245,158,11,.14);color:var(--warning)}.type-badge--bar{background:rgba(139,92,246,.14);color:#7c3aed}html.dark .type-badge--bar{color:#a78bfa}.template-card{padding:14px;border:1px solid var(--border);border-radius:10px;transition:border-color .15s,box-shadow .15s}.template-card.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.reserve-page{max-width:720px;margin:0 auto;padding:40px 20px;min-height:100vh}.reserve-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px}.reserve-title{font-size:24px;font-weight:700;color:var(--text);margin:0}.reserve-subtitle{font-size:14px;color:var(--muted);margin-top:4px}.reserve-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:16px}.reserve-section-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:12px}.venue-cards{display:flex;flex-direction:column;gap:12px}.venue-card{padding:20px;border-radius:16px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;text-decoration:none;color:inherit;display:block}.venue-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(11,16,32,.12)}.venue-card-name{font-size:18px;font-weight:700;color:var(--text)}.venue-card-type{font-size:13px;color:var(--muted);margin-top:4px;text-transform:capitalize}.venue-card[data-type=bar]{border-left:4px solid #15803d}.venue-card[data-type=restaurant]{border-left:4px solid #dc2626}.venue-card[data-type=tour_terminal]{border-left:4px solid #1d4ed8}.reserve-venue-name{font-size:20px;font-weight:700;color:var(--text);text-align:center;margin-bottom:4px}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));grid-gap:8px;gap:8px}.time-slot{padding:12px 8px;border-radius:12px;border:1px solid var(--border);background:var(--surface);text-align:center;font-weight:600;font-size:14px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.time-slot:hover:not(:disabled){border-color:var(--brand);background:rgba(46,49,146,.06)}.time-slot.selected{background:var(--brand);color:#fff;border-color:var(--brand)}.time-slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.party-size-stepper{display:flex;align-items:center;gap:16px}.party-size-stepper button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .1s;color:var(--text)}.party-size-stepper button:hover:not(:disabled){background:var(--surface-2)}.party-size-stepper button:disabled{opacity:.35;cursor:not-allowed}.party-size-count{font-size:28px;font-weight:700;min-width:40px;text-align:center;color:var(--text)}.party-size-label{font-size:14px;color:var(--muted)}.confirmation-check{width:56px;height:56px;border-radius:50%;background:rgba(22,163,74,.12);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 12px}.confirmation-code{font-size:28px;font-weight:700;letter-spacing:.05em;text-align:center;padding:16px;background:rgba(46,49,146,.06);color:var(--brand);border-radius:12px;border:2px dashed var(--brand);font-family:monospace}.step-indicator{display:flex;gap:8px;align-items:center;justify-content:center;margin-bottom:24px}.step-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .2s ease,width .2s ease}.step-dot.active{background:var(--brand);width:24px;border-radius:4px}.reserve-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.reserve-field:last-child{margin-bottom:0}.reserve-field label{font-size:14px;font-weight:500;color:var(--text)}.reserve-field input,.reserve-field textarea{padding:12px 14px;border:1px solid var(--border);border-radius:12px;font-size:14px;background:var(--surface);color:var(--text);font-family:inherit}.reserve-field input:focus,.reserve-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}.reserve-field textarea{min-height:80px;resize:vertical}.reserve-field .field-error{font-size:12px;color:var(--danger)}.reserve-summary{display:flex;flex-direction:column;gap:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:16px}.reserve-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.reserve-summary-label{color:var(--muted)}.reserve-summary-value{font-weight:600;color:var(--text)}@media (max-width:520px){.reserve-page{padding:24px 16px}.reserve-title{font-size:20px}.reserve-card{padding:16px;border-radius:12px}.time-slots-grid{grid-template-columns:repeat(3,1fr)}.confirmation-code{font-size:22px}}.sidebar-persistent{display:none}.sidebar-drawer{position:fixed;top:0;left:0;height:100%;width:min(320px,86%);background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow);transform:translateX(-100%);transition:transform .2s ease;z-index:50;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sidebar-drawer.open{transform:translateX(0)}.sidebar-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:18px 16px 0}.sidebar-brand{padding:16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-logo{height:36px;width:auto;flex-shrink:0}.sidebar-brand-text{font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav-groups{flex:1 1;overflow-y:auto;padding:8px 0;position:relative}.sidebar-loading{padding:16px}.sidebar-group{margin-bottom:2px}.sidebar-group-header{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;font-weight:600;font-size:14px;color:var(--text);border:none;background:transparent;width:100%;text-align:left;border-radius:0;transition:background .12s ease;position:relative}.sidebar-group-header:hover{background:var(--surface-2)}.group-icon{width:20px;height:20px;flex-shrink:0;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.sidebar-group.has-active .group-icon{color:var(--brand)}.group-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-chevron{width:16px;height:16px;transition:transform .15s ease;color:var(--muted);flex-shrink:0}.sidebar-group.expanded .group-chevron{transform:rotate(90deg)}.group-active-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);position:absolute;right:16px;top:50%;transform:translateY(-50%)}.sidebar-group-body{overflow:hidden;max-height:0;transition:max-height .2s ease}.sidebar-group.expanded .sidebar-group-body{max-height:800px}.sidebar-section{padding:0}.sidebar-section-label{padding:16px 16px 4px 46px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);opacity:.7}.sidebar-section:first-child .sidebar-section-label{padding-top:4px}.sidebar-link{display:block;padding:8px 16px 8px 46px;font-size:14px;color:var(--text);text-decoration:none;transition:background .12s ease}.sidebar-link:hover{background:var(--surface-2)}.sidebar-link.active{background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand);font-weight:600;border-left:3px solid var(--brand);padding-left:43px}.sidebar-view-container{position:absolute;inset:0;overflow:hidden}.sidebar-view{position:absolute;inset:0;overflow-y:auto;padding:8px 0;transition:transform .25s ease,opacity .25s ease}[data-view=main] .sidebar-view.main{transform:translateX(0);opacity:1;pointer-events:auto}[data-view=main] .sidebar-view.pos{transform:translateX(100%);opacity:0;pointer-events:none}[data-view=pos] .sidebar-view.main{transform:translateX(-100%);opacity:0;pointer-events:none}[data-view=pos] .sidebar-view.pos{transform:translateX(0);opacity:1;pointer-events:auto}.sidebar-pos-menu-section{margin-top:4px}.sidebar-pos-menu-header{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:13px;color:var(--muted);border:none;background:transparent;width:100%;text-align:left;border-radius:0;transition:background .12s ease,color .12s ease}.sidebar-pos-menu-header:hover{background:var(--surface-2);color:var(--text)}.sidebar-pos-menu-section.has-active .sidebar-pos-menu-header{color:var(--brand)}.pos-menu-label{flex:1 1}.sidebar-pos-menu-header .group-chevron{transition:transform .15s ease}.sidebar-pos-menu-section.expanded .sidebar-pos-menu-header .group-chevron{transform:rotate(90deg)}.sidebar-pos-menu-body{overflow:hidden;max-height:0;transition:max-height .2s ease}.sidebar-pos-menu-section.expanded .sidebar-pos-menu-body{max-height:400px}.sidebar-pos-menu-section .sidebar-menu-section-link{display:flex;align-items:center;gap:8px;padding-left:28px}.sidebar-pos-back{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;color:var(--muted);background:transparent;border:none;cursor:pointer;width:100%;text-align:left;border-radius:0;transition:background .12s ease}.sidebar-pos-back:hover{background:var(--surface-2)}.sidebar-pos-header{padding:8px 16px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.sidebar-view.pos .sidebar-link,.sidebar-view.pos-menu .sidebar-link{padding-left:16px}.sidebar-view.pos .sidebar-link.active,.sidebar-view.pos-menu .sidebar-link.active{padding-left:13px}.sidebar-link-drilldown{display:flex!important;align-items:center;justify-content:space-between}.drilldown-chevron{flex-shrink:0;color:var(--muted);opacity:.6}.sidebar-menu-section-link{display:flex!important;align-items:center;gap:8px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.sidebar-collapse-toggle,.sidebar-footer-controls{display:flex;align-items:center;gap:8px}.sidebar-collapse-toggle{padding:8px 4px;cursor:pointer;color:var(--muted);font-size:13px;background:transparent;border:none;width:100%;border-radius:8px;transition:background .12s ease}.sidebar-collapse-toggle:hover{background:var(--surface-2)}.sidebar-signout{width:100%}@media (min-width:900px){.sidebar-persistent{display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;width:260px;background:var(--surface);border-right:1px solid var(--border);z-index:30;overflow:hidden;transition:width .2s ease}.sidebar-collapsed .sidebar-persistent{width:64px}.app-shell{display:flex}.app-main{margin-left:260px;flex:1 1;min-width:0;transition:margin-left .2s ease}.sidebar-collapsed .app-main{margin-left:64px}.hamburger-button{display:none!important}.app-header .app-logo-link{display:none}.app-title-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.drawer-overlay,.sidebar-drawer,.sidebar-drawer+.drawer-overlay{display:none!important}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:12px 8px;overflow:hidden}.sidebar-collapsed .sidebar-logo{height:28px}.sidebar-collapsed .sidebar-group-header{justify-content:center;padding:12px 0}.sidebar-collapsed .group-chevron,.sidebar-collapsed .group-label,.sidebar-collapsed .sidebar-footer-controls,.sidebar-collapsed .sidebar-group-body,.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-signout{display:none}.sidebar-collapsed .sidebar-collapse-toggle{justify-content:center;padding:12px 0}.sidebar-collapsed .sidebar-collapse-toggle span{display:none}}@media print{.sidebar-persistent{display:none!important}.app-main{margin-left:0!important}}.reports-layout{display:flex;flex-direction:column;gap:0}.reports-content{padding:0 16px}.report-page{max-width:100%;overflow-x:hidden}.reports-toolbar{display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--surface-2,#f2f5fa);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin:8px 16px 20px;padding:4px 0}html.dark .reports-toolbar{box-shadow:0 1px 4px rgba(0,0,0,.25)}.reports-sub-nav{display:flex;gap:0;padding-left:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-top:1px solid var(--border,#e5e7eb);border-bottom:1px solid var(--border,#e5e7eb)}.reports-sub-nav::-webkit-scrollbar{display:none}.reports-sub-nav-link{padding:10px 16px;font-size:13px;font-weight:500;color:var(--muted,#6b7280);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;white-space:nowrap}.reports-sub-nav-link:hover{color:var(--text,#111)}.reports-sub-nav-link.active{color:var(--primary,#3b82f6);border-bottom-color:var(--primary,#3b82f6);font-weight:600}.rf-bar{display:flex;flex-direction:column}.rf-segments-row{display:flex;align-items:center;gap:12px;padding:8px 16px 4px;flex-wrap:wrap}.rf-segment-group{gap:0;background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:2px}.rf-segment,.rf-segment-group{display:inline-flex;align-items:center}.rf-segment{gap:5px;height:30px;padding:0 12px;border:none;border-radius:6px;background:none;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--muted,#6b7280);white-space:nowrap;transition:all .15s ease}.rf-segment:hover{color:var(--text,#111)}.rf-segment--active{background:var(--seg-color,#374151);color:#fff;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.12)}.rf-segment--active .rf-segment__dot{display:none}.rf-segment__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}html.dark .rf-segment-group{background:var(--card-bg,#0f172a)}html.dark .rf-segment--active{background:var(--seg-color,#4b5563);color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.rf-row{display:flex;align-items:center;gap:6px;padding:8px 16px;flex-wrap:wrap}.rf-row-spacer{flex:1 1;min-width:8px}.rf-divider{width:1px;height:20px;background:var(--border,#e5e7eb);margin:0 4px;flex-shrink:0}.rf-trigger,.rf-trigger-wrap{position:relative}.rf-trigger{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:var(--card-bg,#fff);cursor:pointer;font-size:13px;font-weight:500;color:var(--text,#111);transition:all .15s ease;white-space:nowrap}.rf-trigger:hover{border-color:var(--muted,#6b7280);box-shadow:0 1px 3px rgba(0,0,0,.04)}.rf-trigger:focus-visible{outline:2px solid var(--ring,rgba(46,49,146,.5));outline-offset:1px}.rf-trigger--open{background:var(--brand-soft,rgba(46,49,146,.08));border-color:var(--brand,#2e3192)}.rf-trigger--open,.rf-trigger--open .rf-trigger__icon{color:var(--brand,#2e3192)}.rf-trigger__dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--brand,#2e3192);pointer-events:none}.rf-trigger__icon{width:15px;height:15px;color:var(--muted,#6b7280);flex-shrink:0;transition:color .15s}.rf-trigger__icon--spin{animation:rf-spin 1s linear infinite}@keyframes rf-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rf-trigger--action{cursor:pointer}.rf-trigger__label{line-height:1}.rf-trigger__chevron{width:13px;height:13px;color:var(--muted,#6b7280);opacity:.5;flex-shrink:0;transition:transform .2s ease,opacity .15s}.rf-trigger__chevron--open{transform:rotate(180deg);opacity:.8}.rf-dropdown{position:absolute;top:calc(100% + 6px);left:0;background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);padding:6px;min-width:200px;z-index:50;display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;opacity:0;transform:translateY(-4px);transition:opacity .15s ease-out,transform .15s ease-out}.rf-dropdown--visible{opacity:1;transform:translateY(0)}.rf-dropdown__divider{height:1px;background:var(--border,#e5e7eb);margin:4px 0;flex-shrink:0}.rf-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:none;cursor:pointer;font-size:13px;font-weight:450;color:var(--text,#111);text-align:left;transition:background .1s ease}.rf-option:hover{background:var(--hover-bg,#f3f4f6)}.rf-option--selected{background:var(--brand-soft,rgba(46,49,146,.08))}.rf-option--selected:hover{background:var(--brand-soft,rgba(46,49,146,.12))}.rf-option__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.rf-option__label{flex:1 1}.rf-option__check{color:var(--brand,#2e3192);flex-shrink:0}.rf-month-nav{display:flex;align-items:center;gap:2px}.rf-month-nav__divider{width:1px;height:18px;background:var(--border,#e5e7eb);margin:0 6px;flex-shrink:0}.rf-month-nav__arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border,#e5e7eb);border-radius:6px;background:transparent;color:var(--muted,#6b7280);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.rf-month-nav__arrow:hover{border-color:var(--muted,#6b7280);color:var(--text,#111);background:var(--hover-bg,rgba(0,0,0,.03))}.rf-month-nav__label{display:flex;align-items:center;gap:6px;padding:5px 11px;height:32px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:transparent;color:var(--text,#111);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.rf-month-nav__label:hover{border-color:var(--muted,#6b7280);background:var(--hover-bg,rgba(0,0,0,.03))}.rf-month-nav__label--open{background:var(--brand-soft,rgba(46,49,146,.08));border-color:var(--brand,#2e3192);color:var(--brand,#2e3192)}.rf-month-nav__icon{color:var(--muted,#6b7280);flex-shrink:0}.rf-month-nav__label--open .rf-month-nav__icon{color:var(--brand,#2e3192)}.rf-month-picker{padding:8px;min-width:220px}.rf-month-picker__year-nav{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 8px}.rf-month-picker__year-label{font-size:13px;font-weight:600;color:var(--text,#111)}.rf-month-picker__year-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--muted,#6b7280);cursor:pointer;border-radius:4px;transition:background .12s,color .12s}.rf-month-picker__year-btn:hover{background:var(--hover-bg,rgba(0,0,0,.06));color:var(--text,#111)}.rf-month-picker__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px}.rf-month-picker__cell{padding:7px 4px;border:none;border-radius:6px;background:transparent;font-size:12px;font-weight:500;color:var(--text,#111);cursor:pointer;text-align:center;transition:background .12s,color .12s}.rf-month-picker__cell:hover{background:var(--hover-bg,rgba(0,0,0,.06))}.rf-month-picker__cell--selected{background:var(--brand,#2e3192);color:#fff}.rf-month-picker__cell--selected:hover{background:var(--brand,#2e3192)}.rf-trigger--sm{padding:5px 10px;font-size:12px;height:28px}.rf-trigger--active{border-color:var(--brand,#2e3192);color:var(--brand,#2e3192);background:var(--brand-soft,rgba(46,49,146,.08))}.rf-custom-dates{display:flex;gap:10px;padding:10px 12px 6px}.rf-custom-dates__label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--muted,#6b7280);text-transform:uppercase;letter-spacing:.03em;flex:1 1}.rf-custom-dates__input{padding:6px 8px;border:1px solid var(--border,#e5e7eb);border-radius:6px;font-size:13px;background:var(--card-bg,#fff);color:var(--text,#111);transition:border-color .15s}.rf-custom-dates__input:focus{border-color:var(--brand,#2e3192);outline:none;box-shadow:0 0 0 2px var(--ring,rgba(46,49,146,.2))}.rf-chips{display:flex;align-items:center;gap:6px;padding:6px 12px 8px;border-top:1px solid var(--border,#e5e7eb);flex-wrap:wrap;animation:rf-chips-enter .2s ease-out}@keyframes rf-chips-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rf-chip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;background:var(--surface-2,#f2f5fa);border:1px solid var(--border,#e5e7eb);border-radius:6px;font-size:12px;font-weight:500;color:var(--text,#111);white-space:nowrap;transition:background .1s}.rf-chip__icon{width:12px;height:12px;color:var(--muted,#6b7280);flex-shrink:0}.rf-chip__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.rf-chip__label{line-height:1}.rf-chip__close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:2px;padding:0;border:none;border-radius:4px;background:none;cursor:pointer;color:var(--muted,#6b7280);transition:all .1s}.rf-chip__close:hover{background:var(--danger,#ef4444);color:#fff}.rf-reset-btn{margin-left:auto;padding:4px 10px;border:none;border-radius:6px;background:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--muted,#6b7280);transition:all .15s}.rf-reset-btn:hover{color:var(--danger,#ef4444);background:rgba(239,68,68,.08)}.kpi-card-v2{background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;transition:box-shadow .15s;min-width:0}.kpi-card-v2:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}.kpi-card-v2--clickable{cursor:pointer}.kpi-label-v2{font-size:11px;font-weight:600;color:var(--muted,#6b7280);text-transform:uppercase;letter-spacing:.05em}.kpi-value-row{display:flex;align-items:baseline;gap:8px}.kpi-value-v2{font-size:26px;font-weight:700;color:var(--text,#111);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.kpi-delta{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;line-height:1.4}.kpi-delta-positive{background:#f0fdf4;color:#16a34a}.kpi-delta-negative{background:#fef2f2;color:#dc2626}.kpi-delta-neutral{background:var(--badge-bg,#f3f4f6);color:var(--muted,#6b7280)}html.dark .kpi-delta-positive{background:rgba(22,163,74,.15);color:#4ade80}html.dark .kpi-delta-negative{background:rgba(220,38,38,.15);color:#f87171}.kpi-sparkline{height:24px;width:100%;margin:2px 0}.kpi-sparkline svg{width:100%;height:100%}.kpi-driver{font-size:11px;color:var(--muted,#6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-card-v2--loading .kpi-label,.kpi-card-v2--loading .kpi-sparkline,.kpi-card-v2--loading .kpi-value{background:var(--border,#e5e7eb);border-radius:4px;animation:kpi-pulse 1.5s ease-in-out infinite;color:transparent!important}@keyframes kpi-pulse{0%,to{opacity:.6}50%{opacity:.3}}.kpi-skeleton{background:var(--border,#e5e7eb);border-radius:4px;animation:kpi-pulse 1.5s ease-in-out infinite}.kpi-skeleton--label{height:12px;width:60%}.kpi-skeleton--value{height:28px;width:80%}.kpi-skeleton--sparkline{height:24px;width:100%}.kpi-skeleton--driver{height:10px;width:50%}.kpi-row-v2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.chart-card-v2{background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:20px;margin-bottom:16px}.chart-card-v2__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.chart-card-v2__titles{display:flex;flex-direction:column}.chart-card-v2__title{font-size:16px;font-weight:600;color:var(--text,#111)}.chart-card-v2__subtitle{font-size:12px;color:var(--muted,#6b7280);margin-top:2px}.chart-card-v2__actions{display:flex;gap:6px;align-items:center}.chart-card-v2__body{width:100%}.chart-tooltip-v2{background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:10px 14px;box-shadow:0 4px 12px rgba(0,0,0,.1);font-size:13px;z-index:10}.chart-tooltip-v2__label{font-weight:600;margin-bottom:6px;color:var(--text,#111)}.chart-tooltip-v2__row{display:flex;align-items:center;gap:6px;padding:2px 0}.chart-tooltip-v2__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-v2__name{color:var(--muted,#6b7280);flex:1 1}.chart-tooltip-v2__value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-tooltip-v2__delta{margin-left:4px}.chart-tooltip-v2__share{font-size:11px;color:var(--muted,#6b7280);margin-left:4px}.data-table-v2{font-size:14px}.data-table-v2 table{width:100%;border-collapse:collapse}.data-table-v2 thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}.data-table-v2__scroll{overflow-x:auto;border:1px solid var(--border,#e5e7eb);border-radius:8px}.data-table-v2__th{text-align:left;padding:10px 14px;border-bottom:2px solid var(--border,#e5e7eb);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--muted,#6b7280);background:var(--card-bg,#fff);white-space:nowrap;cursor:default;letter-spacing:.03em}.data-table-v2__th--sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table-v2__th--sortable:hover{color:var(--text,#111)}.data-table-v2__th-content{display:inline-flex;align-items:center;gap:4px}.data-table-v2__sort-icon{display:inline-block;margin-left:4px;font-size:10px;opacity:.4}.data-table-v2__th--sorted .data-table-v2__sort-icon{opacity:1;color:var(--primary,#3b82f6)}.data-table-v2__td{padding:10px 14px;border-bottom:1px solid var(--border-light,#f3f4f6);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text,#111)}.data-table-v2__row:hover{background:var(--row-hover,#f9fafb)}.data-table-v2__row--clickable{cursor:pointer}.data-table-v2__row--expanded{background:var(--row-hover,#f9fafb)}.data-table-v2__expand-col{width:32px}.data-table-v2__expand-cell{padding:0 4px;vertical-align:middle}.data-table-v2__expand-btn{border:none;background:none;cursor:pointer;padding:4px;color:var(--muted,#6b7280);font-size:14px;line-height:1}.data-table-v2__chevron{display:inline-block;transition:transform .15s;color:var(--muted,#6b7280);font-size:14px}.data-table-v2__chevron--open{transform:rotate(90deg)}.data-table-v2__expanded-row{background:var(--row-hover,#f9fafb)}.data-table-v2__expanded-content{padding:12px 14px;border-bottom:2px solid var(--border,#e5e7eb)}.data-table-v2__empty{text-align:center;padding:32px;color:var(--muted,#6b7280);font-size:14px}.data-table-v2__toolbar{display:flex;justify-content:flex-end;padding:8px 0}.data-table-v2__export-btn{padding:4px 12px;border:1px solid var(--border,#e5e7eb);border-radius:4px;background:none;cursor:pointer;font-size:12px;color:var(--muted,#6b7280);display:flex;align-items:center;gap:4px}.data-table-v2__export-btn:hover{color:var(--text,#111);border-color:var(--text,#111)}.data-table-v2--compact .data-table-v2__td{padding:6px 14px;font-size:13px}.data-table-v2--compact .data-table-v2__th{padding:6px 14px}.data-table-skeleton{background:var(--border,#e5e7eb);border-radius:4px;animation:kpi-pulse 1.5s ease-in-out infinite}.data-table-skeleton--icon{width:16px;height:16px}.data-table-skeleton--cell{height:16px;width:75%}.chart-skeleton{height:280px;display:flex;align-items:flex-end;padding:24px 16px 32px}.chart-skeleton__bars{display:flex;align-items:flex-end;gap:12px;width:100%;height:100%}.chart-skeleton__bar{flex:1 1;background:var(--border,#e5e7eb);border-radius:4px 4px 0 0;animation:kpi-pulse 1.5s ease-in-out infinite}.reports-progress-bar{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:3px;width:100%;overflow:hidden;background:var(--border,#e5e7eb)}.reports-progress-bar__track{height:100%;width:40%;background:var(--primary,#6366f1);border-radius:2px;animation:progress-slide 1.2s ease-in-out infinite}@keyframes progress-slide{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.density-compact .data-table-v2 td{padding:6px 14px;font-size:13px}.density-compact .data-table-v2 th{padding:6px 14px}.density-compact .kpi-card-v2{padding:12px 14px}.density-compact .kpi-value-v2{font-size:22px}.density-compact .chart-card-v2{padding:14px}.insight-panel{background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:10px;overflow:hidden;margin-bottom:16px}.insight-panel--loading{opacity:.7}.insight-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;background:none;width:100%;text-align:left;font:inherit;color:inherit}.insight-panel__header:hover{background:var(--row-hover,#f9fafb)}.insight-panel__title{font-size:14px;font-weight:600;color:var(--text,#111)}.insight-panel__chevron{transition:transform .2s;color:var(--muted,#6b7280)}.insight-panel__chevron--open{transform:rotate(90deg)}.insight-panel__body{padding:0 16px 12px}.insight-panel__row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border-light,#f3f4f6)}.insight-panel__row:last-child{border-bottom:none}.insight-panel__row-label{font-size:13px;color:var(--text,#111);flex:1 1}.insight-panel__row-value{font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.insight-panel__row-delta{margin-left:8px}.insight-panel__empty{text-align:center;padding:12px 0;color:var(--muted,#6b7280);font-size:13px}.insight-skeleton{background:var(--border,#e5e7eb);border-radius:4px;animation:kpi-pulse 1.5s ease-in-out infinite}.insight-skeleton--title{height:16px;width:40%}.insight-skeleton--label{height:14px;width:50%}.insight-skeleton--value{height:14px;width:60px}.insight-skeleton--delta{height:14px;width:40px}.drill-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted,#6b7280);margin-bottom:12px;flex-wrap:wrap}.drill-breadcrumb__item{display:inline-flex;align-items:center;gap:6px}.drill-breadcrumb__separator{color:var(--muted,#6b7280)}.drill-breadcrumb__link{border:none;background:none;cursor:pointer;color:var(--primary,#3b82f6);font:inherit;padding:0}.drill-breadcrumb__link:hover{text-decoration:underline}.drill-breadcrumb__current{font-weight:600;color:var(--text,#111)}.report-skeleton{background:var(--border,#e5e7eb);border-radius:6px;animation:kpi-pulse 1.5s ease-in-out infinite}.report-skeleton-chart{height:300px}.report-skeleton-row{height:40px;margin-bottom:4px}.report-page-section{margin-bottom:24px}.report-page-section-title{font-size:18px;font-weight:600;color:var(--text,#111);margin-bottom:12px}.report-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:900px){.report-two-col{grid-template-columns:1fr}}.overview-fix-list,.report-page-sections{display:flex;flex-direction:column;gap:0}.overview-fix-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border,#e5e7eb)}.overview-fix-item:last-child{border-bottom:none}.overview-fix-priority{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;font-size:12px;font-weight:700;background:var(--surface-2,#f2f5fa);color:var(--muted,#6b7280)}.overview-fix-body{flex:1 1;display:flex;flex-direction:column;gap:2px}.overview-fix-title{font-weight:600;font-size:14px;color:var(--text,#111)}.overview-fix-detail{font-size:12px;color:var(--muted,#6b7280);line-height:1.4}.overview-fix-severity{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize;flex-shrink:0;background:var(--surface-2,#f2f5fa);color:var(--muted,#6b7280)}.overview-fix-severity--critical{background:#fef2f2;color:#dc2626}.overview-fix-severity--warning{background:#fffbeb;color:#d97706}.overview-fix-severity--info{background:#eff6ff;color:#3b82f6}html.dark .overview-fix-severity--critical{background:rgba(220,38,38,.15);color:#f87171}html.dark .overview-fix-severity--warning{background:rgba(217,119,6,.15);color:#fbbf24}html.dark .overview-fix-severity--info{background:rgba(59,130,246,.15);color:#60a5fa}.overview-alerts-list{display:flex;flex-direction:column;gap:0}.overview-alert-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border,#e5e7eb)}.overview-alert-row:last-child{border-bottom:none}.overview-alert-severity{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;flex-shrink:0;white-space:nowrap}.overview-alert-body{flex:1 1;display:flex;flex-direction:column;gap:2px}.overview-alert-title{font-weight:600;font-size:13px;color:var(--text,#111)}.overview-alert-detail{font-size:12px;color:var(--muted,#6b7280);line-height:1.4}.overview-alert-biz{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2,#f2f5fa);color:var(--muted,#6b7280);flex-shrink:0}.pnl-statement-table{width:100%;border-collapse:collapse;font-size:13px}.pnl-statement-table thead th{padding:8px 12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary,#6b7280);border-bottom:2px solid var(--border-color,#e5e7eb);white-space:nowrap}.pnl-statement-table tbody td{padding:6px 12px;border-bottom:1px solid var(--border-subtle,#f3f4f6);white-space:nowrap}.pnl-row--header td{font-weight:700;font-size:14px;background:var(--bg-subtle,#f9fafb)}.pnl-row--section td{padding-top:16px!important}.pnl-cell--section-label{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#6b7280)}.pnl-row--item{cursor:default}.pnl-row--item.pnl-row--expandable{cursor:pointer}.pnl-row--item.pnl-row--expandable:hover td{background:var(--hover-bg,#f3f4f6)}.pnl-row--subtotal td{font-weight:600;border-top:1px solid var(--border-color,#e5e7eb)}.pnl-row--calculated td{font-weight:700;background:var(--bg-subtle,#f9fafb);border-top:2px solid var(--border-color,#e5e7eb)}.pnl-row--total td{font-weight:700;font-size:14px;background:var(--bg-highlight,#eff6ff);border-top:2px double var(--border-color,#e5e7eb);border-bottom:2px double var(--border-color,#e5e7eb)}.pnl-row--vendor td{font-size:12px;color:var(--text-secondary,#6b7280)}.pnl-row--vendor:hover td{background:var(--hover-bg,#f3f4f6)}.pnl-cell--label{padding-left:12px}.pnl-cell--vendor-label{padding-left:32px!important}.pnl-change--positive{color:#16a34a}.pnl-change--negative{color:#dc2626}[data-theme=dark] .pnl-row--calculated td,[data-theme=dark] .pnl-row--header td{background:var(--bg-subtle,#1f2937)}[data-theme=dark] .pnl-row--total td{background:var(--bg-highlight,#1e3a5f)}.stepper{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:0}.stepper-label-row{display:flex;align-items:baseline;gap:6px}.stepper-label{font-weight:600;font-size:14px;color:var(--text)}.stepper-sublabel{font-size:12px;color:var(--muted)}.stepper-controls{gap:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.stepper-btn,.stepper-controls{display:flex;align-items:center}.stepper-btn{width:52px;height:52px;justify-content:center;font-size:22px;font-weight:700;color:var(--brand);background:transparent;border:none;cursor:pointer;transition:background .1s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stepper-btn:active:not(:disabled){background:var(--brand-soft)}.stepper-btn:disabled{opacity:.3;cursor:not-allowed}.stepper-value{flex:1 1;text-align:center;font-size:24px;font-weight:800;color:var(--text);min-width:48px}.price-summary{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.price-summary-main{padding:16px 18px;display:flex;flex-direction:column;gap:8px}.price-summary-total{display:flex;justify-content:space-between;align-items:center}.price-summary-total-label{font-size:16px;font-weight:600;color:var(--text)}.price-summary-total-amount{font-size:32px;font-weight:800;color:var(--text);letter-spacing:-.02em}.price-summary-commission{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.2);border-radius:12px}.price-summary-commission-label{font-size:14px;font-weight:600;color:#16a34a}.price-summary-commission-amount{font-size:24px;font-weight:800;color:#16a34a}.price-summary-check{font-size:16px;margin-left:4px}.price-summary-affiliate{padding:8px 18px;font-size:12px;font-weight:600;color:var(--brand);background:var(--brand-soft);text-align:center}.price-summary-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 18px;font-size:13px;font-weight:500;color:var(--muted);background:transparent;border:none;border-top:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent}.price-summary-toggle:active{background:var(--surface-2)}.price-summary-chevron{font-size:10px}.price-summary-details{padding:0 18px 14px;display:flex;flex-direction:column;gap:6px}.price-summary-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);padding:4px 0}.commission-bar,.price-summary-detail-row+.price-summary-detail-row{border-top:1px solid var(--border)}.commission-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;align-items:center;gap:12px;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:var(--surface);box-shadow:0 -4px 20px rgba(0,0,0,.08)}.commission-bar-info{flex:1 1;display:flex;align-items:baseline;gap:6px;min-width:0;overflow:hidden}.commission-bar-stack{display:flex;flex-direction:column;gap:2px}.commission-bar-pays{font-size:13px;font-weight:600;color:var(--text)}.commission-bar-earn{font-size:15px;font-weight:800;color:#16a34a}.commission-bar-error{flex:1 1;font-size:13px;color:#ef4444;font-weight:600}.commission-bar-btn{flex-shrink:0;min-width:100px;height:48px;padding:0 20px;font-size:16px;font-weight:700;color:#fff;background:var(--brand);border:none;border-radius:14px;cursor:pointer;transition:transform .08s,opacity .1s;-webkit-tap-highlight-color:transparent}.commission-bar-btn:active:not(:disabled){transform:scale(.97)}.commission-bar-btn:disabled{opacity:.5;cursor:not-allowed}.earnings-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 16px;background:linear-gradient(135deg,rgba(22,163,74,.08),rgba(22,163,74,.03));border:1px solid rgba(22,163,74,.2);border-radius:16px}.earnings-card-amount{font-size:40px;font-weight:800;color:#16a34a;letter-spacing:-.03em;line-height:1.1}.earnings-card-currency{font-size:28px;vertical-align:super;margin-right:2px}.earnings-card-label{font-size:14px;font-weight:600;color:var(--muted);margin-top:2px}.earnings-card-stat{display:flex;align-items:baseline;gap:6px;margin-top:8px;padding:6px 14px;background:var(--surface);border-radius:999px;border:1px solid var(--border)}.earnings-card-stat-number{font-size:20px;font-weight:800;color:var(--text)}.earnings-card-stat-label{font-size:13px;color:var(--muted)}.sales-history-page{max-width:1100px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.sales-history-header{display:flex;align-items:center;gap:12px}.sales-history-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer}.sales-history-back:active{opacity:.7}.sales-history-title{font-size:20px;font-weight:700;color:var(--text);flex:1 1}.sales-history-header-right{display:flex;align-items:center;gap:8px}.sales-history-filters{display:flex;flex-direction:column;gap:10px}.sales-history-presets{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sales-history-presets::-webkit-scrollbar{display:none}.sales-history-preset{flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s}.sales-history-preset:active{opacity:.7}.sales-history-preset.active{background:var(--text);color:var(--bg);border-color:var(--text)}.sales-history-filter-row{display:flex;gap:8px;flex-wrap:wrap}.sales-history-date-field,.sales-history-date-inputs{display:flex;align-items:center;gap:4px}.sales-history-date-field{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.sales-history-date-field input[type=date]{border:none;background:transparent;color:inherit;font-size:13px;font-family:inherit;outline:none;width:130px}.sales-history-date-sep{color:var(--muted);font-size:14px}.sales-history-status-select{color:var(--text);font-size:13px;font-family:inherit}.sales-history-search,.sales-history-status-select{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.sales-history-search{flex:1 1;min-width:160px;display:flex;align-items:center;gap:6px;color:var(--muted)}.sales-history-search input{border:none;background:transparent;color:var(--text);font-size:13px;font-family:inherit;outline:none;flex:1 1;min-width:0}.sales-history-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}@media (min-width:640px){.sales-history-stats{grid-template-columns:repeat(4,1fr)}.sales-history-stat-card{padding:20px 16px}.sales-history-stat-value{font-size:28px}.sales-history-stat-label{font-size:13px}.sales-history-filters{gap:12px}.sales-history-filter-row{align-items:center}.sales-history-table{font-size:14px}.sales-history-table td,.sales-history-table th{padding:12px 14px}}.sales-history-stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:center;color:var(--muted)}.sales-history-stat-card svg{opacity:.5}.sales-history-stat-commission{background:linear-gradient(135deg,rgba(22,163,74,.08),rgba(22,163,74,.03));border-color:rgba(22,163,74,.2)}.sales-history-stat-commission svg{color:#16a34a;opacity:1}.sales-history-stat-commission .sales-history-stat-value{color:#16a34a}.sales-history-stat-value{font-size:24px;font-weight:800;color:var(--text);line-height:1.1}.sales-history-stat-label{font-size:12px;font-weight:600;color:var(--muted)}.sales-history-table-section{display:flex;flex-direction:column;gap:10px}.sales-history-section-title{font-size:16px;font-weight:700;color:var(--text)}.sales-history-loading{display:flex;justify-content:center;padding:40px}.sales-history-empty{text-align:center;padding:40px 16px;color:var(--muted);font-size:14px}.sales-history-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.sales-history-table{width:100%;border-collapse:collapse;font-size:13px}.sales-history-table th{text-align:left;padding:10px 12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface);white-space:nowrap}.sales-history-table td{padding:10px 12px;border-bottom:1px solid var(--border-light,var(--border));color:var(--text)}.sales-history-table tbody tr:last-child td{border-bottom:none}.sales-history-table tbody tr:hover{background:var(--surface)}.sales-history-td-date{white-space:nowrap;font-weight:600}.sales-history-td-ref{font-family:monospace;font-size:12px;color:var(--muted)}.sales-history-table .text-right{text-align:right}.sales-history-status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--badge-color) 12%,transparent);color:var(--badge-color)}.sales-history-mobile-list{display:none}@media (max-width:639px){.sales-history-page{padding:12px;gap:12px}.sales-history-table-wrap{display:none}.sales-history-mobile-list{display:flex;flex-direction:column;gap:8px}.sales-history-filter-row{flex-direction:column}.sales-history-date-inputs{width:100%}.sales-history-date-field{flex:1 1}.sales-history-search,.sales-history-status-select{width:100%}.sales-history-presets{position:relative;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.sales-history-stat-commission .sales-history-stat-value{font-size:28px}.sales-history-header{gap:8px}.sales-history-title{font-size:18px}}.sales-history-mobile-card{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.sales-history-mobile-top{display:flex;justify-content:space-between;align-items:center}.sales-history-mobile-date{font-size:13px;font-weight:600;color:var(--text)}.sales-history-mobile-card.has-commission{border-left:3px solid #16a34a}.sales-history-mobile-customer{font-size:15px;font-weight:600;color:var(--text)}.sales-history-mobile-bottom{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.sales-history-mobile-ref{font-family:monospace}.sales-history-mobile-commission{margin-left:auto;font-weight:700;color:#16a34a}.sales-history-pagination{display:flex;justify-content:center;gap:8px;padding:8px 0}.sales-history-page-btn{padding:8px 20px;font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.sales-history-page-btn:active{opacity:.7}.sales-history-commission-section{border:1px solid var(--border);border-radius:12px;overflow:hidden}.sales-history-commission-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:var(--surface);border:none;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.sales-history-commission-toggle:active{opacity:.7}.sales-history-commission-list{border-top:1px solid var(--border);padding:0}.sales-history-commission-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-light,var(--border));font-size:13px}.sales-history-commission-row:last-of-type{border-bottom:none}.sales-history-commission-info{display:flex;align-items:center;gap:10px;flex:1 1;min-width:0}.sales-history-commission-ref{font-family:monospace;font-size:12px;color:var(--muted);flex-shrink:0}.sales-history-commission-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-history-commission-date{color:var(--muted);font-size:12px;flex-shrink:0}.sales-history-commission-amount{font-weight:700;color:#16a34a;flex-shrink:0;margin-left:12px}.sales-history-commission-total{display:flex;justify-content:space-between;padding:12px 16px;border-top:2px solid var(--border);font-weight:700;font-size:14px;color:var(--text);background:var(--surface)}.sales-history-commission-total-amount{color:#16a34a}@media (max-width:639px){.sales-history-commission-info{flex-direction:column;align-items:flex-start;gap:2px}}.quick-book-strip{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding:4px 0;scrollbar-width:none}.quick-book-strip::-webkit-scrollbar{display:none}.quick-book-card{flex:0 0 auto;width:140px;min-height:170px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:var(--surface);border:1px solid var(--border);border-radius:16px;scroll-snap-align:start;transition:transform .1s,box-shadow .1s}.quick-book-card:active{transform:scale(.97)}.quick-book-card-disabled{opacity:.5}.quick-book-emoji{display:flex;align-items:center;justify-content:center;width:36px;height:36px}.quick-book-name{font-size:14px;font-weight:700;color:var(--text);text-align:center;line-height:1.2}.quick-book-time{font-size:13px;color:var(--muted);font-weight:500}.quick-book-avail{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.quick-book-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.quick-book-dot-green{background:#16a34a}.quick-book-dot-amber{background:#f59e0b}.quick-book-dot-red{background:#ef4444}.quick-book-dot-gray{background:#9ca3af}.quick-book-avail-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-book-btn{width:100%;padding:8px 0;font-size:14px;font-weight:700;color:#fff;background:var(--brand);border:none;border-radius:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .08s}.quick-book-btn:active{transform:scale(.96)}.quick-book-unavail{font-size:12px;font-weight:600;color:var(--muted);padding:8px 0;text-align:center}.quick-book-stack{display:flex;flex-direction:column;gap:8px}.quick-book-card-mobile{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);gap:12px}.quick-book-mobile-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1}.quick-book-mobile-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.quick-book-mobile-info{display:flex;flex-direction:column;gap:2px;min-width:0}.quick-book-mobile-name{font-size:15px;font-weight:700;color:var(--text)}.quick-book-mobile-meta{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);font-weight:500}.quick-book-mobile-avail{font-size:12px}.quick-book-mobile-btn{flex-shrink:0;padding:10px 20px;font-size:14px;font-weight:700;background:var(--brand);color:#fff;border:none;border-radius:12px;min-height:44px}.quick-book-mobile-btn:active{transform:scale(.96)}.quick-book-mobile-unavail{flex-shrink:0;font-size:12px;font-weight:600;color:var(--muted);padding:8px 12px}.inclusions-card{padding:14px 16px;background:linear-gradient(135deg,rgba(34,197,94,.06),rgba(34,197,94,.02));border:1px solid rgba(34,197,94,.2);border-radius:14px}.inclusions-card-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#166534;margin-bottom:8px}.inclusions-card-items{display:flex;flex-direction:column;gap:6px}.inclusions-card-item{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--text);line-height:1.3}.inclusions-card-icon{flex-shrink:0;color:#16a34a}.hero-book-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:18px 24px;font-size:20px;font-weight:800;color:#fff;background:var(--brand);border:none;border-radius:16px;cursor:pointer;box-shadow:0 4px 14px rgba(46,49,146,.25);transition:transform .08s,box-shadow .12s;-webkit-tap-highlight-color:transparent;letter-spacing:-.01em}.hero-book-btn:active{transform:translateY(1px);box-shadow:0 2px 8px rgba(46,49,146,.2)}.celebration{flex-direction:column;gap:8px;padding:40px 24px;text-align:center;max-width:480px;margin:0 auto}.celebration,.celebration-icon{display:flex;align-items:center}.celebration-icon{width:80px;height:80px;justify-content:center;font-size:40px;font-weight:800;color:#fff;background:#16a34a;border-radius:50%;margin-bottom:8px;animation:celebration-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes celebration-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.celebration-title{font-size:32px;font-weight:800;color:var(--text);margin:0;letter-spacing:-.02em}.celebration-earnings{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:8px}.celebration-earnings-label{font-size:14px;color:var(--muted);font-weight:500}.celebration-earnings-amount{font-size:36px;font-weight:800;color:#16a34a;letter-spacing:-.02em;animation:celebration-slide-up .5s ease-out .2s both}@keyframes celebration-slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.celebration-today{font-size:16px;font-weight:600;color:var(--muted);padding:6px 16px;background:var(--surface-2);border-radius:999px;margin-top:4px}.celebration-details{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding:14px 18px;background:var(--surface-2);border-radius:14px;width:100%;max-width:320px}.celebration-detail-line{font-size:15px;line-height:1.4}.celebration-share{margin-top:12px;padding:10px 20px;font-size:14px;font-weight:600;color:var(--brand);background:var(--brand-soft);border:1px solid rgba(46,49,146,.2);border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}.celebration-share:active{background:rgba(46,49,146,.15)}.celebration-cta{display:flex;align-items:center;justify-content:center;width:100%;max-width:320px;padding:16px 24px;margin-top:16px;font-size:18px;font-weight:800;color:#fff;background:var(--brand);border-radius:14px;text-decoration:none;box-shadow:0 4px 14px rgba(46,49,146,.25);transition:transform .08s;-webkit-tap-highlight-color:transparent}.celebration-cta:active{transform:scale(.97)}.celebration-secondary{margin-top:12px;font-size:14px;color:var(--muted);text-decoration:none;padding:8px 16px}.celebration-secondary:hover{color:var(--text)}.celebration-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:700;color:#fff;background:#25d366;border-radius:14px;text-decoration:none;min-height:48px;margin-top:4px}.celebration-whatsapp:active{transform:scale(.97);background:#1da851}.celebration-office{margin-top:16px;font-size:13px;color:var(--muted);text-align:center}.celebration-office a{color:var(--brand);font-weight:600;text-decoration:none}.commission-price-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface-2);border-radius:12px}.commission-price-label{font-size:14px;font-weight:600;color:var(--muted)}.commission-price-amount{font-size:18px;font-weight:800;color:var(--text)}.commission-stepper{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;border:2px solid rgba(22,163,74,.25);border-radius:16px;background:rgba(22,163,74,.04)}.commission-stepper-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#16a34a}.commission-stepper-controls{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.commission-stepper-btn{width:64px;height:56px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--brand);background:transparent;border:none;cursor:pointer}.commission-stepper-btn:active:not(:disabled){background:var(--brand-soft)}.commission-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.commission-stepper-value{width:80px;text-align:center;font-size:32px;font-weight:800;color:#16a34a;border-left:1px solid var(--border);border-right:1px solid var(--border);padding:8px 0}.commission-quick-row{display:flex;gap:8px}.commission-quick-btn{padding:8px 14px;font-size:13px;font-weight:700;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer}.commission-quick-btn:active{transform:scale(.95)}.commission-quick-active{background:var(--brand);color:#fff;border-color:var(--brand)}.commission-total-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface-2);border-radius:14px;border:1px solid var(--border)}.commission-total-label{font-size:16px;font-weight:700;color:var(--text)}.commission-total-amount{font-size:28px;font-weight:800;color:var(--text)}.quick-add-row{display:flex;gap:8px;flex-wrap:wrap}.quick-add-btn{padding:8px 16px;font-size:14px;font-weight:700;color:var(--brand);background:var(--brand-soft);border:1px solid rgba(46,49,146,.15);border-radius:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .08s}.quick-add-btn:active{transform:scale(.95);background:rgba(46,49,146,.15)}.urgency-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:700;border-radius:10px;animation:urgency-pulse 2s ease-in-out infinite}.urgency-badge-low{color:#92400e;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3)}.urgency-badge-critical{color:#991b1b;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25)}@keyframes urgency-pulse{0%,to{opacity:1}50%{opacity:.8}}.class-toggle{display:flex;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface-2)}.class-toggle-btn{flex:1 1;padding:10px 16px;font-size:15px;font-weight:700;text-align:center;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s;-webkit-tap-highlight-color:transparent}.class-toggle-btn.active{background:var(--brand);color:#fff}.class-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.class-hint{font-size:12px;font-weight:600;color:var(--muted);text-align:center;margin-top:4px}@media (max-width:520px){.stepper-btn{width:48px;height:48px}.stepper-value{font-size:22px}.price-summary-total-amount{font-size:28px}.price-summary-commission-amount{font-size:20px}.earnings-card-amount{font-size:34px}.celebration-title{font-size:28px}.celebration-earnings-amount{font-size:30px}.hero-book-btn{padding:16px 20px;font-size:18px}.quick-book-card{width:130px;padding:14px 10px}}.day-card{border:1.5px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.day-card-today{box-shadow:0 0 0 1px rgba(46,49,146,.1)}.day-card-expanded,.day-card-today{border-color:var(--brand)}.day-card-header{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 12px;background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent}.day-card-header:active{background:rgba(0,0,0,.03)}.day-card-left{display:flex;align-items:center;gap:8px;min-width:0}.day-card-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--brand);color:#fff;border-radius:6px;white-space:nowrap}.day-card-label{font-size:15px;font-weight:600;white-space:nowrap}.day-card-right{gap:8px;flex-shrink:0}.day-card-dots,.day-card-right{display:flex;align-items:center}.day-card-dots{gap:4px}.day-card-dot{width:7px;height:7px;border-radius:50%}.day-card-dot.dot-green{background:#22c55e}.day-card-dot.dot-amber{background:#f59e0b}.day-card-dot.dot-red{background:#ef4444}.day-card-count{font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}.day-card-tours{padding:4px 8px 8px;display:flex;flex-direction:column;gap:8px;animation:dayCardExpand .2s ease}@keyframes dayCardExpand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tour-tile-mobile{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.tour-tile-mobile-top{display:flex;align-items:center;gap:8px;min-width:0}.tour-tile-mobile-name{flex:1 1 auto;min-width:0;font-size:15px;font-weight:700;line-height:1.2}.tour-tile-mobile-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-tile-mobile-info{display:flex;flex-direction:column;gap:2px;min-width:0}.tour-tile-mobile-time{font-size:14px;font-weight:600;color:var(--text)}.tour-tile-mobile-bottom .button{flex-shrink:0;padding:6px 16px;font-size:13px;min-height:36px}.menu-manager-layout{display:grid;grid-template-columns:240px 1fr;grid-gap:16px;gap:16px;min-height:600px}@media (max-width:768px){.menu-manager-layout{grid-template-columns:1fr}}.menu-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px 0;position:-webkit-sticky;position:sticky;top:80px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto}.menu-sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;color:var(--muted);border:none;background:none;cursor:pointer;transition:all .15s;text-align:left}.menu-sidebar-item:hover{color:var(--text);background:var(--surface-2)}.menu-sidebar-item.active{color:var(--brand);background:var(--brand-soft);font-weight:600}.menu-sidebar-tree{padding:2px 0 6px}.menu-sidebar-tree-group{display:flex;align-items:center;gap:6px;width:100%;padding:6px 16px 6px 28px;font-size:13px;font-weight:500;color:var(--text);border:none;background:none;cursor:pointer;text-align:left}.menu-sidebar-tree-group:hover,.menu-sidebar-tree-item:hover{background:var(--surface-2)}.menu-sidebar-tree-group.selected,.menu-sidebar-tree-item.selected{background:var(--brand-soft);color:var(--brand)}.menu-sidebar-tree-item{display:flex;align-items:center;gap:6px;width:100%;padding:5px 16px 5px 46px;font-size:12px;color:var(--muted);border:none;background:none;cursor:pointer;text-align:left}.tree-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.tree-chevron{display:inline-block;transition:transform .15s;font-size:10px;width:12px;text-align:center;color:var(--muted)}.tree-chevron.open{transform:rotate(90deg)}.menu-detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 24px;min-height:400px}.menu-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.menu-detail-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--border);margin-top:16px}.combo-choice-block{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.combo-selected-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.combo-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:12px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);border-radius:12px;font-weight:500}.combo-pill-remove{background:none;border:none;cursor:pointer;color:var(--brand);font-size:14px;line-height:1;padding:0;opacity:.7}.combo-pill-remove:hover{opacity:1}.combo-item-categories{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:6px}.combo-cat-group{border-bottom:1px solid var(--border)}.combo-cat-group:last-child{border-bottom:none}.combo-cat-header{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);border:none;cursor:pointer;width:100%;text-align:left}.combo-cat-header:hover{background:var(--surface-3,var(--surface-2))}.combo-cat-chevron{font-size:8px;transition:transform .15s ease;transform:rotate(90deg)}.combo-cat-chevron[data-collapsed]{transform:rotate(0deg)}.combo-cat-name{flex:1 1}.combo-cat-items{padding:2px 0}.combo-item-row{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 24px;font-size:13px;cursor:pointer;transition:background .1s ease}.combo-item-row:hover{background:var(--surface-2)}.combo-item-name{flex:1 1}.combo-item-price{font-size:12px;white-space:nowrap}.menu-back-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--brand);background:none;border:none;cursor:pointer;padding:0;margin-bottom:12px}.menu-back-link:hover{text-decoration:underline}.menu-sidebar-tree-divider{height:1px;background:var(--border);margin:6px 16px}.menu-sidebar-tree-item.parent-group{font-weight:600;color:var(--text)}.menu-sidebar-tree-item .tree-edit-btn{opacity:0;margin-left:auto;padding:2px;cursor:pointer;color:var(--muted);transition:opacity .15s;background:none;border:none;display:flex;align-items:center}.menu-sidebar-tree-item:hover .tree-edit-btn{opacity:1}.menu-sidebar-tree-item .tree-edit-btn:hover{color:var(--brand)}.tree-product-count{font-size:11px;color:var(--muted);margin-left:4px}.menu-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:14px;gap:14px}@media (max-width:600px){.menu-card-grid{grid-template-columns:1fr 1fr}}@media (max-width:400px){.menu-card-grid{grid-template-columns:1fr}}.menu-category-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;position:relative}.menu-category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--brand)}.menu-category-card .card-color-bar{position:absolute;top:0;left:0;width:4px;height:100%;border-radius:12px 0 0 12px}.menu-category-card .card-header{display:flex;align-items:center;gap:8px}.menu-category-card .card-header .card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface-2);flex-shrink:0}.menu-category-card .card-name{font-weight:600;font-size:14px;color:var(--text);line-height:1.2}.menu-category-card .card-stats{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.menu-category-card .card-stat{display:flex;align-items:center;gap:4px}.menu-category-card .card-actions{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}.menu-category-card .card-edit-btn{position:absolute;top:8px;right:8px;opacity:0;padding:4px;cursor:pointer;color:var(--muted);transition:opacity .15s,color .15s;background:none;border:none;display:flex;align-items:center;border-radius:6px}.menu-category-card:hover .card-edit-btn{opacity:1}.menu-category-card .card-edit-btn:hover{color:var(--brand);background:var(--surface-2)}.menu-category-card .card-active-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.menu-product-card{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;position:relative}.menu-product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--brand)}.menu-product-card.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.menu-product-card .product-thumb{object-fit:cover}.menu-product-card .product-thumb,.menu-product-card .product-thumb-placeholder{width:36px;height:36px;border-radius:8px;background:var(--surface-2);flex-shrink:0}.menu-product-card .product-thumb-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted)}.menu-product-card .product-header-row{display:flex;align-items:center;gap:10px}.menu-product-card .product-name{font-weight:600;font-size:16px;color:var(--text);line-height:1.3}.menu-product-card.hidden-item{opacity:.5}.menu-product-card .visibility-toggle{background:none;border:none;cursor:pointer;padding:2px;color:var(--muted);display:flex;align-items:center;border-radius:4px;transition:color .12s}.menu-product-card .visibility-toggle:hover{color:var(--text)}.menu-product-card .product-price{font-weight:600;font-size:15px;color:var(--brand)}.menu-product-card .product-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.menu-product-card .product-check{position:absolute;top:8px;left:8px;width:20px;height:20px;border:2px solid var(--border);border-radius:5px;background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.menu-product-card .product-check.checked{background:var(--brand);border-color:var(--brand);color:#fff}.menu-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-bottom:16px;flex-wrap:wrap}.menu-breadcrumb-item{background:none;border:none;cursor:pointer;color:var(--brand);padding:2px 4px;font-size:13px;border-radius:4px;transition:background .12s}.menu-breadcrumb-item:hover{background:var(--brand-soft)}.menu-breadcrumb-current{color:var(--text);font-weight:600;font-size:13px;padding:2px 4px}.menu-breadcrumb-sep{color:var(--muted);font-size:11px}.menu-search-bar{position:relative;margin-bottom:16px}.menu-search-bar input{width:100%;padding:8px 12px 8px 34px;font-size:13px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s}.menu-search-bar input:focus{border-color:var(--brand)}.menu-search-bar .search-icon{left:10px;pointer-events:none}.menu-search-bar .search-clear,.menu-search-bar .search-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--muted)}.menu-search-bar .search-clear{right:8px;background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px}.menu-search-bar .search-clear:hover{color:var(--text);background:var(--surface-2)}.menu-bulk-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--brand);color:#fff;border-radius:10px;margin-bottom:12px;font-size:13px;font-weight:500;flex-wrap:wrap}.menu-bulk-bar button{padding:4px 10px;font-size:12px;border-radius:6px;border:1px solid hsla(0,0%,100%,.3);background:hsla(0,0%,100%,.15);color:#fff;cursor:pointer;font-weight:500;transition:background .12s}.menu-bulk-bar button:hover{background:hsla(0,0%,100%,.25)}.menu-bulk-bar button.danger{background:var(--danger);border-color:var(--danger)}.menu-bulk-bar button.danger:hover{opacity:.9}.menu-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.menu-view-toggle button{display:flex;align-items:center;justify-content:center;padding:6px 10px;background:none;border:none;cursor:pointer;color:var(--muted);transition:all .12s}.menu-view-toggle button:not(:last-child){border-right:1px solid var(--border)}.menu-view-toggle button.active{background:var(--brand-soft);color:var(--brand)}.menu-view-toggle button:hover:not(.active){background:var(--surface-2)}.menu-empty-state{flex-direction:column;gap:12px;padding:48px 24px;text-align:center}.menu-empty-state,.menu-empty-state .empty-icon{display:flex;align-items:center;justify-content:center}.menu-empty-state .empty-icon{width:48px;height:48px;border-radius:12px;background:var(--surface-2);color:var(--muted)}.menu-empty-state .empty-title{font-weight:600;font-size:15px;color:var(--text)}.menu-empty-state .empty-desc{font-size:13px;color:var(--muted);max-width:360px}@keyframes menu-skeleton-pulse{0%,to{opacity:.5}50%{opacity:.8}}.menu-skeleton-card{border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.menu-skeleton-bar{height:14px;border-radius:6px;background:var(--surface-2);animation:menu-skeleton-pulse 1.4s ease-in-out infinite}.menu-skeleton-bar.short{width:60%}.menu-skeleton-bar.medium{width:80%}.menu-skeleton-bar.icon{width:32px;height:32px;border-radius:8px;flex-shrink:0}.menu-skeleton-row{display:flex;align-items:center;gap:8px}.menu-view-enter{animation:menu-fade-in .18s ease}@keyframes menu-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.menu-sidebar-mobile-trigger{display:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;color:var(--text);border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;width:100%;margin-bottom:12px}@media (max-width:768px){.menu-sidebar-mobile-trigger{display:flex}.menu-sidebar{display:none}.menu-sidebar.mobile-open{display:block;position:fixed;top:0;left:0;bottom:0;width:min(320px,86%);z-index:1000;border-radius:0;max-height:100vh;border-right:1px solid var(--border)}.menu-sidebar-mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:999}}.product-form-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px;overflow-x:auto}.product-form-tab{position:relative;padding:10px 18px;font-size:14px;font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .15s;white-space:nowrap}.product-form-tab:hover{color:var(--text)}.product-form-tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.product-form-tab .tab-error-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--danger);margin-left:6px;vertical-align:middle}.field-required{color:var(--danger);margin-left:2px;font-weight:600}.field-error-msg{font-size:12px;color:var(--danger);margin-top:4px;display:block}.input.input-error{border-color:var(--danger);box-shadow:0 0 0 1px rgba(239,68,68,.3)}.image-upload-zone{border:2px dashed var(--border);border-radius:12px;padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface-2,var(--surface-raised,#f9fafb))}.image-upload-zone.drag-over,.image-upload-zone:hover{border-color:var(--brand);background:var(--brand-soft,rgba(46,49,146,.04))}.image-upload-zone.disabled{opacity:.5;cursor:not-allowed}.image-upload-zone p{margin:8px 0 0;font-size:13px;color:var(--muted)}.image-upload-preview{position:relative;display:inline-block;max-width:200px}.image-upload-preview img{max-width:200px;max-height:200px;border-radius:8px;border:1px solid var(--border)}.image-upload-preview .image-remove-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--danger);color:#fff;border:2px solid var(--surface,#fff);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.form-section-card{background:var(--surface-2,var(--surface-raised,#f9fafb));border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:16px}.form-section-card h4{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--text)}.role-badge{font-weight:600}.role-badge-owner{background:rgba(139,92,246,.12);color:#7c3aed;border-color:rgba(139,92,246,.25)}.role-badge-admin{background:var(--brand-soft);color:var(--brand);border-color:rgba(46,49,146,.2)}.role-badge-head-receptionist{background:rgba(20,184,166,.12);color:#0d9488;border-color:rgba(20,184,166,.25)}.role-badge-reception{background:var(--color-success-bg);color:var(--success);border-color:rgba(22,163,74,.25)}.role-badge-opc{background:hsla(220,9%,46%,.1);color:var(--muted);border-color:hsla(220,9%,46%,.2)}html.dark .role-badge-owner{background:rgba(139,92,246,.18);color:#a78bfa}html.dark .role-badge-head-receptionist{background:rgba(20,184,166,.18);color:#2dd4bf}.status-badge-active{background:var(--color-success-bg);color:var(--success);border-color:rgba(22,163,74,.25)}.status-badge-inactive{background:var(--color-danger-bg);color:var(--danger);border-color:rgba(239,68,68,.25)}.user-detail-overlay{position:fixed;inset:0;background:rgba(11,16,32,.32);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:60}.user-detail-overlay.open{opacity:1;pointer-events:auto}.user-detail-panel{position:fixed;top:0;right:0;height:100%;width:min(480px,92vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:70;display:flex;flex-direction:column;overflow:hidden;transform:translateX(100%);transition:transform .2s ease}.user-detail-panel.open{transform:translateX(0)}.user-detail-header{padding:20px 20px 0;border-bottom:1px solid var(--border)}.user-detail-body{flex:1 1;overflow-y:auto;padding:20px}.user-detail-footer{padding:16px 20px;border-top:1px solid var(--border)}.user-detail-tabs{display:flex;gap:6px;padding-top:14px}.users-bulk-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--brand-soft);border:1px solid var(--border);border-radius:12px}.th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.th-sortable:hover{color:var(--brand)}.th-sort-icon{margin-left:4px;font-size:10px;opacity:.7}:root{--ap-bg:#fafbfc;--ap-surface:#fff;--ap-accent:#2563eb;--ap-accent-hover:#1d4fd8;--ap-accent-soft:rgba(37,99,235,.08);--ap-radius-sm:6px;--ap-radius-md:8px;--ap-radius-lg:12px;--ap-radius-pill:20px;--ap-shadow-sm:0 1px 3px rgba(0,0,0,.04);--ap-shadow-md:0 4px 6px -1px rgba(0,0,0,.07);--ap-shadow-drawer:-8px 0 30px rgba(0,0,0,.12);--ap-success:#16a34a;--ap-success-bg:#f0fdf4;--ap-warning:#d97706;--ap-warning-bg:#fef3c7;--ap-danger:#dc2626;--ap-danger-bg:#fee2e2;--ap-info:#2563eb;--ap-info-bg:#eff4ff;--ap-muted:#5a6577;--ap-muted-light:#8b95a5;--ap-border:#e5e9ee;--ap-border-light:#eff2f5;--ap-header-bg:#fafbfc;--ap-hover-bg:#f6f8fa;--ap-selected-bg:#eff4ff;--ap-tab-bg:#f0f3f6;--ap-tab-active-bg:#1a2332;--ap-tab-active-text:#fff;--ap-indigo:#4f46e5;--ap-indigo-bg:#eef2ff;--ap-gray:#6b7280;--ap-gray-bg:#f3f4f6}html.dark{--ap-bg:#0b1020;--ap-surface:#151b2e;--ap-accent:#60a5fa;--ap-accent-hover:#3b82f6;--ap-accent-soft:rgba(96,165,250,.12);--ap-shadow-sm:0 1px 3px rgba(0,0,0,.12);--ap-shadow-md:0 4px 6px rgba(0,0,0,.16);--ap-shadow-drawer:-8px 0 30px rgba(0,0,0,.3);--ap-success:#4ade80;--ap-success-bg:rgba(74,222,128,.12);--ap-warning:#fbbf24;--ap-warning-bg:rgba(251,191,36,.12);--ap-danger:#f87171;--ap-danger-bg:hsla(0,91%,71%,.12);--ap-info:#60a5fa;--ap-info-bg:rgba(96,165,250,.12);--ap-muted:#8b95a8;--ap-muted-light:#6b7280;--ap-border:hsla(0,0%,100%,.1);--ap-border-light:hsla(0,0%,100%,.06);--ap-header-bg:#1c2438;--ap-hover-bg:hsla(0,0%,100%,.04);--ap-selected-bg:rgba(96,165,250,.12);--ap-tab-bg:hsla(0,0%,100%,.06);--ap-tab-active-bg:#f0f2f5;--ap-tab-active-text:#0b1020;--ap-indigo:#818cf8;--ap-indigo-bg:rgba(129,140,248,.12);--ap-gray:#9ca3af;--ap-gray-bg:rgba(156,163,175,.1)}.ap-mono{font-family:var(--font-mono,"JetBrains Mono",monospace)}.ap-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.ap-kpi-card{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);padding:16px 20px;display:flex;flex-direction:column;gap:4px;transition:transform .15s ease,box-shadow .15s ease;cursor:default;position:relative}.ap-kpi-card.clickable{cursor:pointer}.ap-kpi-card.clickable:hover{transform:translateY(-1px);box-shadow:var(--ap-shadow-md)}.ap-kpi-card.active{border-color:var(--ap-accent);background:var(--ap-accent-soft)}.ap-kpi-card.alert-danger{border-left:4px solid var(--ap-danger)}.ap-kpi-card.alert-danger .ap-kpi-value{color:var(--ap-danger)}.ap-kpi-card.alert-warning{border-left:4px solid var(--ap-warning)}.ap-kpi-card.alert-warning .ap-kpi-value{color:var(--ap-warning)}.ap-kpi-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--ap-muted)}.ap-kpi-value{font-size:clamp(16px,2.2vw,26px);font-weight:700;letter-spacing:-.03em;color:var(--text);font-family:var(--font-mono,"JetBrains Mono",monospace);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-kpi-subtitle{font-size:12px;color:var(--ap-muted);font-weight:500}.ap-kpi-trend{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:2px}.ap-kpi-trend.up{color:var(--ap-success)}.ap-kpi-trend.down{color:var(--ap-danger)}.ap-filter-tabs{display:flex;align-items:center;background:var(--ap-tab-bg);border-radius:10px;padding:3px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.ap-filter-tabs::-webkit-scrollbar{display:none}.ap-filter-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500;color:var(--ap-muted);background:transparent;border:none;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.ap-filter-tab:hover{background:rgba(0,0,0,.04);color:var(--text)}html.dark .ap-filter-tab:hover{background:hsla(0,0%,100%,.06)}.ap-filter-tab.active{background:var(--ap-tab-active-bg);color:var(--ap-tab-active-text);font-weight:600}.ap-filter-tab-count{font-size:11px;font-weight:700;background:rgba(0,0,0,.08);color:var(--ap-muted);padding:1px 7px;border-radius:10px;line-height:1.4}.ap-filter-tab.active .ap-filter-tab-count{background:hsla(0,0%,100%,.2);color:var(--ap-tab-active-text)}.ap-search-wrap{position:relative;display:flex;align-items:center}.ap-search-icon{position:absolute;left:12px;width:16px;height:16px;color:var(--ap-muted-light);pointer-events:none}.ap-search-input{width:100%;padding:9px 36px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);font-size:13px;font-weight:500;color:var(--text);background:var(--ap-surface);transition:border-color .15s ease;outline:none}.ap-search-input::placeholder{color:var(--ap-muted-light)}.ap-search-input:focus{border-color:var(--ap-accent);box-shadow:0 0 0 2px var(--ap-accent-soft)}.ap-search-clear{position:absolute;right:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:var(--ap-tab-bg);border-radius:50%;color:var(--ap-muted);cursor:pointer;font-size:12px;line-height:1;padding:0}.ap-search-clear:hover{background:var(--ap-border)}.ap-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--ap-radius-pill);font-size:12px;font-weight:600;white-space:nowrap;line-height:1.4}.ap-status-badge.status-paid{background:var(--ap-success-bg);color:var(--ap-success)}.ap-status-badge.status-overdue{background:var(--ap-danger-bg);color:var(--ap-danger)}.ap-status-badge.status-open,.ap-status-badge.status-pending,.ap-status-badge.status-upcoming{background:var(--ap-warning-bg);color:var(--ap-warning)}.ap-status-badge.status-partial{background:var(--ap-info-bg);color:var(--ap-info)}.ap-status-badge.status-canceled,.ap-status-badge.status-closed,.ap-status-badge.status-skipped,.ap-status-badge.status-voided{background:var(--ap-tab-bg);color:var(--ap-muted)}.ap-status-badge.status-draft{background:var(--ap-tab-bg);color:var(--ap-muted-light)}.ap-efos-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:var(--ap-radius-pill);font-size:10px;font-weight:800;white-space:nowrap;line-height:1.4}.ap-efos-badge.efos-clean{background:var(--ap-success-bg);color:var(--ap-success)}.ap-efos-badge.efos-listed{background:var(--ap-danger-bg);color:var(--ap-danger)}.ap-efos-badge.efos-review{background:var(--ap-warning-bg);color:var(--ap-warning)}.ap-table-wrap{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);overflow-x:auto}.ap-table{width:100%;border-collapse:collapse;font-size:13px}.ap-table thead th{background:var(--ap-header-bg);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ap-muted);padding:10px 16px;text-align:left;border-bottom:1px solid var(--ap-border);position:-webkit-sticky;position:sticky;top:0;z-index:1}.ap-table tbody tr{border-bottom:1px solid var(--ap-border-light);transition:background .1s ease;cursor:pointer}.ap-table tbody tr:last-child{border-bottom:none}.ap-table tbody tr:hover{background:var(--ap-hover-bg)}.ap-table tbody tr.selected{background:var(--ap-selected-bg)}.ap-table tbody tr.efos-row{background:hsla(0,93%,94%,.15)}html.dark .ap-table tbody tr.efos-row{background:hsla(0,91%,71%,.06)}.ap-table tbody td{padding:12px 16px;vertical-align:middle}.ap-table .td-right{text-align:right}.ap-table .td-center{text-align:center}.ap-table .td-nowrap{white-space:nowrap}.ap-vendor-avatar{width:36px;height:36px;min-width:36px;border-radius:9px;background:var(--ap-tab-bg);color:var(--ap-muted);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;text-transform:uppercase}.ap-vendor-avatar.efos{background:var(--ap-danger-bg);color:var(--ap-danger)}.ap-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.2);z-index:40;opacity:0;pointer-events:none;transition:opacity .15s ease}.ap-drawer-overlay.open{opacity:1;pointer-events:auto}.ap-drawer{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:100vw;background:var(--ap-surface);box-shadow:var(--ap-shadow-drawer);z-index:50;transform:translateX(100%);transition:transform .2s ease-out;display:flex;flex-direction:column;overflow:hidden}.ap-drawer.open{transform:translateX(0)}.ap-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--ap-border);flex-shrink:0}.ap-drawer-body{flex:1 1;overflow-y:auto;padding:20px 24px}.ap-drawer-footer{padding:16px 24px;border-top:1px solid var(--ap-border);background:var(--ap-header-bg);flex-shrink:0}.ap-drawer-section{margin-bottom:20px}.ap-drawer-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--ap-muted);margin-bottom:10px}.ap-drawer-field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.ap-drawer-field-label{font-size:11px;color:var(--ap-muted-light);margin-bottom:2px}.ap-drawer-field-value{font-size:13px;font-weight:600;color:var(--text)}.ap-drawer-alert{padding:12px 16px;border-radius:var(--ap-radius-md);font-size:13px;font-weight:500;margin-bottom:16px;display:flex;align-items:flex-start;gap:10px}.ap-drawer-alert.alert-danger{background:var(--ap-danger-bg);color:var(--ap-danger)}.ap-drawer-alert.alert-warning{background:var(--ap-warning-bg);color:var(--ap-warning)}.ap-drawer-financial{background:var(--ap-header-bg);border-radius:var(--ap-radius-md);padding:16px}.ap-drawer-financial-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}.ap-drawer-financial-row.total{border-top:1px solid var(--ap-border);margin-top:8px;padding-top:12px;font-size:16px;font-weight:700}.ap-skeleton{background:linear-gradient(90deg,var(--ap-tab-bg) 25%,var(--ap-border-light) 37%,var(--ap-tab-bg) 63%);background-size:800px 100%;animation:ap-shimmer 1.5s ease infinite;border-radius:var(--ap-radius-sm)}.ap-skeleton-kpi{height:88px;border-radius:var(--ap-radius-lg)}.ap-skeleton-row{height:48px;margin-bottom:2px}.ap-skeleton-text{height:14px;width:60%}.ap-skeleton-text-short{height:14px;width:30%}.ap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.ap-empty-icon{font-size:40px;margin-bottom:12px;opacity:.6}.ap-empty-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.ap-empty-subtitle{font-size:13px;color:var(--ap-muted);max-width:320px}.ap-empty-action{margin-top:16px}.ap-vendor-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ap-vendor-card:hover{transform:translateY(-1px);box-shadow:var(--ap-shadow-md);border-color:var(--ap-accent)}.ap-vendor-card-info{flex:1 1;min-width:0}.ap-vendor-card-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.ap-vendor-card-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--ap-muted);align-items:center}.ap-vendor-card-balances{text-align:right;flex-shrink:0}.ap-vendor-card-balance-row{margin-bottom:4px}.ap-vendor-card-balance-row:last-child{margin-bottom:0}.ap-vendor-card-amount{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:14px;font-weight:600}.ap-vendor-card-amount.negative{color:var(--ap-danger)}.ap-vendor-card-amount.positive{color:var(--ap-success)}.ap-vendor-card-currency{font-size:11px;color:var(--ap-muted-light);margin-left:4px}.ap-vendor-delete-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--ap-radius-md);background:transparent;color:var(--ap-muted);cursor:pointer;transition:background .15s,color .15s}.ap-vendor-delete-btn:hover{background:rgba(220,38,38,.1);color:var(--ap-danger)}.ap-vendor-delete-btn:disabled{opacity:.4;cursor:not-allowed}.ap-filters-section{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);overflow:hidden}.ap-filters-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:10px 14px;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--ap-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.ap-filters-toggle:hover{background:var(--ap-bg);color:var(--text)}.ap-filters-count{background:var(--ap-accent);color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:18px;text-align:center}.ap-filters-body{padding:0 14px 14px}.ap-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:8px;gap:8px}.ap-filter-input{display:block;width:100%;padding:7px 10px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-sm);background:var(--ap-bg);font-size:13px;color:var(--text);transition:border-color .15s ease}.ap-filter-input:focus{outline:none;border-color:var(--ap-accent);box-shadow:0 0 0 2px var(--ap-accent-soft)}.ap-filters-vendor{margin-top:8px}.ap-filters-vendor .vendor-filter{position:relative}.ap-filters-vendor .typeahead{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-sm);box-shadow:var(--ap-shadow-md);max-height:240px;overflow-y:auto}.ap-filters-vendor .typeahead-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;border:none;background:transparent;cursor:pointer;font-size:13px;color:var(--text);text-align:left}.ap-filters-vendor .typeahead-item:hover{background:var(--ap-bg)}.ap-efos-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid var(--ap-danger);border-radius:var(--ap-radius-md);font-size:13px;color:var(--text)}html.dark .ap-efos-alert{background:rgba(220,38,38,.1)}.ap-efos-alert-icon{flex-shrink:0;display:flex;align-items:center}.ap-generation-banner{padding:12px 16px;background:var(--ap-accent-soft);border:1px solid var(--ap-accent);border-radius:var(--ap-radius-md);color:var(--text)}.ap-bulk-bar,.ap-generation-banner{display:flex;align-items:center;gap:12px;font-size:13px}.ap-bulk-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:10px 20px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);box-shadow:var(--ap-shadow-md);z-index:30}.ap-bulk-bar strong{color:var(--ap-accent)}.ap-wizard-stepper{justify-content:center;gap:0;padding:4px 0 16px}.ap-wizard-step-item,.ap-wizard-stepper{display:flex;align-items:center}.ap-wizard-connector{width:40px;height:2px;background:var(--ap-border)}.ap-wizard-connector.complete{background:var(--ap-success)}.ap-wizard-step{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px;border-radius:8px;background:transparent;border:none;cursor:default}.ap-wizard-step:not(:disabled){cursor:pointer}.ap-wizard-step:not(:disabled):hover{background:#f6f8fa}.ap-wizard-number{width:28px;height:28px;border-radius:50%;background:var(--ap-surface);border:2px solid var(--ap-border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.ap-wizard-step.active .ap-wizard-number{background:var(--ap-accent);border-color:var(--ap-accent);color:#fff}.ap-wizard-step.complete .ap-wizard-number{background:var(--ap-success);border-color:var(--ap-success);color:#fff}.ap-wizard-label{font-size:11px;color:var(--ap-muted);white-space:nowrap}.ap-wizard-step.active .ap-wizard-label{color:var(--ap-accent);font-weight:600}.ap-wizard-step-desc{font-size:13px;color:var(--ap-muted);text-align:center;margin-bottom:8px}html.dark .ap-wizard-step:not(:disabled):hover{background:var(--ap-surface)}.ap-type-toggle{display:inline-flex;border:1px solid var(--ap-border);border-radius:var(--ap-radius-sm);overflow:hidden}.ap-type-toggle-btn{padding:6px 16px;font-size:13px;font-weight:500;border:none;background:transparent;cursor:pointer;color:var(--ap-text-secondary);transition:all .15s}.ap-type-toggle-btn.active{background:var(--ap-accent);color:#fff}.ap-type-toggle-btn:not(.active):hover{background:var(--ap-surface-hover,#f6f8fa)}.ap-type-toggle-btn:disabled{opacity:.6;cursor:default}html.dark .ap-type-toggle-btn:not(.active):hover{background:var(--ap-surface)}@media (max-width:1024px){.ap-kpi-row{grid-template-columns:repeat(2,1fr)}.ap-drawer{width:380px}}@media (max-width:768px){.ap-kpi-row{grid-template-columns:1fr}.ap-drawer{width:100vw}.ap-filter-tabs{padding:2px}.ap-filter-tab{padding:5px 10px;font-size:12px}.ap-filters-grid{grid-template-columns:1fr}.ap-vendor-card{flex-direction:column;align-items:flex-start}.ap-vendor-card-balances{align-self:flex-start;text-align:left}.ap-bulk-bar{left:16px;right:16px;transform:none;width:auto}}.auth-split{display:flex;min-height:100vh;min-height:100dvh;width:100vw}.auth-split-form{flex:0 0 45%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 32px;overflow-y:auto}.auth-split-form-inner{width:100%;max-width:400px;display:flex;flex-direction:column;gap:20px}.auth-split-hero{flex:1 1;background:url(/brand/hero.jpg) 50%/cover no-repeat;background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-split-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 70%,hsla(0,0%,100%,.06) 0,transparent 60%),radial-gradient(circle at 80% 20%,hsla(0,0%,100%,.04) 0,transparent 50%)}.auth-divider-or{display:flex;align-items:center;gap:12px;margin:4px 0}.auth-divider-or:after,.auth-divider-or:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-divider-or span{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.auth-oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:14px;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.auth-oauth-btn:hover{background:var(--surface-2);border-color:var(--muted);box-shadow:0 2px 8px rgba(0,0,0,.06)}.auth-oauth-btn:active{transform:translateY(0);box-shadow:none}.auth-oauth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-oauth-btn svg{width:20px;height:20px;flex-shrink:0}.auth-oauth-btn .spinner-inline{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .6s linear infinite}.auth-forgot-link{font-size:13px;color:var(--brand);text-decoration:none;align-self:flex-end;margin-top:-8px}.auth-forgot-link:hover{text-decoration:underline}@media (max-width:768px){.auth-split{flex-direction:column}.auth-split-form{flex:1 1;padding:32px 20px}.auth-split-hero{display:none}}@keyframes ap-shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}@keyframes bank-recon-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.bank-recon-spin{animation:bank-recon-spin 1s linear infinite}.bank-recon-dashboard,.bank-recon-detail,.bank-recon-upload{padding:28px 32px;max-width:1400px}.bank-recon-dashboard__header,.bank-recon-detail__header,.bank-recon-upload__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.bank-recon-dashboard__header h1,.bank-recon-detail__header h1,.bank-recon-upload__header h1{font-size:22px;font-weight:700;letter-spacing:-.01em}.bank-recon-detail__header-actions{display:flex;align-items:center;gap:12px}.bank-recon-back-link{color:var(--ap-muted);font-size:13px;font-weight:500;text-decoration:none;margin-bottom:6px;display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.bank-recon-back-link:hover{color:var(--ap-accent)}.bank-recon-filters{display:flex;gap:16px;align-items:center;margin-bottom:24px;padding:14px 18px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg)}.bank-recon-filters select{padding:8px 12px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-sm);font-size:13px;font-weight:500;background:var(--ap-surface);color:var(--text);transition:border-color .15s ease;outline:none}.bank-recon-filters select:focus{border-color:var(--ap-accent);box-shadow:0 0 0 2px var(--ap-accent-soft)}.bank-recon-month-nav{display:flex;align-items:center;gap:2px;margin-left:auto;border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);overflow:hidden}.bank-recon-month-nav__arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--ap-muted);cursor:pointer;transition:background .1s ease,color .1s ease}.bank-recon-month-nav__arrow:hover:not(:disabled){background:var(--ap-hover);color:var(--text)}.bank-recon-month-nav__arrow:disabled{opacity:.35;cursor:not-allowed}.bank-recon-month-nav__label{display:flex;align-items:center;gap:8px;padding:6px 16px;border:none;border-left:1px solid var(--ap-border);border-right:1px solid var(--ap-border);background:transparent;color:var(--text);font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:background .1s ease}.bank-recon-month-nav__label:hover{background:var(--ap-hover)}.bank-recon-month-nav__label svg{color:var(--ap-muted);flex-shrink:0}.bank-recon-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;margin-bottom:28px}.bank-recon-kpi-grid--three-way{margin-top:-14px}.bank-recon-kpi-card{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);padding:18px 20px;text-align:center;transition:transform .15s ease,box-shadow .15s ease;cursor:default}.bank-recon-kpi-card:hover{transform:translateY(-1px);box-shadow:var(--ap-shadow-md)}.bank-recon-kpi-card--skeleton{min-height:88px;background:linear-gradient(90deg,var(--ap-tab-bg) 25%,var(--ap-border-light) 37%,var(--ap-tab-bg) 63%);background-size:800px 100%;animation:ap-shimmer 1.5s ease infinite;border-radius:var(--ap-radius-lg);border:none}.bank-recon-kpi-card--success{border-left:4px solid var(--ap-success)}.bank-recon-kpi-card--warning{border-left:4px solid var(--ap-warning)}.bank-recon-kpi-card--danger{border-left:4px solid var(--ap-danger)}.bank-recon-kpi-card__value{font-size:26px;font-weight:700;color:var(--text);font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-kpi-card__label{font-size:11px;font-weight:600;color:var(--ap-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.03em}.bank-recon-progress{margin-bottom:20px;padding:16px 20px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg)}.bank-recon-progress__header{display:flex;justify-content:space-between;margin-bottom:10px}.bank-recon-progress__label{font-size:13px;font-weight:600;color:var(--ap-muted)}.bank-recon-progress__pct{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-progress__track{height:8px;background:var(--ap-border-light);border-radius:4px;overflow:hidden}.bank-recon-progress__fill{height:100%;background:var(--ap-success);border-radius:4px;transition:width .5s ease}.bank-recon-tabs{display:flex;align-items:center;background:var(--ap-tab-bg);border-radius:10px;padding:3px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:24px}.bank-recon-tabs::-webkit-scrollbar{display:none}.bank-recon-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;font-size:13px;font-weight:500;color:var(--ap-muted);background:transparent;border:none;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.bank-recon-tab:hover{background:rgba(0,0,0,.04);color:var(--text)}html.dark .bank-recon-tab:hover{background:hsla(0,0%,100%,.06)}.bank-recon-tab--active{background:var(--ap-tab-active-bg);color:var(--ap-tab-active-text);font-weight:600}.bank-recon-tab__count{font-size:11px;font-weight:700;background:rgba(0,0,0,.08);color:var(--ap-muted);padding:1px 7px;border-radius:10px;line-height:1.4}.bank-recon-tab--active .bank-recon-tab__count{background:hsla(0,0%,100%,.2);color:var(--ap-tab-active-text)}.bank-recon-tab-content{margin-bottom:24px}.bank-recon-table-wrap{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);overflow-x:auto;margin-bottom:24px}.bank-recon-table{width:100%;border-collapse:collapse;font-size:13px}.bank-recon-table th{background:var(--ap-header-bg);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ap-muted);padding:10px 16px;text-align:left;border-bottom:1px solid var(--ap-border);position:-webkit-sticky;position:sticky;top:0;z-index:1;white-space:nowrap}.bank-recon-table td{padding:12px 16px;border-bottom:1px solid var(--ap-border-light);color:var(--text);vertical-align:middle}.bank-recon-table tbody tr{transition:background .1s ease}.bank-recon-table tbody tr:last-child td{border-bottom:none}.bank-recon-table__row--clickable{cursor:pointer}.bank-recon-table__row--clickable:hover{background:var(--ap-hover-bg)}.bank-recon-table__desc{min-width:220px;max-width:420px;font-size:13px}.bank-recon-table__desc-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;line-height:1.5;color:var(--text)}.bank-recon-extracted-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.bank-recon-extracted-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--ap-radius);background:var(--ap-tab-bg);border:1px solid var(--ap-border-light);font-size:11px;line-height:1.5;white-space:nowrap}.bank-recon-extracted-pill__label{color:var(--ap-muted);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.4px}.bank-recon-extracted-pill__value{color:var(--text);font-family:var(--font-mono);font-size:10.5px}.bank-recon-extracted-pill--conflict{max-width:100%;min-width:0;flex-shrink:1}.bank-recon-extracted-pill--conflict .bank-recon-extracted-pill__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px;display:inline-block;vertical-align:bottom}.bank-recon-dl__mono{font-size:12px;letter-spacing:.3px}.bank-recon-table td.text-right{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-table--compact td,.bank-recon-table--compact th{padding:6px 12px}.bank-recon-table--grouped th{background:transparent;border-bottom:1px solid var(--ap-border-light)}.bank-recon-table--grouped td{vertical-align:top;padding-top:14px}.bank-recon-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--ap-radius-pill);font-size:11px;font-weight:700;white-space:nowrap;letter-spacing:.01em}.bank-recon-badge--success{background:var(--ap-success-bg);color:var(--ap-success)}.bank-recon-badge--warning{background:var(--ap-warning-bg);color:var(--ap-warning)}.bank-recon-badge--danger{background:var(--ap-danger-bg);color:var(--ap-danger)}.bank-recon-badge--info{background:var(--ap-info-bg);color:var(--ap-info)}.bank-recon-badge--indigo{background:var(--ap-indigo-bg);color:var(--ap-indigo)}.bank-recon-badge--neutral{background:var(--ap-gray-bg);color:var(--ap-gray)}.bank-recon-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--ap-radius-pill);font-size:11px;font-weight:700;white-space:nowrap}.bank-recon-status-badge--success{background:var(--ap-success-bg);color:var(--ap-success)}.bank-recon-status-badge--warning{background:var(--ap-warning-bg);color:var(--ap-warning)}.bank-recon-status-badge--danger{background:var(--ap-danger-bg);color:var(--ap-danger)}.bank-recon-confidence{display:flex;align-items:center;gap:8px;min-width:110px}.bank-recon-confidence__track{flex:1 1;height:6px;border-radius:3px;background:var(--ap-border-light);overflow:hidden}.bank-recon-confidence__fill{height:100%;border-radius:3px;transition:width .3s ease}.bank-recon-confidence--high{background:var(--ap-success)}.bank-recon-confidence--medium{background:var(--ap-warning)}.bank-recon-confidence--low{background:var(--ap-danger)}.bank-recon-confidence__bar{height:6px;border-radius:3px;transition:width .3s ease}.bank-recon-confidence__label{font-size:11px;font-weight:700;color:var(--ap-muted);min-width:32px;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-leg{font-size:14px;font-weight:700;text-align:center;width:28px}.bank-recon-leg--ok{color:var(--ap-success)}.bank-recon-leg--warn{color:var(--ap-warning)}.bank-recon-leg--danger{color:var(--ap-danger)}.bank-recon-leg--missing,.bank-recon-leg--na{color:var(--ap-muted-light)}.bank-recon-leg--na{font-size:11px}.bank-recon-balance-proof{padding:16px 20px;background:var(--ap-header-bg);border:1px solid var(--ap-border-light);border-radius:var(--ap-radius-lg);margin-bottom:20px}.bank-recon-balance-proof__title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ap-muted);margin-bottom:12px}.bank-recon-balance-proof__equation{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.bank-recon-balance-proof__term{display:flex;flex-direction:column;align-items:center;gap:2px}.bank-recon-balance-proof__label{font-size:10px;color:var(--ap-muted);text-transform:uppercase;font-weight:600}.bank-recon-balance-proof__value{font-size:15px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-balance-proof__op{font-size:18px;font-weight:700;color:var(--ap-muted)}.bank-recon-balance-proof__comparison{border-top:1px solid var(--ap-border-light);padding-top:10px;display:flex;flex-direction:column;gap:4px}.bank-recon-balance-proof__row{display:flex;justify-content:space-between;font-size:13px;color:var(--ap-muted)}.bank-recon-balance-proof__result{display:flex;justify-content:space-between;font-size:13px;font-weight:700;padding-top:4px;border-top:1px dashed var(--ap-border-light);margin-top:4px}.bank-recon-balance-proof__result--match{color:var(--ap-success)}.bank-recon-balance-proof__result--mismatch{color:var(--ap-danger)}.bank-recon-subtabs{display:flex;gap:6px;margin-bottom:14px}.bank-recon-subtab{padding:5px 14px;font-size:12px;font-weight:600;border-radius:20px;border:1px solid var(--ap-border);background:transparent;color:var(--ap-muted);cursor:pointer;transition:all .15s}.bank-recon-subtab:hover{border-color:var(--ap-primary);color:var(--ap-primary)}.bank-recon-subtab--active{background:var(--ap-primary);color:#fff;border-color:var(--ap-primary)}.bank-recon-grouped{display:flex;flex-direction:column;gap:12px}.bank-recon-group{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);overflow:hidden}.bank-recon-group__header{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;background:var(--ap-header-bg);transition:background .1s ease}.bank-recon-group__header:hover{background:var(--ap-hover-bg)}.bank-recon-group__arrow{font-size:12px;color:var(--ap-muted-light);width:16px;text-align:center;display:flex;align-items:center;justify-content:center}.bank-recon-group__label{font-size:14px;font-weight:600;color:var(--text);flex:1 1}.bank-recon-group__count{font-size:11px;font-weight:700;background:var(--ap-tab-bg);color:var(--ap-muted);padding:2px 8px;border-radius:var(--ap-radius-pill)}.bank-recon-group__total{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;color:var(--text)}.bank-recon-tag-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--ap-radius-pill);font-size:11px;font-weight:600;background:var(--ap-indigo-bg);color:var(--ap-indigo);margin-left:6px}.bank-recon-tag-cell{display:flex;flex-direction:column;gap:5px;min-width:160px}.bank-recon-tag-cell select{width:100%;font-size:12px;padding:5px 8px;border:1px solid var(--ap-border);border-radius:var(--ap-radius);background:var(--ap-surface);color:var(--text);cursor:pointer}.bank-recon-tag-cell select:focus{outline:none;border-color:var(--ap-accent);box-shadow:0 0 0 2px var(--ap-accent-soft)}.bank-recon-actions{display:flex;flex-direction:column;gap:5px;min-width:110px}.bank-recon-actions .btn{width:100%;justify-content:center;white-space:nowrap}.bank-recon-bulk-bar{justify-content:flex-end;margin-bottom:16px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-md)}.bank-recon-steps{display:flex;gap:0;margin-bottom:28px;padding:4px 0}.bank-recon-step{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--ap-muted);position:relative}.bank-recon-step:after{content:"";width:24px;height:2px;background:var(--ap-border);margin-left:12px}.bank-recon-step:last-child:after{display:none}.bank-recon-step__num{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--ap-tab-bg);color:var(--ap-muted);transition:background .2s ease,color .2s ease}.bank-recon-step--active .bank-recon-step__num{background:var(--ap-accent);color:#fff;box-shadow:0 0 0 4px var(--ap-accent-soft)}.bank-recon-step--done .bank-recon-step__num{background:var(--ap-success);color:#fff}.bank-recon-step__label{font-size:13px;font-weight:500}.bank-recon-step--active .bank-recon-step__label{color:var(--text);font-weight:600}.bank-recon-step--done .bank-recon-step__label{color:var(--ap-success)}.bank-recon-step--done:after{background:var(--ap-success)}.bank-recon-upload__card{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);padding:28px;max-width:700px;box-shadow:var(--ap-shadow-sm)}.bank-recon-upload__card h3{font-size:16px;font-weight:700;margin-bottom:20px}.bank-recon-upload__card--done{text-align:center;padding:48px 28px}.bank-recon-upload__actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.bank-recon-form-row{margin-bottom:18px}.bank-recon-form-row label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;color:var(--ap-muted)}.bank-recon-form-row select{width:100%;padding:10px 12px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);font-size:13px;font-weight:500;background:var(--ap-surface);color:var(--text);transition:border-color .15s ease;outline:none}.bank-recon-form-row select:focus{border-color:var(--ap-accent);box-shadow:0 0 0 2px var(--ap-accent-soft)}.bank-recon-inline-hint{margin-top:10px;padding:12px 16px;background:var(--ap-warning-bg);border-radius:var(--ap-radius-md);font-size:13px;color:var(--ap-warning);display:flex;align-items:center;gap:12px}.bank-recon-dropzone{border:2px dashed var(--ap-border);border-radius:var(--ap-radius-lg);padding:48px 24px;text-align:center;cursor:pointer;color:var(--ap-muted);transition:border-color .2s ease,background .2s ease;background:var(--ap-bg)}.bank-recon-dropzone--active,.bank-recon-dropzone:hover{border-color:var(--ap-accent);background:var(--ap-accent-soft)}.bank-recon-dropzone--has-file{border-color:var(--ap-success);background:var(--ap-success-bg)}.bank-recon-dropzone__prompt{display:flex;flex-direction:column;align-items:center;gap:8px}.bank-recon-dropzone__prompt svg{color:var(--ap-muted-light)}.bank-recon-dropzone__prompt p{font-size:14px;font-weight:500;color:var(--ap-muted);margin:0}.bank-recon-dropzone__hint{font-size:12px;color:var(--ap-muted-light)}.bank-recon-dropzone__file{display:flex;flex-direction:column;align-items:center;gap:6px}.bank-recon-dropzone__file svg{color:var(--ap-success)}.bank-recon-dropzone__filename{font-size:14px;font-weight:600;color:var(--text)}.bank-recon-dropzone__filesize{font-size:12px;color:var(--ap-muted)}.bank-recon-parse-progress{padding:20px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg)}.bank-recon-parse-progress__header{display:flex;justify-content:space-between;margin-bottom:10px}.bank-recon-parse-progress__label{font-size:13px;font-weight:600;color:var(--text)}.bank-recon-parse-progress__pct{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--ap-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-parse-progress__track{height:6px;background:var(--ap-border-light);border-radius:3px;overflow:hidden;margin-bottom:16px}.bank-recon-parse-progress__fill{height:100%;background:var(--ap-accent);border-radius:3px;transition:width .4s ease}.bank-recon-parse-stages{display:flex;gap:8px;flex-wrap:wrap}.bank-recon-parse-stage{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--ap-radius-pill);font-size:11px;font-weight:600}.bank-recon-parse-stage--pending{background:var(--ap-gray-bg);color:var(--ap-gray)}.bank-recon-parse-stage--active{background:var(--ap-info-bg);color:var(--ap-info)}.bank-recon-parse-stage--done{background:var(--ap-success-bg);color:var(--ap-success)}.bank-recon-meta-bar{display:flex;flex-wrap:wrap;gap:20px;padding:18px 20px;background:var(--ap-header-bg);border:1px solid var(--ap-border-light);border-radius:var(--ap-radius-lg);margin-bottom:24px}.bank-recon-meta-item{display:flex;flex-direction:column;gap:3px}.bank-recon-meta-label{font-size:11px;color:var(--ap-muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.bank-recon-meta-item span:not(.bank-recon-meta-label){font-size:14px;font-weight:600;color:var(--text)}.bank-recon-recent-uploads{margin-bottom:28px}.bank-recon-recent-uploads h3{font-size:14px;font-weight:700;color:var(--ap-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}.bank-recon-recent-uploads__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:12px;gap:12px}.bank-recon-recent-upload-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);text-decoration:none;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.bank-recon-recent-upload-card:hover{border-color:var(--ap-accent);box-shadow:var(--ap-shadow-sm)}.bank-recon-recent-upload-card__top{display:flex;align-items:center;gap:8px;min-width:0}.bank-recon-recent-upload-card__icon{color:var(--ap-muted);flex-shrink:0}.bank-recon-recent-upload-card__name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-recon-recent-upload-card__meta{font-size:12px;color:var(--ap-muted);display:flex;align-items:center;gap:6px;padding-left:24px}.bank-recon-recent-upload-card__meta-sep{opacity:.4}.bank-recon-recent-upload-card__bottom{display:flex;align-items:center;gap:10px;padding-left:24px;margin-top:2px}.bank-recon-recent-upload-card__match-text{font-size:12px;color:var(--ap-muted);font-family:var(--font-mono)}.bank-recon-recent-upload-card__delete{margin-left:4px;background:none;border:1px solid var(--ap-border);border-radius:4px;padding:2px 6px;cursor:pointer;color:var(--ap-muted);display:flex;align-items:center}.bank-recon-recent-upload-card__delete:hover{color:var(--danger,#e53e3e);border-color:var(--danger,#e53e3e)}.bank-recon-recent-upload-card__delete:disabled{opacity:.5;cursor:not-allowed}.bank-recon-recent-upload-card__reprocess{margin-left:auto;background:none;border:1px solid var(--ap-border);border-radius:4px;padding:2px 6px;cursor:pointer;color:var(--ap-muted);display:flex;align-items:center}.bank-recon-recent-upload-card__reprocess:hover{color:var(--ap-primary);border-color:var(--ap-primary)}.bank-recon-recent-upload-card__reprocess:disabled{opacity:.5;cursor:not-allowed}.bank-recon-recent-upload-card__reprocess .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.bank-recon-recent-upload-card__progress{height:4px;margin:2px 0 0 24px;background:var(--ap-gray-bg);border-radius:2px;overflow:hidden}.bank-recon-recent-upload-card__progress-fill{height:100%;background:var(--ap-success);border-radius:2px;transition:width .3s ease}.bank-recon-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:40;transition:opacity .2s ease}.bank-recon-drawer{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:90vw;background:var(--ap-surface);box-shadow:var(--ap-shadow-drawer);z-index:50;display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease}.bank-recon-drawer--wide{width:900px}.bank-recon-drawer__header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;border-bottom:1px solid var(--ap-border);flex-shrink:0}.bank-recon-drawer__header-left{display:flex;flex-direction:column;gap:8px}.bank-recon-drawer__header-left h3{margin:0;font-size:16px;font-weight:700}.bank-recon-drawer__close{background:none;border:none;padding:4px;cursor:pointer;color:var(--ap-muted);border-radius:var(--ap-radius-sm);transition:background .15s ease}.bank-recon-drawer__close:hover{background:var(--ap-hover);color:var(--text)}.bank-recon-drawer__header-right{display:flex;align-items:center;gap:8px}.bank-recon-drawer__layout-toggle{background:none;border:1px solid var(--ap-border);padding:4px 6px;cursor:pointer;color:var(--ap-muted);border-radius:var(--ap-radius-sm);transition:all .15s ease}.bank-recon-drawer__layout-toggle:hover{background:var(--ap-hover);color:var(--text)}.bank-recon-drawer__layout-toggle--active{background:var(--ap-accent-light);color:var(--ap-accent);border-color:var(--ap-accent)}.bank-recon-drawer__legs{display:flex;flex-direction:column;gap:12px}.bank-recon-drawer__legs--split{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:960px){.bank-recon-drawer--wide{width:90vw}.bank-recon-drawer__legs--split{grid-template-columns:1fr}}.bank-recon-drawer__body{flex:1 1;overflow-y:auto;padding:20px 24px}.bank-recon-drawer__section{margin-bottom:24px}.bank-recon-drawer__section h4{font-size:11px;font-weight:700;color:var(--ap-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px}.bank-recon-drawer__section--discrepancy{background:var(--ap-danger-bg);border-radius:var(--ap-radius-md);padding:16px}.bank-recon-drawer__actions{padding:16px 24px;border-top:1px solid var(--ap-border);background:var(--ap-header-bg);display:flex;gap:12px;flex-shrink:0}.bank-recon-dl{display:grid;grid-template-columns:130px 1fr;grid-gap:10px 16px;gap:10px 16px;font-size:13px}.bank-recon-dl dt{color:var(--ap-muted);font-weight:500;font-size:12px}.bank-recon-dl dd{color:var(--text);margin:0;font-weight:500}.bank-recon-dl__amount,.bank-recon-dl__discrepancy-amount{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:15px}.bank-recon-dl__discrepancy-amount{color:var(--ap-danger)}.bank-recon-dl__auto-created{color:var(--ap-indigo);font-weight:600;font-size:12px}.bank-recon-dl__mono{font-family:var(--font-mono);font-size:13px;letter-spacing:.02em}.bank-recon-amounts-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--ap-border);border-radius:var(--ap-radius-md);overflow:hidden;margin-bottom:20px}.bank-recon-amounts-strip__cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--ap-surface)}.bank-recon-amounts-strip__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ap-muted)}.bank-recon-amounts-strip__value{font-family:var(--font-mono);font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-drawer__leg-card{border-left:1px solid var(--ap-border);border:1px solid var(--ap-border);border-left-width:4px;border-radius:var(--ap-radius-md);padding:16px;margin-bottom:16px;background:var(--ap-surface)}.bank-recon-drawer__leg-card--active{border-left-color:var(--ap-success)}.bank-recon-drawer__leg-card--missing{border-left-style:dashed;opacity:.6}.bank-recon-drawer__leg-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.bank-recon-drawer__leg-header svg{color:var(--ap-muted)}.bank-recon-drawer__leg-card--active .bank-recon-drawer__leg-header svg{color:var(--ap-success)}.bank-recon-drawer__leg-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ap-muted)}.bank-recon-drawer__leg-summary{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);margin-bottom:8px}.bank-recon-drawer__leg-channel{background:var(--ap-gray-bg);color:var(--ap-muted);font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;text-transform:uppercase}.bank-recon-drawer__leg-amount{margin-left:auto;font-family:var(--font-mono);font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-drawer__leg-desc{font-size:13px;color:var(--text);margin:0 0 8px;line-height:1.5;word-break:break-word}.bank-recon-drawer__leg-ref{font-size:12px;color:var(--ap-muted);margin-bottom:4px}.bank-recon-drawer__leg-auto-tag{margin-left:auto;font-size:10px;font-weight:600;color:var(--ap-indigo);background:var(--ap-indigo-bg);padding:2px 8px;border-radius:99px;text-transform:uppercase}.bank-recon-drawer__leg-details{border-top:1px solid var(--ap-border);padding-top:10px;margin-top:4px}.bank-recon-dl--compact{gap:6px 12px;font-size:12px}.bank-recon-dl--compact dt{font-size:11px}.bank-recon-drawer__confidence-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--ap-gray-bg);border-radius:var(--ap-radius-md);margin-bottom:16px;font-size:12px}.bank-recon-drawer__confidence-tier{font-weight:700;color:var(--ap-muted);text-transform:uppercase;font-size:11px;white-space:nowrap}.bank-recon-drawer__confidence-reason{color:var(--ap-muted);font-size:12px;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-recon-drawer__multi-cfdi{border:1px solid var(--ap-border);border-left:4px solid var(--ap-success);border-radius:var(--ap-radius-md);padding:16px;margin-bottom:16px;background:var(--ap-surface)}.bank-recon-drawer__multi-cfdi-reason{font-size:13px;color:var(--text);margin:0 0 12px;line-height:1.5;word-break:break-word;padding:8px 10px;background:var(--ap-gray-bg);border-radius:6px}.bank-recon-mini-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}.bank-recon-mini-table th{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ap-muted);padding:4px 8px;border-bottom:1px solid var(--ap-border);text-align:left}.bank-recon-mini-table td{padding:6px 8px;border-bottom:1px solid var(--ap-border);color:var(--text)}.bank-recon-mini-table tfoot td{border-bottom:none;border-top:2px solid var(--ap-border);padding-top:8px}.bank-recon-three-way-viz{display:flex;align-items:stretch;gap:0;margin-bottom:24px}.bank-recon-leg-card{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);background:var(--ap-surface);text-align:center}.bank-recon-leg-card--active{border-color:var(--ap-success);background:var(--ap-success-bg)}.bank-recon-leg-card--active svg{color:var(--ap-success)}.bank-recon-leg-card--missing{border-style:dashed;border-color:var(--ap-border);opacity:.6}.bank-recon-leg-card--missing svg{color:var(--ap-muted-light)}.bank-recon-leg-card__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ap-muted)}.bank-recon-leg-card__amount{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bank-recon-leg-card__connector{display:flex;align-items:center;padding:0 6px;color:var(--ap-border)}.bank-recon-resolution__title{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--ap-muted);margin:16px 0 10px}.bank-recon-resolution-options{margin-top:16px}.bank-recon-resolution-options h4{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--ap-muted);margin-bottom:10px}.bank-recon-resolution-card{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;margin-bottom:6px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.bank-recon-resolution-card--selected,.bank-recon-resolution-card:hover{border-color:var(--ap-accent);background:var(--ap-accent-soft)}.bank-recon-resolution-card--selected{font-weight:600}.bank-recon-resolution-card--selected svg{color:var(--ap-accent)}.bank-recon-manual-match{position:fixed;bottom:0;left:0;right:0;background:var(--ap-surface);border-top:1px solid var(--ap-border);box-shadow:0 -4px 20px rgba(0,0,0,.08);padding:20px 28px;z-index:999;max-height:50vh;overflow-y:auto}.bank-recon-manual-match__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.bank-recon-manual-match__header h4{font-size:15px;font-weight:700}.bank-recon-manual-match__line-info{display:flex;gap:16px;align-items:center;margin-bottom:14px;padding:10px 14px;background:var(--ap-header-bg);border-radius:var(--ap-radius-md);font-size:13px;color:var(--ap-muted)}.bank-recon-manual-match__line-info strong{font-family:var(--font-mono);color:var(--text)}.bank-recon-manual-match__search{display:flex;gap:8px;margin-bottom:14px}.bank-recon-manual-match__search input{flex:1 1;padding:9px 14px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);font-size:13px;font-weight:500;color:var(--text);background:var(--ap-surface);outline:none;transition:border-color .15s ease}.bank-recon-manual-match__search input:focus{border-color:var(--ap-accent);box-shadow:0 0 0 2px var(--ap-accent-soft)}.bank-recon-manual-match__error{padding:8px 12px;background:var(--ap-danger-bg);color:var(--ap-danger);border-radius:var(--ap-radius-sm);font-size:13px;margin-bottom:12px}.bank-recon-alert--orange,.bank-recon-alert--yellow{background:var(--ap-warning-bg)}.bank-recon-alert--red{background:var(--ap-danger-bg)}.bank-recon-skeleton-table{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);padding:8px 0}.bank-recon-skeleton-row{height:48px;margin:0 16px 2px;background:linear-gradient(90deg,var(--ap-tab-bg) 25%,var(--ap-border-light) 37%,var(--ap-tab-bg) 63%);background-size:800px 100%;animation:ap-shimmer 1.5s ease infinite;border-radius:var(--ap-radius-sm)}.bank-recon-done-icon{color:var(--ap-success);margin-bottom:12px}.bank-recon-done-summary{display:flex;justify-content:center;gap:28px;margin:20px 0;padding:16px;background:var(--ap-header-bg);border-radius:var(--ap-radius-md)}.bank-recon-done-summary__item{display:flex;flex-direction:column;align-items:center;gap:3px}.bank-recon-done-summary__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ap-muted)}.bank-recon-done-summary__value{font-size:15px;font-weight:600;color:var(--text)}.bank-recon-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--ap-muted);font-size:14px}.bank-recon-empty-state{text-align:center;padding:48px 28px}.bank-recon-empty-state h3{font-size:16px;font-weight:700;margin-bottom:8px}.bank-recon-empty-state p{color:var(--ap-muted);font-size:14px;margin-bottom:20px}.bank-recon-error{background:var(--ap-danger-bg);border:1px solid var(--ap-danger);color:var(--ap-danger);padding:12px 16px;border-radius:var(--ap-radius-md);margin-bottom:16px;font-size:13px;font-weight:500}.bank-recon-loading{padding:48px;text-align:center;color:var(--ap-muted)}.bank-recon-resolve__type-selector{margin:20px 0 16px}.bank-recon-resolve__type-selector>label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ap-muted);margin-bottom:10px}.bank-recon-resolve__type-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.bank-recon-resolve__type-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);background:var(--ap-surface);cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.bank-recon-resolve__type-card--selected,.bank-recon-resolve__type-card:hover{border-color:var(--ap-accent);background:var(--ap-accent-soft)}.bank-recon-resolve__type-card--selected{font-weight:600}.bank-recon-resolve__type-icon{color:var(--ap-muted);line-height:1;display:flex;align-items:center;justify-content:center}.bank-recon-resolve__type-card--selected .bank-recon-resolve__type-icon{color:var(--ap-accent)}.bank-recon-resolve__type-label{font-size:12px;font-weight:500;color:var(--text)}.bank-recon-resolve__form{margin-top:16px}.bank-recon-resolve__row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:12px}.bank-recon-resolve__row:has(.bank-recon-resolve__field--sm){grid-template-columns:1fr 100px 1fr}.bank-recon-resolve__field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.bank-recon-resolve__field>label{font-size:12px;font-weight:600;color:var(--ap-muted)}.bank-recon-resolve__field input,.bank-recon-resolve__field select{padding:8px 10px;border-radius:var(--ap-radius-sm);border:1px solid var(--ap-border);background:var(--ap-surface);color:var(--text);font-size:13px}.bank-recon-resolve__field input:focus,.bank-recon-resolve__field select:focus{outline:2px solid var(--ring);border-color:var(--ap-accent)}.bank-recon-resolve__field--sm{max-width:100px}.bank-recon-resolve__info{display:flex;gap:20px;padding:10px 14px;margin:12px 0;background:var(--ap-info-bg);border-radius:var(--ap-radius-md);font-size:13px;color:var(--text)}.bank-recon-resolve__preview{padding:14px 16px;margin:16px 0;background:var(--ap-success-bg);border:1px solid var(--ap-success);border-radius:var(--ap-radius-md)}.bank-recon-resolve__preview h4{font-size:13px;font-weight:700;margin:0 0 8px;color:var(--ap-success)}.bank-recon-resolve__preview ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.bank-recon-resolve__error{display:flex;align-items:center;gap:8px;padding:10px 14px;margin:12px 0;background:var(--ap-danger-bg);border-radius:var(--ap-radius-md);font-size:13px;color:var(--ap-danger)}.bank-recon-resolve__radio-group{display:flex;flex-direction:column;gap:6px;margin-top:4px}.bank-recon-resolve__radio{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.bank-recon-resolve__radio input[type=radio]{accent-color:var(--ap-accent)}.bank-recon-resolve-success{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--ap-success)}.bank-recon-resolve-success h3{font-size:18px;font-weight:700;margin:0}.bank-recon-vendor-search{position:relative}.bank-recon-vendor-search input{width:100%;padding:8px 10px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-sm);background:var(--ap-surface);color:var(--text);font-size:13px}.bank-recon-vendor-search input:focus{outline:2px solid var(--ring);border-color:var(--ap-accent)}.bank-recon-vendor-dropdown{position:absolute;top:100%;left:0;right:0;z-index:60;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:var(--ap-radius-md);box-shadow:var(--ap-shadow-md);max-height:220px;overflow-y:auto;margin-top:4px}.bank-recon-vendor-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--text);text-align:left}.bank-recon-vendor-option:hover{background:var(--ap-hover-bg)}.bank-recon-vendor-selected{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--ap-accent);border-radius:var(--ap-radius-sm);background:var(--ap-accent-soft);font-size:13px}.bank-recon-vendor-rfc{font-family:var(--font-mono);font-size:11px;color:var(--ap-muted)}.bank-recon-status-group{display:flex;flex-wrap:wrap;gap:4px}.bank-recon-badge--sm{font-size:10px;padding:2px 6px}.bank-recon-inline-form-row td{padding:0!important}.bank-recon-inline-form{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--ap-header-bg);border-top:1px dashed var(--ap-border)}.bank-recon-inline-form input{flex:1 1;padding:6px 10px;border:1px solid var(--ap-border);border-radius:var(--ap-radius-sm);background:var(--ap-surface);color:var(--text);font-size:13px}.bank-recon-deadline{font-size:11px;margin-top:2px}.bank-recon-deadline--overdue{color:var(--ap-danger);font-weight:700}.bank-recon-deadline--warning{color:var(--ap-warning);font-weight:600}.bank-recon-deadline--ok{color:var(--ap-success)}.bank-recon-bulk-bar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ap-surface);border-top:1px solid var(--ap-border);border-radius:0 0 var(--ap-radius) var(--ap-radius);box-shadow:0 -2px 8px rgba(0,0,0,.08);z-index:10}.bank-recon-bulk-bar__count{font-size:13px;font-weight:600;color:var(--text)}.bank-recon-table__row--selected{background:var(--ap-accent-soft)}.recon-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.recon-filters input[type=month],.recon-filters select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md,6px);background:var(--card-bg);color:var(--text-primary);font-size:.875rem}.recon-basis-toggle{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md,6px);overflow:hidden}.recon-basis-toggle button{padding:.5rem 1rem;border:none;background:var(--card-bg);color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:background .15s,color .15s}.recon-basis-toggle button.active{background:var(--accent-color,#3b82f6);color:#fff}.recon-summary-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg,8px);padding:1.5rem;margin-bottom:1rem}.recon-summary-table{width:100%;border-collapse:collapse}.recon-summary-table td,.recon-summary-table th{padding:.75rem 1rem;text-align:right;border-bottom:1px solid var(--border-color)}.recon-summary-table th{text-align:left;font-weight:600;color:var(--text-secondary);font-size:.8125rem;text-transform:uppercase;letter-spacing:.02em}.recon-summary-table td:first-child{text-align:left;font-weight:500}.recon-delta-ok{color:var(--success-color,#22c55e)}.recon-delta-warn{color:var(--warning-color,#f59e0b)}.recon-delta-error{color:var(--error-color,#ef4444);font-weight:600}.recon-unmapped-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--warning-bg,#fef3c7);color:var(--warning-text,#92400e);border-radius:var(--radius-md,6px);font-size:.8125rem;margin-top:.75rem}.recon-empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.recon-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.recon-kpi-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg,8px);padding:1rem 1.25rem}.recon-kpi-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.25rem}.recon-kpi-value{font-size:1.5rem;font-weight:600}.recon-type-selector{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.recon-type-pill{padding:.375rem .875rem;border:1px solid var(--border-color);border-radius:999px;background:var(--card-bg);color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.recon-type-pill:hover{border-color:var(--accent-color,#3b82f6);color:var(--text-primary)}.recon-type-pill.active{background:var(--accent-color,#3b82f6);border-color:var(--accent-color,#3b82f6);color:#fff}.recon-drill-table{width:100%;border-collapse:collapse;margin-top:.5rem}.recon-drill-table th{text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.02em;padding:.5rem .75rem;border-bottom:2px solid var(--border-color)}.recon-drill-table td{padding:.625rem .75rem;border-bottom:1px solid var(--border-color);font-size:.875rem}.recon-drill-table tr:hover{background:var(--row-hover-bg,rgba(0,0,0,.02))}.recon-drill-table td.amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recon-drill-table .tipo-invoice{color:var(--text-primary)}.recon-drill-table .tipo-credit{color:var(--error-color,#ef4444)}.recon-delta-clickable{cursor:pointer;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:2px}.recon-delta-clickable:hover{-webkit-text-decoration-style:solid;text-decoration-style:solid}.recon-detail-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.recon-record-count{font-size:.8125rem;color:var(--text-secondary)}.recon-tab-bar{display:flex;gap:0;margin-bottom:16px;border-bottom:2px solid var(--border-color)}.recon-tab{padding:8px 20px;background:none;cursor:pointer;font-size:14px;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;margin-bottom:-2px}.recon-tab.active{border-bottom-color:var(--accent-color,#3b82f6);font-weight:600}.recon-tab.active,.recon-tab:hover{color:var(--text-primary)}.recon-empty{color:var(--text-secondary);font-size:.875rem;padding:1.5rem 0;text-align:center}.recon-filters-bar .ap-filters-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}html.dark .recon-filters-bar .ap-filters-section{background:var(--ap-surface);border-color:var(--ap-border)}.period-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;margin-left:8px}.period-status-open{background:var(--badge-bg,#e0e0e0);color:var(--badge-text,#555)}.period-status-filed{background:#e8f5e9;color:#2e7d32}.period-override-form{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface,#fafafa)}.period-override-form label{display:block;font-weight:600;margin-bottom:4px;font-size:13px}.period-override-form textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:4px;font-size:13px;resize:vertical;background:var(--input-bg,#fff);color:var(--text-primary);box-sizing:border-box}.period-override-actions{display:flex;gap:8px;margin-top:8px}.badge-late-arrival{background:#fff3e0;color:#e65100;padding:2px 6px;border-radius:4px;font-size:11px}[data-theme=dark] .period-status-open{background:hsla(0,0%,100%,.08);color:var(--text-secondary)}[data-theme=dark] .period-status-filed{background:rgba(46,125,50,.2);color:#66bb6a}[data-theme=dark] .period-override-form{background:var(--surface-raised,#1e1e1e)}[data-theme=dark] .period-override-form textarea{background:var(--input-bg-dark,#2a2a2a);border-color:var(--border-dark,#444)}[data-theme=dark] .badge-late-arrival{background:rgba(230,81,0,.2);color:#ffab40}.notification-bell-wrapper{position:relative;display:inline-flex;align-items:center}.notification-bell{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--error,#ef4444);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;pointer-events:none}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:100;overflow:hidden}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.notification-dropdown-title{font-weight:700;font-size:15px}.notification-dropdown-mark-all{background:none;border:none;color:var(--accent-color,#3b82f6);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px}.notification-dropdown-mark-all:hover:not(:disabled){background:var(--surface-2)}.notification-dropdown-mark-all:disabled{opacity:.4;cursor:default}.notification-dropdown-list{max-height:400px;overflow-y:auto;overscroll-behavior:contain}.notification-dropdown-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--text-secondary,#888);font-size:14px}.notification-item{display:flex;width:100%;text-align:left;background:none;border:none;border-left:3px solid transparent;padding:12px 16px;cursor:pointer;transition:background .12s ease;font:inherit;color:var(--text)}.notification-item:hover{background:var(--surface-2)}.notification-item+.notification-item{border-top:1px solid var(--border)}.notification-item-unread{background:var(--accent-bg,rgba(59,130,246,.04))}.notification-item-unread .notification-item-title{font-weight:700}.notification-item-content{flex:1 1;min-width:0}.notification-item-top{display:flex;align-items:center;gap:8px}.notification-item-title{font-size:14px;font-weight:500;flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-color,#3b82f6);flex-shrink:0}.notification-item-body{font-size:13px;color:var(--text-secondary,#888);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:12px;color:var(--text-secondary,#888);margin-top:4px}.notification-dropdown-footer{padding:10px 16px;border-top:1px solid var(--border);text-align:center}.notification-dropdown-footer-text{font-size:13px;color:var(--text-secondary,#888)}.notification-toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.notification-toast{width:320px;max-width:calc(100vw - 32px);padding:12px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.15);cursor:pointer;pointer-events:auto;transform:translateX(120%);opacity:0;transition:transform .3s ease,opacity .3s ease}.notification-toast-visible{transform:translateX(0);opacity:1}.notification-toast-info{border-left:4px solid var(--info,#3b82f6)}.notification-toast-warning{border-left:4px solid var(--warning,#eab308)}.notification-toast-critical{border-left:4px solid var(--error,#ef4444)}.notification-toast-title{font-size:14px;font-weight:600}.notification-toast-body{font-size:13px;color:var(--text-secondary,#888);margin-top:2px}@media (max-width:480px){.notification-dropdown{width:calc(100vw - 16px);right:-8px}.notification-toast{width:calc(100vw - 32px)}}[data-theme=dark] .notification-dropdown{box-shadow:0 8px 24px rgba(0,0,0,.3)}[data-theme=dark] .notification-toast{box-shadow:0 4px 16px rgba(0,0,0,.3)}[data-theme=dark] .notification-item-unread{background:rgba(59,130,246,.08)}.certificates-page{max-width:960px}.certificates-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.certificates-header h1{font-size:1.5rem;font-weight:600;margin:0}.certificates-toast{position:fixed;top:72px;right:24px;background:var(--color-success,#22c55e);color:#fff;padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.15);animation:cert-toast-in .2s ease-out}@keyframes cert-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.certificates-upload-form{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;padding:20px;margin-bottom:20px}.certificates-upload-form h3{margin:0 0 16px;font-size:1.1rem;font-weight:600}.certificates-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}@media (max-width:640px){.certificates-form-grid{grid-template-columns:1fr}}.certificates-form-field label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:4px;color:var(--color-text-secondary,#64748b)}.certificates-form-field input[type=password],.certificates-form-field select{width:100%;padding:8px 10px;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;font-size:.875rem;background:var(--color-bg,#fff);color:var(--color-text,#1e293b)}.certificates-form-field input[type=file]{font-size:.8125rem}.certificates-radio-group{display:flex;gap:16px;padding-top:4px}.certificates-radio{display:flex;align-items:center;gap:6px;font-size:.875rem;cursor:pointer}.certificates-form-actions{display:flex;gap:8px}.certificates-error{background:var(--color-danger-bg,#fef2f2);color:var(--color-danger,#ef4444);padding:8px 12px;border-radius:6px;font-size:.8125rem;margin-bottom:12px}.certificates-filter{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:.875rem}.certificates-filter select{padding:6px 10px;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;font-size:.875rem;background:var(--color-bg,#fff);color:var(--color-text,#1e293b)}.certificates-loading{display:flex;justify-content:center;padding:40px 0}.certificates-error-state{text-align:center;padding:40px 0;color:var(--color-danger,#ef4444)}.certificates-empty{text-align:center;padding:40px 0;color:var(--color-text-muted,#94a3b8);font-size:.9375rem}.certificates-entity-group{margin-bottom:24px}.certificates-entity-name{font-size:1rem;font-weight:600;margin:0 0 12px;color:var(--color-text-secondary,#64748b)}.certificates-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.certificates-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;padding:14px 16px;transition:box-shadow .15s}.certificates-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}.certificates-card--inactive{opacity:.55}.certificates-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.certificates-type-badge{font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;border-radius:4px}.certificates-type-badge--fiel{background:#dbeafe;color:#1d4ed8}.certificates-type-badge--csd{background:#fef3c7;color:#92400e}.certificates-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.certificates-card-body{display:flex;flex-direction:column;gap:4px}.certificates-card-row{display:flex;justify-content:space-between;font-size:.8125rem;line-height:1.6}.certificates-card-label{color:var(--color-text-muted,#94a3b8)}.certificates-card-value{font-weight:500;text-align:right}.certificates-days-text{font-weight:400;font-size:.75rem;opacity:.7}.certificates-card-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border,#e2e8f0)}.certificates-confirm-delete{display:flex;align-items:center;gap:8px;font-size:.8125rem}.certificates-confirm-delete p{margin:0;flex:1 1}[data-theme=dark] .certificates-type-badge--fiel{background:rgba(59,130,246,.15);color:#93c5fd}[data-theme=dark] .certificates-type-badge--csd{background:rgba(251,191,36,.15);color:#fcd34d}.contador-export-validation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.contador-export-validation-modal{background:var(--card-bg,#fff);border-radius:12px;width:520px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}.contador-export-validation-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid var(--border-color,#e0e0e0)}.contador-export-validation-header h3{margin:0;font-size:1.1rem}.contador-export-validation-close{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary,#666)}.contador-export-validation-body{padding:16px 24px}.contador-export-validation-passed{display:flex;align-items:center;gap:12px;color:var(--success-color,#2e7d32);padding:12px 0}.contador-export-validation-summary{color:var(--text-secondary,#666);margin-bottom:16px;font-size:.9rem}.contador-export-validation-item{display:flex;gap:12px;padding:12px;border-radius:8px;margin-bottom:8px}.contador-export-validation-item.warning{background:var(--warning-bg,#fff8e1);color:var(--warning-text,#e65100)}.contador-export-validation-item.warning svg{flex-shrink:0;margin-top:2px}.contador-export-validation-item strong{display:block;margin-bottom:4px;font-size:.9rem}.contador-export-validation-item p{margin:0;font-size:.85rem;opacity:.85}.contador-export-validation-actions{display:flex;justify-content:flex-end;gap:12px;padding:12px 24px 20px;border-top:1px solid var(--border-color,#e0e0e0)}.contador-export-validation-review{padding:8px 16px;border:1px solid var(--border-color,#ccc);border-radius:6px;background:transparent;cursor:pointer;font-size:.9rem}.contador-export-validation-proceed{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:var(--primary-color,#1976d2);color:#fff;cursor:pointer;font-size:.9rem}.contador-export-validation-proceed:hover{opacity:.9}.ap-hub-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.ap-hub-sections{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:768px){.ap-hub-sections{grid-template-columns:1fr}}.ap-cfdi-widget .ap-cfdi-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light,#f3f4f6)}.ap-cfdi-widget .ap-cfdi-item:last-child{border-bottom:none}.ap-cfdi-widget .ap-cfdi-sender{font-weight:500;font-size:.875rem}.ap-cfdi-widget .ap-cfdi-file{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-cfdi-widget .ap-cfdi-file,.ap-cfdi-widget .ap-cfdi-time{color:var(--muted);font-size:.75rem}.ap-widget-footer{display:flex;align-items:center;gap:6px;padding-top:12px;border-top:1px solid var(--border-light,#f3f4f6);margin-top:8px}.ap-widget-footer a{display:flex;align-items:center;gap:4px;color:var(--accent,#3b82f6);font-size:.875rem;font-weight:500;text-decoration:none}.ap-widget-footer a:hover{text-decoration:underline}.ap-recon-rate{font-size:1.5rem;font-weight:700}.ap-recon-rate.good{color:var(--success)}.ap-recon-rate.warn{color:var(--warning)}.ap-recon-rate.bad{color:var(--danger)}.ar-hub-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.ar-hub-sections{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:768px){.ar-hub-sections{grid-template-columns:1fr}}.ar-diot-action-card{display:flex;flex-direction:column;gap:12px}.ar-diot-action-card .ar-diot-controls,.ar-diot-action-card .ar-diot-header{display:flex;align-items:center;gap:8px}.ar-diot-action-card .ar-diot-controls{flex-wrap:wrap}.pipeline-stage-bar{display:flex;align-items:center;justify-content:center;gap:0;padding:16px 24px;border-bottom:1px solid var(--border);overflow-x:auto}.pipeline-step{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:100px;cursor:pointer}.pipeline-step--disabled{cursor:not-allowed;opacity:.5}.pipeline-step__circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:2px solid var(--border);background:var(--surface-2);color:var(--muted);transition:all .2s ease}.pipeline-step--active .pipeline-step__circle{background:var(--brand);color:#fff;border-color:var(--brand)}.pipeline-step--complete .pipeline-step__circle{background:var(--success);color:#fff;border-color:var(--success)}.pipeline-step__label{font-size:12px;font-weight:400;color:var(--muted);text-align:center;white-space:nowrap}.pipeline-step--active .pipeline-step__label{font-weight:600;color:var(--text)}.pipeline-chevron{color:var(--muted);margin:0 4px 20px;flex-shrink:0}.pipeline-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border)}.pipeline-content{padding:24px;max-width:1200px;margin:0 auto}.pipeline-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border)}.preview-totals{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}.preview-totals .card{text-align:center;padding:20px}.preview-totals .card strong{font-size:24px;display:block;margin-top:4px}.employee-table{width:100%;border-collapse:collapse}.employee-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:2px solid var(--border)}.employee-table td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}.employee-table tr:hover{background:var(--surface-2);cursor:pointer}.employee-table td.amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.approval-card{padding:24px;border-radius:12px;border:1px solid var(--border);background:var(--surface);margin-bottom:16px}.approval-card--approved{border-left:4px solid var(--success)}.approval-card--pending{border-left:4px solid var(--warning)}.approval-card__status{display:flex;align-items:center;gap:8px;margin-bottom:12px}.employee-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:1000;display:flex;justify-content:flex-end}.employee-detail-panel{width:600px;max-width:90vw;background:var(--bg);height:100%;overflow-y:auto;padding:24px;box-shadow:-4px 0 20px rgba(0,0,0,.1)}.employee-detail-section{margin-bottom:24px}.employee-detail-section h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.detail-table{width:100%;border-collapse:collapse;font-size:13px}.detail-table td{padding:6px 8px;border-bottom:1px solid var(--border)}.detail-table td.amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-table tr.subtotal td{font-weight:700;border-top:2px solid var(--border)}.dashboard-period-row:hover{background:var(--surface-2)}.dashboard-period-row:last-child{border-bottom:none}.gather-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.gather-card{padding:20px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.gather-card__value{font-size:28px;font-weight:700;margin:8px 0 4px}.gather-card--success .gather-card__value{color:var(--success)}.gather-card--warning .gather-card__value{color:var(--warning)}.anomaly-card{display:flex;gap:12px;padding:16px;border-radius:10px;border:1px solid var(--border);background:var(--surface);margin-bottom:12px}.anomaly-card--warning{border-left:4px solid var(--warning)}.anomaly-card__dismiss{margin-left:auto;cursor:pointer;color:var(--muted);padding:4px;border:none;background:none}.anomaly-card__dismiss:hover{color:var(--text)}.ar-invoices-entity-selector{display:flex;align-items:center;gap:8px;margin-bottom:16px}.ar-invoices-entity-selector label{font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}.ar-invoices-entity-selector select{flex:1 1;max-width:400px}.ar-toast{position:fixed;top:20px;right:20px;z-index:100;padding:12px 20px;background:var(--success,#22c55e);color:#fff;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 2px 8px rgba(0,0,0,.15);animation:ar-toast-in .3s ease}@keyframes ar-toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ar-actions-wrapper{position:relative;display:inline-block}.ar-actions-btn{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;color:var(--muted);transition:background .1s ease;display:flex;align-items:center}.ar-actions-btn:hover{background:var(--surface-2)}.ar-actions-menu{position:absolute;right:0;top:100%;background:var(--card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:160px;z-index:10;overflow:hidden}.ar-actions-menu-item{display:block;width:100%;padding:8px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:13px;color:var(--text);transition:background .1s ease}.ar-actions-menu-item:hover{background:var(--surface-2)}.ar-actions-menu-item--danger{color:var(--danger,#ef4444)}.ar-clickable-row{cursor:pointer}.ar-clickable-row:hover{background:var(--hover-bg,rgba(0,0,0,.03))}.ar-text-danger{color:var(--danger,#ef4444)}.ar-text-success{color:var(--success,#22c55e)}.ar-text-muted{color:var(--muted)}.ar-text-center{text-align:center}.ar-text-mono,.ar-text-mono-sm{font-family:var(--font-mono,monospace)}.ar-text-mono-sm{font-size:12px}.ar-text-bold{font-weight:700}.ar-icon-inline{display:inline-flex;align-items:center;vertical-align:middle;gap:4px}.ar-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;margin-right:6px}.ar-status-dot--error{background:var(--danger,#ef4444)}.ar-status-dot--warning{background:var(--warning,#f59e0b)}.ar-status-dot--ok{background:var(--success,#22c55e)}.ar-status-dot--hollow{background:transparent;border:1.5px solid var(--muted)}.ar-invoice-status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.ar-invoice-status-badge--lg{padding:4px 12px;font-size:13px}.ar-invoice-status-badge--draft{background:rgba(156,163,175,.12);color:var(--muted)}.ar-invoice-status-badge--timbrada{background:rgba(59,130,246,.12);color:#3b82f6}.ar-invoice-status-badge--entregada{background:rgba(34,197,94,.12);color:var(--success,#22c55e)}.ar-invoice-status-badge--cobrada{background:var(--success,#22c55e);color:#fff}.ar-invoice-status-badge--partially-paid{background:rgba(245,158,11,.12);color:#f59e0b}.ar-invoice-status-badge--cancelada{background:rgba(239,68,68,.12);color:var(--danger,#ef4444)}.ar-invoice-status-badge--cancellation-pending{background:rgba(245,158,11,.12);color:#f59e0b}.ar-invoice-payment-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ar-invoice-payment-badge--pue{background:rgba(59,130,246,.08);color:#3b82f6}.ar-invoice-payment-badge--ppd{background:rgba(245,158,11,.08);color:#f59e0b}.ar-invoices-folio-cell{display:flex;align-items:center;gap:8px}.ar-invoice-folio{font-family:SF Mono,Menlo,monospace;font-size:13px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.ar-invoices-client-cell{display:flex;flex-direction:column;gap:2px}.ar-invoices-client-rfc{font-family:SF Mono,Menlo,monospace;font-size:12px;font-weight:600;color:var(--brand-2);letter-spacing:.02em}.ar-invoices-client-name{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.ar-invoices-loading{display:flex;justify-content:center;padding:48px 0}.ar-invoices-error-state{text-align:center;padding:32px;color:var(--danger,#ef4444)}.ar-invoices-empty{text-align:center;padding:48px 16px;color:var(--muted)}.ar-invoice-drawer-close{background:none;border:none;cursor:pointer;font-size:24px;color:var(--muted);padding:4px 8px;border-radius:4px;line-height:1;transition:background .1s ease}.ar-invoice-drawer-close:hover{background:var(--surface-2)}.ar-invoice-drawer-status-header{display:flex;flex-direction:column;gap:8px}.ar-invoice-drawer-folio{font-family:SF Mono,Menlo,monospace;font-size:20px;font-weight:700;color:var(--text);letter-spacing:.02em}.ar-invoice-drawer-uuid{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ar-invoice-drawer-uuid-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.ar-invoice-drawer-uuid-value{background:none;border:none;cursor:pointer;font-family:SF Mono,Menlo,monospace;font-size:11px;color:var(--text);padding:2px 6px;border-radius:4px;transition:background .1s ease;word-break:break-all;text-align:left}.ar-invoice-drawer-uuid-value:hover{background:var(--surface-2)}.ar-invoice-drawer-uuid-copy{font-size:10px;color:var(--brand-2);font-weight:600;margin-left:4px}.ar-invoice-drawer-card{padding:12px 14px;background:rgba(0,0,0,.02);border:1px solid var(--border);border-radius:8px}.ar-invoice-drawer-field{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0}.ar-invoice-drawer-field+.ar-invoice-drawer-field{border-top:1px solid var(--border)}.ar-invoice-drawer-total{padding-top:10px;border-top:2px solid var(--border)!important}.ar-invoice-drawer-total .ar-invoice-drawer-field-label{font-size:14px;font-weight:700;color:var(--text)}.ar-invoice-drawer-total .ar-invoice-drawer-field-value{font-size:18px;font-weight:700}.ar-invoice-drawer-lines-wrapper{overflow-x:auto}.ar-invoice-drawer-lines-table{width:100%;border-collapse:collapse;font-size:13px}.ar-invoice-drawer-lines-table th{text-align:left;padding:6px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.ar-invoice-drawer-lines-table td{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text)}.ar-invoice-drawer-downloads{display:flex;gap:8px}.ar-invoice-drawer-downloads .btn{flex:1 1}.ar-invoice-drawer-timeline{display:flex;flex-direction:column;gap:0;padding-left:16px}.ar-invoice-timeline-step{position:relative;display:flex;align-items:flex-start;gap:12px;padding-bottom:20px}.ar-invoice-timeline-step:last-child{padding-bottom:0}.ar-invoice-timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--border);flex-shrink:0;margin-top:3px;z-index:1}.ar-invoice-timeline-step--active .ar-invoice-timeline-dot{background:var(--success,#22c55e)}.ar-invoice-timeline-dot--cancel{background:var(--danger,#ef4444)!important}.ar-invoice-timeline-line{position:absolute;left:5px;top:15px;width:2px;height:calc(100% - 3px);background:var(--border)}.ar-invoice-timeline-line--active{background:var(--success,#22c55e)}.ar-invoice-timeline-content{display:flex;flex-direction:column;gap:2px}.ar-invoice-timeline-label{font-size:13px;font-weight:600;color:var(--text)}.ar-invoice-timeline-date{font-size:12px;color:var(--muted)}.ar-invoice-drawer-actions{display:flex;gap:8px}.ar-invoice-wizard{max-width:900px;margin:0 auto;padding:0 16px 32px}.ar-invoice-wizard-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:28px;padding:0 16px}.ar-invoice-wizard-step-indicator{display:flex;align-items:center;gap:8px}.ar-invoice-wizard-step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:14px;font-weight:700;background:rgba(156,163,175,.12);color:var(--muted);transition:background .2s ease,color .2s ease}.ar-invoice-wizard-step-indicator--active .ar-invoice-wizard-step-number{background:var(--brand-2);color:#fff}.ar-invoice-wizard-step-indicator--completed .ar-invoice-wizard-step-number{background:var(--success,#22c55e);color:#fff}.ar-invoice-wizard-step-label{font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}.ar-invoice-wizard-step-indicator--active .ar-invoice-wizard-step-label{color:var(--text)}.ar-invoice-wizard-step-connector{width:40px;height:2px;background:var(--border);margin:0 12px}.ar-invoice-wizard-step-connector--completed{background:var(--success,#22c55e)}.ar-invoice-wizard-step{min-height:300px}.ar-invoice-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;border-top:1px solid var(--border);margin-top:24px}.ar-invoice-wizard-actions-right{display:flex;gap:8px}.ar-invoice-step1-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.ar-invoice-step1-form .ar-invoice-step1-field--full{grid-column:1/-1}.ar-invoice-client-summary{padding:12px 16px;background:rgba(59,130,246,.04);border:1px solid rgba(59,130,246,.12);border-radius:8px;margin-bottom:16px}.ar-invoice-client-summary-rfc{font-family:SF Mono,Menlo,monospace;font-size:14px;font-weight:700;color:var(--brand-2);margin-bottom:4px}.ar-invoice-client-summary-name{font-size:14px;color:var(--text);margin-bottom:2px}.ar-invoice-client-summary-detail{font-size:12px;color:var(--muted)}.ar-invoice-line-items{margin-bottom:16px}.ar-invoice-line-item{position:relative;padding:12px;margin-bottom:8px;background:var(--surface,#fff);border:1px solid var(--border);border-radius:8px}.ar-invoice-line-item-row{display:grid;grid-template-columns:2fr 1fr 1fr .5fr 1fr .7fr 1fr;grid-gap:8px;gap:8px;align-items:end}.ar-invoice-line-item-row input,.ar-invoice-line-item-row select{width:100%;font-size:13px}.ar-invoice-line-item-row label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}.ar-invoice-line-remove{position:absolute;top:8px;right:8px;background:none;border:none;cursor:pointer;font-size:18px;color:var(--danger,#ef4444);padding:2px 6px;border-radius:4px;line-height:1;transition:background .1s ease}.ar-invoice-line-remove:hover{background:rgba(239,68,68,.08)}.ar-invoice-line-toggle{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.ar-invoice-line-toggle button{font-size:12px;color:var(--brand-2);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.ar-invoice-line-toggle-fields{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.ar-invoice-line-toggle-fields label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}.ar-invoice-line-toggle-fields input{width:100px;font-size:13px}.ar-invoice-add-line{display:flex;align-items:center;justify-content:center;width:100%;padding:10px;border:2px dashed var(--border);border-radius:8px;background:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--brand-2);transition:border-color .15s ease,background .15s ease}.ar-invoice-add-line:hover{border-color:var(--brand-2);background:rgba(59,130,246,.04)}.ar-tax-summary-compact{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 0;font-size:14px}.ar-tax-summary-compact .ar-tax-summary-item{display:flex;align-items:center;gap:4px}.ar-tax-summary-compact .ar-tax-summary-label{color:var(--muted);font-size:12px;font-weight:600}.ar-tax-summary-compact .ar-tax-summary-value{font-weight:700;color:var(--text)}.ar-tax-summary-full{width:100%;margin-top:8px}.ar-tax-summary-full table{width:100%;border-collapse:collapse;font-size:13px}.ar-tax-summary-full th{text-align:left;padding:6px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border)}.ar-tax-summary-full th:last-child{text-align:right}.ar-tax-summary-row td{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text)}.ar-tax-summary-row td:last-child{text-align:right;font-weight:600}.ar-tax-summary-total td{padding:10px;border-top:2px solid var(--border);font-weight:700;font-size:16px;color:var(--text)}.ar-tax-summary-total td:last-child{text-align:right}.ar-invoice-review{display:flex;flex-direction:column;gap:20px}.ar-invoice-review-section{padding:16px;background:var(--surface,#fff);border:1px solid var(--border);border-radius:8px}.ar-invoice-review-section h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 12px}.ar-invoice-review-client-card{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 12px;gap:4px 12px;font-size:14px}.ar-invoice-review-client-card .review-label{font-weight:600;color:var(--muted);font-size:12px}.ar-invoice-review-client-card .review-value{color:var(--text)}.ar-invoice-review-lines-table{width:100%;border-collapse:collapse;font-size:13px}.ar-invoice-review-lines-table th{text-align:left;padding:6px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border)}.ar-invoice-review-lines-table td{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text)}.ar-invoice-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.ar-stamp-confirm-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;animation:ar-stamp-overlay-in .15s ease}@keyframes ar-stamp-overlay-in{0%{opacity:0}to{opacity:1}}.ar-stamp-confirm-dialog{width:420px;max-width:90vw;background:var(--surface,#fff);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);padding:24px;animation:ar-stamp-dialog-in .2s ease}@keyframes ar-stamp-dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ar-stamp-confirm-dialog h3{font-size:18px;font-weight:700;color:var(--text);margin:0 0 12px}.ar-stamp-confirm-warning{padding:12px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);border-radius:8px;color:var(--text);font-size:14px;line-height:1.5;margin-bottom:16px}.ar-stamp-confirm-warning strong{color:#f59e0b}.ar-stamp-confirm-no-email{padding:8px 12px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--danger,#ef4444);font-size:13px;margin-bottom:12px}.ar-stamp-confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}.ar-cancellation-queue{margin-bottom:16px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.ar-cancellation-queue__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:none;background:rgba(245,158,11,.06);cursor:pointer;font-size:13px;font-weight:600;color:var(--text);text-align:left;transition:background .1s ease}.ar-cancellation-queue__header:hover{background:rgba(245,158,11,.1)}.ar-cancellation-queue__title{display:flex;align-items:center;gap:8px}.ar-cancellation-queue__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;font-weight:700;background:rgba(245,158,11,.15);color:#f59e0b}.ar-cancellation-queue__chevron{font-size:16px;font-weight:700;color:var(--muted)}.ar-cancellation-queue__items{padding:8px 14px 14px}.ar-cancellation-queue-item{display:flex;align-items:center;gap:12px;padding:10px 0}.ar-cancellation-queue-item+.ar-cancellation-queue-item{border-top:1px solid var(--border)}.ar-cancellation-queue-item__info{flex:1 1;display:flex;flex-direction:column;gap:2px}.ar-cancellation-queue-item__rfc{font-size:12px;color:var(--muted)}.ar-cancellation-queue-item__motivo{font-size:11px;color:var(--muted)}.ar-cancellation-queue-item__countdown{text-align:right;min-width:100px}.ar-cancellation-countdown{font-size:13px;font-weight:600;color:var(--success,#22c55e)}.ar-cancellation-countdown--warning{color:#f59e0b}.ar-cancellation-countdown--urgent{color:var(--danger,#ef4444)}.ar-cancellation-countdown--expired{color:var(--muted);font-style:italic}.ar-credit-note-modal{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;animation:ar-stamp-overlay-in .15s ease}.ar-credit-note-modal__content{width:520px;max-width:92vw;max-height:90vh;overflow-y:auto;background:var(--surface,#fff);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);padding:24px;animation:ar-stamp-dialog-in .2s ease}.ar-credit-note-modal__header h3{font-size:18px;font-weight:700;color:var(--text);margin:0 0 4px}.ar-credit-note-modal__subtitle{font-size:13px;color:var(--muted);margin:0 0 16px}.ar-credit-note-modal__original{padding:12px;background:rgba(59,130,246,.04);border:1px solid rgba(59,130,246,.12);border-radius:8px;margin-bottom:16px}.ar-credit-note-modal__label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.ar-credit-note-modal__original-info{font-size:14px;color:var(--text)}.ar-credit-note-form{display:flex;flex-direction:column;gap:16px}.ar-credit-note-form__field label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.ar-credit-note-form__field input,.ar-credit-note-form__field select{width:100%;font-size:14px}.ar-credit-note-form__amount-row{display:flex;gap:8px;align-items:center}.ar-credit-note-form__amount-row input{flex:1 1}.ar-credit-note-form__hint{display:block;font-size:11px;color:var(--muted);margin-top:4px}.ar-credit-note-tax-preview{padding:12px;background:rgba(0,0,0,.02);border:1px solid var(--border);border-radius:8px}.ar-credit-note-tax-preview__title{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}.ar-credit-note-tax-preview__rows{display:flex;flex-direction:column;gap:0}.ar-credit-note-tax-preview__row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:13px;color:var(--text)}.ar-credit-note-tax-preview__row+.ar-credit-note-tax-preview__row{border-top:1px solid var(--border)}.ar-credit-note-tax-preview__row--retention span:last-child{color:var(--danger,#ef4444)}.ar-credit-note-tax-preview__row--total{padding-top:8px;border-top:2px solid var(--border)!important;font-weight:700;font-size:14px}.ar-credit-note-form__overrides{margin-top:4px}.ar-credit-note-form__overrides-toggle{background:none;border:none;cursor:pointer;font-size:12px;color:var(--brand-2);padding:0;text-decoration:underline}.ar-credit-note-form__overrides-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:12px;padding:12px;background:rgba(0,0,0,.02);border:1px dashed var(--border);border-radius:8px}.ar-credit-note-form__override-field label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}.ar-credit-note-form__override-field input{width:100%;font-size:13px}.ar-credit-note-modal__error{padding:8px 12px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--danger,#ef4444);font-size:13px;margin-top:12px}.ar-credit-note-modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}.ar-cancel-modal{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;animation:ar-stamp-overlay-in .15s ease}.ar-cancel-modal__content{width:520px;max-width:92vw;max-height:90vh;overflow-y:auto;background:var(--surface,#fff);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);padding:24px;animation:ar-stamp-dialog-in .2s ease}.ar-cancel-modal__header h3{font-size:18px;font-weight:700;color:var(--text);margin:0 0 4px}.ar-cancel-modal__subtitle{font-size:13px;color:var(--muted);margin:0 0 12px}.ar-cancel-modal__steps{display:flex;align-items:center;gap:0;margin-bottom:16px}.ar-cancel-modal__step-dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:700;background:rgba(156,163,175,.12);color:var(--muted)}.ar-cancel-modal__step-dot--active{background:var(--brand-2);color:#fff}.ar-cancel-modal__step-line{width:40px;height:2px;background:var(--border);margin:0 8px}.ar-cancel-motivo-list{display:flex;flex-direction:column;gap:12px}.ar-cancel-motivo-list__title{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.ar-cancel-motivo-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.ar-cancel-motivo-item:hover{background:var(--surface-2)}.ar-cancel-motivo-item--selected{border-color:var(--brand-2);background:rgba(59,130,246,.04)}.ar-cancel-motivo-item input[type=radio]{margin-top:2px;flex-shrink:0}.ar-cancel-motivo-item__text{font-size:13px;color:var(--text);line-height:1.4}.ar-cancel-modal__replacement{margin-top:12px;padding:12px;background:rgba(0,0,0,.02);border:1px solid var(--border);border-radius:8px}.ar-cancel-modal__replacement label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.ar-cancel-modal__replacement-search{width:100%;font-size:13px;margin-bottom:8px}.ar-cancel-modal__replacement-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.ar-cancel-modal__replacement-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer;font-size:13px;color:var(--text);text-align:left;width:100%;transition:background .1s ease,border-color .1s ease}.ar-cancel-modal__replacement-item:hover{background:var(--surface-2)}.ar-cancel-modal__replacement-item--selected{border-color:var(--brand-2);background:rgba(59,130,246,.06)}.ar-cancel-modal__replacement-empty{font-size:13px;color:var(--muted);font-style:italic;margin:4px 0 0}.ar-cancel-modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}.ar-cancel-confirm{display:flex;flex-direction:column;gap:12px}.ar-cancel-confirm__title{font-size:14px;font-weight:700;color:var(--text)}.ar-cancel-confirm__subtitle{font-size:13px;color:var(--muted);margin:0}.ar-cancel-confirm__card{padding:12px 14px;background:rgba(0,0,0,.02);border:1px solid var(--border);border-radius:8px}.ar-cancel-confirm__row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:13px}.ar-cancel-confirm__row+.ar-cancel-confirm__row{border-top:1px solid var(--border)}.ar-cancel-confirm__label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ar-cancel-warning{padding:12px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);border-radius:8px;font-size:13px;line-height:1.5;color:var(--text)}.ar-cancel-warning p{margin:0 0 6px}.ar-cancel-warning p:last-child{margin-bottom:0}.ar-cancel-warning strong{color:#f59e0b}.ar-deadline-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-radius:8px;margin-bottom:16px;font-size:13px;line-height:1.4}.ar-deadline-banner__content{display:flex;align-items:flex-start;gap:10px;flex:1 1}.ar-deadline-banner__icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}.ar-deadline-banner__message{color:inherit}.ar-deadline-banner__dismiss{background:none;border:none;cursor:pointer;font-size:18px;padding:2px 6px;border-radius:4px;color:inherit;opacity:.6;transition:opacity .1s ease;flex-shrink:0}.ar-deadline-banner__dismiss:hover{opacity:1}.ar-deadline-banner--info{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);color:#3b82f6}.ar-deadline-banner--info .ar-deadline-banner__icon{background:rgba(59,130,246,.15);color:#3b82f6}.ar-deadline-banner--warning{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);color:#92400e}.ar-deadline-banner--warning .ar-deadline-banner__icon{background:rgba(245,158,11,.2);color:#f59e0b}.ar-deadline-banner--critical{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);color:var(--danger,#ef4444);font-weight:600}.ar-deadline-banner--critical .ar-deadline-banner__icon{background:rgba(239,68,68,.15);color:var(--danger,#ef4444)}.ar-deadline-banner--passed{background:rgba(156,163,175,.08);border:1px solid rgba(156,163,175,.2);color:var(--muted)}.ar-deadline-banner--passed .ar-deadline-banner__icon{background:rgba(156,163,175,.15);color:var(--muted)}.ar-invoices-actions-menu-item--danger{color:var(--danger,#ef4444)!important}.ar-invoices-actions-menu-item--danger:hover{background:rgba(239,68,68,.08)}.ar-clients-rfc-cell{font-family:SF Mono,Menlo,monospace;font-size:13px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.ar-clients-status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.ar-clients-status-badge--active{background:rgba(34,197,94,.12);color:var(--success,#22c55e)}.ar-clients-status-badge--inactive{background:rgba(156,163,175,.12);color:var(--muted)}.inactive-row{opacity:.5}.ar-clients-inactive-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--text);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ar-clients-inactive-toggle input[type=checkbox]{cursor:pointer}.ar-client-drawer-close{background:none;border:none;cursor:pointer;font-size:24px;color:var(--muted);padding:4px 8px;border-radius:4px;line-height:1;transition:background .1s ease}.ar-client-drawer-close:hover{background:var(--surface-2)}.ar-client-form-error{padding:10px 14px;margin-bottom:16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--danger,#ef4444);font-size:13px}.ar-client-form-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:0 0 8px;margin-bottom:8px}.ar-client-form-section-toggle .ar-client-form-section-title{margin:0}.ar-client-form-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 12px}.ar-client-form-section-chevron{font-size:10px;color:var(--muted)}.ar-client-form-section-content{animation:ar-section-expand .2s ease}@keyframes ar-section-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ar-client-field-group{margin-bottom:14px}.ar-client-field-group label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.ar-client-field-group input,.ar-client-field-group select,.ar-client-field-group textarea{width:100%}.ar-client-field-hint{display:block;margin-top:4px;font-size:11px}.ar-client-field-hint--error{color:var(--danger,#ef4444)}.ar-client-textarea{resize:vertical;min-height:60px}.rfc-input-wrapper{width:100%}.rfc-input-inner{position:relative;display:flex;align-items:center}.rfc-input{font-family:SF Mono,Menlo,monospace;font-size:14px;letter-spacing:.05em;text-transform:uppercase;padding-right:32px}.rfc-validation-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:700;line-height:1;pointer-events:none}.rfc-validation-icon--valid{color:var(--success,#22c55e)}.rfc-validation-icon--invalid{color:var(--danger,#ef4444)}.rfc-validation-icon--warning{color:var(--warning,#eab308)}.rfc-persona-label{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;background:rgba(59,130,246,.08);color:var(--brand-2)}.client-picker{width:100%}.client-picker,.client-picker-input-wrapper{position:relative}.client-picker-input{width:100%;padding-right:32px}.client-picker-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--brand-2);border-radius:50%;animation:client-picker-spin .6s linear infinite}@keyframes client-picker-spin{to{transform:translateY(-50%) rotate(1turn)}}.client-picker-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:4px;max-height:280px;overflow-y:auto;background:var(--surface,#fff);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.client-picker-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;font-size:14px;transition:background .1s ease}.client-picker-item.highlighted,.client-picker-item:hover{background:var(--surface-2)}.client-picker-item--generic{border-bottom:1px solid var(--border)}.client-picker-rfc{font-family:SF Mono,Menlo,monospace;font-size:13px;font-weight:600;color:var(--brand-2);white-space:nowrap}.client-picker-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-picker-status{padding:12px;text-align:center;color:var(--muted);font-size:13px}.ar-batch-loading{padding:24px;text-align:center}.ar-batch-empty{padding:24px 0}.ar-batch-checkbox-col{width:40px}.ar-batch-status-col{width:80px;text-align:center}.ar-batch-folio{font-size:12px;font-family:var(--font-mono,monospace)}.ar-batch-expand-cell{padding:0}.ar-bank-form-title{margin:0 0 12px;font-size:14px;font-weight:600}.ar-bank-form-subtitle{font-weight:400;color:var(--text-secondary);margin-left:8px}.ar-bank-account-label{color:var(--text-secondary);font-size:12px}.ar-bank-clabe-valid{color:var(--success,#22c55e);font-size:12px;font-weight:600}.ar-bank-clabe-name{font-weight:400;margin-left:8px}.ar-bank-clabe-invalid{color:var(--danger,#ef4444);font-size:12px;font-weight:600}.ar-bank-error{color:var(--danger,#ef4444);font-size:13px;margin:8px 0}.ar-diot-preview-vendor-name{font-weight:500;font-size:13px}.ar-diot-preview-vendor-rfc{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono,monospace)}.ar-diot-preview-type{font-size:12px}.ar-diot-preview-total{font-weight:700}.ar-diot-preview-vendor-count{font-weight:400;font-size:12px;color:var(--text-secondary)}.ar-diot-validation-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.ar-diot-validation-title{font-weight:600}.ar-diot-validation-count{margin-left:8px;font-weight:400}.ar-diot-validation-warning-item{opacity:.85}.ar-vendor-modal-label{font-weight:600;color:var(--text-secondary);font-size:13px}.ar-vendor-modal-name{font-size:14px;font-weight:500;margin-top:4px}.ar-vendor-modal-rfc{font-size:12px;color:var(--text-secondary);font-family:var(--font-mono,monospace)}.ar-vendor-modal-radio{display:flex;align-items:center;gap:8px;cursor:pointer}.ar-invoice-drawer-field-value--danger{color:var(--danger,#ef4444)}.ar-complement-section{margin-bottom:12px}.ar-complement-spacer{flex:1 1}.ar-layout-history-loading{padding:24px;text-align:center}.ar-layout-history-empty{font-size:13px;color:var(--text-secondary);padding:16px 0}.ar-retenciones-negative{color:var(--danger,#ef4444)}.ar-layout-summary-total{font-weight:700}.ar-payments-subtitle{margin:4px 0 0;font-size:13px;color:var(--muted)}.ar-payments-checkbox-col{width:36px}.ar-payments-folio-cell{display:flex;flex-direction:column;gap:2px}.ar-payments-folio{font-size:12px;font-weight:600;color:var(--primary,#3b82f6);font-family:var(--font-mono,monospace)}.ar-payments-client-name{font-size:12px;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ar-payments-amount-mono{font-family:var(--font-mono,monospace);font-weight:600}.ar-payments-completed-section{margin-top:24px}.ar-diot-period-group{display:flex;flex-direction:column;gap:4px}.ar-diot-period-label{font-size:13px;font-weight:600;color:var(--muted)}.ar-diot-generate-row{display:flex;align-items:flex-end}.ar-diot-error-text{font-size:13px;color:var(--danger,#ef4444);font-weight:500}.ar-diot-history-count{font-size:13px;font-weight:400;margin-left:8px;color:var(--muted)}.ar-diot-history-empty{font-size:13px;color:var(--muted);padding:12px 0}.ar-diot-history-date{font-size:12px;color:var(--muted)}.ar-diot-confirm-title{margin:0 0 12px;font-size:18px;font-weight:700}.ar-diot-confirm-text{margin:0 0 8px;font-size:14px;color:var(--muted)}.ar-diot-confirm-warning{margin:0 0 16px;font-size:13px;color:var(--warning,#f59e0b)}.ar-diot-confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.ar-retenciones-loading-cell{text-align:center;padding:12px}.ar-retenciones-error-cell{color:var(--danger,#ef4444);padding:12px}.ar-retenciones-empty-cell{padding:12px;color:var(--muted)}.ar-retenciones-detail-cell{padding-left:32px}.ar-retenciones-total-cell{font-weight:700}.ar-invoices-actions-col{width:48px}.ar-layout-search-field{max-width:400px;margin-bottom:16px}html.dark .ar-toast{box-shadow:0 4px 12px rgba(0,0,0,.3)}html.dark .ar-clickable-row:hover{background:hsla(0,0%,100%,.04)}html.dark .ar-invoice-drawer-card{background:hsla(0,0%,100%,.03)}html.dark .ar-stamp-confirm-dialog{box-shadow:0 8px 32px rgba(0,0,0,.4)}html.dark .ar-invoice-line-item,html.dark .ar-invoice-review-section{background:var(--surface,#1e1e1e)}html.dark .ar-invoice-client-summary{background:rgba(59,130,246,.06)}html.dark .ar-invoice-status-badge--cobrada{background:rgba(34,197,94,.2);color:#4ade80}html.dark .client-picker-dropdown{box-shadow:0 4px 12px rgba(0,0,0,.3)}html.dark .ar-credit-note-modal__content{box-shadow:0 8px 32px rgba(0,0,0,.4)}html.dark .ar-credit-note-modal__original{background:rgba(59,130,246,.06)}html.dark .ar-credit-note-form__overrides-fields,html.dark .ar-credit-note-tax-preview{background:hsla(0,0%,100%,.03)}html.dark .ar-cancel-modal__content{box-shadow:0 8px 32px rgba(0,0,0,.4)}html.dark .ar-cancel-motivo-item:hover{background:rgba(59,130,246,.06)}html.dark .ar-cancel-motivo-item--selected{background:rgba(59,130,246,.08)}html.dark .ar-cancel-confirm__card,html.dark .ar-cancel-modal__replacement{background:hsla(0,0%,100%,.03)}html.dark .ar-cancellation-queue__header{background:rgba(245,158,11,.08)}html.dark .ar-cancellation-queue__header:hover{background:rgba(245,158,11,.12)}html.dark .ar-deadline-banner--warning{color:#fbbf24}html.dark .ar-deadline-banner--info{color:#60a5fa}html.dark .ar-deadline-banner--critical{color:#f87171}@media (max-width:768px){.ar-invoice-step1-form{grid-template-columns:1fr}.ar-invoice-line-item-row{grid-template-columns:1fr 1fr;gap:8px}.ar-invoice-wizard-steps{flex-wrap:wrap;gap:8px}.ar-invoice-wizard-step-connector{display:none}.ar-cancel-modal__content,.ar-credit-note-modal__content{width:100vw;max-width:100vw;min-height:100vh;border-radius:0}.ar-credit-note-form__overrides-fields{grid-template-columns:1fr}.ar-cancellation-queue-item{flex-wrap:wrap;gap:8px}.ar-cancellation-queue-item__countdown{min-width:auto}}@media (max-width:640px){.ar-invoice-drawer-lines-wrapper{margin:0 -20px;padding:0 20px}}.stepper-compact .stepper-btn{width:40px;height:40px;font-size:18px}.stepper-compact .stepper-value{font-size:20px}.stepper-compact .stepper-label{font-size:12px}.stepper-compact .stepper-sublabel{font-size:10px}.avail-hero{display:flex;flex-direction:column;gap:0;border-radius:16px;overflow:hidden;border:1px solid var(--border)}.avail-hero-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface);border:none;cursor:pointer;width:100%;text-align:left;font-family:inherit}.avail-hero-row:not(:last-child){border-bottom:1px solid var(--border)}.avail-hero-row:disabled{opacity:.5;cursor:not-allowed}.avail-hero-row:active:not(:disabled){background:var(--surface-2)}.avail-hero-name{flex:1 1;font-size:15px;font-weight:700;color:var(--text)}.avail-hero-time{font-size:13px;font-weight:500;color:var(--muted)}.avail-hero-status{font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap}.avail-hero-green .avail-hero-status{color:#166534;background:rgba(34,197,94,.12)}.avail-hero-amber .avail-hero-status{color:#92400e;background:rgba(245,158,11,.12)}.avail-hero-red .avail-hero-status{color:#991b1b;background:rgba(239,68,68,.1);text-decoration:line-through}.avail-hero-gray .avail-hero-status{color:var(--muted);background:var(--surface-2)}.offline-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);border-radius:12px;font-size:13px;font-weight:600;color:#92400e}.opc-date-picker{display:flex;gap:6px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.opc-date-picker::-webkit-scrollbar{display:none}.date-picker-day{flex:0 0 auto;width:52px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;font-family:inherit}.date-picker-day:active{transform:scale(.95)}.date-picker-active{background:var(--brand);color:#fff}.date-picker-active,.date-picker-today:not(.date-picker-active){border-color:var(--brand)}.date-picker-name{font-size:10px;font-weight:600;text-transform:uppercase}.date-picker-num{font-size:18px;font-weight:800}.date-picker-active .date-picker-name,.date-picker-active .date-picker-num{color:#fff}.cheat-sheet-fab{position:fixed;bottom:100px;right:16px;width:48px;height:48px;border-radius:50%;background:var(--brand);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(46,49,146,.3);z-index:90;cursor:pointer}.cheat-sheet-fab:active{transform:scale(.92)}.cheat-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:200}.cheat-sheet-drawer{position:fixed;right:0;top:0;bottom:0;width:min(360px,90%);background:var(--bg);z-index:201;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,.1)}.cheat-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.cheat-sheet-title{font-size:18px;font-weight:800;margin:0}.cheat-sheet-body{flex:1 1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}.cheat-sheet-item{padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.cheat-sheet-q{font-size:13px;font-weight:700;color:var(--brand);margin-bottom:4px}.cheat-sheet-a{font-size:14px;color:var(--text);line-height:1.4}.cheat-sheet-call{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:1px solid var(--brand);border-radius:14px;color:var(--brand);font-size:15px;font-weight:700;text-decoration:none;margin-top:8px}.cheat-sheet-call:active{background:var(--brand-soft)}.settled-invoices-panel{margin-top:6px;padding:8px 0}.settled-invoices-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}.settled-invoices-row:hover{background:var(--surface-hover,rgba(0,0,0,.04))}.settled-invoices-row-chevron{display:inline-block;font-size:10px;transition:transform .2s;color:var(--ap-muted,#999);flex-shrink:0;width:14px;text-align:center}.settled-invoices-row-chevron.expanded{transform:rotate(90deg)}.settled-invoices-row-folio{font-weight:600;font-family:var(--font-mono,monospace);min-width:80px}.settled-invoices-row-vendor{flex:1 1;color:var(--ap-muted,#999);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settled-invoices-row-amount{font-family:var(--font-mono,monospace);font-weight:500;color:var(--ap-success,#22c55e);white-space:nowrap}.settled-invoices-row-balance{font-family:var(--font-mono,monospace);font-size:12px;color:var(--ap-muted,#999);white-space:nowrap}.settled-invoices-detail{padding:8px 10px 12px 34px;font-size:12px;animation:settled-invoices-slide .15s ease-out}@keyframes settled-invoices-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.settled-invoices-saldo-chain{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:8px}.settled-invoices-saldo-item{display:flex;flex-direction:column;gap:2px}.settled-invoices-saldo-label{font-size:11px;color:var(--ap-muted-light,#aaa);text-transform:uppercase;letter-spacing:.02em}.settled-invoices-saldo-value{font-family:var(--font-mono,monospace);font-weight:500}.settled-invoices-meta{display:flex;align-items:center;gap:12px;margin-top:6px;color:var(--ap-muted,#999);font-size:12px}.settled-invoices-link{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--ap-border,#e5e7eb);border-radius:4px;background:transparent;color:var(--brand,#3b82f6);font-size:12px;cursor:pointer;transition:background .15s,border-color .15s}.settled-invoices-link:hover{background:var(--brand-soft,rgba(59,130,246,.08));border-color:var(--brand,#3b82f6)}.settled-invoices-empty{padding:8px 10px;font-size:12px;color:var(--ap-muted,#999);font-style:italic}.complement-expandable-row{cursor:pointer;transition:background .15s}.complement-expandable-row:hover{background:var(--surface-hover,rgba(0,0,0,.04))}.complement-expandable-row td:first-child{display:flex;align-items:center;gap:6px}