:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e9edf3;background:#0c0e11;color-scheme:dark;--panel:#171a1e;--border:#30353b;--muted:#a0acb9;--accent:#85a8ff;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input{font:inherit}button{cursor:pointer}.topbar{height:68px;background:#13161a;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:760;letter-spacing:-.03em}.brand small{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0;margin-left:7px}.brand-icon{width:32px;height:32px;border-radius:10px;background:#456ae0;color:#fff;display:grid;place-items:center;font-size:21px}.status{font-size:12px;color:#b3becb;background:#1b2025;border:1px solid var(--border);border-radius:20px;padding:7px 11px}.status i{display:inline-block;width:7px;height:7px;background:#35c393;border-radius:50%;margin-right:7px}.shell{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{background:#13161a;border-right:1px solid var(--border);padding:30px 15px;display:flex;flex-direction:column}.eyebrow{margin:0 0 10px;color:var(--muted);font-weight:750;letter-spacing:.12em;font-size:10px}.sidebar .eyebrow{padding-left:13px}.sidebar nav{display:grid;gap:5px}.nav-button{width:100%;border:0;background:transparent;text-align:left;color:#b2bdca;padding:11px 13px;border-radius:9px;font-weight:600;font-size:13px}.nav-button.active{background:#26375b;color:#bcd0ff}.nav-button:hover{background:#222830}.side-note{margin-top:auto;padding:15px;color:var(--muted);font-size:11px;line-height:1.6;border-top:1px solid var(--border)}.workspace{padding:34px clamp(20px,4vw,60px);min-width:0;max-width:1700px;width:100%;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px}h1{font-size:30px;letter-spacing:-.04em;margin:0 0 5px}h2{font-size:16px;letter-spacing:-.02em;margin:0}.subtitle{margin:0;color:var(--muted);font-size:13px}.period{display:flex;align-items:flex-end;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:9px}.period label{font-size:10px;font-weight:700;color:var(--muted);display:grid;gap:3px}.period input{border:0;background:transparent;color:#eef2f6;min-width:120px;font-size:12px}.period-separator{color:var(--muted);padding-bottom:5px}.period button,.small-button{border:0;background:#456ae0;color:white;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:700}.period button:hover{background:#567cf1}.cards{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.card{grid-column:span 6;background:var(--panel);border:1px solid var(--border);border-radius:15px;box-shadow:0 5px 20px #0002;padding:22px;min-width:0}.card.kpi{grid-column:span 4;min-height:145px}.card.table{grid-column:span 12}.card h2{margin-bottom:5px}.card-subtitle{color:var(--muted);font-size:11px;margin:0 0 18px}.kpi-value{font-size:31px;letter-spacing:-.05em;font-weight:750;margin:15px 0 8px}.kpi-meta{font-size:11px;color:var(--muted)}.positive{color:#57d5a9}.negative{color:#ff8690}.chart-frame{width:100%;overflow-x:auto}.chart-frame svg{min-width:450px;width:100%;height:auto;display:block}.axis{font-size:11px;fill:#aeb9c8}.gridline{stroke:#353b43;stroke-width:1}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin:8px 0 0;font-size:11px;color:#c0cad5}.chart-legend button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:3px;color:inherit}.chart-legend button:hover{text-decoration:underline}.swatch{width:9px;height:9px;border-radius:2px;display:inline-block}.point-hit{cursor:pointer}.point-hit:hover{opacity:.75}.reference{stroke:#bfa5f5;stroke-width:1.5;stroke-dasharray:5 4}.reference-label{fill:#d3bcff;font-size:10px}.table-toolbar{display:flex;justify-content:space-between;gap:12px;margin:15px 0;align-items:center;flex-wrap:wrap}.table-toolbar input{border:1px solid var(--border);background:#20252a;color:#eef2f6;border-radius:8px;padding:8px 10px;min-width:230px;font-size:12px}.table-toolbar .small-button{background:#29364e;color:#cbd9fa}.column-menu{display:flex;flex-wrap:wrap;gap:12px;padding:11px;background:#20252a;border:1px solid var(--border);border-radius:9px;margin-bottom:12px;font-size:11px}.column-menu label{white-space:nowrap}.table-wrap{overflow:auto;max-height:560px;border:1px solid var(--border);border-radius:9px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}thead{position:sticky;top:0;background:#22272d;z-index:1}th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);color:#c0cad5;min-width:115px;font-weight:700}th input{display:block;width:100%;min-width:80px;margin-top:7px;border:1px solid #3b434d;border-radius:5px;padding:6px;font-size:11px;background:#171a1e;color:#eef2f6}th[draggable]{cursor:grab}th.dragover{background:#344668}td{padding:11px 12px;border-bottom:1px solid #2b3036;color:#d8e0e9}tbody tr:hover{background:#242b33}.table-count{font-size:11px;color:var(--muted);margin:11px 0 0}.notice{background:#3b2b1a;color:#ffe0ae;border:1px solid #795532;padding:11px 15px;border-radius:9px;margin-bottom:18px;font-size:13px}.empty{color:var(--muted);font-size:13px;padding:25px 0}footer{font-size:11px;color:var(--muted);margin:30px 0}dialog{width:min(900px,calc(100vw - 30px));background:var(--panel);color:#e9edf3;border:1px solid var(--border);border-radius:16px;padding:25px;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#000a}.dialog-head{display:flex;justify-content:space-between;margin-bottom:18px}.icon-button{border:0;background:#2a3037;width:30px;height:30px;border-radius:8px;font-size:22px;color:#d4deea}input::placeholder{color:#8996a5}button:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:1050px){.card.kpi{grid-column:span 6}.pagehead{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.shell{display:block}.sidebar{padding:12px 20px;border-bottom:1px solid var(--border)}.sidebar .eyebrow,.side-note{display:none}.sidebar nav{display:flex;overflow:auto}.nav-button{white-space:nowrap}.workspace{padding:23px 16px}.card,.card.kpi{grid-column:span 12}.period{width:100%;flex-wrap:wrap}.topbar{padding:0 16px}.brand small{display:none}}
.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;flex-wrap:wrap}.table-pagination .table-count{margin:0}.table-pagination .small-button{background:#29364e;color:#cbd9fa}.table-pagination button:disabled{opacity:.45;cursor:default}
.sidebar-action{margin:12px 4px 0;padding:10px 12px;border:1px dashed #57647a;border-radius:9px;background:#1b2535;color:#d6e2fc;text-align:left;font-size:12px;font-weight:700}.sidebar-action:hover{background:#26375b}.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.small-button.secondary{background:#28313d;color:#d9e4f3;border:1px solid #425064}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-heading h2{min-width:0}.card-edit{flex:none;border:1px solid #424c59;background:#252d37;color:#cbd8e8;border-radius:7px;padding:5px 9px;font-size:11px}.card-edit:hover{background:#334155}#editor-dialog{width:min(700px,calc(100vw - 30px));max-height:min(90vh,900px);overflow:auto}.editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.editor-field{display:grid;align-content:start;gap:6px;color:#cbd6e4;font-size:12px;font-weight:650}.editor-field.wide{grid-column:1/-1}.editor-field input,.editor-field textarea,.editor-field select,.reference-row input{width:100%;min-width:0;background:#0f1318;border:1px solid #46505e;border-radius:8px;color:#edf2f8;padding:9px 10px;font-size:13px}.editor-field textarea{min-height:72px;resize:vertical}.editor-field input:disabled{opacity:.55}.editor-field small,.field-hint{font-weight:400;color:var(--muted);line-height:1.4}.choice-list{display:flex;flex-wrap:wrap;gap:7px 13px;padding:9px;border:1px solid var(--border);border-radius:8px}.choice-list label{display:inline-flex;align-items:center;gap:5px;font-weight:500}.choice-list input{width:auto}.reference-list{display:grid;gap:8px}.reference-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:7px}.reference-row button{border:1px solid var(--border);border-radius:7px;background:#28313d;color:#eee;padding:5px 10px}.editor-actions{display:flex;gap:9px;align-items:center;margin-top:22px}.action-spacer{flex:1}.danger-button{background:transparent;color:#ff9ca5;border:1px solid #8b464d;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:700}.danger-button:hover{background:#4a252b}@media(max-width:700px){.editor-fields{grid-template-columns:1fr}.reference-row{grid-template-columns:1fr 1fr auto}.dashboard-actions{margin-bottom:8px}}
.card.table.width-8{grid-column:span 8}.card.table.width-6{grid-column:span 6}.card.table.width-4{grid-column:span 4}.table-wrap table{table-layout:fixed;width:var(--table-width,100%);min-width:100%}.table-wrap th,.table-wrap td{overflow:hidden;text-overflow:ellipsis}.table-wrap th{position:relative}.column-resize{position:absolute;right:0;top:0;bottom:0;width:9px;cursor:col-resize;touch-action:none;border-right:2px solid transparent}.column-resize:hover,.column-resize:focus-visible{border-right-color:var(--accent)}@media(max-width:1050px){.card.table.width-8,.card.table.width-6,.card.table.width-4{grid-column:span 12}}

.cards .card{grid-column:span var(--card-span,6);height:var(--card-height,380px);min-height:150px;position:relative;display:flex;flex-direction:column;padding-bottom:30px;overflow:hidden}
.card-controls{display:flex;align-items:center;gap:6px;flex:none}
.card-move{width:29px;height:27px;padding:0;border:1px solid #424c59;border-radius:7px;background:#252d37;color:#cbd8e8;cursor:grab;font-size:19px;line-height:1}
.card-move:active{cursor:grabbing}
.card-resize{position:absolute;right:5px;bottom:5px;width:25px;height:25px;border:0;background:transparent;color:#8798ac;cursor:nwse-resize;touch-action:none}
.card-resize::before{content:'◢';font-size:18px;line-height:1}
.card-resize:hover,.card-resize:focus-visible,.card-move:hover{color:#dce7ff;background:#334155}
.card-dragging{opacity:.55}
.card-drop-target{outline:2px dashed var(--accent);outline-offset:-5px}
.cards .chart-frame{flex:1;min-height:0;overflow:auto}
.cards .chart-frame svg{height:100%;min-height:180px;min-width:450px}
.cards .table-wrap{flex:1;min-height:0;max-height:none}
.cards .card-heading,.cards .card-subtitle,.cards .chart-legend,.cards .table-toolbar,.cards .column-menu,.cards .table-count{flex:none}
.chart-axis-label{cursor:help}
.chart-axis-label:hover,.chart-axis-label:focus{fill:#fff;text-decoration:underline}
.movement-assignable{cursor:context-menu}
.movement-assignable:hover{background:#2a3850}
.movement-assignable.manual-envelope td:first-child{box-shadow:inset 3px 0 #7fbcff}
.movement-context-menu{position:fixed;z-index:40;width:280px;max-height:min(460px,90vh);display:flex;flex-direction:column;gap:9px;padding:14px;background:#202a36;border:1px solid #62748c;border-radius:13px;box-shadow:0 20px 60px #000b;color:#edf3fb}
.movement-context-menu.selecting{width:310px}
.movement-context-menu.refunding{width:min(410px,calc(100vw - 16px))}
.movement-menu-head{display:grid;gap:5px;min-width:0}
.movement-menu-head strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.movement-menu-head small,.movement-menu-status{font-size:11px;color:#aebed0;line-height:1.4}
.movement-menu-status{margin:0}
.movement-menu-content{display:flex;flex-direction:column;gap:7px;min-height:0}
.movement-menu-action,.movement-menu-back{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #4b5f79;border-radius:8px;background:#2b3b50;color:#e0ebfb;padding:9px 11px;text-align:left;font-size:12px;font-weight:650}
.movement-menu-action:hover,.movement-menu-action:focus-visible,.movement-menu-back:hover,.movement-menu-back:focus-visible{background:#3a5480;border-color:#81a6e9}
.movement-menu-arrow{font-size:18px;line-height:10px}
.movement-menu-back{justify-content:flex-start;background:transparent;border-color:transparent;color:#a9c5f0;padding:5px 4px}
.movement-context-menu input{width:100%;background:#111923;color:#edf3fb;border:1px solid #53657b;border-radius:8px;padding:8px 10px;font-size:12px}
.refund-search{margin:8px 0}
.refund-results-meta{margin:7px 10px;color:#aebed0;font-size:11px}
.movement-menu-list{overflow:auto;min-height:0;border:1px solid #3d4b5d;border-radius:8px}
.movement-menu-option,.movement-menu-reset{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-bottom:1px solid #344153;background:#18222d;color:#dce7f6;padding:9px 11px;text-align:left;font-size:12px}
.movement-menu-option:last-child{border-bottom:0}
.movement-menu-option:hover,.movement-menu-option:focus-visible{background:#30466a}
.movement-menu-option.current{color:#9ac0ff}
.movement-menu-current{font-size:10px;color:#8fa7c8}
.movement-menu-reset{border:1px solid #596e8b;border-radius:8px;background:#27364b;justify-content:center;color:#bdd5ff}
.movement-menu-reset:hover{background:#36527a}
.refund-section{display:block;padding:9px 11px 5px;color:#b4cef4;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.refund-item{display:grid;gap:5px;padding:10px 11px;border-top:1px solid #344153;font-size:12px}
.refund-description{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650}
.refund-item small{color:#aebed0}
.refund-controls{display:flex;align-items:center;gap:7px}
.refund-controls input{max-width:105px}
.refund-add,.refund-remove{border:1px solid #6289c9;border-radius:7px;background:#355796;color:#fff;padding:7px 10px;font-size:11px;font-weight:650;cursor:pointer}
.refund-remove{justify-self:start;background:#3c4655;border-color:#6a7787}
.detail-back{margin-bottom:14px}
.detail-summary{display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center;margin-bottom:14px;padding:13px 15px;border:1px solid var(--border);border-radius:10px;background:#20252a;font-size:12px;color:var(--muted)}
.detail-summary strong{color:#edf3fb;font-size:15px;text-align:right}
.detail-table-box .table-wrap{max-height:min(52vh,540px)}
.detail-table-box td:nth-child(2){white-space:normal;min-width:230px}
.detail-table-box .table-pagination{margin-top:12px}
tfoot{position:sticky;bottom:0;z-index:2;background:#253348;box-shadow:0 -2px 8px #0005}
tfoot td{border-top:1px solid #536784;border-bottom:0;color:#e3edff;font-weight:750}
.traffic-legend{display:flex;flex-wrap:wrap;gap:7px 15px;margin:-4px 0 11px;color:#aebccf;font-size:10px}.traffic-legend-item{display:inline-flex;align-items:center;gap:6px}.traffic-legend-item::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.traffic-legend-item.traffic-green{color:#6cdeb5}.traffic-legend-item.traffic-yellow{color:#f3c875}.traffic-legend-item.traffic-red{color:#ff98a1}.table-wrap td.traffic-green{background:#1e59463b;color:#7ce6bf;box-shadow:inset 3px 0 #42bc91}.table-wrap td.traffic-yellow{background:#76571d40;color:#f5d28b;box-shadow:inset 3px 0 #e0b252}.table-wrap td.traffic-red{background:#7d303b3d;color:#ffadb4;box-shadow:inset 3px 0 #e5707d}
.pie-layout{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr);gap:16px;align-items:center;min-height:250px}.pie-figure{display:grid;place-items:center;min-width:0}.pie-figure svg{display:block;width:min(100%,330px);height:auto}.pie-slice{cursor:pointer;transition:opacity .15s,filter .15s}.pie-slice:hover,.pie-slice:focus-visible{opacity:.82;filter:brightness(1.2);outline:none}.pie-legend{display:grid;align-content:start;gap:4px;max-height:310px;overflow:auto;min-width:0;padding-right:4px}.pie-total{display:grid;gap:3px;padding:0 7px 11px;margin-bottom:4px;border-bottom:1px solid #38495b}.pie-total span{color:#a7b8cc;font-size:10px;font-weight:800;letter-spacing:.08em}.pie-total strong{color:#edf3fb;font-size:21px}.pie-legend-item{display:flex;align-items:center;gap:9px;width:100%;min-width:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#d9e5f4;padding:8px 7px;text-align:left;font-size:11px}.pie-legend-item:hover,.pie-legend-item:focus-visible{background:#27374a;border-color:#4c647f}.pie-swatch{width:10px;height:10px;flex:none;border-radius:3px}.pie-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pie-value{color:#b7c8dc;white-space:nowrap;font-variant-numeric:tabular-nums}.pie-hint{grid-column:1/-1;margin:0 0 4px}@media(max-width:650px){.pie-layout{grid-template-columns:1fr}.pie-figure svg{width:min(100%,260px)}.pie-legend{max-height:230px}}
@media(max-width:700px){.cards .card{grid-column:span 12}}

.shell{display:block;min-height:calc(100vh - 68px)}
.sidebar{position:sticky;top:0;z-index:5;display:flex;flex-direction:row;align-items:center;gap:24px;width:100%;padding:11px clamp(20px,4vw,60px);border-right:0;border-bottom:1px solid var(--border);box-shadow:0 8px 24px #0002}
.nav-section{min-width:0}
.nav-dashboards{flex:1}
.nav-tools,.nav-utilities{flex:none;border-left:1px solid var(--border);padding-left:22px}
.sidebar .eyebrow{padding:0;margin:0 0 6px;font-size:9px}
.dashboard-nav-row,.tool-nav{display:flex;align-items:center;gap:8px;min-width:0}
.sidebar nav{display:flex;gap:5px;overflow-x:auto;min-width:0;scrollbar-width:thin}
.sidebar .nav-button{width:auto;white-space:nowrap;padding:9px 13px;border-radius:8px}
.sidebar-action{flex:none;margin:0;padding:8px 11px;white-space:nowrap;border-style:solid}
.sidebar-action.active{background:#26375b;border-color:#5673b0;color:#c9d9ff}
.workspace{max-width:1800px;padding-top:30px}
@media(max-width:900px){.sidebar{gap:12px;flex-wrap:wrap}.nav-dashboards{flex-basis:100%}.nav-tools,.nav-utilities{padding-left:12px}.sidebar .nav-button{padding:8px 10px}.sidebar-action{padding:8px 9px}}
@media(max-width:700px){.sidebar{padding:10px 16px;align-items:flex-start;flex-direction:column;gap:9px}.nav-section{width:100%}.nav-tools,.nav-utilities{border-left:0;padding-left:0}.sidebar .eyebrow{display:block}.tool-nav{justify-content:flex-start}.sidebar nav{max-width:calc(100vw - 112px)}.workspace{padding-top:20px}}
.column-filter{display:block;width:calc(100% - 3px);min-width:0;margin-top:7px;padding:6px 8px;border:1px solid #3b434d;border-radius:6px;background:#171a1e;color:#b6c3d2;text-align:left;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.column-filter.active{border-color:#7295eb;background:#253759;color:#e5edff}.table-filter-popover{position:fixed;z-index:20;width:292px;max-height:min(430px,85vh);overflow:auto;padding:15px;background:#202730;border:1px solid #566273;border-radius:12px;box-shadow:0 14px 45px #000a;color:#eaf0f8;font-size:12px}.table-filter-popover strong{display:block;font-size:13px;margin-bottom:12px}.filter-label{display:grid;gap:5px;color:#bfccda;font-weight:650}.table-filter-popover select,.table-filter-popover input{width:100%;min-width:0;background:#11171d;border:1px solid #536070;border-radius:7px;color:#eef4fb;padding:8px;font-size:12px}.filter-value{margin-top:11px}.filter-value select[size]{height:175px}.filter-value .field-hint{margin:0 0 7px;color:var(--muted)}.filter-actions{display:flex;justify-content:space-between;gap:8px;margin-top:13px}.filter-actions .small-button{padding:8px 10px}
.table-filter-popover{width:364px;max-height:min(510px,90vh);padding:17px;background:#1c232d;border-color:#56657a;border-radius:16px;box-shadow:0 24px 70px #000b}.filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.table-filter-popover .filter-heading strong{font-size:17px;letter-spacing:-.02em;margin:2px 0 13px}.filter-kicker{color:#8faad4;font-size:9px;letter-spacing:.14em;font-weight:800}.filter-close{border:0;background:#303a48;color:#cfdaea;border-radius:8px;width:28px;height:28px;font-size:20px;line-height:1}.filter-operators{display:flex;flex-wrap:wrap;gap:6px}.filter-operator{border:1px solid #49566a;border-radius:100px;background:#27313e;color:#cbd6e5;padding:7px 10px;font-size:11px;font-weight:650}.filter-operator:hover{background:#344257}.filter-operator.selected{background:#4167bf;border-color:#6d91e3;color:white}.filter-value{margin-top:16px}.table-filter-popover .filter-value>input{height:37px}.filter-options{max-height:198px;overflow:auto;border:1px solid #414e60;border-radius:9px;background:#111821;margin-top:8px}.filter-option{display:flex;align-items:center;gap:9px;padding:8px 10px;cursor:pointer;border-bottom:1px solid #293340}.filter-option:last-child{border-bottom:0}.filter-option:hover{background:#25354b}.filter-option input{width:15px;height:15px;min-width:15px;accent-color:#78a1ff}.filter-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-status{color:#9eaec2;font-size:11px;margin:8px 0 0}.filter-empty{padding:11px;color:#9eaec2;margin:0}.filter-actions{margin-top:17px}.filter-actions .small-button{font-size:11px}
.sidebar-action.active{background:#304a7d;border-color:#6b93e4;color:white}.planning-view{background:linear-gradient(145deg,#1c2734,#151b22 52%);border:1px solid #364353;border-radius:18px;padding:24px;box-shadow:0 18px 45px #0003}.plan-toolbar,.plan-zoom{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.plan-toolbar{padding-bottom:20px;border-bottom:1px solid #384453}.plan-toolbar label,.plan-zoom label{display:grid;gap:6px;font-size:10px;font-weight:750;color:#9facbd;letter-spacing:.04em}.plan-toolbar select,.plan-zoom input{background:#111923;color:#e8f0fa;border:1px solid #48576b;border-radius:9px;padding:9px 11px;min-height:36px;min-width:150px;font-size:12px}.plan-toolbar #plan-envelope{min-width:205px}.plan-toolbar .small-button{min-height:36px}.plan-zoom{padding:18px 0 4px}.plan-zoom>span{font-size:11px;font-weight:750;color:#a9b7c7;align-self:center;margin-right:4px}.plan-zoom .small-button{padding:9px 11px}.plan-hint{font-size:11px;color:#9fadbf;margin:12px 0 0}.plan-chart{margin-top:17px;padding:14px;background:#111820;border:1px solid #354354;border-radius:14px;min-height:330px}.plan-chart svg{display:block;width:100%;height:auto;max-height:440px;touch-action:none}.plan-grid{stroke:#2a3948;stroke-width:1}.plan-axis{fill:#9aaabc;font-size:11px}.plan-area-line{fill:none;stroke:#79a4ff;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.plan-actual{fill:#4bd0a4;opacity:.8}.plan-handle{fill:#dbe7ff;stroke:#678fe8;stroke-width:3;cursor:grab;filter:drop-shadow(0 2px 5px #0008)}.plan-handle:active{cursor:grabbing}.plan-selection{fill:#5b8eff44;stroke:#83a8ff;stroke-width:1;pointer-events:none}.plan-zoom-target{cursor:crosshair}.plan-legend{display:flex;gap:18px;justify-content:flex-end;padding:2px 16px 4px;font-size:11px}.plan-legend .planned{color:#91b3ff}.plan-legend .actual{color:#5ce0b3}.plan-list-head{display:flex;justify-content:space-between;align-items:center;margin:23px 2px 11px}.plan-list-head span{font-size:11px;color:#9fadbf}.plan-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.plan-point-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #405168;background:#202c3a;color:#dce7f8;border-radius:10px;padding:12px;text-align:left}.plan-point-row:hover{background:#2b3b50;border-color:#7796c5}.plan-point-row time{font-size:11px;color:#a7b9d0}.plan-point-row strong{font-size:13px}.plan-point-row span{font-size:10px;color:#8a9dba}.plan-empty{color:#9aaabc;font-size:12px}.planning-view .notice{margin-top:12px}@media(max-width:700px){.planning-view{padding:16px}.plan-toolbar label,.plan-toolbar select,.plan-zoom label,.plan-zoom input{width:100%}.plan-toolbar .small-button{flex:1}.plan-chart{padding:4px;min-height:220px}}
.plan-toolbar{padding-bottom:14px;border-bottom:0}.plan-hint{margin:0;color:#a8b9cc}.plan-chart{margin-top:18px}.plan-chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 15px 4px}.plan-chart-head h2{font-size:18px;text-transform:capitalize;margin:3px 0}.plan-chart-head button{font-size:11px}.plan-context-menu{position:fixed;z-index:30;min-width:205px;padding:7px;background:#263243;border:1px solid #61748d;border-radius:11px;box-shadow:0 14px 38px #0009}.plan-context-menu p{margin:5px 8px 9px;font-size:11px;color:#aec2da}.plan-context-menu button{display:block;width:100%;border:0;border-radius:7px;background:#476cd0;color:white;padding:9px 11px;text-align:left;font-weight:700;font-size:12px}.plan-zoom{display:block;border-top:1px solid #354252;margin-top:16px;padding:0}.plan-zoom summary{cursor:pointer;list-style:none;color:#b5c9e3;font-weight:700;font-size:11px;padding:13px 4px}.plan-zoom summary::before{content:'⌕ ';color:#8eb5ff;font-size:15px}.plan-zoom-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding:2px 4px 14px}.plan-zoom-controls .small-button{padding:9px 11px}#rules-dialog{width:min(900px,calc(100vw - 28px));max-height:90vh;overflow:auto}.rules-intro{display:flex;align-items:center;gap:17px;margin-bottom:16px}.rules-intro label{display:grid;gap:5px;color:#bfcde0;font-size:11px;font-weight:700}.rules-intro input,.rule-row input{background:#111923;color:#eaf0f9;border:1px solid #4a5a6f;border-radius:7px;padding:8px 9px;font-size:12px}.rules-intro input{width:110px}.rules-intro p{font-size:11px;color:#a8b7c9;margin:0}.rules-intro code{color:#d9e6fa}.rules-list{display:grid;gap:7px;max-height:440px;overflow:auto;margin-bottom:13px}.rule-row{display:grid;grid-template-columns:minmax(140px,1fr) 105px minmax(210px,2fr) 28px;gap:7px;align-items:center}.rule-row input{min-width:0}.rules-recalculate{display:flex;align-items:center;gap:8px;color:#c0cddd;font-size:11px;margin-top:16px}.rules-recalculate input{accent-color:#739df2}@media(max-width:700px){.plan-chart-head{padding:9px}.rules-intro{display:block}.rules-intro p{margin-top:9px}.rule-row{grid-template-columns:1fr 100px 28px}.rule-row input:nth-child(3){grid-column:1/-1;grid-row:2}}
.planning-tabs{display:flex;gap:8px;margin-bottom:21px;border-bottom:1px solid #384453;padding-bottom:13px}.planning-tab{border:1px solid #40536a;border-radius:9px;background:#1d2a38;color:#bdd0e6;padding:10px 15px;font-weight:750;cursor:pointer}.planning-tab.active{background:#3d63c6;border-color:#6587e6;color:white}.recurring-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:8px 0 24px}.recurring-head h2{margin:4px 0 8px;font-size:25px}.recurring-head p:not(.eyebrow){color:#aebfd2;font-size:13px;max-width:640px;line-height:1.5;margin:0}.recurring-category-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:13px}.recurring-category-card{border:1px solid #3d4f64;background:linear-gradient(150deg,#253449,#1b2634);border-radius:13px;padding:17px;min-height:140px}.recurring-category-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.recurring-category-top h3{font-size:16px;margin:0 0 7px;text-transform:capitalize}.recurring-type{display:inline-block;padding:4px 8px;border-radius:99px;background:#284878;color:#b8d4ff;font-size:10px;font-weight:800}.recurring-category-rules{margin-top:18px;border-top:1px solid #3b4b5e;padding-top:10px}.recurring-category-rules p{font-size:11px;line-height:1.5;color:#b8c9dc;margin:5px 0;overflow-wrap:anywhere}#recurring-dialog{width:min(900px,calc(100vw - 28px));max-height:90vh;overflow:auto}.recurring-form-grid{display:grid;grid-template-columns:1fr 1fr 90px;gap:12px}.recurring-form-grid label{display:grid;gap:7px;color:#b9c9dc;font-size:11px;font-weight:700}.recurring-form-grid input,.recurring-form-grid select{min-width:0;width:100%;background:#121c27;color:#e9f1fb;border:1px solid #4a5d73;border-radius:8px;padding:10px;font:inherit}.recurring-form-grid .recurring-wide{grid-column:1/-1}.recurring-help{font-size:11px;color:#99aec6;line-height:1.5}.recurring-envelope-head{display:flex;justify-content:space-between;gap:12px;margin:20px 0 12px;color:#dce9f7;font-size:12px}.recurring-envelope-head span{color:#9fb0c5;font-size:11px}.recurring-envelope-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px;max-height:240px;overflow:auto}.recurring-envelope-option{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #3d5066;border-radius:8px;color:#cbd9e9;background:#1b2837;font-size:11px;cursor:pointer}.recurring-envelope-option input{accent-color:#729cff}@media(max-width:650px){.recurring-head{display:block}.recurring-head button{margin-top:15px}.recurring-form-grid{grid-template-columns:1fr 1fr}.recurring-form-grid label:first-child{grid-column:1/-1}}
.recurring-detector{margin-top:12px;border-top:1px solid #3b4b5e;padding-top:10px}.recurring-detector summary{cursor:pointer;color:#9fbfff;font-size:11px;font-weight:750}.recurring-detector ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px;max-height:230px;overflow:auto}.recurring-detector li{display:grid;gap:3px;padding:8px;border-radius:7px;background:#172334;overflow-wrap:anywhere}.recurring-detector strong{font-size:11px;color:#dbe8f8}.recurring-detector small{font-size:10px;color:#91a8c2}
.recurring-pattern-section{margin-top:20px;border-top:1px solid #3b4b5e}.recurring-pattern-rows{display:grid;gap:10px;margin-bottom:12px}.recurring-pattern-row{display:grid;grid-template-columns:95px minmax(150px,2fr) minmax(130px,1.5fr) 115px 32px;align-items:end;gap:9px;padding:12px;background:#1b2837;border:1px solid #3d5066;border-radius:10px}.recurring-pattern-row label{display:grid;gap:6px;color:#b9c9dc;font-size:11px;font-weight:700}.recurring-pattern-row input{min-width:0;width:100%;background:#121c27;color:#e9f1fb;border:1px solid #4a5d73;border-radius:8px;padding:9px;font:inherit}.recurring-pattern-row .recurring-pattern-remove{height:36px;width:32px}@media(max-width:750px){.recurring-pattern-row{grid-template-columns:1fr 1fr 32px}.recurring-pattern-row label:nth-child(2),.recurring-pattern-row label:nth-child(3){grid-column:1/3}.recurring-pattern-row .recurring-pattern-remove{grid-column:3;grid-row:1}}
.imports-view{background:linear-gradient(150deg,#1d2a38,#151b22 55%);border:1px solid #39485b;border-radius:18px;padding:25px;box-shadow:0 18px 45px #0003}.imports-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.imports-head h2{font-size:22px;margin-bottom:7px}.imports-head p:not(.eyebrow){font-size:12px;color:#adbed1;line-height:1.5;margin:0}.imports-actions{display:flex;gap:8px;flex:none}.imports-list{display:grid;gap:9px;margin-top:24px}.import-file{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 17px;border:1px solid #405065;background:#1c2734;border-radius:11px}.import-file strong{display:block;color:#e4ecf8;font-size:13px;overflow-wrap:anywhere}.import-file small{display:block;color:#9fb0c6;margin-top:6px}.import-badge{border:1px solid #596b80;border-radius:30px;padding:6px 10px;color:#b8c8dc;font-size:11px;white-space:nowrap}.import-badge.pending{border-color:#5c87d2;color:#b8d0ff}.import-badge.error{border-color:#ac665e;color:#ffafa5}.imports-summary{font-size:12px;color:#a8bbd3;margin:16px 2px 0}.imports-view #banking-accounts{margin:18px 0 32px}.imports-view #banking-accounts + .imports-head{padding-top:26px;border-top:1px solid #39485b}@media(max-width:700px){.imports-head{display:block}.imports-actions{margin-top:17px;flex-wrap:wrap}.imports-view{padding:17px}}
.banking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.bank-card{min-height:218px;display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid #45566b;border-radius:14px;background:linear-gradient(145deg,#202e3d,#19232f);box-shadow:0 10px 25px #0002}.bank-card.bank-connected{border-color:#436c66}.bank-card.bank-busy{border-color:#678ad7;background:linear-gradient(145deg,#213450,#1a2738)}.bank-card.bank-error,.bank-card.bank-expired{border-color:#9b6260}.bank-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.bank-card-head strong{display:block;color:#e8f0fa;font-size:17px}.bank-card-head small{display:block;margin-top:5px;color:#a9bbcf;font-size:11px}.bank-state{flex:none;padding:5px 8px;border:1px solid #65788b;border-radius:999px;color:#b8c7d7;font-size:10px;font-weight:800;white-space:nowrap}.bank-state.ready{border-color:#4d9b80;color:#86dbbb}.bank-state.working{border-color:#78a1ea;color:#b4d0ff}.bank-state.problem{border-color:#b77772;color:#ffc0b7}.bank-card-summary{display:grid;align-content:start;gap:7px;color:#b3c2d2;font-size:11px;line-height:1.45}.bank-progress{color:#b2d1ff}.bank-progress:before{content:'◌';display:inline-block;margin-right:6px;animation:bank-spin 1s linear infinite}.bank-error-message{color:#ffc0b7}.bank-next{color:#849bb0}.bank-card-actions{display:flex;gap:8px;margin-top:auto}.bank-help{color:#a8bbcf;font-size:12px;line-height:1.5;margin:0}.bank-disconnected>.small-button{align-self:flex-start;margin-top:auto}@keyframes bank-spin{to{transform:rotate(360deg)}}
.bank-card-actions button:disabled{opacity:.55;cursor:not-allowed}
.chart-zero-line{stroke:#f5d77e;stroke-width:3;stroke-opacity:.65;pointer-events:none}.chart-zero-label{fill:#ffe7a1;font-size:11px;font-weight:800;paint-order:stroke;stroke:#182330;stroke-width:3px;pointer-events:none}
@media(max-width:700px){.bank-card{min-height:190px}}
/* Calculated savings markers are intentionally not draggable. */
.top-actions{display:flex;align-items:center;gap:12px}.privacy-button{border:1px solid #4b5d76;background:#1d2a3b;color:#d6e5fa;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700}.privacy-button:hover,.privacy-button[aria-pressed="true"]{background:#2b4165;border-color:#7899d1}@media(max-width:600px){.topbar{padding:0 15px}.brand small,.top-actions .status{display:none}.privacy-button{font-size:11px;padding:8px}}
.small-button.danger-outline{background:#382126;border:1px solid #a3515c;color:#ffbdc4}.small-button.danger-outline:hover{background:#512b32}.small-button.danger-outline:disabled{opacity:.55;cursor:wait}
.plan-derived-handle{fill:#202c3a;stroke:#c084fc;stroke-width:3;cursor:default;filter:drop-shadow(0 2px 5px #0008)}
.plan-actual-line{fill:none;stroke:#4bd0a4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.72;pointer-events:none}.plan-turning-point{stroke:#f8d477;stroke-width:2.5}.plan-legend .turning{color:#f8d477}.plan-chart-note{margin:4px 16px 10px;color:#9fadbf;font-size:11px;text-align:right}
.detail-scale{grid-column:1/-1;color:var(--muted);padding-top:5px}
.tool-nav{overflow-x:auto;scrollbar-width:thin}.workspace.ledger-workspace{max-width:none;padding:12px clamp(10px,1.5vw,24px) 0}.ledger-workspace footer{display:none}.movements-view{min-width:0}.movements-view-title{display:flex;align-items:baseline;gap:12px;margin:0 2px 7px}.movements-view-title h2{font-size:17px}.movements-view-title span{color:var(--muted);font-size:11px}.movements-table{min-width:0}.movements-table .table-toolbar{margin:0 0 9px}.movements-table .traffic-legend{display:none}.movements-table .table-wrap{height:auto;min-height:0;max-height:none;overflow-x:auto;overflow-y:visible}.movements-table .table-pagination{margin:7px 0}.rules-view{min-height:0}@media(max-width:700px){.workspace.ledger-workspace{padding:10px 8px 0}.movements-table .table-wrap{height:auto;min-height:0}}
.ledger-page{height:100vh;height:100dvh;overflow:hidden}.ledger-page .shell{height:calc(100vh - 68px);height:calc(100dvh - 68px);min-height:0;display:flex;flex-direction:column}.ledger-page .sidebar{flex:none}.ledger-page .workspace.ledger-workspace{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-bottom:8px}.ledger-page .movements-view,.ledger-page .movements-table{display:flex;flex-direction:column;flex:1;min-height:0}.ledger-page .movements-table .table-wrap{flex:1;min-height:0;height:auto;max-height:none;overflow:auto}.ledger-page .movements-table .table-toolbar,.ledger-page .movements-table .table-pagination,.ledger-page .movements-view-title{flex:none}
.rules-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.rules-toolbar>.rule-status{flex:1;min-width:220px}.rule-status{color:var(--muted);font-size:12px;line-height:1.5}.rules-table{min-width:0}.rules-table .table-wrap{max-height:65vh}.rule-table-row{cursor:context-menu}.rule-table-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rule-drag-handle{margin-right:10px;background:#27364b;color:#bdd5ff;border:1px solid #596e8b;border-radius:6px;cursor:grab;padding:3px 9px;font-size:18px;line-height:1.2}.rule-drag-handle:disabled{opacity:.35;cursor:default}.rule-dragging{opacity:.4}.rule-drop-before td{border-top:3px solid #8ab5ff}.rule-drop-after td{border-bottom:3px solid #8ab5ff}.movement-rule-dialog{width:min(920px,calc(100vw - 28px));max-height:90vh;overflow:auto}.movement-rule-dialog h3{font-size:15px;margin:20px 0 10px}.rule-editor-top{display:grid;grid-template-columns:1fr auto;gap:14px}.rule-editor-top>.rule-field:last-child{grid-column:1/-1}.rule-field{display:grid;gap:6px;color:#c1cee0;font-size:12px}.rule-field input,.rule-field select,.rule-value-controls input{min-width:0;width:100%;padding:10px;background:#111923;color:#eef4fb;border:1px solid #536070;border-radius:8px;font:inherit}.rule-active{display:flex;gap:8px;align-items:center}.rule-active input{width:18px;height:18px;accent-color:#8ab5ff}.rule-conditions{display:grid;gap:12px;margin-bottom:12px}.rule-condition{border:1px solid #43526a;background:#18222f;border-radius:12px;padding:14px}.rule-condition-controls{display:grid;grid-template-columns:1fr 1fr 28px;gap:10px;align-items:end}.rule-selected-values{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.rule-value-chip{border:1px solid #6e8bb7;border-radius:20px;background:#2b4266;color:#e3efff;padding:5px 10px;font-size:12px}.rule-value-controls{display:flex;gap:9px;align-items:center}.rule-value-controls input{flex:1}.rule-suggestions{margin-top:12px;font-size:12px;color:#a9bedb}.rule-suggestions summary{cursor:pointer;padding:5px 0}.rule-suggestion-list{display:flex;flex-wrap:wrap;gap:6px;max-height:170px;overflow:auto;margin-top:8px}.rule-suggestion{max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:left;border:1px solid #465a77;border-radius:7px;background:#223045;color:#cbdcf5;padding:6px 9px;font-size:12px}.rule-suggestion.selected{background:#4167bf;border-color:#8ab5ff;color:#fff}.rule-preview{background:#121b26;border:1px solid #354b69;border-radius:12px;padding:14px;margin-top:18px;font-size:12px}.rule-preview h3{margin:0 0 8px}.rule-preview-list{max-height:230px;overflow:auto}.rule-preview-list p{padding:7px 0;margin:0;border-bottom:1px solid #28374a;overflow-wrap:anywhere}.rule-preview-list p:last-child{border-bottom:0}.rule-context-menu{z-index:50}.movement-rule-dialog .editor-actions{flex-wrap:wrap;margin-top:18px}@media(max-width:600px){.rule-condition-controls{grid-template-columns:1fr 28px}.rule-condition-controls>.rule-field:nth-child(2){grid-row:2;grid-column:1}.rule-condition-controls>.filter-close{grid-column:2;grid-row:1}.rule-editor-top{grid-template-columns:1fr}.rule-value-controls{flex-wrap:wrap}.rules-toolbar{align-items:stretch}}

/* Compact full-height rules table: only its rows scroll vertically. */
.ledger-page .rules-view,.ledger-page .rules-table{display:flex;flex-direction:column;flex:1;min-height:0}
.rules-toolbar{gap:8px;margin:0 0 9px;flex:none}
.rules-title{flex:1;min-width:220px}
.rules-title h2{font-size:17px;margin:0 0 3px}
.rules-title .rule-status{margin:0;font-size:11px}
.rules-view>.rule-status{flex:none;margin:0 0 8px}
.rules-view>.rule-status:empty{display:none}
.rules-table .table-toolbar{flex:none;margin:0 0 8px}
.rules-table .table-wrap{flex:1;min-height:0;max-height:none;overflow:auto}
.rules-table .table-pagination{flex:none;margin:7px 0 0}
.rules-table .table-count{flex:none;margin:7px 0 0}
.rules-table td{padding:7px 10px}
.rules-table th{padding:8px 10px}
/* Keep modal controls visible and put all editor content in one scroll area. */
.movement-rule-dialog{padding:16px;max-height:calc(100dvh - 24px);overflow:hidden}
.movement-rule-dialog[open]{display:flex;flex-direction:column}
.movement-rule-dialog .dialog-head{flex:none;align-items:center;margin-bottom:12px}
.movement-rule-dialog .rule-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:4px}
.movement-rule-dialog>.notice{flex:none;margin:10px 0 0}
.movement-rule-dialog .editor-actions{flex:none;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.movement-rule-dialog h3{margin:14px 0 8px}
.rule-editor-top{grid-template-columns:minmax(0,1fr) auto minmax(180px,1fr);gap:10px;align-items:end}
.rule-editor-top>.rule-field:last-child{grid-column:auto}
.rule-active{align-self:center}
.rule-field{gap:4px}
.rule-field input,.rule-field select,.rule-value-controls input{padding:8px}
.rule-conditions{gap:8px;margin-bottom:8px}
.rule-condition{padding:10px}
.rule-selected-values{margin:8px 0}
.rule-suggestions{margin-top:8px}
.rule-suggestion-list,.rule-preview-list{max-height:none;overflow:visible}
.rule-preview{padding:10px;margin-top:12px}
.rule-preview h3{margin:0 0 6px}
@media(max-width:600px){
 .rules-title{flex-basis:100%;min-width:0}
 .rules-toolbar .small-button{padding:8px 9px;font-size:11px}
 .rule-editor-top{grid-template-columns:minmax(0,1fr) auto}
 .rule-editor-top>.rule-field:last-child{grid-column:1/-1}
 .movement-rule-dialog{padding:12px}
 .rules-table .table-toolbar input{min-width:0;flex:1;width:100%}
}
/* UI labels behave as controls; financial data and text inputs stay selectable. */
body{cursor:default}
button,[role="button"],[role="menuitem"],summary,select,input[type="checkbox"],input[type="radio"]{cursor:pointer}
button,[role="button"],[role="menuitem"],summary,label,thead,.tool-nav,.brand,.eyebrow,.table-pagination,.table-count,.rules-title,.dialog-head,h1,h2,h3{user-select:none;-webkit-user-select:none}
input,textarea,[contenteditable="true"]{user-select:text;-webkit-user-select:text}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]){cursor:text}
button:disabled,select:disabled,input:disabled{cursor:default}

.auth-loading .shell{visibility:hidden}
.auth-account{display:flex;align-items:center;gap:10px;margin-left:12px;font-size:12px}
.auth-account span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.auth-account span{display:none}.auth-account{margin-left:4px}.auth-account button{padding:7px 9px}}

/* CSV interchange uses the same controls and palette as banking imports. */
.csv-transfer{margin-top:32px;padding-top:28px;border-top:1px solid var(--border)}
.csv-transfer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px}
.csv-transfer-card{padding:22px;border:1px solid var(--border);border-radius:15px;background:var(--panel);min-width:0}
.csv-transfer-card h3{margin:0 0 12px;font-size:16px;letter-spacing:-.02em}
.csv-transfer-card .bank-help{line-height:1.65;margin-bottom:18px}
.csv-transfer-card code{font-size:12px;color:#bcd0ff}
.csv-file-label{display:block;margin-bottom:8px;color:var(--muted);font-size:12px}
#csv-file{display:block;max-width:100%;width:100%;margin-bottom:14px;color:var(--muted);font-size:12px;background:#101317;border:1px solid var(--border);border-radius:8px;padding:7px;cursor:pointer}
#csv-file::file-selector-button{border:0;border-radius:6px;background:#26375b;color:#bcd0ff;padding:8px 11px;margin-right:10px;font:inherit;font-weight:650;cursor:pointer}
#csv-status.csv-error{color:#ffadb4;white-space:pre-line}
.csv-preview{margin:14px 0;overflow-x:auto;border:1px solid var(--border);border-radius:10px}
.csv-preview table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
.csv-preview th,.csv-preview td{padding:10px 12px;border-bottom:1px solid var(--border)}
.csv-preview th{color:var(--muted);font-weight:650;background:var(--panel)}
.csv-preview td{user-select:text;max-width:300px;overflow-wrap:anywhere}
.csv-preview tr:last-child td{border-bottom:0}
@media(max-width:700px){.csv-transfer-grid{grid-template-columns:1fr}.csv-transfer-card{padding:18px}}
