:root{--ink:#231e30;--muted:#736d80;--primary:#6b3faa;--primary-dark:#532b8e;--violet-light:#f1ebf9;--line:#e9e5ee;--bg:#f7f6fa;--white:#fff;--sidebar:#22182f;--green:#287459;--amber:#916114;--radius:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #a878e0;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;line-height:1.17;letter-spacing:-.045em;font-weight:700;margin-bottom:12px}h2{font-size:1.05rem;letter-spacing:-.015em;margin-bottom:16px}h3{font-size:1rem;margin-bottom:8px}p{line-height:1.6}small,.small{font-size:.875rem}.muted,.help{color:var(--muted)}.eyebrow{font-size:.8125rem;font-weight:750;letter-spacing:.14em;color:var(--primary);text-transform:uppercase;margin-bottom:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--sidebar);color:#eae4f2;padding:34px 22px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;color:#fff}.brand img{object-fit:contain}.brand>span{font-size:1.45rem;letter-spacing:.13em;line-height:1;font-weight:650}.brand small{display:block;font-size:.48rem;letter-spacing:.22em;margin-top:7px;font-weight:500}.workspace-label{font-size:.75rem;letter-spacing:.14em;color:#a69ab7;margin:58px 12px 14px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;gap:13px;align-items:center;color:#bfb4cf;padding:13px 14px;font-size:.875rem;border-radius:8px;font-weight:500}.sidebar nav a span{font-size:1.25rem;width:20px;text-align:center;line-height:1}.sidebar nav a.selected{color:#fff;background:#49325f;box-shadow:inset 3px 0 0 #b388e8}.sidebar nav a:hover{color:#fff;background:#342443}.sidebar-bottom{margin-top:auto}.access-note{display:flex;align-items:center;gap:10px;padding:20px 10px;color:#cfc5da;font-size:.75rem}.access-note small{display:block;color:#9787a9;margin-top:5px;font-size:.75rem}.lock-icon{font-size:1.25rem}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid #493a55;padding:20px 0 10px;font-size:.875rem}.profile small{display:block;color:#a798b7;font-size:.8125rem;margin-top:5px}.avatar{background:#eee6f8;color:var(--primary);font-size:.875rem;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;font-weight:650}.profile .avatar{background:#49375b;color:#e7d7fc}.profile form{margin-left:auto}.logout{background:none;border:0;color:#b7aac7;font-size:1.3rem;min-width:40px;min-height:40px}.account-link{font-size:.8125rem;color:#b9aaca;margin-left:46px}.workspace{margin-left:238px}.topbar{height:76px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--muted)}.slash{padding:0 14px;color:#c6bfce}.main{max-width:1600px;margin:0 auto;padding:38px 42px 42px;min-height:calc(100vh - 140px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.page-heading p.muted{font-size:.875rem;margin:0}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:10px 16px;border:1px solid #ded7e7;border-radius:8px;background:#fff;color:#4a3a5e;font-size:.875rem;font-weight:650;white-space:nowrap;line-height:1.4}.button:hover{background:#f8f3fd;border-color:#bba5d6}.button.primary{color:white;background:var(--primary);border-color:var(--primary);box-shadow:0 3px 6px #4920740a}.button.primary:hover{background:var(--primary-dark)}.button.danger{color:#a03649}.full{width:100%}.text-link{color:var(--primary);font-size:.875rem;font-weight:650}.text-link:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:20px;margin-bottom:30px}.stat{border:1px solid var(--line);background:white;border-radius:var(--radius);padding:23px 24px;min-width:0}.stat.highlight{background:linear-gradient(120deg,#f1eafa,#f8f5fc);border-color:#e3d7f1}.stat-label{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:550;color:#776784;gap:8px}.stat-label>span:not(.stat-icon){font-size:.75rem;letter-spacing:.1em;border:1px solid #dfd1ed;padding:4px 7px;border-radius:4px}.stat-icon{font-size:1.2rem;color:#8d72af}.stat-number{font-size:clamp(1.4rem,2.1vw,2rem);font-weight:650;letter-spacing:-.04em;line-height:1.2;margin:20px 0 12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-foot{font-size:.8125rem;color:var(--muted);line-height:1.5}.stat.actionable:hover{border-color:#d3bfe9}.amber-text{color:var(--amber)!important}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px 0 17px}.section-heading h2{margin:0}.section-heading h2 .small{display:inline-block;font-weight:400;margin-left:12px;font-size:.75rem}.campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px}.campaign-card{display:block;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .15s,transform .15s;min-width:0}.campaign-card:hover{border-color:#bb9ddd;transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:6px}.kind-symbol{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:#f1ebf8;color:var(--primary);font-size:1.65rem;font-weight:400}.kind-symbol.solar{background:#fff4de;color:#b08021}.kind-symbol.station{background:#e7f0fb;color:#3f6b9e}.kind-symbol.other{background:#e5f2ed;color:#447260}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:5px;font-size:.75rem;line-height:1.3;font-weight:600;white-space:nowrap}.badge.active{background:#e8f4ed;color:#2f7951}.badge.planned{background:#f0eaf9;color:#7552a2}.badge.closed{background:#ebeaf0;color:#62596d}.badge.amber{background:#fff3dd;color:#986c26}.badge.neutral{background:#f2eff6;color:#746781}.card-code{font-size:.75rem;font-weight:600;color:#71677f;letter-spacing:.035em;margin-bottom:8px}.card-code span{font-weight:400}.campaign-card h3{font-size:1.0625rem;letter-spacing:-.025em;line-height:1.35}.card-client{font-size:.8125rem;margin-bottom:26px;min-height:21px}.card-total{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.card-total span{font-size:.8125rem;color:var(--muted)}.card-total strong{font-size:1rem;font-weight:650;font-variant-numeric:tabular-nums}.progress,.bar{height:5px;background:#f1edf6;border-radius:5px;overflow:hidden}.progress>span,.bar>span{height:100%;display:block;background:#8a60bb;border-radius:5px}.card-footer{display:flex;justify-content:space-between;gap:6px;font-size:.75rem;color:#8a8096;margin-top:9px}.no-budget{padding-top:12px;border-top:1px solid var(--line)}.card-pending{font-size:.75rem;color:var(--amber);padding-top:12px;margin-top:12px;border-top:1px solid #f0ecf4}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:23px 24px 18px}.panel-heading h2{margin:0}.panel-heading.bare{padding:0 0 22px}.dashboard-bottom{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.75rem}th{text-align:left;color:#968c9e;font-size:.75rem;font-weight:600;background:#fcfbfd;border-top:1px solid #f1edf5;border-bottom:1px solid var(--line);padding:12px 20px;white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #f1edf5;vertical-align:middle;color:#73697f;line-height:1.4}tr:last-child td{border-bottom:0}td strong{font-size:.75rem;color:#392e46;font-weight:600}.table-title{font-size:.75rem;color:#3e324b;font-weight:550;display:block}.table-title:hover{color:var(--primary)}.table-subtitle{display:block;color:#9b90a6;font-size:.75rem;margin-top:6px}.align-right{text-align:right}.nowrap{white-space:nowrap}.category-chart{padding:5px 24px 26px;display:grid;gap:17px}.category-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:.8125rem}.category-row strong{font-weight:550;color:#5d516b}.category-row .bar{height:6px;background:#f4f0f8}.category-row:nth-child(2n) .bar>span{background:#a584cb}.category-row:nth-child(3n) .bar>span{background:#c1a7dd}.empty{padding:38px 24px;text-align:center;grid-column:1/-1}.empty h3{font-size:1rem;color:var(--ink)}.empty p{font-size:.875rem;color:var(--muted)}.footer{display:flex;justify-content:space-between;gap:20px;padding:0 42px 24px;color:#a398af;font-size:.75rem;letter-spacing:.03em}.breadcrumb{display:inline-block;margin-bottom:22px;color:#8c7a9e;font-size:.875rem}.heading-meta{display:flex;gap:14px;align-items:center;margin-bottom:13px}.heading-meta .eyebrow{margin:0}.four{grid-template-columns:1.35fr 1fr 1fr .9fr}.four .stat{padding:21px}.four .stat-number{font-size:1.45rem}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel-note{margin:18px 24px 22px;padding-top:16px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.6;color:#675773}.panel-note p{font-size:.75rem;margin:6px 0 0;color:var(--muted)}.spaced{margin-top:24px}.form-panel{padding:28px}.form-panel .panel-note{margin:22px 0}.narrow{max-width:680px}.form-width{max-width:950px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 24px}.field{margin:0 0 18px;min-width:0}.form-grid .field{margin:0}.field label{display:block;font-size:.875rem;font-weight:550;color:#554462;margin:0 0 9px}input:not([type=hidden]):not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #ded7e6;border-radius:7px;padding:11px 12px;background:#fff;color:#3c3047;line-height:1.4;min-height:44px;font-size:.875rem}textarea{resize:vertical;min-height:90px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}input::placeholder{color:#aea2b8;font-size:.875rem}input[type=file]{font-size:.75rem!important}input[type=file]::file-selector-button{border:0;padding:8px;background:#eee6f7;color:var(--primary);border-radius:4px;margin-right:8px}.help{font-size:.75rem;line-height:1.6;margin:8px 0 0}.help ul{padding-left:18px}.wide{grid-column:1/-1}.form-actions{display:flex;gap:12px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.filters-inline{display:flex;align-items:flex-end;gap:16px;padding:20px 24px;margin-bottom:26px;flex-wrap:wrap}.filters-inline .field{flex:1;min-width:160px;margin:0}.filters-inline .text-link{align-self:center}.filter-panel{padding:22px 24px;margin-bottom:24px;position:relative}.filter-main{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:16px;align-items:end}.filter-main .field{margin:0}.advanced-filters{margin-top:20px}.advanced-filters summary{font-size:.75rem;color:var(--primary);cursor:pointer;min-height:30px;line-height:1.5}.advanced-filters .form-grid{padding:20px 0}.filter-reset{display:block;text-align:right;color:#8e789e;font-size:.75rem;margin-top:10px}.filtered-total{font-size:.8125rem;color:var(--muted)}.filtered-total strong{font-size:.9375rem;color:var(--ink);margin:0 7px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:24px;font-size:.875rem;color:var(--muted)}.choose-card{padding:24px;transition:border-color .15s}.choose-card:hover{border-color:#b197d0}.choose-card .eyebrow{margin-top:24px}.choose-card h2{font-size:1.2rem}.choose-card p:last-child{font-size:.875rem;margin:0}.notice{background:#fff6e4;border:1px solid #eedfc0;color:#8b6a2f;padding:15px 18px;border-radius:9px;line-height:1.6;margin-bottom:24px;font-size:.875rem}.message{padding:15px 18px;border-radius:9px;border:1px solid #cce3d3;background:#eff8f1;color:#356444;font-size:.875rem;margin-bottom:22px}.message.error{background:#fff0f0;border-color:#eccaca;color:#ac3d3d}.errorlist{list-style:none;padding:12px 15px;border-radius:7px;background:#fff0f1;color:#a22d45;font-size:.875rem;line-height:1.6;margin:10px 0 18px;border:1px solid #f0c9d1}.expense-editor{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;max-width:1200px}.expense-editor>.errorlist{grid-column:1/-1}.allocation-panel{align-self:start}.allocation-panel p{font-size:.875rem}.allocation-panel .notice{font-size:.75rem}.split-field{padding-top:10px}.calculation{display:grid;gap:12px;padding:22px 0;border-top:1px solid var(--line);margin-top:24px}.calculation span{font-size:.875rem;color:var(--muted)}.calculation strong{font-size:1.65rem;color:var(--primary);letter-spacing:-.04em}.expense-editor .form-actions{margin-top:0;padding-top:0;border:0}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.data-grid dt{font-size:.8125rem;color:var(--muted);margin-bottom:8px}.data-grid dd{margin:0;font-size:.875rem;color:var(--ink)}.expense-amount{border-bottom:1px solid var(--line);padding-bottom:22px}.expense-amount h2{font-size:2.2rem;letter-spacing:-.045em;margin:15px 0 10px}.expense-amount p{font-size:.875rem;margin:0}.receipt-card{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.receipt-card>div{min-width:0;overflow-wrap:anywhere}.file-symbol{color:var(--primary);font-size:2rem}.receipt-card .text-link,.receipt-card .danger-text{display:inline-block;margin:12px 14px 0 0}.danger-text{color:#a94a62}.upload-empty{padding:16px 0}.upload-form{padding:24px 0;margin-top:14px}.upload-empty p{font-size:.875rem}.stack-actions{display:grid;gap:12px}.activity{display:flex;gap:13px;padding:15px 0}.activity strong{font-size:.875rem}.activity p{font-size:.8125rem;color:var(--muted);margin:5px 0}.activity-dot{width:8px;height:8px;background:#b694d9;border-radius:50%;margin-top:6px;flex:none}.audit-list{display:grid;gap:16px;max-width:1080px}.audit-event{padding:24px}.audit-heading{display:flex;align-items:center;gap:14px}.audit-heading h2{margin:0 0 5px;font-size:.9375rem}.audit-heading p{font-size:.75rem;color:var(--muted);margin:0}.audit-heading .badge{margin-left:auto}.audit-target{font-size:.875rem;margin:20px 0 12px}.audit-event blockquote{margin:0 0 18px;padding:10px 15px;border-left:3px solid #c9b0e3;background:#faf7fd;color:#6d587f;font-size:.875rem;line-height:1.5}.audit-event summary{font-size:.75rem;color:var(--primary);cursor:pointer;line-height:1.6}.audit-table{margin-top:15px;table-layout:fixed}.audit-table td{overflow-wrap:anywhere;white-space:pre-wrap;vertical-align:top}.audit-table th{white-space:normal}.report-scope{font-size:.75rem;color:var(--muted)}.voided{opacity:.65}.voided .table-title{text-decoration:line-through}.auth-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px}.login-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;width:100%;min-height:640px;border-radius:22px;overflow:hidden;box-shadow:0 15px 100px #30174510;background:white;border:1px solid #e6dfed}.login-brand{padding:48px;background:linear-gradient(150deg,#23192e,#402550);color:white;display:flex;flex-direction:column}.login-statement{margin-top:95px}.login-statement .eyebrow{color:#c8a9e7;font-size:.75rem}.login-statement h1{font-size:2.75rem;letter-spacing:-.04em;line-height:1.2;margin:20px 0}.login-statement p{font-size:.875rem;color:#bba8ca;max-width:320px}.login-foot{color:#9680a7;font-size:.8125rem;margin-top:auto;padding-top:30px}.login-form{padding:75px 52px}.login-form h2{font-size:1.6rem;letter-spacing:-.03em;margin:18px 0 12px}.login-form>p{font-size:.875rem}.login-form form{margin-top:36px}.login-form input{min-height:48px}.login-form .button{margin-top:14px;min-height:48px}.login-help{font-size:.75rem!important;line-height:1.7;color:#9c8ea7;margin-top:30px}.auth-card{padding:32px;max-width:580px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:15px;border:2px solid var(--primary);border-radius:8px}.skip-link:focus{top:10px}[hidden]{display:none!important}
@media(min-width:1600px){.main{padding-top:48px}.stat-number{font-size:2.25rem}.campaign-card{padding:27px}.card-client{min-height:24px}.topbar{padding:0 48px}}
@media(max-width:1200px){.sidebar{width:208px;padding:30px 16px}.workspace{margin-left:208px}.main{padding:30px 26px}.topbar{padding:0 26px}.campaign-grid{gap:14px}.campaign-card{padding:18px}.card-total{align-items:flex-start;flex-direction:column}.card-client{min-height:34px}.dashboard-bottom{grid-template-columns:1.3fr 1fr}.four{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1.3fr 1fr}.stat{padding:20px}.page-heading{align-items:flex-start}.filter-main{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-editor{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.form-panel{padding:22px}.form-grid{gap:18px}}
@media(max-width:980px){.sidebar{width:178px;padding:26px 12px}.sidebar .brand img{width:38px;height:22px}.sidebar .brand>span{font-size:1.05rem}.sidebar .brand small{font-size:.36rem}.workspace{margin-left:178px}.sidebar nav a{font-size:.875rem;padding:12px}.workspace-label{font-size:.55rem;margin-left:8px}.main{padding:28px 22px}.page-heading{flex-direction:column;gap:18px}.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid:not(.four){grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid:not(.four) .highlight{grid-column:1/-1}.dashboard-bottom,.detail-grid,.expense-editor{grid-template-columns:1fr}.allocation-panel{position:static}.stat-number{font-size:1.8rem}.footer{padding-left:22px;padding-right:22px}.login-layout{min-height:600px}.login-brand{padding:36px}.login-form{padding:60px 36px}.login-statement h1{font-size:2.3rem}.login-statement{margin-top:65px}}
@media(max-width:680px){.sidebar{position:sticky;top:0;width:100%;height:auto;display:block;padding:14px 16px 0;background:var(--sidebar);box-shadow:0 3px 12px #22182f10}.sidebar>.brand{width:fit-content;margin-bottom:13px}.sidebar .brand>span{font-size:1.1rem}.sidebar .brand img{width:38px}.sidebar .workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;justify-content:space-between;gap:3px}.sidebar nav a{padding:10px 7px;border-radius:6px 6px 0 0;font-size:.8125rem;gap:6px;min-height:40px}.sidebar nav a span{font-size:.875rem;width:auto}.sidebar nav a.selected{box-shadow:inset 0 -2px #b388e8}.workspace{margin-left:0}.topbar{height:50px;padding:0 18px;font-size:.75rem;gap:8px}.topbar .slash{padding:0 7px}.topbar .badge{font-size:.5rem;white-space:normal}.main{padding:27px 18px 32px}.page-heading{gap:18px;margin-bottom:24px}h1{font-size:1.75rem}.eyebrow{font-size:.75rem}.page-heading p.muted{font-size:.875rem}.actions{width:100%;gap:8px}.actions .button{flex:1;white-space:normal;font-size:.75rem;padding:10px 12px}.stats-grid,.four{gap:12px;margin-bottom:24px}.stat{padding:18px 16px}.four .stat{padding:17px 14px}.stat-label{font-size:.8125rem}.stat-number,.four .stat-number{font-size:1.35rem;margin-top:14px}.stats-grid .highlight .stat-number{font-size:1.75rem}.stat-foot{font-size:.75rem}.stat .text-link{font-size:.75rem}.section-heading h2 .small{display:block;margin:7px 0 0;font-size:.8125rem}.section-heading .text-link{font-size:.75rem}.campaign-grid{grid-template-columns:1fr}.campaign-card{padding:22px}.card-top{margin-bottom:17px}.card-total{flex-direction:row;align-items:center}.card-client{min-height:0;margin-bottom:23px;font-size:.75rem}.card-footer,.card-code,.card-pending{font-size:.8125rem}.campaign-card h3{font-size:1.15rem}.card-total span{font-size:.75rem}.card-total strong{font-size:1.125rem}.panel-heading{padding:20px 18px;flex-wrap:wrap}.panel-heading h2{font-size:1rem}table{font-size:.75rem}td,th{padding-left:16px;padding-right:16px}.table-scroll table{min-width:540px}.dashboard-bottom .table-scroll table{min-width:430px}.category-chart{padding:3px 18px 24px}.category-row>div:first-child{font-size:.75rem}.footer{flex-direction:column;padding:0 18px 22px;gap:7px}.form-grid{grid-template-columns:1fr;gap:18px}.form-panel{padding:22px 18px}.field label{font-size:.875rem}input:not([type=hidden]):not([type=checkbox]),select,textarea{font-size:16px;min-height:46px}.filter-main{grid-template-columns:1fr}.filter-panel{padding:20px 18px}.advanced-filters summary .muted{display:block;margin-top:5px}.filters-inline{padding:20px 18px;gap:18px}.filters-inline .field{flex-basis:100%}.expense-editor{gap:20px}.data-grid{gap:22px 15px}.data-grid dd{font-size:.875rem}.expense-amount h2{font-size:1.9rem}.audit-event{padding:20px 16px}.audit-heading{gap:10px;flex-wrap:wrap}.audit-heading h2{font-size:.875rem}.audit-heading .badge{margin-left:46px}.audit-table{min-width:580px!important}.breadcrumb{font-size:.75rem;line-height:1.6}.heading-meta{flex-wrap:wrap}.auth-main{padding:0;align-items:stretch}.login-layout{grid-template-columns:1fr;border-radius:0;border:0}.login-brand{padding:28px}.login-statement{margin-top:34px}.login-statement h1{font-size:2rem}.login-statement p,.login-foot{display:none}.login-form{padding:32px 28px 44px}.login-form form{margin-top:28px}.login-form h2{font-size:1.5rem}.auth-card{margin:30px 18px;align-self:center}.four{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-number{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4 landscape;margin:12mm}.sidebar,.topbar,.footer,.no-print,.skip-link,.messages{display:none!important}.workspace{margin:0}.main{padding:0;max-width:none}.panel{box-shadow:none;border-color:#ddd;overflow:visible}.stats-grid{grid-template-columns:repeat(3,1fr)!important}.stats-grid .highlight{grid-column:auto!important}.stat{background:white!important;break-inside:avoid}.stat-number{font-size:1.3rem}.page-heading{display:block}.table-scroll{overflow:visible}table{min-width:0!important;font-size:9pt}th,td{padding:8px;font-size:9pt}.table-title{font-size:9pt}.table-subtitle{font-size:8pt}thead{display:table-header-group}tr,.category-row{break-inside:avoid}.category-chart{grid-template-columns:repeat(3,1fr);gap:14px}.panel-heading{padding:15px}.report-scope{font-size:9pt}.badge{white-space:normal}.bar>span{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:#fff}}

.mobile-account{display:none}
@media(max-width:680px){.sidebar nav a{flex:1;min-width:0;flex-direction:column;gap:5px;padding:8px 2px;font-size:.75rem}.sidebar nav a span{font-size:1rem}.mobile-account{display:block;position:absolute;right:18px;top:12px}.mobile-account summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;width:36px;height:36px;border-radius:50%;background:#49375b;color:white;font-size:.875rem}.mobile-account>div{position:absolute;right:0;top:46px;min-width:210px;background:white;padding:20px;color:var(--ink);box-shadow:0 8px 30px #22182f30;border:1px solid var(--line);border-radius:10px;display:grid;gap:14px;z-index:40}.mobile-account small{color:var(--muted)}.mobile-account a{color:var(--primary);font-size:.875rem}.mobile-account .button{width:100%}}

/* Mobile navigation: a compact toggle and a readable, scrollable menu. */
.mobile-navigation-toggle{display:none}
@media(max-width:680px){
  .sidebar{padding:12px 16px;min-height:64px}
  .sidebar>.brand{min-height:40px;margin-bottom:0;max-width:calc(100% - 140px)}
  .sidebar.navigation-ready .mobile-navigation-toggle{position:absolute;right:66px;top:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid #655174;border-radius:8px;background:#342443;color:#fff;font-size:.875rem;font-weight:600}
  .mobile-navigation-toggle[aria-expanded=true]{background:#49325f}
  .mobile-account{right:16px;top:12px}
  .mobile-account summary{width:40px;height:40px}
  .sidebar .primary-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #493a55;max-height:70vh;max-height:calc(100dvh - 110px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
  .sidebar.navigation-ready .primary-nav{display:none}
  .sidebar.navigation-ready.navigation-open .primary-nav{display:grid}
  .sidebar .primary-nav>a{display:flex;flex:none;min-width:0;min-height:48px;flex-direction:row;justify-content:flex-start;gap:10px;padding:12px 10px;border-radius:8px;font-size:.875rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
  .sidebar .primary-nav>a span{flex:0 0 20px;width:20px;font-size:1.125rem}
  .sidebar .primary-nav>a.selected{box-shadow:inset 3px 0 #b388e8}
}

/* Field capture and team funds */
[hidden]{display:none!important}.ticket-panel{grid-column:1/-1}.ticket-tools,.quick-expenses{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.quick-expenses{margin:22px 0}.quick-expenses>span{font-size:13px;color:var(--muted)}.quick-expenses>a{border:1px solid #e3dceb;border-radius:12px;padding:12px 18px;background:white;color:#643992;font-weight:600}.ticket-tools{margin:18px 0}.ticket-image{display:block;max-width:100%;max-height:480px;object-fit:contain;margin-top:12px}.ticket-suggestions{display:flex;gap:12px;flex-wrap:wrap}.ticket-suggestions .button{border:2px solid #76509d}.fund-accounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:20px;margin:20px 0}.fund-numbers{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.fund-numbers span,.stage-totals span{display:block;font-size:13px;color:#6d6678;margin-bottom:7px}.fund-numbers strong{font-size:24px;font-variant-numeric:tabular-nums}.fund-balance{background:#f2eafa;padding:14px;border-radius:12px}.fund-balance.negative{background:#fff0e6;color:#994000}.personal-balance{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #e7e1ec;padding-top:18px}.personal-balance strong{white-space:nowrap}.stage-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 24px 24px}.stage-totals>a,.stage-totals>div{border-left:3px solid #ab8ec7;padding-left:12px}.stage-totals strong{display:block;color:#342341;font-size:20px}.funds-editor{max-width:960px}.ticket-panel input[type=file]{max-width:100%}
@media(max-width:700px){.stage-totals{grid-template-columns:1fr 1fr;padding:0 16px 18px}.stage-totals strong{font-size:17px}.fund-numbers strong{font-size:21px}.personal-balance{flex-direction:column}.ticket-tools .button{flex:1 1 auto}.fund-accounts{grid-template-columns:1fr}.quick-expenses>a{padding:10px 12px}.funds-editor{padding:20px}.ticket-panel{padding:20px}}

/* Catálogo de instalaciones y selección de una campaña. */
.park-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.park-card{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.park-card .card-top{width:100%;gap:8px;flex-wrap:wrap}.park-card h2{font-size:19px;line-height:1.3;margin:0}.park-card p{margin:0;line-height:1.5}.park-card .text-link{margin-top:auto}.park-notes{font-size:13px}.park-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.park-picker label{display:flex;align-items:flex-start;gap:9px;min-height:54px;padding:12px;border:1px solid var(--line,#dfe5e5);border-radius:9px;cursor:pointer;font-weight:400;line-height:1.45}.park-picker label:has(input:checked){border-color:#007f74;background:#edf9f5}.park-picker input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:#007f74}
@media(max-width:1100px){.park-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.park-cards,.park-picker{grid-template-columns:1fr}.sidebar nav{overflow-x:auto;justify-content:flex-start;gap:4px}.sidebar nav>a{flex-shrink:0;white-space:nowrap;padding:10px 12px}.park-card{padding:18px}}
.ticket-suggestions .button{white-space:normal;text-align:center;max-width:100%}

/* Per-visit costs and explicit expense destination. */
.visit-groups{display:grid;gap:20px}.visit-group{min-width:0;overflow:hidden}.visit-group .panel-heading{align-items:flex-start;gap:16px;flex-wrap:wrap}.visit-group h2{margin:6px 0}.visit-total{display:flex;flex-direction:column;gap:4px;text-align:right}.visit-total strong{font-size:1.65rem;color:var(--text,#17342c)}.visit-total span{font-size:.8rem;color:#63766d}.visit-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 16px}.allocation-check{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:400;margin-bottom:8px}.allocation-check input{width:18px;height:18px}.split-field[hidden],#split-mode-box[hidden],#allocation-controls[hidden]{display:none!important}.destination-panel select{max-width:100%}@media(max-width:640px){.visit-total{text-align:left}.visit-actions{padding:0 16px 16px}.visit-actions .button{white-space:normal;text-align:center;width:100%}.visit-group .panel-heading{padding:16px}.allocation-panel .button{white-space:normal;max-width:100%}}
