:root{--brand-green:#28ab4f;--brand-green-strong:#2bbd51;--brand-dark:#0f1614;--brand-dark-soft:#18241f;--bg:#f4f6f8;--surface:#ffffff;--ink:#1a2332;--muted:#5c6b7a;--line:#d8e0e8;--accent:var(--brand-green);--accent-hover:#1f8a3f;--danger:#c23b2e;--warn:#c4721a;--ok:#1f8a3f;--match-ok:#28ab4f;--match-assigned:#3d8b6e;--match-warn:#d4892a;--match-danger:#c23b2e;--match-muted:#6b7c72;--shadow:0 1px 2px rgba(16,24,40,0.06),0 8px 24px rgba(16,24,40,0.06);--radius:10px;--font:"IBM Plex Sans","Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,rgba(40,171,79,.16) 0,transparent 55%),radial-gradient(900px 400px at 100% 0,rgba(21,29,44,.06) 0,transparent 50%),var(--bg)}a{color:inherit;text-decoration:none}a.odoo-order-link,a.table-link{color:#1565c0;font-weight:600;text-decoration:underline;-webkit-text-decoration-color:rgba(21,101,192,.45);text-decoration-color:rgba(21,101,192,.45);text-underline-offset:2px}a.odoo-order-link:hover,a.table-link:hover{color:#0d47a1;-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}a.odoo-order-link:focus-visible,a.table-link:focus-visible{outline:2px solid rgba(21,101,192,.35);outline-offset:2px;border-radius:2px}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;height:100vh;overflow:hidden;align-items:stretch}.sidebar{position:relative;top:auto;min-height:0;max-height:100vh;height:auto;background:linear-gradient(180deg,var(--brand-dark-soft) 0,var(--brand-dark) 55%),var(--brand-dark);color:#e7f2eb;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;border-right:1px solid rgba(40,171,79,.28);box-shadow:inset 3px 0 0 var(--brand-green)}.sidebar>button{margin-top:auto}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:.5rem}.sidebar-help{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;border-radius:8px;color:#dceee3;text-decoration:none;font-weight:600;border:1px solid rgba(40,171,79,.38);background:rgba(40,171,79,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.sidebar-help-icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:999px;background:rgba(40,171,79,.28);color:var(--brand-green-strong);flex-shrink:0}.sidebar-help .icon{width:1rem;height:1rem}.sidebar-help:hover{background:rgba(40,171,79,.22);border-color:rgba(40,171,79,.55);color:#fff}.sidebar-help:hover .sidebar-help-icon{background:rgba(40,171,79,.42);color:#fff}.sidebar-help.active{background:rgba(40,171,79,.32);border-color:var(--brand-green-strong);color:#fff;box-shadow:inset 3px 0 0 var(--brand-green-strong)}.sidebar-help.active .sidebar-help-icon{background:rgba(255,255,255,.16);color:#fff}.sidebar button.danger{background:var(--danger);color:#fff}.sidebar button.danger:hover{background:#a32f24}.brand{font-weight:700;letter-spacing:.02em;font-size:1.15rem;padding:0 .5rem;color:#fff}.brand span{color:var(--brand-green-strong)}.nav{display:flex;flex-direction:column;gap:.25rem}.nav a{padding:.65rem .75rem;border-radius:8px;color:#a9c0b2}.nav a:hover{background:rgba(40,171,79,.14);color:#fff}.nav a.active{background:rgba(40,171,79,.28);color:#fff;box-shadow:inset 3px 0 0 var(--brand-green-strong)}.main{min-height:0;overflow-y:auto;padding:1.75rem 2rem 3rem}.page-title{margin:0 0 .35rem;font-size:1.6rem}.page-sub{margin:0 0 1.5rem;color:var(--muted)}.section-title{margin:0 0 .35rem;font-size:1.2rem;font-weight:600}.notebook-tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:.35rem;background:#e8eef5;border-radius:12px;border:1px solid var(--line)}.notebook-tab{padding:.55rem 1rem;border-radius:8px;color:var(--muted);font-weight:500;font-size:.92rem;white-space:nowrap;transition:background .12s,color .12s}.notebook-tab:hover{background:rgba(255,255,255,.7);color:var(--ink)}.notebook-tab.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(16,24,40,.08)}.settings-tabs{justify-content:space-between;align-items:center;gap:.75rem}.settings-tabs-primary,.settings-tabs-secondary{display:flex;flex-wrap:wrap;gap:.25rem}.settings-tabs-secondary{margin-left:auto}.notebook-tab.secondary{color:var(--muted);font-weight:500;opacity:.82}.notebook-tab.secondary:hover{color:var(--ink);opacity:1}.notebook-tab.secondary.active{color:var(--ink);opacity:1;font-weight:600}@media (max-width:720px){.settings-tabs{flex-direction:column;align-items:stretch}.settings-tabs-secondary{margin-left:0;padding-top:.35rem;border-top:1px dashed var(--line)}}.settings-import-compact{padding:.65rem .85rem;font-size:.82rem}.settings-import-compact-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.settings-import-compact-title{color:var(--muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.settings-import-compact-hint,.settings-import-compact-result{margin:.35rem 0 0;font-size:.78rem;line-height:1.4}.settings-import-compact-file{margin:0;flex:0 0 auto}.settings-panel{min-height:12rem}.settings-shell>.page-sub{margin-bottom:.5rem}.master-data .section-title{font-size:1.05rem}.master-data .page-sub{font-size:.85rem;margin-bottom:.65rem;line-height:1.45}.master-data .card{padding:.85rem 1rem}.master-data .row{gap:.5rem}.master-data label{min-width:110px;font-size:.82rem;gap:.25rem}.master-data input,.master-data select{padding:.42rem .55rem;font-size:.85rem;border-radius:6px}.master-data button{padding:.42rem .75rem;font-size:.85rem;border-radius:6px}.master-data-toolbar{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end;margin-bottom:.65rem;padding-bottom:.65rem;border-bottom:1px solid var(--line)}.master-data-filter,.master-data-search{flex:1 1;min-width:10rem;max-width:16rem;margin:0}.master-data-count{font-size:.8rem;margin-left:auto;padding-bottom:.35rem}.segment-filter-toolbar{gap:.65rem;margin-bottom:.35rem}.segment-filter-main{flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end}.segment-filter-main label{margin:0;min-width:8rem}.segment-filter-search{flex:2 1 16rem;min-width:14rem;max-width:28rem}.segment-filter-toggle{align-self:flex-end;white-space:nowrap}.segment-filter-advanced{flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end;padding:.65rem .75rem;border-radius:8px;background:var(--surface-2,rgba(0,0,0,.03));border:1px solid var(--line)}.segment-filter-advanced label{flex:1 1 10rem;min-width:9rem;margin:0}.segment-filter-summary{font-size:.85rem}.segment-filter-quick{flex-wrap:wrap;gap:.35rem}.segment-filter-chip{font:inherit;font-size:.82rem;padding:.25rem .65rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.segment-filter-chip:hover{background:var(--surface-2,rgba(0,0,0,.03))}.segment-filter-chip.active{border-color:#7ba3c9;background:#dce8ff;color:#2a5080;font-weight:600}.master-data table{font-size:.84rem}.master-data td,.master-data th{padding:.38rem .45rem}.master-data th{font-size:.72rem}.master-data td input,.master-data td select{width:100%;min-width:0}.master-data .col-narrow{width:5.5rem}.master-data .col-actions{width:5rem;text-align:right}.master-data .col-actions button{padding:.3rem .55rem;font-size:.78rem}.master-data-empty{text-align:center;color:var(--muted);padding:1rem .5rem}.period-picker{position:relative;min-width:15rem;flex:0 0 auto}.period-picker-label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.3rem}.period-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .75rem;font:inherit;text-align:left}.period-picker-trigger:hover{border-color:var(--accent)}.period-picker-pop{position:absolute;z-index:20;top:calc(100% + .35rem);right:0;width:max(100%,18rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.5rem;display:grid;grid-gap:.5rem;gap:.5rem}.period-picker-pop input{width:100%}.period-picker-list{list-style:none;margin:0;padding:0;max-height:17rem;overflow-y:auto}.period-picker-list button{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;background:none;border:none;color:var(--ink);font:inherit;text-align:left;padding:.45rem .55rem;border-radius:6px}.period-picker-list button:hover{background:rgba(40,171,79,.1)}.period-picker-list button.active{background:var(--brand-green);color:#fff}.period-picker-list button.active .muted{color:rgba(255,255,255,.85)}.period-picker-empty{padding:.5rem .55rem}.logic-list{padding-left:1.2rem;grid-gap:.6rem;gap:.6rem}.logic-list,.logic-steps{margin:0;display:grid;color:var(--muted);line-height:1.55}.logic-steps{padding:0;list-style:none;counter-reset:logic-step;grid-gap:.9rem;gap:.9rem}.logic-steps>li{position:relative;padding-left:2.5rem}.logic-steps>li:before{counter-increment:logic-step;content:counter(logic-step);position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--brand-green);color:#fff;font-size:.85rem;font-weight:600;display:grid;place-items:center}.logic-list strong,.logic-steps strong{color:var(--ink)}.help-page{max-width:960px}.help-page .card{min-width:0}.main:has(.help-page){scroll-padding-top:11rem}.help-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;padding:.25rem 0 .85rem;margin-bottom:.15rem;background:var(--bg)}.help-header-card{gap:.85rem}.help-header-intro .page-sub{margin-bottom:0}.help-nav{display:flex;flex-wrap:wrap;gap:.4rem}.help-nav-btn{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--surface-2,#f4f7fb);color:var(--ink);font-size:.82rem;font-weight:600;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.help-nav-btn:hover{border-color:var(--accent);color:var(--accent);background:#edf9f1}.help-section,.help-section h2.section-title,.help-section h3.help-subtitle,.help-section h4.help-subtitle{scroll-margin-top:11rem}.help-subtitle{margin:1rem 0 .35rem;font-size:1rem;font-weight:600}.help-subtitle-sm{margin-top:.85rem;font-size:.92rem}.help-table-wrap{overflow-x:auto;margin:.25rem 0;border:1px solid var(--line);border-radius:8px}.help-table-wrap table{margin:0}.help-table-wrap td,.help-table-wrap th{white-space:nowrap}.help-table-wrap td:first-child,.help-table-wrap th:first-child{white-space:normal;min-width:10rem}.help-app-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem}.help-app-node{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border-radius:10px;background:var(--surface-2,#f4f7fb);border:1px solid var(--line);font-size:.92rem}.help-app-node-accent{border-color:var(--accent);background:rgba(40,171,79,.06)}.help-app-node strong{font-size:1rem}.help-app-node span.muted{font-size:.85rem}.matching-flow{margin:0;display:grid;grid-gap:1rem;gap:1rem}.matching-flow-ladder{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0}.matching-flow-step{display:grid;grid-template-columns:2.5rem minmax(0,1fr);grid-gap:.85rem;gap:.85rem;position:relative;padding-bottom:1rem}.matching-flow-step:not(:last-child):before{content:"";position:absolute;left:1.2rem;top:2.6rem;bottom:0;width:2px;background:#d8e2ef}.matching-flow-step-marker{width:2.4rem;height:2.4rem;border-radius:999px;background:var(--brand-green,#28ab4f);color:#fff;font-size:.95rem;font-weight:700;display:grid;place-items:center;flex-shrink:0;z-index:1}.matching-flow-step-marker-start{background:#eef4fb;color:#5c6b7a;border:1px solid #c5d3e3;font-size:1rem;line-height:1}.matching-flow-step-card{min-width:0;padding:1rem 1.1rem;border-radius:10px;border:1px solid var(--line);background:#fff;box-shadow:0 1px 2px rgba(21,29,44,.04)}.matching-flow-step-card-start{background:#f8fafc}.matching-flow-step-title{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:var(--ink)}.matching-flow-step-question{margin:0 0 .75rem;color:var(--muted);line-height:1.5;font-size:.92rem}.matching-flow-step-card-start .matching-flow-step-question{margin-bottom:0}.matching-flow-outcomes{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.matching-flow-outcome{display:grid;grid-template-columns:minmax(7.5rem,auto) minmax(0,1fr);grid-gap:.65rem;gap:.65rem;align-items:start;padding:.55rem .7rem;border-radius:8px;border:1px solid transparent;line-height:1.45;font-size:.92rem}.matching-flow-outcome-label{font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.matching-flow-outcome-text{min-width:0;color:var(--ink)}.matching-flow-outcome-ok{background:#edf9f1;border-color:#b9e6c8}.matching-flow-outcome-ok .matching-flow-outcome-label{color:#1e8a43}.matching-flow-outcome-mismatch{background:#fdf0ee;border-color:#f0c6c0}.matching-flow-outcome-mismatch .matching-flow-outcome-label{color:#b52d20}.matching-flow-outcome-internal{background:#eef2f8;border-color:#c7d3e4}.matching-flow-outcome-internal .matching-flow-outcome-label{color:#44566d}.matching-flow-outcome-unknown{background:#fff7ed;border-color:#f0d5b3}.matching-flow-outcome-unknown .matching-flow-outcome-label{color:#a65d12}.matching-flow-outcome-next{background:#f8fafc;border-color:#e2e8f0}.matching-flow-outcome-next .matching-flow-outcome-text{color:var(--muted);font-style:italic}@media (max-width:560px){.matching-flow-outcome{grid-template-columns:1fr;gap:.2rem}}.matching-flow-manual{padding:1rem 1.1rem;border-radius:10px;border:1px solid #d8e2ef;background:#f8fafc;color:var(--muted);line-height:1.55}.matching-flow-manual strong{display:block;margin-bottom:.45rem;color:var(--ink)}.matching-flow-manual ol{margin:0 0 .75rem;padding-left:1.2rem;display:grid;grid-gap:.35rem;gap:.35rem}.matching-flow-manual p{margin:0;font-size:.92rem}.matching-flow figcaption{margin:0;font-size:.85rem;text-align:center}.order-warnings{border-color:#e8b86d;background:linear-gradient(180deg,rgba(212,137,42,.08) 0,var(--surface) 100%)}.order-warnings h2{color:#9a5b12}.order-warnings a.odoo-order-link{color:#1565c0}.order-warnings-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.order-warnings-bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex-shrink:0}.order-warnings-acknowledged{border-color:#b8c9d8;background:linear-gradient(180deg,rgba(92,107,122,.06) 0,var(--surface) 100%)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.stack{flex-direction:column;gap:1rem}.row,.stack{display:flex}.row{gap:.75rem;flex-wrap:wrap;align-items:flex-end}.import-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:.5rem .75rem;gap:.5rem .75rem;margin-top:.75rem}.import-toolbar-left,.import-toolbar-right{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.import-toolbar-left{justify-content:flex-start}.import-toolbar-right{justify-content:flex-end}.import-toolbar-nav{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.import-toolbar-note{margin:0;font-size:.875rem}.import-toolbar-group{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.import-toolbar-group+.import-toolbar-group{padding-left:.5rem;border-left:1px solid var(--line)}.import-detail-section{scroll-margin-top:.35rem}.main:has(.import-detail-page){display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.import-detail-page{flex:1 1;min-height:0;display:flex;flex-direction:column;max-width:100%}.import-detail-header{flex-shrink:0;margin:0 0 .75rem;padding:.55rem 1rem .65rem;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.import-detail-back{margin:0 0 .35rem;font-size:.875rem}.import-detail-title{margin-bottom:.25rem}.import-detail-sub{margin:0 0 .5rem;font-size:.875rem}.import-detail-header .import-toolbar{margin-top:.5rem;margin-bottom:0}.import-detail-error{margin:.5rem 0 0}.import-detail-scroll{flex:1 1;min-height:0;overflow-y:auto;padding-bottom:1.5rem}.btn.btn-compact,button.btn-compact{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.38rem .62rem;font-size:.8125rem;font-weight:600;line-height:1.2;border-radius:6px;white-space:nowrap;text-decoration:none}button.btn-compact:disabled{opacity:.55;cursor:not-allowed}.btn.btn-compact[aria-disabled=true],button.btn-compact:disabled:hover{background:inherit}.btn-compact .icon{width:.95rem;height:.95rem;flex-shrink:0}@media (max-width:900px){.import-toolbar{grid-template-columns:1fr}.import-toolbar-nav{order:-1}.import-toolbar-nav,.import-toolbar-right{justify-content:flex-start}}@media (max-width:720px){.import-toolbar-group+.import-toolbar-group{padding-left:0;border-left:none;width:100%}}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted);flex:1 1;min-width:160px}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:.6rem .75rem;background:#fff;color:var(--ink)}.btn,button{border:none;border-radius:8px;padding:.65rem 1rem;background:var(--accent);color:white;cursor:pointer;font-weight:600}.btn:hover,button:hover{background:var(--accent-hover)}.btn.secondary,button.secondary{background:#e8eef5;color:var(--ink)}.link-button{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-align:left;text-decoration:underline;font-weight:500}.link-button:hover{background:none;color:var(--accent-hover)}button.danger{background:var(--danger)}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.data-table-wrap{overflow-x:auto}.data-table td,.data-table th{transition:background-color .12s ease}.data-table thead th{background:transparent}.data-table tbody tr:hover td{background:#eef8f2}.data-table tbody td:hover{background:#d9ede4}.data-table th.sortable{padding:0}.data-table-sort-btn{display:flex;align-items:center;gap:.35rem;width:100%;padding:.65rem .5rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;text-align:left;cursor:pointer}.data-table-sort-btn:focus-visible,.data-table-sort-btn:hover{background:transparent;color:var(--accent)}.imports-table-pagination{justify-content:space-between;align-items:center;margin-top:.25rem}.sort-indicator{font-size:.65rem;opacity:.75}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#e8f0eb;color:var(--match-muted)}.badge.ok{background:#d8f5e2;color:var(--match-ok)}.badge.internal{background:#e4e8ef;color:#3d4f63}.badge.confirmed_manual{background:#dce8ff;color:#2a5080}.badge.completed,.badge.review{background:#e2f3ea;color:var(--match-assigned)}.badge.confirmed{background:#d8f5e2;color:var(--match-ok)}.badge.pending,.badge.processing{background:#e8f0eb;color:var(--match-muted)}.badge.failed,.badge.mismatch{background:#fde8e6;color:var(--match-danger)}.badge.ambiguous,.badge.no_tour,.badge.odoo_no_customer,.badge.unknown_cost_center{background:#fcefd9;color:var(--match-warn)}.badge.assigned{background:#dff0e8;color:var(--match-assigned)}.invoice-preview-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.invoice-preview.card{padding:.85rem 1rem}.invoice-preview.stack{gap:.45rem}.invoice-preview-frozen-note{margin:.15rem 0 0;font-size:.8125rem}.invoice-preview-totals{margin:0;font-size:.8125rem;line-height:1.35}.invoice-preview-table-wrap{overflow-x:auto;margin:0 -.15rem}.invoice-preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.invoice-preview-table td,.invoice-preview-table th{padding:.3rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}.invoice-preview-table th{font-size:.7rem;padding-top:0}.invoice-preview-table tbody tr:last-child td{border-bottom:none}.invoice-preview-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-preview-customer{font-weight:600;max-width:14rem}.invoice-preview-diff-positive{color:var(--danger,#b91c1c);font-weight:600}.invoice-preview-diff-negative{color:#166534;font-weight:600}.invoice-preview-hints-cell{min-width:10rem;max-width:22rem}.invoice-preview-hint{display:inline-block;margin:0 .2rem .2rem 0;padding:.1rem .35rem;font-size:.6875rem;line-height:1.25;border-radius:.35rem;white-space:normal}.invoice-preview-action{white-space:nowrap;width:1%;padding-left:.25rem}.invoice-preview-action .btn{font-size:.75rem;padding:.15rem .45rem}.order-warning-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:10.5rem}.suggestion-btns{display:flex;flex-wrap:wrap;gap:.35rem}.suggestion-btns button{font-size:.75rem;padding:.2rem .5rem}.suggestion-btns select{font-size:.75rem;padding:.2rem .4rem;max-width:16rem;min-width:10rem}.tour-select-combobox{position:relative;flex:1 1 12rem;min-width:10rem;max-width:18rem}.tour-select-combobox-input{width:100%;font-size:.75rem;padding:.2rem .45rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);line-height:1.35}.tour-select-combobox-input::placeholder{color:var(--muted);opacity:1}.tour-select-combobox-input:focus{outline:2px solid rgba(40,171,79,.35);outline-offset:1px;border-color:var(--brand-green)}.tour-select-combobox.is-open .tour-select-combobox-input{border-bottom-left-radius:0;border-bottom-right-radius:0}.tour-select-combobox.is-disabled .tour-select-combobox-input{opacity:.65;cursor:not-allowed}.tour-select-combobox.is-selected .tour-select-combobox-input{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.tour-select-combobox-list{position:absolute;z-index:30;top:100%;left:0;right:0;margin:0;padding:.2rem 0;list-style:none;max-height:14rem;overflow-y:auto;border:1px solid var(--line);border-top:none;border-radius:0 0 6px 6px;background:#fff;box-shadow:0 8px 18px rgba(15,35,55,.12)}.tour-select-combobox-option{margin:0}.tour-select-combobox-option button{display:block;width:100%;text-align:left;border:none;border-radius:0;background:transparent;color:var(--ink);font-size:.75rem;font-weight:400;padding:.35rem .55rem;line-height:1.35;cursor:pointer}.tour-select-combobox-option button:hover,.tour-select-combobox-option.is-active button{background:#edf8f3;color:var(--ink)}.tour-select-combobox-option.is-selected button{font-weight:600}.tour-select-combobox-empty{padding:.45rem .55rem;font-size:.75rem;color:var(--muted)}.dropzone{border:2px dashed #9bb0c4;border-radius:12px;padding:2.5rem 1.5rem;text-align:center;background:#f8fbfd;transition:border-color .15s,background .15s}.dropzone.active{border-color:var(--accent);background:#edf8f3}.error{color:var(--danger);margin:0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem}.launcher-wrap{min-height:100vh;max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 3rem;display:flex;flex-direction:column;gap:2rem;position:relative}.app-version{position:fixed;left:1.25rem;bottom:1rem;margin:0;font-size:.8rem;color:var(--muted);letter-spacing:.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.launcher-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.launcher-actions{display:flex;align-items:center;gap:.5rem}.launcher-kicker{margin:0 0 .35rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.app-tile{display:flex;flex-direction:column;gap:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.35rem 1.25rem;transition:border-color .15s,transform .15s,box-shadow .15s}.app-tile:hover{border-color:var(--brand-green);transform:translateY(-2px);box-shadow:0 4px 16px rgba(16,24,40,.1)}.app-tile-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.app-tile-top h2{margin:0;font-size:1.2rem}.app-tile-title{display:flex;align-items:center;gap:.75rem;min-width:0}.app-tile-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:10px;background:rgba(40,171,79,.12);color:var(--brand-green);transition:background .15s,color .15s}.app-tile-icon .icon{width:1.4rem;height:1.4rem}.app-tile:hover .app-tile-icon{background:var(--brand-green);color:#ffffff}.app-tile p{margin:0;color:var(--muted);flex:1 1;line-height:1.45}.app-tile-cta{font-weight:600;color:var(--accent)}.apps-back{display:inline-block;margin:0 .5rem .65rem;font-size:.85rem;color:#8aa896}.apps-back:hover{color:var(--brand-green-strong)}.login-card{width:min(420px,100%)}.muted{color:var(--muted)}.cell-sub{font-size:.85rem;line-height:1.35;margin-top:.15rem}.segment-group-bar{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin:0 0 .35rem}.segment-group-label{font-size:.9rem;font-weight:500;color:var(--text)}.segment-group-options{flex-wrap:wrap;gap:.35rem}.segment-group-chip{margin:0}.segment-group-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.segment-group-hint{font-size:.85rem}.invoice-preview-table tbody tr td,.order-warnings-table tbody tr td,.segment-table tbody tr.segment-data-row td{transition:background-color .12s ease}.invoice-preview-table tbody tr:hover td,.order-warnings-table tbody tr:hover td,.segment-table tbody tr.segment-data-row:hover td{background:#e3f2ea}.segment-order-group-header td{background:#eef4fb;border-bottom:1px solid #c9d9eb;padding:.55rem .65rem}.segment-order-group-header-inner{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:center;justify-content:space-between}.segment-order-group-meta{display:flex;flex-wrap:wrap;gap:.45rem .85rem;align-items:center}.segment-order-group-actions{gap:.45rem;flex-wrap:wrap}.segment-reset-btn{white-space:nowrap}.segment-inline-input{width:5.5rem;max-width:100%}.segment-inline-input,.segment-inline-select{padding:.15rem .35rem;font:inherit;font-size:.85rem}.segment-inline-select{width:100%;max-width:12rem}tr.segment-order-group-end td,tr.segment-order-group-member td,tr.segment-order-group-mid td,tr.segment-order-group-start td{background:#f7fafc}tr.segment-order-group-mid td,tr.segment-order-group-start td{border-bottom-color:#e6edf5}tr.segment-order-group-end td:first-child,tr.segment-order-group-member td:first-child,tr.segment-order-group-mid td:first-child,tr.segment-order-group-start td:first-child{box-shadow:inset 3px 0 0 #7ba3c9}.dashboard-toolbar{justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap}.dashboard-toolbar-actions{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem 1rem}.dashboard-correction-toggle{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.dashboard-correction-btn{border:none;background:transparent;color:var(--muted);padding:.45rem .75rem;font:inherit;font-size:.85rem;cursor:pointer}.dashboard-correction-btn:hover{background:#f3f7fb;color:var(--text)}.dashboard-correction-btn.active{background:#e8f1fb;color:#1565c0;font-weight:600}.dashboard-correction-hint{margin:0;font-size:.85rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem}.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.15rem}.kpi-label{margin:0;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.kpi-value{margin:.35rem 0 .15rem;font-size:1.45rem;font-weight:700;letter-spacing:-.02em}.kpi-meta{margin:0;font-size:.85rem;color:var(--muted)}.chart-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:1rem;gap:1rem}.bar-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;align-items:flex-end;min-height:220px;padding-top:.5rem}.bar-col{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0;height:200px}.bar-value{font-size:.7rem;color:var(--muted);min-height:1rem}.bar-track{flex:1 1;max-width:48px;display:flex;align-items:flex-end;background:#eef3f7;overflow:hidden}.bar-fill,.bar-track{width:100%;border-radius:8px 8px 4px 4px}.bar-fill{background:linear-gradient(180deg,var(--brand-green-strong) 0,var(--accent) 100%);min-height:4px;transition:height .25s ease}.bar-label{font-size:.72rem;color:var(--muted)}.bar-label,.bar-sub{text-align:center;line-height:1.2}.bar-sub{font-size:.65rem;color:var(--danger);margin-top:.15rem}.donut-wrap{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.donut{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.donut-hole{width:96px;height:96px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.donut-hole strong{font-size:1.25rem}.donut-hole span{font-size:.75rem;color:var(--muted)}.legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;flex:1 1;min-width:160px}.legend li{display:grid;grid-template-columns:12px 1fr auto;grid-gap:.5rem;gap:.5rem;align-items:center;font-size:.9rem}.legend-swatch{width:12px;height:12px;border-radius:3px}.h-bars{display:flex;flex-direction:column;gap:.65rem}.h-bar-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr minmax(120px,180px);grid-gap:.75rem;gap:.75rem;align-items:center}.h-bar-name{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h-bar-track{height:14px;background:#eef3f7;border-radius:999px;overflow:hidden}.h-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0,var(--brand-green-strong) 100%);border-radius:999px;min-width:4px;transition:width .25s ease}.h-bar-meta{font-size:.85rem;text-align:right;white-space:nowrap}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}}@media (max-width:640px){.h-bar-row,.kpi-grid{grid-template-columns:1fr}.h-bar-row{gap:.25rem}.h-bar-meta{text-align:left}.bar-chart{grid-template-columns:repeat(3,minmax(0,1fr));min-height:auto}.bar-col{height:160px}}@media (max-width:860px){.app-shell{grid-template-columns:1fr;min-height:100vh}.app-shell,.sidebar{height:auto;overflow:visible}.sidebar{position:static;max-height:none;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.sidebar>button{margin-top:0}.sidebar-footer{margin-top:0;flex-direction:row;align-items:center}.nav{flex-direction:row;flex-wrap:wrap}.main{min-height:auto;overflow:visible}.main:has(.statement-page){display:block;overflow:visible}.main:has(.import-detail-page){display:block;overflow:visible;padding-bottom:3rem}.import-detail-page,.statement-page{min-height:auto;display:block}.import-detail-scroll{overflow:visible;padding-bottom:0}.statement-kst-breakdown{min-height:auto;display:block}.statement-kst-scroll,.statement-page-body{overflow:visible}}.main:has(.statement-page){display:flex;flex-direction:column;overflow:hidden}.statement-page{flex:1 1;min-height:0;display:flex;flex-direction:column;max-width:100%}.tour-billing-days-panel{flex-shrink:0;margin-bottom:.75rem}.tour-billing-days-table{width:100%;border-collapse:collapse;font-size:.9rem}.tour-billing-days-table td,.tour-billing-days-table th{padding:.45rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.tour-billing-days-table th{font-weight:600;color:var(--muted);font-size:.8rem}.tour-billing-days-num{text-align:right;white-space:nowrap}.statement-page-header{flex-shrink:0;width:100%;box-sizing:border-box;margin:0 0 .75rem;padding:.55rem 1rem .6rem;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.statement-kst-scroll,.statement-page-body{flex:1 1;min-height:0;overflow-y:auto}.statement-kst-breakdown{flex:1 1;min-height:0;display:flex;flex-direction:column;margin-top:0}.statement-kst-intro{flex-shrink:0;display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.statement-kst-intro-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.statement-kst-subline{display:flex;align-items:center;gap:.75rem;width:100%}.statement-kst-subline p{flex:1 1 auto;min-width:0}.statement-kst-search{flex:0 0 16rem;width:16rem;max-width:100%;margin:0 0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:.2rem}.statement-kst-search-hint{font-size:.6875rem;line-height:1.25;color:var(--muted);text-align:right}.statement-kst-search input{width:100%;padding:.38rem .65rem;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:.8125rem;line-height:1.25}.statement-kst-search input:focus{outline:2px solid rgba(40,171,79,.35);outline-offset:1px;border-color:var(--brand-green)}.statement-kst-empty{margin:0;padding:.75rem .25rem;font-size:.875rem}.statement-kst-scroll-pending{opacity:.92}.statement-header-bar{display:flex;align-items:center;gap:.65rem;min-width:0}.statement-header-bar h1{margin:0;flex:1 1 auto;min-width:0;font-size:1.05rem;font-weight:700;line-height:1.25}.statement-back-link{flex-shrink:0}.statement-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex-shrink:0;margin-left:auto}.statement-pdf-btn{flex-shrink:0;font-weight:600}.statement-header-meta-line{display:flex;flex-wrap:wrap;gap:.25rem .85rem;margin:.35rem 0 0;font-size:.8125rem;line-height:1.35;color:var(--muted)}.statement-header-meta-line strong{color:var(--ink);font-weight:600}.icon-pdf{color:#dc2626;flex-shrink:0}.statement-kst-pdf-btn .icon-pdf,.statement-pdf-btn .icon-pdf{width:1rem;height:1rem}.statement-table{margin-top:1.25rem;font-size:.85rem}.statement-table td,.statement-table th{font-size:.85rem}.statement-table tfoot td{border-top:2px solid var(--ink)}.statement-kst-overview{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.statement-kst-overview-item{display:inline-flex;align-items:baseline;gap:.35rem;padding:.35rem .65rem;border-radius:999px;background:#eef2f7;font-size:.8125rem;color:var(--muted);white-space:nowrap}.statement-kst-overview-item strong{color:var(--ink);font-weight:700}.statement-kst-overview-total{background:#e8f5ec;color:#166534;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.statement-kst-groups{gap:.4rem}.statement-kst-group{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.03)}.statement-kst-group[open]{border-color:#c5d9e8;box-shadow:0 1px 4px rgba(15,23,42,.05)}.statement-kst-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.45rem .6rem;gap:.45rem .6rem;padding:.38rem .6rem;cursor:pointer;list-style:none;background:#f8fafc;transition:background .15s ease}.statement-kst-group[open]>.statement-kst-summary{background:#f1f5f9;border-bottom:1px solid var(--line)}.statement-kst-summary:hover{background:#f1f5f9}.statement-kst-summary::-webkit-details-marker{display:none}.statement-kst-chevron{flex-shrink:0;width:.45rem;height:.45rem;margin-top:0;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s ease}.statement-kst-group[open]>.statement-kst-summary .statement-kst-chevron{transform:rotate(45deg)}.statement-kst-summary-content{display:flex;flex-direction:column;gap:.1rem;min-width:0}.statement-kst-headline{display:flex;align-items:center;gap:.45rem;min-width:0}.statement-kst-code{flex-shrink:0;display:inline-block;padding:.08rem .38rem;border-radius:4px;background:var(--ink);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.3}.statement-kst-tour{font-size:.8125rem}.statement-kst-tour,.statement-kst-vehicles{line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statement-kst-vehicles{display:block;font-size:.6875rem;color:var(--muted)}.statement-kst-summary-aside{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.statement-kst-meta{font-size:.6875rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.statement-kst-sum{font-weight:700;font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.statement-kst-pdf-btn{padding:.28rem .38rem!important;min-width:0}.statement-kst-pdf-btn .icon-pdf{width:.875rem;height:.875rem}.statement-kst-body{padding:0;overflow-x:auto}.statement-kst-group>.statement-kst-body .statement-table,.statement-kst-table{margin:0;width:100%}.statement-kst-table thead th{background:#f8fafc;font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--line);padding:.35rem .5rem}.statement-kst-table td,.statement-kst-table th{padding:.3rem .5rem;font-size:.8125rem}.statement-kst-table tbody tr:nth-child(2n){background:#fafbfc}.statement-kst-col-order,.statement-kst-col-time{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.statement-kst-col-driver{max-width:9rem}.statement-kst-col-driver,.statement-kst-col-route{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statement-kst-col-route{max-width:12rem}.statement-kst-col-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.statement-kst-table tfoot td{background:#f1f5f9}@media (max-width:720px){.statement-kst-subline{flex-direction:column;align-items:stretch}.statement-kst-search{flex:1 1 auto;width:100%;margin-left:0}.statement-kst-summary{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto}.statement-kst-summary-aside{grid-column:2;justify-content:flex-start;flex-wrap:wrap}}@media print{body{background:#fff!important;color:#000}.no-print,.sidebar{display:none!important}.app-shell,.main{display:block}.main{padding:0;overflow:visible}.statement-kst-breakdown,.statement-page{display:block}.statement-kst-scroll,.statement-page-body{overflow:visible}.statement-page-header{margin:0 0 1rem;padding:0;box-shadow:none;border:none;background:transparent}.statement-header-bar{flex-wrap:wrap}.statement-table{page-break-inside:auto}.statement-table tr{page-break-inside:avoid}}.sirum-suggest-modal{border:none;border-radius:12px;padding:0;max-width:min(920px,calc(100vw - 2rem));width:100%;box-shadow:0 20px 50px rgba(15,23,42,.25)}.sirum-suggest-modal::-webkit-backdrop{background:rgba(15,23,42,.45)}.sirum-suggest-modal::backdrop{background:rgba(15,23,42,.45)}.sirum-suggest-modal-inner{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.1rem 1.15rem;max-height:min(88vh,900px);overflow:auto}.sirum-suggest-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sirum-suggest-modal-header h2{margin:0;font-size:1.15rem}.sirum-suggest-modal-sub{margin:.25rem 0 0;font-size:.875rem}.sirum-suggest-modal-close{flex-shrink:0;min-width:2rem;padding-inline:.5rem}.sirum-suggest-section-title{margin:0;font-size:.95rem}.sirum-suggest-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));grid-gap:.45rem 1rem;gap:.45rem 1rem;margin:0}.sirum-suggest-dl dt{margin:0;font-size:.75rem;font-weight:600;color:var(--muted)}.sirum-suggest-dl dd{margin:.1rem 0 0;font-size:.875rem}.sirum-suggest-dl-compact{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.sirum-suggest-note{margin:0;font-size:.85rem}.sirum-suggest-order-list{gap:.75rem}.sirum-suggest-order{gap:.65rem;padding:.75rem .85rem}.sirum-suggest-order-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.sirum-suggest-odoo-link{flex-shrink:0;border:1px solid rgba(21,101,192,.28);color:#1565c0}.sirum-suggest-odoo-link:hover{background:#dce8f5;color:#0d47a1}.sirum-suggest-order-actions{display:flex;justify-content:flex-end}.dispo-page{font-size:.82rem}.dispo-page .card{padding:.55rem .7rem}.dispo-page .section-title{font-size:.85rem;margin:0 0 .35rem}.dispo-topbar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-bottom:.6rem}.dispo-topbar .page-title{margin:0 .5rem 0 0;font-size:1.15rem}.dispo-topbar input[type=date]{padding:.3rem .5rem;font-size:.82rem}.dispo-kw{font-weight:700;white-space:nowrap;padding:0 .25rem}.dispo-day-btn{display:flex;flex-direction:column;align-items:center;gap:0;padding:.2rem .5rem;border:1px solid var(--line);border-radius:6px;font-weight:600;line-height:1.15;font-size:.8rem;cursor:pointer}.dispo-day-btn,.dispo-day-btn:hover{background:var(--surface);color:var(--ink)}.dispo-day-btn.active,.dispo-day-btn:hover{border-color:var(--accent)}.dispo-day-btn.active{background:var(--accent);color:#fff}.dispo-day-btn .dispo-day-date{font-size:.68rem;font-weight:500;opacity:.85}.dispo-topbar .dispo-weekday{font-size:1.05rem;font-weight:700;color:var(--accent);margin:0 .4rem}.dispo-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto}.dispo-actions .btn,.dispo-actions button{padding:.3rem .6rem;font-size:.8rem}.dispo-stand{color:var(--muted);font-size:.75rem;white-space:nowrap}.dispo-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);grid-gap:.6rem;gap:.6rem;align-items:start}.dispo-left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem;align-content:start}.dispo-left .dispo-span{grid-column:1/-1}@media (max-width:1400px){.dispo-layout{grid-template-columns:1fr}}.dispo-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.3rem}.dispo-panel-head .section-title{margin:0}.dispo-panel.warn{border-left:3px solid var(--match-warn)}.dispo-panel-body{max-height:260px;overflow:auto}.dispo-empty{margin:0;font-size:.78rem}.dispo-mini-table{width:100%;border-collapse:collapse;font-size:.78rem}.dispo-mini-table td,.dispo-mini-table th{padding:.15rem .3rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.dispo-mini-table th{color:var(--muted);font-weight:600;position:-webkit-sticky;position:sticky;top:0;background:var(--surface)}.dispo-mini-table td.num,.dispo-mini-table th.num{text-align:center}.dispo-mini-actions{text-align:right}.dispo-icon-btn{padding:0 .35rem;margin-left:.15rem;font-size:.75rem;line-height:1.4;background:var(--surface);color:var(--ink);border:1px solid var(--line)}.dispo-icon-btn.danger{color:var(--danger)}.dispo-shift-icons{letter-spacing:.1em}.dispo-shift-off{opacity:.2}.dispo-shift-day{color:#d4a600}.dispo-shift-night{color:#2f6fd6}.dispo-shift-badge{display:inline-block;min-width:1.3rem;padding:0 .3rem;border-radius:4px;font-weight:700;text-align:center;color:#1f2933}.dispo-shift-badge.dispo-shift-day{background:#f2d600}.dispo-shift-badge.dispo-shift-night{background:#9cc3ff}.dispo-info-card{border-left:3px solid var(--danger)}.dispo-info-card .section-title{color:var(--danger)}.dispo-info-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.dispo-info-list li{display:flex;align-items:center;gap:.4rem;background:#fff8c4;border:1px solid #f0d878;border-radius:6px;padding:.3rem .5rem;font-weight:600;font-size:.85rem}.dispo-info-list li>span{flex:1 1}.dispo-info-list.upcoming{margin-top:.35rem}.dispo-info-list.upcoming li{background:none;border:1px dashed var(--line);font-weight:500;font-size:.78rem}.dispo-table-scroll{overflow-x:auto}.dispo-table{width:100%;border-collapse:collapse;font-size:.8rem}.dispo-table td,.dispo-table th{padding:.15rem .35rem;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;text-align:left}.dispo-table thead th{color:var(--muted);font-weight:600;border-bottom:2px solid var(--ink)}.dispo-table td.dispo-col-shift-sep,.dispo-table th.dispo-col-shift-sep{border-left:2px solid var(--line)}.dispo-idle td{background:rgba(92,107,122,.05)}.dispo-vehicle-name{display:inline-block;min-width:3.2rem;padding:.05rem .35rem;border-radius:4px;font-weight:700;text-align:center}.dispo-eq-dt40{background:#f0a04b}.dispo-eq-dt41{background:#f2d600}.dispo-eq-dt41box{background:#6bc34a}.dispo-free{font-size:.75rem}.dispo-free,.dispo-tour-sep{color:var(--muted)}.dispo-missing{color:var(--match-warn);font-weight:600}.dispo-note-cell{width:130px}.dispo-note-input{width:100%;min-width:110px;box-sizing:border-box;padding:.15rem .4rem;font-size:.78rem;border-radius:4px}.dispo-note-input.is-set{background:#dbeacb}.dispo-note-input.is-spare{background:#f6d9b5}.dispo-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem;font-size:.75rem;color:var(--muted)}.dispo-legend span:before{content:"";display:inline-block;width:1.6rem;height:.8rem;margin-right:.35rem;vertical-align:-.1rem;border-radius:2px}.dispo-legend .dispo-eq-dt40:before{background:#f0a04b}.dispo-legend .dispo-eq-dt41:before{background:#f2d600}.dispo-legend .dispo-eq-dt41box:before{background:#6bc34a}.dispo-legend span{background:none}.dispo-future{margin-top:.5rem;border-top:1px solid var(--line);padding-top:.4rem;display:flex;flex-direction:column;gap:.2rem}.dispo-future-day summary{cursor:pointer;font-size:.8rem}.dispo-future-day ul{margin:.2rem 0 0;padding-left:.75rem;font-size:.76rem;list-style:none}.dispo-link{padding:0;background:none;color:var(--accent);font-weight:600;text-decoration:underline;font-size:inherit}.dispo-mini-list{margin:0;padding:0;list-style:none;font-size:.78rem;display:flex;flex-direction:column;gap:.15rem}.dispo-absence,.dispo-phone{color:var(--muted);font-size:.75rem}.dispo-absence{color:var(--match-warn)}.dispo-error{border-left:3px solid var(--danger);color:var(--danger);margin-bottom:.6rem}.dispo-check{flex-direction:row;align-items:center;gap:.5rem;color:var(--ink)}.dispo-check input{width:auto}.dispo-error-text{margin:0;color:var(--danger);font-size:.85rem}.dispo-dialog{border:none;border-radius:12px;padding:0;width:min(640px,calc(100vw - 2rem));box-shadow:0 20px 50px rgba(15,23,42,.25)}.dispo-dialog::-webkit-backdrop{background:rgba(15,23,42,.45)}.dispo-dialog::backdrop{background:rgba(15,23,42,.45)}.dispo-dialog-inner{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem 1.15rem}.dispo-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dispo-dialog-header h2{margin:0;font-size:1.1rem}.dispo-dialog-header p{margin:.2rem 0 0;font-size:.85rem}.dispo-dialog-wide{width:min(860px,calc(100vw - 2rem))}.dispo-dialog-body{max-height:min(70vh,640px);overflow:auto}.dispo-dialog-body .dispo-mini-table td{white-space:normal}.dispo-btn-alert{border-color:var(--match-warn)!important;color:var(--match-warn)!important}.dispo-wrench{padding:0 .15rem;margin-left:.2rem;background:none;font-size:.85rem;line-height:1;cursor:pointer}.dispo-dialog-footer{display:flex;justify-content:flex-end;gap:.5rem}