:root{--bg:#f4f4f1;--card:#fff;--text:#121212;--muted:#6f6f6a;--border:#e6e6e1;--primary:#121212;--primary-text:#fff;--green:#16a05a;--green-bg:#dff5e8;--amber:#a15c00;--amber-bg:#fdecc8;--red:#b3261e;--red-bg:#fbe0dd;--grey-bg:#ecece8;--radius:14px;--shadow:0 1px 2px #0000000a;--safe-bottom:env(safe-area-inset-bottom,0px);--tabbar:calc(56px + var(--safe-bottom))}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.45}h1{letter-spacing:-.02em;margin:0;font-size:1.6rem}h2{margin:0;font-size:1rem}a{color:inherit}input,select,textarea,button{font:inherit;color:inherit;border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;padding:11px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}button,.button{cursor:pointer;justify-content:center;align-items:center;gap:8px;width:auto;padding:11px 14px;font-weight:600;text-decoration:none;display:inline-flex}button.primary,.button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);transition:background .15s,transform .15s;box-shadow:0 1px 2px #0000002e,inset 0 1px #ffffff1f}button.primary:hover:not(:disabled),.button.primary:hover{background:#2b2b2b}button.primary:active:not(:disabled),.button.primary:active{transform:translateY(1px)}.button.primary svg{box-sizing:content-box;background:#ffffff29;border-radius:50%;padding:2px}.button.primary{border-radius:12px;padding:10px 16px 10px 12px}button.wide{width:100%;padding:14px}button:disabled{opacity:.55;cursor:default}button.link{color:var(--muted);background:0 0;border:0;padding:4px 0;font-weight:500}.icon-button{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-button:hover{background:var(--grey-bg);color:var(--text)}label{color:var(--muted);flex-direction:column;gap:6px;font-size:.85rem;font-weight:500;display:flex}label input,label select,label textarea{color:var(--text);font-size:1rem;font-weight:400}.check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:.85rem}.check input{width:18px;height:18px;accent-color:var(--green);padding:0}.muted{color:var(--muted)}.error{color:var(--red)}.center{text-align:center;color:var(--muted);padding:40px 16px}.num{text-align:right;white-space:nowrap}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);margin-bottom:14px;padding:18px}.form{flex-direction:column;gap:12px;display:flex}.form h2{margin-bottom:2px}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:12px;font-size:1.15rem;font-weight:800;line-height:1;display:flex}.shell{min-height:100vh}.mobilebar{padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:var(--bg);z-index:5;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.sidebar nav{height:var(--tabbar);padding:0 env(safe-area-inset-right,0px) var(--safe-bottom) env(safe-area-inset-left,0px);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--border);z-index:10;background:#ffffffe0;display:flex;position:fixed;bottom:0;left:0;right:0}.sidebar nav a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;text-decoration:none;display:flex}.sidebar nav a.active{color:var(--text);font-weight:700}.sidebar .brand{display:none}main{max-width:760px;padding:8px 16px calc(var(--tabbar) + 24px);margin:0 auto}.login{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:20px;flex-direction:column;gap:14px;width:100%;max-width:400px;padding:32px 28px;display:flex;box-shadow:0 8px 30px #0000000f}.login-card h1{font-size:1.5rem}.login-card p{margin:0}.qhead{display:none}.qrow{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr auto;grid-template-areas:"main amount""main status""pay actions";align-items:center;gap:4px 12px;margin-bottom:8px;padding:10px 14px;display:grid}.qmain{flex-direction:column;grid-area:main;align-self:start;min-width:0;text-decoration:none;display:flex}.qmain strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.qmain span{font-size:.85rem}.qstatus{grid-area:status;justify-self:end}.qpay{flex-wrap:wrap;grid-area:pay;align-items:center;gap:6px 16px;display:flex}.qpay.empty-cell{display:none}.qamount{grid-area:amount;align-self:start;font-size:1.05rem}.qmain strong,.qamount{line-height:1.4}.qactions{grid-area:actions;justify-content:flex-end;gap:2px;display:flex}.pill{appearance:none;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:0;border-radius:999px;width:auto;padding:4px 12px;font-size:.75rem;font-weight:700}.pill.pending{background:var(--amber-bg);color:var(--amber)}.pill.accepted{background:var(--green-bg);color:#0c7a41}.pill.rejected{background:var(--grey-bg);color:var(--muted)}.chips{flex-flow:wrap;align-items:flex-start;gap:4px 6px;display:flex}.chip{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;flex-direction:row;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:.78rem}.chip.on{background:var(--green-bg);color:#0c7a41;border-color:#0000}.chip input{width:14px;height:14px}.segments{gap:4px;width:80px;display:flex}.segments i{background:var(--grey-bg);border-radius:3px;flex:1;height:6px}.segments i.on{background:var(--green)}.empty{text-align:center;min-height:340px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:72px 20px;display:flex}.empty .button{margin-top:8px}.empty strong{color:var(--text);font-size:1.05rem}.item{border:1px solid var(--border);background:#fafaf8;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.item-numbers{grid-template-columns:1fr 84px 1.4fr;gap:8px;display:grid}.hero-amount{letter-spacing:-.03em;font-size:1.9rem}.bar{background:var(--grey-bg);border-radius:4px;height:8px;overflow:hidden}.bar i{background:var(--green);border-radius:4px;height:100%;display:block}.cards{grid-template-columns:1fr;gap:12px;display:grid}.stat{flex-direction:column;gap:6px;margin:0;display:flex}.stat strong{letter-spacing:-.02em;font-size:1.35rem}.sheet{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:28px 22px}.sheet-brand{letter-spacing:-.02em;font-size:1.1rem;font-weight:800}.sheet-title{letter-spacing:-.03em;margin:28px 0 24px;font-size:2.2rem;font-weight:500}.meta{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:20px 16px;margin-bottom:22px;padding-bottom:22px;display:grid}.meta>div,.sheet-foot>div{flex-direction:column;gap:2px;font-size:.92rem;display:flex}.meta-wide{grid-column:1/-1}.label{color:var(--muted);margin-bottom:4px;font-size:.82rem}table{border-collapse:collapse;width:100%}.items{margin-bottom:8px}.items th{color:var(--muted);text-align:left;padding:6px 4px 10px;font-size:.82rem;font-weight:500}.items th.num{text-align:right}.items td{border-top:1px solid var(--border);vertical-align:top;padding:14px 4px;font-size:.92rem}.items td:not(.num),.items th:not(.num){padding-right:20px}.items td.num,.items th.num{padding-left:12px}.sheet-totals{border-top:1px solid var(--border);flex-direction:column;align-items:flex-end;gap:14px;margin:18px 0 8px;padding-top:18px;display:flex}.summary{width:280px;max-width:100%}.summary td{color:var(--muted);padding:4px;font-size:.92rem}.summary td.num{color:var(--text)}.grand-total{background:var(--bg);border-radius:12px;justify-content:space-between;align-items:baseline;width:280px;max-width:100%;padding:12px 14px;display:flex}.grand-total span{font-weight:600}.grand-total strong{letter-spacing:-.02em;font-size:1.6rem}.note{white-space:pre-wrap;font-size:.92rem}.sheet-foot{border-top:1px solid var(--border);grid-template-columns:1fr;gap:18px;margin-top:28px;padding-top:20px;display:grid}@media (width>=900px){.shell{grid-template-columns:232px minmax(0,1fr);display:grid}.mobilebar{display:none}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;gap:24px;height:100vh;padding:24px 14px;display:flex;position:sticky;top:0}.sidebar .brand{gap:12px;padding:0 10px;font-size:1.3rem;display:flex}.sidebar nav{background:0 0;border:0;flex-direction:column;flex:1;gap:2px;height:auto;position:static}.sidebar nav a{border-radius:10px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:10px 12px;font-size:.95rem}.sidebar nav a.active{background:var(--bg)}main{width:100%;max-width:1180px;margin:0;padding:32px 40px 48px}.qhead,.qrow{grid-template-columns:minmax(0,2fr) 120px minmax(0,2fr) 130px 90px;align-items:center;gap:12px 36px;display:grid}.qhead{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 16px 8px;font-size:.78rem;font-weight:600}.qrow{grid-template-areas:none}.qmain,.qstatus,.qpay,.qamount,.qactions{grid-area:auto}.qstatus{justify-self:start}.qmain,.qamount{align-self:auto}.qpay{flex-direction:column;align-items:flex-start;gap:6px}.chips{flex-direction:column}.qpay.empty-cell{display:flex}.cards{grid-template-columns:repeat(3,1fr)}.item-numbers{grid-template-columns:1fr 110px 1.4fr}.sheet{padding:48px 56px}.sheet-title{font-size:2.8rem}.meta{grid-template-columns:2fr 1fr 1fr 1fr}.meta-wide{grid-column:auto}.sheet-foot{grid-template-columns:1.4fr 1fr 1fr}}@page{size:A4;margin:14mm}@media print{body{background:#fff}.no-print{display:none!important}.shell{display:block}main{width:auto;max-width:none;margin:0;padding:0}.sheet{border:0;border-radius:0;padding:0}.sheet-title{font-size:2.4rem}.meta{grid-template-columns:2fr 1fr 1fr 1fr}.meta-wide{grid-column:auto}.sheet-foot{grid-template-columns:1.4fr 1fr 1fr}.grand-total{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f1f1ee}.items tr,.sheet-foot,.sheet-totals{break-inside:avoid}}.subtitle{margin:4px 0 0;font-size:.9rem}.client h2{margin-bottom:12px;font-size:1.05rem}.client-stats{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.client-stats div{flex-direction:column;gap:2px;display:flex}.client-stats strong{letter-spacing:-.01em;font-size:1.02rem}.client-stats span{color:var(--muted);font-size:.8rem}@media (width>=900px){.client-stats{grid-template-columns:.7fr 1.3fr 1.3fr 1.3fr}}.pill.static{cursor:default;display:inline-block}.pill.paid{background:var(--green-bg);color:#0c7a41}.pill.overdue{background:var(--red-bg);color:var(--red)}.ihead{display:none}.itable{display:contents}.irow{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr auto;grid-template-areas:"client amount""number status""dates actions";align-items:center;gap:2px 12px;margin-bottom:8px;padding:10px 14px;display:grid}.iclient{grid-area:client}.inumber{grid-area:number;text-decoration:none}.itype{display:none}.idate,.idue{font-size:.85rem}.idate{grid-area:dates}.idue{display:none}.idate em,.idue em{font-style:normal}.iamount{grid-area:amount}.istatus{grid-area:status;justify-self:end}.iactions{grid-area:actions}@media (width>=900px){.wide{width:100%}.itable{grid-template-columns:max-content max-content minmax(100px,1fr) max-content max-content max-content max-content max-content;column-gap:20px;max-width:100%;display:grid;overflow-x:auto}.ihead,.irow{grid-template-columns:subgrid;grid-column:1/-1;align-items:center;column-gap:normal;display:grid}.ihead{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 16px 8px;font-size:.78rem;font-weight:600}.irow{grid-template-areas:none}.iclient,.inumber,.itype,.idate,.idue,.iamount,.istatus,.iactions{grid-area:auto;display:block}.istatus{justify-self:start}.iactions{display:flex}.idate em,.idue em{display:none}.iclient{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.itype-inline{display:none}}.qr-block{flex-direction:column;gap:4px;width:130px;margin-top:10px;display:flex}.qr{width:130px;height:130px}.qr svg{width:100%;height:100%;display:block}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.two-col>*{min-width:0}input[type=date]{appearance:none;text-align:left;min-width:0;height:44px;display:block}input::-webkit-date-and-time-value{text-align:left}.form-actions{justify-content:flex-end;gap:10px;display:flex}.negative{color:var(--red)}.positive{color:#0c7a41}.client-stats.many{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.overlay{z-index:50;background:#12121266;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:92vh;padding:22px;overflow-y:auto;box-shadow:0 20px 60px #00000040}.dialog h2{font-size:1.15rem}.expense-cards{scrollbar-width:none;gap:8px;margin:0 -16px 20px;padding:0 16px;display:flex;overflow-x:auto}.expense-cards:after{content:"";flex:0 0 8px}.expense-cards::-webkit-scrollbar{display:none}.expense-cards .card{flex:none;gap:2px;min-width:110px;padding:10px 14px}.expense-cards .stat span{white-space:nowrap;font-size:.78rem}.expense-cards .stat strong{white-space:nowrap;font-size:1rem}.ehead{display:none}.erow{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto auto 1fr auto;grid-template-areas:"desc desc desc amount""date category.actions""order order order order";align-items:center;gap:2px 0;margin-bottom:8px;padding:8px 14px;display:grid}.edesc{grid-area:desc}.eamount{grid-area:amount}.ecategory{grid-area:category}.eactions{grid-area:actions}.edate{grid-area:date;font-size:.85rem}.eorder{grid-area:order;font-size:.85rem}.ecategory{font-size:.85rem}.edate,.ecategory{white-space:nowrap}.eorder{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.erow .icon-button{width:30px;height:30px}.ecategory:before{content:"·";margin:0 6px}.eorder:empty{display:none}.erow .eamount{padding-left:12px}@media (width>=900px){.expense-cards{margin:0 0 20px;padding:0}.expense-cards:after{display:none}.expense-cards .card{flex:none}.etable{grid-template-columns:max-content minmax(240px,1fr) max-content max-content max-content max-content;column-gap:44px;max-width:100%;display:grid;overflow-x:auto}.ehead,.erow{grid-template-columns:subgrid;grid-column:1/-1;align-items:center;column-gap:normal;display:grid}.ehead{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 16px 8px;font-size:.78rem;font-weight:600}.erow{grid-template-areas:none}.edate,.edesc,.ecategory,.eorder,.eamount,.eactions{grid-area:auto}.eorder{text-align:left;font-size:inherit}.ecategory:before{content:none}.eorder:empty{display:block}.erow .eamount{padding-left:0}.erow .icon-button{width:38px;height:38px}.edate{font-size:inherit}.eactions{display:flex}}.dialog-lg{max-width:680px}.group{flex-direction:column;gap:12px;display:flex}.group h3{margin:0;font-size:.95rem}.group+.group{border-top:1px solid var(--border);padding-top:16px}.dialog-footer{border-top:1px solid var(--border);background:#fff;flex-direction:column;gap:10px;margin:0 -22px -22px;padding:14px 22px 22px;display:flex;position:sticky;bottom:-22px}.dialog-total-main{align-items:baseline;gap:10px;display:flex}.dialog-total-main strong{letter-spacing:-.02em;font-size:1.4rem}.dialog-total-sub{flex-wrap:wrap;gap:4px 16px;font-size:.82rem;display:flex}.dialog-footer .error{margin:0}.dash.wide{width:100%;max-width:1100px}.dash-section{margin-bottom:24px}.dash-section h2{margin-bottom:10px;font-size:1.05rem}.alerts{grid-template-columns:1fr;gap:12px;display:grid}.alert{border-left:4px solid var(--border);flex-direction:column;gap:4px;margin:0;text-decoration:none;display:flex}.alert.danger{border-left-color:var(--red)}.alert.warn{border-left-color:#e0a100}.alert.info{border-left-color:#3a6ea5}.alert.ok{border-left-color:var(--green)}.alert-amount{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.period{scrollbar-width:none;gap:6px;margin:0 -16px 20px;padding:0 16px;display:flex;overflow-x:auto}.period::-webkit-scrollbar{display:none}.period:after{content:"";flex:0 0 10px}.seg{white-space:nowrap;border-radius:999px;width:auto;padding:8px 14px;font-size:.9rem;font-weight:500}.seg.on{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.delta{color:var(--muted);font-size:.8rem;font-weight:600}.delta.good{color:#0c7a41}.delta.bad{color:var(--red)}.trend{width:100%;height:auto;margin-top:4px;display:block}.trend-column{cursor:pointer}.trend-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.trend-summary{flex-wrap:wrap;gap:20px;display:flex}.trend-summary div{flex-direction:column;gap:2px;font-size:.85rem;display:flex}.trend-summary strong{letter-spacing:-.01em;font-size:1.1rem}.trend-best{margin:10px 0 0;font-size:.88rem}.seg-group{gap:6px;display:flex}.legend{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.trend-detail-title{margin-bottom:8px}.trend-detail-title strong{text-transform:capitalize}.trend-detail-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.trend-detail-grid div{flex-direction:column;gap:2px;min-width:0;font-size:.82rem;display:flex}.trend-detail-grid strong{font-size:.98rem}.dash-columns{grid-template-columns:1fr;gap:0 20px;display:grid}.list-card{flex-direction:column;gap:12px;margin:0;display:flex}.list-card .hint{margin:0;font-size:.8rem}.bar-row{flex-direction:column;gap:6px;display:flex}.bar-row .bar i{background:#e2a39d}.summary-card .delta{font-size:inherit}@media (width>=900px){.alerts{grid-template-columns:repeat(3,1fr)}.dash-columns{grid-template-columns:1fr 1fr}}@media screen and (width<=600px){.quote-items thead{display:none}.quote-items,.quote-items tbody{display:block}.quote-items tr{border-top:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:14px 0;display:flex}.quote-items td{text-align:left;border:0;padding:0}.quote-items td:first-child{flex:0 0 100%;padding-right:0}.quote-items td:nth-child(2),.quote-items td:nth-child(3){color:var(--muted);padding-left:0;padding-right:0;font-size:.88rem}.quote-items td:nth-child(3):before{content:"× "}.quote-items td:nth-child(4){margin-left:auto;padding-left:12px}}.sync-stack{top:calc(8px + env(safe-area-inset-top,0px));z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:calc(100vw - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.sync-banner{border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;box-shadow:0 4px 14px #00000024}.sync-banner.offline{color:#fff;background:#121212}.sync-banner.error{background:var(--red);color:#fff}.pending-badge{background:var(--amber-bg);color:var(--amber);white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.7rem;font-weight:600;display:inline-block}.steps{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.draft-box{background:var(--bg);border-radius:12px;padding:14px}.draft-help{margin:0;font-size:.82rem}.draft-notices{color:var(--amber);flex-direction:column;gap:2px;margin:0;padding-left:18px;font-size:.85rem;display:flex}.draft-hint{font-size:.8rem}input.needs-price{background:#fff8e6;border-color:#e0a100}.draft-box{gap:10px}.draft-toggle{background:#fff;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:10px 12px;font-weight:500;display:flex}.draft-toggle-title{align-items:center;gap:8px;font-weight:700;display:inline-flex}.draft-toggle-hint{text-align:left;flex:1;font-size:.82rem;font-weight:400}.chevron{color:var(--muted);transition:transform .15s;display:inline-flex}.chevron.open{transform:rotate(180deg)}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.receipt-preview{object-fit:contain;background:var(--bg);border-radius:10px;width:100%;max-height:220px}.notice-bar{background:var(--green-bg);color:#0c7a41;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 14px;font-weight:600;display:flex}.notice-bar .link{color:inherit;padding:0 4px;font-size:1.2rem}.vat-switch{background:var(--bg);border-radius:12px;align-items:flex-start;padding:12px}.vat-switch input{margin-top:3px}.vat-switch span{flex-direction:column;gap:2px;font-weight:600;display:flex}.vat-switch small{font-size:.82rem;font-weight:400}.basis-tag{background:var(--bg);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.72rem;font-weight:600;display:inline-block}.viewer-body{background:#fff;border-radius:16px;flex-direction:column;gap:12px;width:min(94vw,920px);height:min(88vh,960px);padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.viewer-stage{background:var(--bg);border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.viewer-loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.receipt-full{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;transition:opacity .2s}.viewer-tools{z-index:2;gap:6px;display:flex;position:absolute;top:10px;right:10px}.viewer-tools .icon-button{color:var(--text);background:#ffffffeb;box-shadow:0 2px 8px #00000040}.viewer-full{background:#000;padding:0}.viewer-full .viewer-body{width:100vw;height:100dvh;box-shadow:none;background:#000;border-radius:0;justify-content:center;padding:0}.viewer-full .viewer-stage{background:#000;border-radius:0}.viewer-full .spinner{border-color:#fff #444 #444}.viewer-full .muted,.viewer-full .error{color:#fff;text-align:center}.reading-card{text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:10px;min-width:240px;padding:26px 30px;display:flex;box-shadow:0 20px 60px #0000004d}.reading-card button{margin-top:8px}.spinner{border:4px solid var(--grey-bg);border-top-color:var(--text);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.section-head h2{margin:0}.dash-section .section-head h2{margin-bottom:0}.section-link{color:var(--muted);white-space:nowrap;font-size:.85rem;font-weight:600;text-decoration:none}.section-link:hover{color:var(--text)}.back-link{color:var(--muted);align-items:center;gap:4px;margin-bottom:6px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text)}.account{text-align:center;align-items:center}.account p{margin:0}@media (width<=899px){.page-head:has(.page-actions){flex-wrap:wrap}.page-head:has(.page-actions)>:first-child{flex:100%;min-width:0}.page-head .page-actions{flex:100%}.page-head .page-actions>*{flex:1}}.irow .istatus{align-items:center;display:flex}.button.outline{border:1px solid var(--border);white-space:nowrap;background:#fff;border-radius:12px;justify-content:flex-start;gap:8px;padding:9px 16px 9px 22px;box-shadow:0 1px 2px #0000000f}.button.outline span{text-align:center;flex:1}.button.outline:hover{background:var(--grey-bg)}.filter-bar{align-items:center;gap:12px;margin-bottom:12px;display:flex}.form-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.form-head h1{margin:0}.pill{field-sizing:content}.page-head>button,.page-head .button,.page-head .page-actions>*{box-sizing:border-box;height:42px;padding-top:0;padding-bottom:0}.expense-cards .card{border-color:#0000}.expense-cards .cat-material{background:#f6e7cf}.expense-cards .cat-material strong,.expense-cards .cat-material span{color:#8a5a12}.expense-cards .cat-tools{background:#e3e6ea}.expense-cards .cat-tools strong,.expense-cards .cat-tools span{color:#3d4b5c}.expense-cards .cat-fuel{background:#f3dad2}.expense-cards .cat-fuel strong,.expense-cards .cat-fuel span{color:#8c3b24}.expense-cards .cat-consumables{background:#e8ecd5}.expense-cards .cat-consumables strong,.expense-cards .cat-consumables span{color:#5a6a22}.expense-cards .cat-transport{background:#d9e8e4}.expense-cards .cat-transport strong,.expense-cards .cat-transport span{color:#2a6558}.expense-cards .card.total{background:#e9e9e5}.expense-cards .card.total span{color:var(--text);font-weight:400}.expense-cards .card.total strong{color:var(--text);font-weight:800}.expense-cards .card:not(.total) strong{font-weight:500}@media (width>=900px){.period{margin:0 0 20px;padding:0}.period:after{display:none}}.summary-card{flex-direction:column;gap:8px;margin:0;padding:14px;display:flex}.summary-card .period{margin:0 -14px;padding:0 14px}.summary-card .period:after{flex:0 0 2px}.tabs{border-bottom:1px solid var(--border);gap:22px;margin:0 0 6px;display:flex}.tab{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:6px 2px 10px;font-size:.95rem;font-weight:500}.tab.on{color:var(--text);border-bottom-color:var(--text)}.tab:focus:not(:focus-visible){outline:none}.stack{background:var(--grey-bg);border-radius:4px;gap:2px;height:8px;display:flex;overflow:hidden}.stack i{min-width:0;display:block}.stack .seg-overdue{background:var(--red)}.stack .seg-due7{background:#e0a100}.stack .seg-due30{background:#d9c46a}.stack .seg-later{background:#c9c9c3}.kv{flex-direction:column;display:flex}.kv>div{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.kv>div:first-child{border-top:0}.kv span{color:var(--muted)}.kv strong{text-align:right}@media (width<=899px){.dash .alert{gap:2px;padding:10px 14px}.dash .alerts{gap:8px}}.action-sheet{flex-direction:column;gap:8px;width:100%;max-width:340px;display:flex}.action-sheet-group{background:#fffffff7;border-radius:14px;overflow:hidden}.action-sheet-text{text-align:center;color:var(--muted);border-bottom:.5px solid var(--border);flex-direction:column;gap:2px;padding:14px 16px;font-size:.8rem;display:flex}.action-sheet-text strong{font-weight:600}.action-sheet button{background:0 0;border:0;border-radius:0;justify-content:center;width:100%;min-height:56px;font-size:1.2rem}.action-sheet-danger{color:var(--red)}.action-sheet button.action-sheet-cancel{background:#fff;border-radius:14px;font-weight:600}button.cancel svg{display:none}@keyframes sheet-up{0%{transform:translateY(100%)}}@media (width<=899px){.overlay{align-items:flex-end;padding:0}.overlay:has(>.reading-card){align-items:center;padding:16px}.sheet-overlay{padding:8px 8px calc(8px + var(--safe-bottom))}.action-sheet{max-width:none;animation:.28s ease-out sheet-up}.dialog{max-width:none;max-height:94vh;padding:8px 16px calc(16px + var(--safe-bottom));border-radius:14px 14px 0 0;animation:.28s ease-out sheet-up;box-shadow:0 -8px 40px #0003}.dialog:before{content:"";background:#d1d1d6;border-radius:3px;flex:none;order:-2;align-self:center;width:36px;height:5px}.dialog h2{font-size:1.3rem;font-weight:700}.dialog .form-actions{z-index:2;background:#fff;order:-2;justify-content:space-between;margin:0 -16px;padding:6px 16px;position:sticky;top:0}.dialog .form-actions button{border-radius:12px;width:auto;min-height:44px;padding:0 20px}.dialog .error{order:-1}.dialog .form-actions button.cancel{width:44px;box-shadow:none;background:0 0;border:0;border-radius:50%;justify-content:flex-start;padding:0}.dialog .form-actions button.cancel svg{stroke-width:2.5px;width:28px;height:28px;display:block}.dialog .form-actions button.cancel span{display:none}.dialog-footer{display:contents}.dialog-totals{bottom:calc(-16px - var(--safe-bottom));z-index:1;margin:0 -16px calc(-16px - var(--safe-bottom));padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--border);background:#fff;position:sticky}}.inv{font-family:var(--invoice-font,inherit);border-radius:var(--radius);border:1px solid var(--border);color:#1b1b1b;overflow-wrap:anywhere;background:#fff;padding:28px 22px;container-type:inline-size}.inv span,.inv strong{display:block}.inv-label{letter-spacing:.16em;text-transform:uppercase;color:var(--invoice-accent);margin-bottom:4px;font-size:.7rem;font-weight:700}.inv-muted{color:#777;font-size:.85rem}.inv-logo{object-fit:contain;max-width:140px;max-height:70px;display:block}.inv-parties{grid-template-columns:1fr 1fr;gap:20px;margin:18px 0;font-size:.92rem;display:grid}.inv-parties>div{flex-direction:column;gap:2px;min-width:0;display:flex}.inv-line{border-top:1px solid #e6e6e1;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;display:flex}.inv-line>div{flex-direction:column;gap:2px;min-width:0;display:flex}.inv-amount{white-space:nowrap}.inv-notes{flex-direction:column;gap:2px;min-width:0;font-size:.82rem;display:flex}.inv-footer{color:#555;white-space:pre-wrap;margin:22px 0 0;font-size:.88rem}.inv .qr{flex:none;width:110px;height:110px}.inv-classic{font-family:var(--invoice-font,Georgia, "Times New Roman", serif)}.inv-classic .inv-head{justify-content:space-between;align-items:flex-start;gap:16px;min-height:48px;display:flex}.inv-classic .inv-title{text-align:right;color:var(--invoice-accent);margin-left:auto}.inv-classic .inv-title strong{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:clamp(.95rem,3.4cqw,1.7rem)}.inv-classic .inv-contact{border-bottom:2px solid var(--invoice-accent);font-family:var(--invoice-font,Arial, Helvetica, sans-serif);color:#555;margin:14px 0 0;padding-bottom:10px;font-size:.75rem}.inv-classic .inv-parties,.inv-classic .inv-facts,.inv-classic .inv-line,.inv-classic .inv-total-row,.inv-classic .inv-qr{font-family:var(--invoice-font,Arial, Helvetica, sans-serif)}.inv-classic .inv-facts{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;font-size:.92rem;display:grid}.inv-classic .inv-total-row{border-top:2px solid var(--invoice-accent);justify-content:space-between;align-items:flex-end;gap:16px;padding-top:12px;display:flex}.inv-classic .inv-total{text-align:right}.inv-classic .inv-total strong{font-family:var(--invoice-font,Georgia, serif);color:var(--invoice-accent);white-space:nowrap;font-size:1.6rem}.inv-classic .inv-qr{margin-top:14px}.inv-minimal .inv-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.inv-minimal .inv-brand{font-weight:800}.inv-minimal .inv-heading{white-space:nowrap;letter-spacing:-.03em;margin:28px 0 2px;font-size:clamp(1.25rem,6.4cqw,2.2rem);font-weight:700}.inv-minimal .inv-dates{margin:0 0 4px}.inv-minimal .inv-line{border-top:0;padding-top:6px}.inv-minimal .inv-total-row{border-top:1px solid #e6e6e1;justify-content:space-between;align-items:baseline;padding-top:12px;display:flex}.inv-minimal .inv-total-amount{letter-spacing:-.02em;color:var(--invoice-accent);white-space:nowrap;font-size:1.9rem}.inv-minimal .inv-pay{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:22px;display:flex}@media (width>=900px){.inv{padding:48px 56px}}@media print{.inv{border:0;border-radius:0;padding:0}.inv-line,.inv-total-row,.inv-pay,.inv-qr{break-inside:avoid}}.design-layout{flex-direction:column;gap:20px;display:flex}.design-preview{flex-direction:column;gap:8px;min-width:0;display:flex}.swatches{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.swatch{width:36px;height:36px;box-shadow:0 0 0 1px var(--border);border:2px solid #fff;border-radius:50%;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--text)}.logo-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.logo-thumb{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:8px;max-width:120px;max-height:60px;padding:4px}.logo-actions{gap:8px;display:flex}@media (width>=1200px){.design-layout{flex-direction:row;align-items:flex-start}.design-controls{flex:none;width:320px}.design-preview{flex:1}}@media (width<=899px){.desktop-only{display:none!important}}.head-buttons{gap:8px;display:flex}.head-buttons>*{box-sizing:border-box;height:42px;padding-top:0;padding-bottom:0}.color-picker{flex-direction:column;gap:12px;display:flex}.cp-square{aspect-ratio:4/3;cursor:crosshair;touch-action:none;background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#0000);border-radius:10px;width:100%;position:relative}.cp-hue{cursor:pointer;touch-action:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:8px;height:16px;position:relative}.cp-thumb{pointer-events:none;border:3px solid #fff;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;position:absolute;box-shadow:0 0 0 1px #00000059,0 1px 4px #0000004d}.cp-hue .cp-thumb{top:50%}.cp-square:focus-visible,.cp-hue:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.cp-row{align-items:center;gap:10px;display:flex}.cp-preview{border:1px solid var(--border);border-radius:10px;flex:none;width:40px;height:40px}.cp-hex{text-transform:lowercase;font-family:ui-monospace,Menlo,monospace}.dp{flex-direction:column;margin:0;padding:4px 16px;display:flex}.dp-group{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:14px 0;display:flex}.dp-group:first-child{border-top:0}.dp-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.dp-chips{flex-wrap:wrap;gap:6px;display:flex}.dp .seg{min-height:0;padding:5px 11px;font-size:.82rem}.dp-inline{justify-content:space-between;align-items:center;gap:10px;display:flex}.dp-small{padding:6px 12px;font-size:.85rem}.dp-check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:.88rem}.dp-check input{width:16px;height:16px}.swatch-custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.dp .logo-thumb{max-width:100px;max-height:36px}.dp .swatches{gap:8px}.dp .swatch{width:26px;height:26px}.crop-shapes{gap:6px;display:flex}.crop-frame{background:repeating-conic-gradient(#e9e9e5 0 25%, #fff 0 50%) 0 0 / 16px 16px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px var(--border);border-radius:10px;align-self:center;position:relative;overflow:hidden}.crop-frame:active{cursor:grabbing}.crop-frame img{transform-origin:0 0;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.crop-zoom{flex-direction:column;gap:6px;display:flex}.crop-zoom input{background:0 0;border:0;min-height:0;padding:0}.crop-hint{margin:0;font-size:.82rem}.inv-titlenote{color:#777;letter-spacing:0;text-transform:none;font-size:.78rem;font-weight:400}.inv-recap{border-collapse:collapse;width:100%;margin:6px 0 14px;font-size:.85rem}.inv-recap caption{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:#777;padding-bottom:4px;font-size:.72rem}.inv-recap th{text-align:right;color:#777;border-bottom:1px solid #e6e6e1;padding:3px 0;font-weight:600}.inv-recap td{text-align:right;padding:4px 0}.inv-recap th:first-child,.inv-recap td:first-child{text-align:left}.inv-signature{flex-direction:column;gap:4px;width:220px;margin-top:22px;display:flex}.inv-signature-img{object-fit:contain;max-width:220px;max-height:90px;display:block}.inv-registration{color:#888;margin:18px 0 0;font-size:.72rem}.inv-classic .inv-facts{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}@media print{.inv-signature,.inv-recap{break-inside:avoid}}.inv-paygrid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 18px;font-size:.85rem;display:grid}.inv-paygrid>div{flex-direction:column;gap:2px;min-width:0;display:flex}.inv-itemhead{letter-spacing:.1em;text-transform:uppercase;color:#777;border-bottom:1px solid #e6e6e1;justify-content:space-between;padding:8px 0 4px;font-size:.7rem;display:flex}.inv-minimal .inv-itemhead{border-top:1px solid #111}.inv-band .inv-line{border-top:0;padding-top:8px}.inv-bandtop{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.inv-bandbrand{align-items:center;gap:10px;min-width:0;display:flex}.inv-bandtop .inv-title{text-align:right}.inv-bandtop .inv-title strong{white-space:nowrap;font-size:clamp(.95rem,4cqw,1.3rem)}.inv-sec{border-top:1px solid #e6e6e1;grid-template-columns:18px minmax(0,1fr);gap:0 12px;padding:14px 0;display:grid}.inv-sec-label{writing-mode:vertical-rl;letter-spacing:.16em;text-transform:uppercase;color:var(--invoice-accent);white-space:nowrap;align-self:start;font-size:.6rem;font-weight:700;transform:rotate(180deg)}.inv-sec-body{min-width:0}.inv-sec-body .inv-parties{margin-top:0}.inv-dates-row{flex-wrap:wrap;justify-content:space-between;gap:6px 14px;font-size:.88rem;display:flex}.inv-dates-row span{display:inline}.inv-paybar{background:color-mix(in srgb, var(--invoice-accent) 10%, #fff);border-radius:6px;padding:12px 14px}.inv-band .inv-paybar .inv-label{margin-bottom:2px}.inv-band .inv-pay{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:12px;display:flex}.inv-band .inv-total-row{border-top:1px solid #e6e6e1;justify-content:space-between;align-items:baseline;padding-top:12px;display:flex}.inv-band .inv-total-amount{letter-spacing:-.02em;color:var(--invoice-accent);white-space:nowrap;font-size:1.7rem}@media print{.inv-paybar{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.wide:has(.design-layout){width:100%;max-width:1100px}.inv-paysec{border-top:1px solid #e6e6e1;margin-top:18px;padding-top:12px}.form-section{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:6px 0 -2px;font-size:.72rem;font-weight:600}.form-section:first-of-type{margin-top:0}.onboard{min-height:100vh;padding:24px 16px calc(24px + var(--safe-bottom));justify-content:center;align-items:center;display:flex}.onboard-card{border:1px solid var(--border);background:#fff;border-radius:20px;gap:14px;width:100%;max-width:560px;padding:28px 24px;box-shadow:0 8px 30px #0000000f}.onboard-brand{letter-spacing:-.03em;justify-content:center;align-items:center;gap:12px;font-size:1.4rem;font-weight:800;display:flex}.onboard-intro{text-align:center;flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.onboard-intro p{margin:0;font-size:.92rem}.onboard-submit{justify-content:center;width:100%;margin-top:6px;padding-top:14px;padding-bottom:14px}.onboard-switch{text-align:center;align-self:center;font-size:.85rem}@media (width>=900px){.onboard-card{padding:36px 40px}}.ipage{flex-direction:column;gap:14px;max-width:980px;display:flex}.frm{margin:0;padding:8px 20px 12px}.frm-row{border-bottom:1px solid var(--border);grid-template-columns:1fr;align-items:center;gap:6px;padding:10px 0;display:grid}.frm-row:last-child{border-bottom:0}.frm-row>label,.frm-label{color:var(--muted);font-size:.85rem;font-weight:500}.frm-control{flex-direction:column;gap:8px;min-width:0;display:flex}.frm-control.two-col{display:grid}.frm-inline{flex-flow:wrap;align-items:center;gap:12px}.frm-inline select{width:auto;min-width:140px}.frm-more{align-self:flex-start;width:auto;margin:10px 0 2px;font-size:.88rem;display:inline-flex}.frm-extra{border-top:1px solid var(--border);margin-top:8px}.frm-items{flex-direction:column;gap:10px;margin:0;padding:14px 20px;display:flex}.items-head,.item-row{grid-template-columns:78px 96px minmax(0,1fr) 130px 120px 40px;align-items:start;gap:10px;display:grid}.items-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.items-head .num{text-align:right}.item-row textarea{resize:vertical;min-height:44px}.item-total{text-align:right;white-space:nowrap;padding-top:12px}.items-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.items-vat{flex-direction:row;align-items:center;gap:8px;width:auto}.items-vat select{width:auto}.inv-summary{flex-direction:column;align-items:flex-end;gap:10px;margin:0;display:flex}.inv-summary table{border-collapse:collapse;min-width:280px;font-size:.9rem}.inv-summary th{text-align:right;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--text);padding:0 0 4px 24px;font-size:.72rem;font-weight:600}.inv-summary td{text-align:right;padding:6px 0 0 24px}.inv-summary th:first-child,.inv-summary td:first-child{text-align:left;padding-left:0}.inv-summary-total{align-items:baseline;gap:14px;display:flex}.inv-summary-total strong{letter-spacing:-.02em;font-size:1.8rem}.ipage-actions{justify-content:flex-end;gap:10px;padding-bottom:12px;display:flex}@media (width>=900px){.frm-row{grid-template-columns:190px minmax(0,1fr);gap:16px}.frm-control{max-width:520px}}@media (width<=899px){.items-head{display:none}.item-row{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr 44px;padding:12px 0}.item-row textarea{grid-area:1/1/auto/-1}.item-row .item-total{text-align:left;grid-column:1/4;padding-top:4px}.item-row .icon-button{grid-area:2/4/4;align-self:center}.inv-summary{align-items:stretch}.inv-summary-total{justify-content:space-between}.ipage-actions{bottom:calc(var(--tabbar) + 8px);position:sticky}}.inv-summary table{width:auto}.inv-items{border-collapse:collapse;width:100%;margin-top:4px;font-size:.88rem}.inv-items th{text-align:right;letter-spacing:.1em;text-transform:uppercase;color:#777;white-space:nowrap;border-bottom:1px solid #e6e6e1;padding:6px 0 4px 12px;font-size:.68rem;font-weight:600}.inv-items td{text-align:right;vertical-align:top;white-space:nowrap;border-bottom:1px solid #f0f0ec;padding:7px 0 7px 12px}.inv-items th:first-child,.inv-items td:first-child{text-align:left;white-space:normal;padding-left:0}.inv-items td:last-child{font-weight:600}.inv-minimal .inv-items{border-top:1px solid #111}.inv-itemssec{border-top:1px solid #e6e6e1;padding:12px 0}@container (width<=480px){.inv-items th:nth-child(3),.inv-items td:nth-child(3){display:none}}@media (width>=900px) and (width<=1319px){.itable{grid-template-columns:max-content minmax(100px,1fr) max-content max-content max-content max-content max-content}.ihead>span:nth-child(2),.irow>.itype{display:none}.irow .itype-inline{display:inline}}.trend-grid{stroke:#eeeeea;stroke-width:1px}.trend-zero{stroke:#d8d8d2;stroke-width:1px}.trend-label{fill:#9a9a94;font-variant-numeric:tabular-nums;font-size:11.5px}.trend-label.strong{fill:var(--text);font-weight:700}.trend-active{fill:url(#trend-focus)}.bar-revenue{fill:url(#trend-rev);opacity:.88;transition:opacity .15s}.bar-expense{fill:url(#trend-exp);opacity:.88;transition:opacity .15s}.bar-revenue.active,.bar-expense.active,.trend-column:hover .bar-revenue,.trend-column:hover .bar-expense{opacity:1}.trend-area{fill:url(#trend-area);stroke:none}.trend-line{stroke:#161616;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.dot-halo{fill:#1212121a}.dot-gain{fill:#fff;stroke:#161616;stroke-width:2.4px}.dot-loss{fill:var(--red);stroke:#fff;stroke-width:2.4px}.dot-small{fill:#fff;stroke:#161616;stroke-width:1.4px}.legend{gap:18px;margin:14px 0 2px}.legend-item{width:auto;color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;padding:2px 0;font-size:.8rem;font-weight:500;display:inline-flex}.legend-item.on{color:var(--text)}.legend-item:not(.on){opacity:.45}.legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.legend-dot.revenue{background:linear-gradient(#35c985,#148c52)}.legend-dot.expenses{background:linear-gradient(#f6c3bc,#e8948b)}.legend-dot.profit{background:#161616;box-shadow:0 0 0 3px #1212121f}.trend-detail{border-top:1px solid var(--border);margin-top:6px;padding:14px 2px 2px}.trend-detail-grid strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.05rem}.trend-summary strong{font-variant-numeric:tabular-nums}.receipt-pdf{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;text-decoration:none;display:flex}.receipt-pdf span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.receipt-pdf small{white-space:nowrap;margin-left:auto;font-weight:500}.receipt-pdf-frame{background:#fff;border:0;width:100%;height:100%;transition:opacity .2s}.esub{color:var(--muted);margin-top:1px;font-size:.82rem;font-weight:400;display:block}.expense-cards .cat-equipment{background:#e8e3f2}.expense-cards .cat-equipment strong,.expense-cards .cat-equipment span{color:#51407f}.expense-cards .cat-services{background:#e3ebf4}.expense-cards .cat-services strong,.expense-cards .cat-services span{color:#2f5578}.expense-cards .cat-other{background:#ecece8}.expense-cards .cat-other strong,.expense-cards .cat-other span{color:#55554f}.req:after{content:" *";color:var(--red);font-weight:700}.frm-row>label{display:block}@media (width>=900px){.mobile-only{display:none!important}}.expense-cards .card{text-align:center;align-items:center}.inv-titleno{color:#8a8a85;font-weight:600}.inv-bandtop .inv-title strong{white-space:nowrap}.inv-datelist{gap:6px;max-width:420px;margin:0;font-size:.92rem;display:grid}.inv-datelist>div{justify-content:space-between;gap:24px;display:flex}.inv-datelist dt{color:#777}.inv-datelist dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.inv-totals{font-variant-numeric:tabular-nums;flex-direction:column;gap:6px;width:min(100%,360px);margin-left:auto;display:flex}.inv-totals-row{justify-content:space-between;gap:16px;font-size:.95rem;display:flex}.inv-totals-row span:first-child{color:#777}.inv-totals-grand{text-align:right;letter-spacing:-.01em;color:var(--invoice-accent);white-space:nowrap;border-top:2px solid #5a5a56;margin-top:6px;padding-top:10px;font-size:1.6rem;font-weight:700}.inv .inv-titleno{display:inline}.inv-bandtop .inv-title strong{letter-spacing:-.02em;font-size:clamp(1.3rem,5.2cqw,2rem)}.inv-bandtop .inv-titlenote{text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:.72rem}.frm-inline .due-days{width:5rem}.frm input.short,.frm select.short{width:220px;max-width:100%}.frm select,.frm-items select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center no-repeat;padding-right:38px}.switch,label.switch{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;flex-direction:row;align-items:center;gap:12px;height:48px;padding:0 18px 0 12px;font-size:.95rem;font-weight:700;transition:background .2s,border-color .2s,color .2s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.switch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.switch-track{background:#c9c9c4;border-radius:999px;flex:none;width:46px;height:28px;transition:background .2s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch.on,label.switch.on{color:#1d6b3a;background:#e8f5ec;border-color:#b7dfc3}.switch.on .switch-track{background:#2e9e57}.switch.on .switch-track:after{transform:translate(18px)}.switch:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.switch.compact,label.switch.compact{gap:10px;height:42px;padding:0 14px 0 10px;font-size:.85rem}.switch.compact .switch-track{width:38px;height:22px}.switch.compact .switch-track:after{width:16px;height:16px}.switch.compact.on .switch-track:after{transform:translate(16px)}.reading-card .switch{margin-top:6px}.edivider{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;grid-column:1/-1;align-items:center;gap:12px;padding:14px 4px 4px;font-size:.78rem;font-weight:700;display:flex}.edivider:after{content:"";background:var(--border);flex:1;height:1px}.etable>.edivider:first-of-type{padding-top:4px}.dph-check,.dph-summary{flex-direction:column;gap:8px;display:flex}.dph-counts{flex-wrap:wrap;gap:6px 22px;margin:0;padding:0;list-style:none;display:flex}.dph-summary table{border-collapse:collapse;width:100%;font-size:.92rem}.dph-summary th,.dph-summary td{text-align:left;border-bottom:1px solid var(--border);padding:8px 6px}.dph-summary th.num,.dph-summary td.num{text-align:right}.kv strong .delta{margin-left:8px}@media (width<=899px){.page-head .page-actions>*{white-space:nowrap;padding-left:12px;padding-right:12px}.page-head .page-actions>.fit{flex:none}.page-head .page-actions:has(>.fit){justify-content:flex-end}}.pdf-render{width:794px;max-width:none;box-shadow:none;box-sizing:border-box;border:0;border-radius:0;margin:0}.card-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:.72rem;font-weight:600}.profile-form{flex-direction:column;gap:14px;display:flex}.form-group{flex-direction:column;gap:12px;display:flex}.offer-photos{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.offer-photo{width:96px;position:relative}.offer-photo img{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:96px;height:170px;display:block}.offer-photo .icon-button{background:#ffffffe6;border-radius:50%;position:absolute;top:4px;right:4px}.offer-add-photo{cursor:pointer}.offer-hint{margin:0;font-size:.85rem}.offer-section{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.offer-section textarea{min-height:160px;font-family:inherit}.offer-scope{grid-template-columns:1.4fr 1fr .8fr auto;align-items:center;gap:8px;display:grid}@media (width<=899px){.offer-scope{grid-template-columns:1fr 1fr}}.offer-stack{flex-direction:column;gap:12px;display:flex}.offer-stack .card-title{margin-bottom:0}.offer-stack .frm-row{border-bottom:0;padding:0}.offer-stack>button{align-self:flex-start}.offer-title-row{flex-wrap:nowrap}.offer-title-row input{flex:1;min-width:0}.offer-photo .icon-button{width:28px;height:28px}.offer-section{padding-top:14px}.qrow.clickable{cursor:pointer}.qrow.clickable:hover{border-color:#cfcfca}.offer-row{grid-template-columns:180px minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.offer-row .offer-row-fixed{grid-column:2/-1;padding:12px 4px}.offer-row textarea{min-height:44px}@media (width<=899px){.offer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label remove""value value"}.offer-row>input{grid-area:label}.offer-row>textarea{grid-area:value}.offer-row>.icon-button{grid-area:remove}.offer-row .offer-row-fixed{grid-column:1/-1;padding:0 4px}}.rich-preview{border:1px solid var(--border);background:#fff;border-radius:10px;padding:12px 14px;font-family:EB Garamond,Garamond,Georgia,serif;font-size:1.02rem;line-height:1.45}.rich-preview p{margin:0 0 10px}.rich-preview p.tight{margin-bottom:4px}.rich-preview .rich-h2,.rich-preview .rich-h3{margin:10px 0 2px;font-size:1.1rem;font-weight:700}.offer-section{gap:12px}.offer-section .seg-group{align-self:flex-start}.offer-title-row .offer-delete{border:1px solid var(--border);width:44px;height:44px;color:var(--red);background:#fff;border-radius:10px;flex:none}.offer-title-row .offer-delete:hover{background:var(--red-bg);border-color:var(--red)}.offer-section .frm-control.offer-title-row{width:100%;max-width:none}.offer-title-row input{flex:1}.offer-scope{grid-template-columns:1.6fr .8fr auto}@media (width<=899px){.offer-scope{grid-template-columns:1fr 1fr auto}}
