:root,:root[data-theme=verde]{--bg:#f2f4f3;--surface-2:#f7f9f8;--line:#d9e0dc;--ink:#15211c;--ink-2:#4e5d56;--ink-3:#5f6d66;--accent:#1d6a50;--accent-soft:#dcede5;--dark:#15211c;--print-accent:#1d6a50}:root[data-theme=petroleo]{--bg:#f1f4f6;--surface-2:#f7f9fa;--line:#d5dee4;--ink:#10222b;--ink-2:#4b5b66;--ink-3:#5e6c76;--accent:#1f5f7a;--accent-soft:#dcebf2;--dark:#10222b;--print-accent:#1f5f7a}:root[data-theme=indigo]{--bg:#f2f3f8;--surface-2:#f8f8fc;--line:#d9dcea;--ink:#161b33;--ink-2:#4f5470;--ink-3:#63687f;--accent:#3346a8;--accent-soft:#e2e6fa;--dark:#161b33;--print-accent:#3346a8}:root[data-theme=ciruela]{--bg:#f5f2f6;--surface-2:#faf8fb;--line:#e0d7e4;--ink:#24172a;--ink-2:#5d5262;--ink-3:#6e6374;--accent:#6b3a78;--accent-soft:#f0e4f4;--dark:#24172a;--print-accent:#6b3a78}:root[data-theme=tierra]{--bg:#f4f3f0;--surface-2:#faf9f6;--line:#e0d9cd;--ink:#2a2117;--ink-2:#5f574b;--ink-3:#6e665a;--accent:#85560f;--accent-soft:#f5e8cf;--dark:#2a2117;--print-accent:#85560f}:root{--surface:#fff;--accent-ink:#fff;--bad:#b43a2f;--bad-soft:#f8e1de;--print-bad:#b43a2f;--ok:#2f7d4f;--ok-soft:#e1f2e7;--warn:#a86a0a;--warn-soft:#fbeed3;--radius:16px;--shadow:0 1px 2px #141e1a0d, 0 6px 20px #141e1a0d}:root[data-mode=dark],:root[data-mode=dark][data-theme=verde]{--bg:#121815;--surface:#1a221e;--surface-2:#212a25;--line:#2f3a34;--ink:#eef2f0;--ink-2:#b3bfb9;--ink-3:#8d9a94;--accent:#6cc9a2;--accent-soft:#1e3a2f;--accent-ink:#0e1a15;--dark:#0c1411}:root[data-mode=dark][data-theme=petroleo]{--bg:#11181c;--surface:#182126;--surface-2:#1f292f;--line:#2d3a41;--ink:#eef2f4;--ink-2:#b2bec5;--ink-3:#8c99a1;--accent:#6fb7d6;--accent-soft:#183342;--accent-ink:#0a1820;--dark:#091419}:root[data-mode=dark][data-theme=indigo]{--bg:#12141e;--surface:#1a1c29;--surface-2:#212433;--line:#2f3346;--ink:#eeeff6;--ink-2:#b6b9ce;--ink-3:#9093ab;--accent:#9aa8f2;--accent-soft:#262d57;--accent-ink:#12162b;--dark:#0c0f1e}:root[data-mode=dark][data-theme=ciruela]{--bg:#17121a;--surface:#201a23;--surface-2:#28212b;--line:#382f3c;--ink:#f2eef3;--ink-2:#bfb4c3;--ink-3:#998e9c;--accent:#ce9cdd;--accent-soft:#3a2442;--accent-ink:#1b1020;--dark:#140c17}:root[data-mode=dark][data-theme=tierra]{--bg:#171410;--surface:#201c17;--surface-2:#28231d;--line:#39322a;--ink:#f3f0ea;--ink-2:#bdb5a8;--ink-3:#978f82;--accent:#e0a84e;--accent-soft:#3d2e14;--accent-ink:#1e1608;--dark:#14100a}:root[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bad:#ee7b70;--bad-soft:#3a1f1c;--ok:#5fc388;--ok-soft:#1b2e23;--warn:#e5a940;--warn-soft:#382c14;--shadow:0 1px 2px #0006, 0 8px 24px #0000004d}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Onest,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0}h1{font-size:28px;font-weight:700}h2{font-size:21px;font-weight:700}h3{font-size:17px;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);font-weight:600}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.hint{color:var(--ink-3);font-size:12.5px}.app{min-height:100vh;display:flex}.app>.screen{flex:1;min-width:0}.sidebar{box-sizing:border-box;background:var(--dark);color:#e6ece9;z-index:40;flex-direction:column;flex:0 0 232px;gap:22px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;padding:0 4px;display:flex}.sidenav{flex-direction:column;gap:2px;display:flex}.nav-item{min-height:44px;font:inherit;cursor:pointer;color:#d5ddd9;white-space:nowrap;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item[aria-current=page]{background:var(--accent);color:var(--accent-ink);font-weight:600}.sidebar .nav-item:focus-visible{outline-offset:2px;outline:2px solid #fff}.nav-icon{flex:none}.sidebar-foot{flex-direction:column;margin-top:auto;display:flex}.account-panel .phone-only,.nav-short,.nav-more,.more-backdrop{display:none}.brand{align-items:center;gap:10px;display:flex}.sidebar .brand-sub{color:#b9c3be}.top-actions{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:4px;display:flex}.bell,.account{position:relative}.top-button{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:12px;place-items:center;display:grid;position:relative}.top-button:hover,.top-button[aria-expanded=true]{background:var(--surface-2);color:var(--ink)}.top-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bell-count{background:var(--accent);min-width:20px;height:20px;color:var(--accent-ink);text-align:center;border-radius:999px;padding:0 5px;font-size:11.5px;font-weight:700;line-height:20px;position:absolute;top:-6px;right:-6px}.bell-panel,.account-panel{z-index:60;color:var(--ink);width:min(360px,100vw - 32px);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:14px 16px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.account-panel{gap:2px;width:240px;padding:6px}.account-item{min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.account-item:hover{background:var(--surface-2)}.account-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.account-item svg{color:var(--ink-2);flex:none}.bell-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.bell-panel p{margin:0}.bell-panel ul{flex-direction:column;gap:2px;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.bell-panel li{border-radius:9px}.bell-panel li.unseen{background:var(--accent-soft)}.bell-panel li a{color:var(--ink);border-radius:9px;flex-direction:column;padding:8px 10px;text-decoration:none;display:flex}.bell-panel li a:hover{background:var(--bg)}.bell-panel li a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bell-title{font-weight:600}.bell-panel li.unseen .bell-title{color:var(--accent)}.bell-panel li .muted{font-size:12.5px}:root{--tabbar-h:60px}@media (width<=899px){.app{display:block}.app>.screen{padding-bottom:calc(var(--tabbar-h) + 32px + env(safe-area-inset-bottom))}.sidebar{gap:0;height:auto;padding:10px 16px;position:static}.sidebar-head{min-height:44px;padding:0}.app{position:relative}.top-actions{z-index:45;margin:0;position:absolute;top:10px;right:16px}.top-actions .top-button{color:#e6ece9;background:0 0;border-color:#ffffff38}.top-actions .top-button:hover,.top-actions .top-button[aria-expanded=true]{color:#fff;background:#ffffff1a}.top-actions .top-button:focus-visible{outline-color:#fff}.top-actions .bell-count{box-shadow:0 0 0 2px var(--dark)}.sidebar-foot{display:none}.account-panel .phone-only{display:flex}.more-sheet button.more-item{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0}.sidenav{z-index:30;padding:0 4px env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.sidenav .nav-item:not(.in-bar):not(.nav-more){display:none}.sidenav .nav-item{min-height:var(--tabbar-h);color:var(--ink-2);white-space:nowrap;border-radius:0;flex-direction:column;justify-content:center;gap:3px;padding:6px 2px;font-size:11.5px;font-weight:600}.sidenav .nav-item:hover{color:var(--ink);background:0 0}.sidenav .nav-item[aria-current=page],.sidenav .nav-more.active{color:var(--accent);background:0 0}.sidenav .nav-item .nav-icon{box-sizing:content-box;border-radius:999px;padding:3px 14px}.sidenav .nav-item[aria-current=page] .nav-icon,.sidenav .nav-more.active .nav-icon{background:var(--accent-soft)}.sidenav .nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.nav-item.in-bar .nav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav-item.in-bar .nav-short{display:inline}.nav-more{display:flex}.more-backdrop{z-index:25;background:#00000059;display:block;position:fixed;inset:0}.more-sheet{left:0;right:0;bottom:calc(var(--tabbar-h) + 1px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow);border-radius:18px 18px 0 0;gap:2px;padding:12px 12px 10px;display:grid;position:fixed}.more-item{min-height:48px;color:var(--ink);border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:600;text-decoration:none;display:flex}.more-item[aria-current=page]{background:var(--accent-soft);color:var(--accent)}}.brand-mark{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:10px;flex:none;place-items:center;display:grid}.brand-name{font-size:18px;font-weight:700;line-height:1.1}.brand-sub{color:var(--ink-3);font-size:12px}.screen{max-width:1080px;margin:0 auto;padding:20px 16px 60px}@media screen and (width>=900px){.app>.sidebar~.screen{max-width:calc(50% + 424px)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.page-head h1{margin:0}.page-head p{color:var(--ink-2);margin:4px 0 0}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:progress}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent);filter:brightness(.95)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.danger{color:var(--bad)}.btn.block{width:100%}.btn.sm{min-height:36px;padding:6px 12px;font-size:14px}a.btn{color:inherit;text-decoration:none}a.btn.primary{color:var(--accent-ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn:focus-visible,.input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span:not(.hint),.field>label{color:var(--ink-2);font-size:13px;font-weight:600}.input,.select{border:1px solid var(--line);background:var(--surface);border-radius:9px;outline:none;width:100%;min-height:44px;padding:10px 12px;font-size:16px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.alert{background:var(--bad-soft);color:var(--bad);border-radius:9px;margin:12px 0 0;padding:10px 12px;font-weight:500}.alert p{margin:0}.alert p+p{margin-top:4px}.login-stage{place-items:center;min-height:calc(100vh - 32px);padding:16px;display:grid}.login{width:100%;max-width:400px;padding:32px}.login .brand{justify-content:center;padding-bottom:22px}.login h2{text-align:center;margin-bottom:4px}.login .lead{text-align:center;margin:0 0 22px}.login form{flex-direction:column;gap:16px;display:flex}.login .foot{text-align:center;color:var(--ink-3);margin-top:18px;font-size:13px}.editor{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.editor>*{min-width:0}.stack{flex-direction:column;gap:18px;display:flex}.stack[hidden]{display:none}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;padding:4px;display:flex}.tab{min-height:40px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 16px;font-weight:600}.tab:hover{color:var(--ink);background:var(--bg)}.tab[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.grid2{grid-template-columns:1fr;gap:14px;display:grid}.grid2>*{min-width:0}.choice{border:0;flex-wrap:wrap;gap:8px 22px;margin:0;padding-top:0;display:flex}.choice label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.grid2>.new-client{background:var(--surface-2);grid-column:1/-1}.input.ro{background:var(--surface-2);color:var(--ink-2)}.form-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.row-actions{gap:6px;display:inline-flex}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.toolbar .search{flex:1;min-width:200px}.toolbar select.input{width:auto}.conditions .grid2+.field,.conditions .field+.field{margin-top:14px}.catalog-filters{grid-template-columns:1fr;gap:10px;display:grid}.category-group{border-left:3px solid var(--accent-soft);margin:10px 0 16px;padding-left:12px}.category-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.category-head h4{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:14px}.category-head output{font-weight:600}.category-list{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.category-list li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.category-list li .input{flex:200px}.category-add{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.category-add .field{flex:200px}.percent-input{flex:none;align-items:center;gap:6px;display:inline-flex}.percent-input .input{text-align:right;width:84px;padding-top:6px;padding-bottom:6px}.steps{color:var(--ink-2);gap:8px;margin:0 0 16px;padding-left:20px;display:grid}.steps .btn{margin-left:6px}td.bad{color:var(--bad)}tr.group-row th{background:var(--surface-2);color:var(--ink);text-transform:none;letter-spacing:0;font-size:13px}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.off{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line)}.password-notice p{margin:0 0 8px}.password-notice .password{letter-spacing:.08em;background:var(--surface);border:1px dashed var(--line);-webkit-user-select:all;user-select:all;border-radius:8px;padding:6px 12px;font-size:20px;font-weight:700;display:inline-block}.status-picker{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.status-picker .field{flex-direction:row;align-items:center;gap:8px;margin:0}.status-picker p{margin:0}.status-picker.compact{flex-wrap:nowrap;gap:8px;margin-left:0}.status-picker.compact .input{width:auto;min-width:8.5em;min-height:36px;padding-top:4px;padding-bottom:4px}.status-picker.compact:has(p){flex-wrap:wrap}.status-picker.compact p{white-space:normal;flex-basis:100%;font-size:12.5px}.license-select.input{width:auto;min-width:8.5em;padding-top:4px;padding-bottom:4px}.table-wrap{--cards-below:700px;font-size:calc(var(--cards-below) / 10);scrollbar-width:thin;scrollbar-color:var(--line) transparent;position:relative;overflow-x:auto;container-type:inline-size}.table-wrap>*{font-size:15px}.table-wrap.quotes-wrap{--cards-below:960px}.quotes-wrap td,.quotes-wrap th{padding-left:12px;padding-right:12px}.table-wrap.clients-wrap{--cards-below:860px}.table-wrap.dues-wrap{--cards-below:840px}.quotes-wrap td.cell-main,.clients-wrap td.cell-main,.report-wrap td.cell-main{white-space:normal;min-width:9em}td.wrap{white-space:normal}tr.row-link{cursor:pointer}a.name-link{color:inherit;font-weight:700;text-decoration:none}a.name-link:hover{color:var(--accent)}.clients-wrap a.name-link,.clients-wrap table.cards .cell-main{font-weight:400}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:13px 16px}tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-2)}.r{text-align:right}@container (width<10em){table.cards thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}table.cards,table.cards tbody{display:block}table.cards tr{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px 20px;padding:14px 16px;display:flex}table.cards tbody tr:last-child{border-bottom:0}table.cards td,table.cards th{white-space:normal;text-align:left;border:0;padding:0;display:block}table.cards tbody tr:hover td{background:0 0}table.cards td:empty{display:none}table.cards td[data-label]:before{content:attr(data-label);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;font-size:11.5px;font-weight:600;display:block}table.cards .cell-main{flex-basis:100%;order:-1;font-size:17px;font-weight:600}table.cards .cell-main a{padding:4px 0;display:block}table.cards .cell-actions{flex-basis:100%}table.cards .cell-actions .row-actions{flex-wrap:wrap;display:flex}table.cards tr.group-row{background:var(--surface-2);padding:10px 16px}table.cards tr.group-row th{background:0 0}}@supports not (container-type:inline-size){@media (width<=719px){table.cards thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}table.cards,table.cards tbody{display:block}table.cards tr{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px 20px;padding:14px 16px;display:flex}table.cards tbody tr:last-child{border-bottom:0}table.cards td,table.cards th{white-space:normal;text-align:left;border:0;padding:0;display:block}table.cards tbody tr:hover td{background:0 0}table.cards td:empty{display:none}table.cards td[data-label]:before{content:attr(data-label);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;font-size:11.5px;font-weight:600;display:block}table.cards .cell-main{flex-basis:100%;order:-1;font-size:17px;font-weight:600}table.cards .cell-main a{padding:4px 0;display:block}table.cards .cell-actions{flex-basis:100%}table.cards .cell-actions .row-actions{flex-wrap:wrap;display:flex}table.cards tr.group-row{background:var(--surface-2);padding:10px 16px}table.cards tr.group-row th{background:0 0}}}@container (width<10em){.quotes-wrap table.cards tr,.clients-wrap table.cards tr{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));align-items:start;gap:14px 20px;padding:18px;display:grid}.quotes-wrap table.cards .cell-main,.quotes-wrap table.cards .cell-actions,.clients-wrap table.cards .cell-main{grid-column:1/-1}.quotes-wrap table.cards .status-picker .chip{display:none}.quotes-wrap table.cards .status-picker .input{width:100%;min-width:0}}@supports not (container-type:inline-size){@media (width<=719px){.quotes-wrap table.cards tr,.clients-wrap table.cards tr{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));align-items:start;gap:14px 20px;padding:18px;display:grid}.quotes-wrap table.cards .cell-main,.quotes-wrap table.cards .cell-actions,.clients-wrap table.cards .cell-main{grid-column:1/-1}.quotes-wrap table.cards .status-picker .chip{display:none}.quotes-wrap table.cards .status-picker .input{width:100%;min-width:0}}}.section-title{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.line{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;display:grid}.line:first-of-type{border-top:0;padding-top:0}.line .concept{grid-column:1/-1}.combo{position:relative}.combo-list{z-index:20;background:var(--surface);border:1px solid var(--line);max-height:280px;box-shadow:var(--shadow);border-radius:12px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combo-list [role=option]{cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.combo-list [role=option]:hover,.combo-list [role=option][aria-selected=true]{background:var(--accent-soft)}.combo-name{font-weight:600}.combo-details{color:var(--ink-2);font-size:13px}.line .amount-row{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.amount{font-size:18px;font-weight:600}.stepper{align-items:stretch;gap:6px;display:flex}.stepper .input{text-align:center;flex:1;min-width:0}.btn.step{flex:none;width:44px;padding:0;font-size:20px;font-weight:500}@media (width<=719px){.card-pad{padding:16px}.line{gap:8px 10px;padding:12px 0}.line .field{gap:4px}.line .field>span{font-size:12px}.line .field:has(.stepper){grid-column:1/-1}.line .amount-row .btn{min-height:40px;padding:8px 4px}.catalog-filters:has(>:nth-child(2)){grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}.empty{color:var(--ink-2);margin:0 0 14px}.add-line{margin-top:14px}.section-total{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;padding-top:12px;font-weight:600;display:flex}.catalog-results{gap:4px;max-height:320px;margin:8px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.catalog-results .btn{text-align:left;white-space:normal;justify-content:flex-start;width:100%}.totals{flex-direction:column;gap:12px;display:flex}.totals .row{justify-content:space-between;align-items:baseline;display:flex}.switch{appearance:none;cursor:pointer;box-sizing:border-box;border:1px solid var(--ink-3);background:var(--line);border-radius:999px;flex:none;width:42px;height:24px;margin:0;position:relative}.switch:before{content:"";background:var(--ink-3);border-radius:50%;width:18px;height:18px;position:absolute;top:2px;left:2px}.switch:checked{border-color:var(--accent);background:var(--accent)}.switch:checked:before{background:#fff;left:20px;box-shadow:0 1px 2px #00000040}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (forced-colors:active){.switch{forced-color-adjust:none;background:canvas;border-color:buttontext}.switch:before{background:buttontext}.switch:checked{background:highlight;border-color:highlight}.switch:checked:before{background:highlighttext}}.totals .row.total{font-size:28px;font-weight:700;line-height:1.15}.totals .row.total span{opacity:.85;font-size:15px;font-weight:500}.totals-detail,.totals-bar{flex-direction:column;gap:12px;display:flex}.totals-bar{background:var(--accent);color:var(--accent-ink);border-radius:14px;margin-top:6px;padding:16px}.totals-bar .btn.primary{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--accent)}.totals-bar .btn.primary:hover:not(:disabled){background:var(--accent-ink)}.totals-bar .btn.primary:focus-visible{outline-color:var(--accent-ink)}.totals-bar .hint{color:inherit;opacity:.8}@media (width<=719px){.totals{display:contents}.totals-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.totals-bar{bottom:calc(var(--tabbar-h) + 1px + env(safe-area-inset-bottom));z-index:5;border-radius:var(--radius) var(--radius) 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin:0 -16px;padding:10px 16px 12px;display:grid;position:sticky;box-shadow:0 -4px 16px #0000001f}.totals-bar .row.total{flex-direction:column;grid-column:1;align-items:flex-start;gap:0;min-width:0;font-size:22px}.totals-bar .row.total span{font-size:13px}.totals-bar .btn.block{grid-column:2;width:auto;padding:10px 14px}.totals-bar .alert{order:-1;grid-column:1/-1;max-height:30vh;overflow-y:auto}.totals-bar .hint{display:none}}@media (width>=720px){.screen{padding:28px 36px 60px}.line{grid-template-columns:minmax(130px,1.1fr) minmax(90px,.8fr) minmax(176px,1.3fr) minmax(90px,1fr);align-items:end}.btn.step{width:32px}.stepper .input{padding-left:6px;padding-right:6px}.grid2{grid-template-columns:1fr 1fr}.catalog-filters{grid-template-columns:2fr 1fr}}@media (width>=1000px){.editor{grid-template-columns:1fr 320px}.totals{position:sticky;top:20px}}.notice{background:var(--surface-2);color:var(--ink);border-radius:9px;margin:12px 0 0;padding:10px 12px;font-weight:500}.schedule{flex-direction:column;gap:12px;display:flex}.schedule-row{border:0;border-bottom:1px solid var(--line);grid-template-columns:1fr;align-items:end;gap:10px;margin:0;padding:12px 0;display:grid}@media (width>=720px){.schedule-row{grid-template-columns:2fr 1fr 1fr auto 1.2fr auto auto auto}}.schedule-hint{grid-column:1/-1;margin-top:-4px}.schedule-amount{padding-bottom:10px;font-weight:600}.check{align-items:center;gap:6px;padding-bottom:10px;font-weight:600;display:inline-flex}.warn:not(.chip){background:var(--warn-soft);color:var(--warn);border-radius:9px;margin:0;padding:10px 12px;font-weight:600}.schedule-summary p{margin:0 0 6px}.supplier-prices{flex-direction:column;gap:8px;padding:8px 0;display:flex}.supplier-price-form{grid-template-columns:1fr;align-items:end;gap:10px;display:grid}@media (width>=720px){.supplier-price-form{grid-template-columns:2fr 1fr auto}}.project-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.project-list a{font-weight:600}.receipts h4{margin:8px 0 4px}.receipts ul{margin:0;padding:0;list-style:none}.receipt-doc{color:#000;border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-width:720px;padding:28px}.receipt-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.receipt-head p{margin:0}.receipt-biz{font-size:15pt;font-weight:700}.receipt-logo{object-fit:contain;max-width:60mm;max-height:22mm}.receipt-title{border-bottom:2px solid #000;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;padding-bottom:6px;display:flex}.receipt-title h2,.receipt-title h3{text-align:center;flex:1 0 100%;margin:0;font-size:16pt}.receipt-title p{margin:0;font-weight:600}.receipt-data{grid-template-columns:max-content 1fr;gap:4px 12px;margin:14px 0;display:grid}.receipt-data dt{font-weight:600}.receipt-data dd{margin:0}.receipt-field{display:contents}.receipt-note{margin:14px 0 0}.receipt-amounts{border-collapse:collapse;width:100%}.receipt-amounts th,.receipt-amounts td{text-align:left;color:#000;text-transform:none;letter-spacing:0;background:0 0;border-bottom:1px solid #bbb;padding:6px;font-size:11pt;font-weight:600}.receipt-amounts td{text-align:right}.receipt-amounts tr:last-child th{border-bottom:0}.receipt-paid th,.receipt-paid td{font-size:13pt;font-weight:700}@media print{.receipt-doc{border:0;max-width:none;padding:0}}.receipt-methods{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.receipt-detail{margin:6px 0 14px}.receipt-detail tfoot th{text-align:right;font-weight:600}.collect-dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:10px;margin:12px 0;padding:14px;display:flex}.collect-dialog p{margin:0}.method-pick{border:0;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;display:flex}.method-pick legend{margin-bottom:4px;font-weight:600}.schedule-layout{max-width:260px;margin-bottom:10px}.schedule-note{grid-column:1/-1}.requisition-phase{margin-top:18px}.requisition-phase-title{margin:0 0 4px;font-size:13pt}.requisition-prepared{margin:0 0 6px}.requisition-table thead th:first-child,.requisition-table tbody td:first-child{width:2.5em}.requisition-table tfoot th,.requisition-table tfoot td{text-align:right;border-bottom:0;font-weight:700}@media print{.requisition-phase-title,.requisition-table thead{break-after:avoid}.requisition-table tr{break-inside:avoid}}.report{flex-direction:column;gap:14px;display:flex}.report .section-title{flex-wrap:wrap;margin-bottom:0}.report-subtitle{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:6px 0 0;font-size:13px}.report-wrap{border:1px solid var(--line);border-radius:12px}.period-select.input{width:auto}.stat-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.stat{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat-label{color:var(--ink-2);font-size:13px;font-weight:600}.stat-value{letter-spacing:-.01em;font-size:24px;font-weight:700;line-height:1.25}.stat-detail{color:var(--ink-3);font-size:12.5px}.stat.bad{background:var(--bad-soft);border-color:#0000}.stat.bad .stat-label,.stat.bad .stat-value{color:var(--bad)}.period-pick{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mark-strong{fill:var(--accent)}.mark-soft{fill:var(--accent);fill-opacity:.5}.mark-muted{fill:var(--ink-3);fill-opacity:.45}.mark-bad{fill:var(--bad)}.chart{break-inside:avoid;flex-direction:column;gap:10px;margin:0;display:flex}.chart-plot{position:relative}.chart-plot>svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-base{stroke:var(--ink-3);stroke-width:1px}.chart-axis{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.chart-label{fill:var(--ink-2);font-weight:600}.chart-hover{fill:var(--ink);fill-opacity:.05}.chart-hit{fill:#0000;cursor:default}.chart-legend,.split-legend,.hbars{margin:0;padding:0;list-style:none}.chart-legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.chart-legend li,.chart-tooltip p{align-items:center;gap:6px;display:flex}.swatch{flex:none;display:block}.chart-tooltip{z-index:5;pointer-events:none;background:var(--surface);min-width:180px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:8px 10px;font-size:13px;position:absolute;top:0}.chart-tooltip.align-center{transform:translate(-50%)}.chart-tooltip.align-end{transform:translate(-100%)}.chart-tooltip p{margin:0}.chart-tooltip p+p{margin-top:3px}.chart-tooltip b{margin-left:auto;padding-left:12px}.chart-tooltip-title{font-weight:700;margin-bottom:4px!important}.split-bar{gap:2px;height:22px;display:flex}.split-bar svg{flex-basis:0;min-width:4px;height:100%}.split-legend{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px;display:grid}.split-legend li{grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;display:grid}.split-name{font-size:14px;font-weight:600}.split-detail{color:var(--ink-3);grid-column:2/-1;font-size:12.5px}.hbars{flex-direction:column;gap:10px;display:flex}.hbars li{grid-template-columns:9.5em 1fr minmax(8.5em,auto);align-items:center;gap:12px;display:grid}.hbar-name{font-size:14px;font-weight:600}.hbar{width:100%;display:block}.hbar-track{fill:var(--line);fill-opacity:.5}.hbar-value{flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.hbar-detail{color:var(--ink-3);font-size:12.5px}@media (width<=520px){.hbars li{grid-template-columns:1fr auto;gap:4px 12px}.hbar{grid-area:2/1/auto/-1}}.print-only{display:none}@media print{.print-only{margin-bottom:14px;display:block}.period-select,.chart-tooltip,.chart-hover{display:none!important}.chart-plot>svg{width:auto;max-width:100%}.report-page{--surface:#fff;--surface-2:#fff;--line:#bbb;--ink:#000;--ink-2:#222;--ink-3:#555;--accent:var(--print-accent);--bad:var(--print-bad);--bad-soft:#fff;color:#000}.report-page .card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.report-page .stack{gap:22px}.report-page .stat-row{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px}.report-page .stat{break-inside:avoid;padding:8px 10px}.report-page .stat-value{font-size:14pt}.report-page .report-subtitle{break-after:avoid}.report-page .table-wrap:not(.dues-wrap){break-inside:avoid}.report-page .hint{color:#555}.report-page .report-wrap{border:0;border-radius:0}.report-page .table-wrap{--cards-below:100px}.report-page .table-wrap td,.report-page .table-wrap th{white-space:normal;color:#000;background:0 0}.report-page .table-wrap td.num{white-space:nowrap}.report-page tr{break-inside:avoid}}.statement-table{border-collapse:collapse;width:100%;margin-bottom:14px}.statement-table th,.statement-table td{text-align:left;color:#000;text-transform:none;letter-spacing:0;white-space:normal;background:0 0;border-bottom:1px solid #bbb;padding:6px;font-size:10.5pt}.statement-table .r{text-align:right}.statement-table tbody tr:hover td{background:0 0}.statement-overdue td:last-child{font-weight:700}.statement-totals{max-width:360px;margin-left:auto}.materials-table caption{caption-side:top;text-align:left;color:#000;margin:18px 0 6px;font-size:13pt;font-weight:700}.materials-table{border-collapse:collapse;table-layout:fixed;width:100%}.materials-table thead th:first-child{width:46%}.materials-table th,.materials-table td{text-align:left;color:#000;text-transform:none;letter-spacing:0;background:0 0;border-bottom:1px solid #bbb;padding:5px 6px;font-size:10.5pt}.materials-table .r{text-align:right}.materials-table tfoot th,.materials-table tfoot td{border-bottom:0;font-weight:700}.materials-total{text-align:right;margin:16px 0 0;font-size:13pt;font-weight:700}.materials-group{break-inside:avoid}.templates{flex-direction:column;gap:16px;display:flex}.template{border:0;border-bottom:1px solid var(--line);margin:0;padding:0 0 12px}.template legend{margin-bottom:8px;font-size:15px;font-weight:700}.template-row{grid-template-columns:1fr;align-items:end;gap:10px;margin-bottom:10px;display:grid}@media (width>=720px){.template-row{grid-template-columns:3fr 1fr auto}}.themes{border:0;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.theme-option{border:1px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:6px 14px 6px 8px;font-weight:600;display:inline-flex;position:relative}.theme-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.theme-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.theme-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.theme-swatch{border-radius:10px;flex:none;width:32px;height:32px}.logo-preview{object-fit:contain;max-width:240px;max-height:104px;margin-bottom:14px;display:block}.app-notice{z-index:50;border-left:4px solid var(--accent);max-width:380px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:8px;margin-left:auto;padding:14px 16px;display:flex;position:fixed;top:76px;left:16px;right:16px}.app-notice ul{margin:0;padding-left:18px}.app-notice p{color:var(--muted,inherit);margin:0}.app-notice a{color:var(--accent);font-weight:600}.doc-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.quote-doc{display:none}.doc-band{color:#fff;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:6px;align-items:center;gap:14px;margin-bottom:12px;padding:12px 16px;display:flex;position:relative;overflow:hidden}.doc-band>*{position:relative}.doc-band .doc-band-fill{width:100%;height:100%;position:absolute;inset:0}.doc-band p{color:#fff;margin:0}.doc-band-logo{background:#fff;border-radius:4px;flex:none;padding:4px;display:flex}.doc-band-logo img{object-fit:contain;max-width:48mm;max-height:18mm;display:block}.doc-band-biz{flex:40%;min-width:0;font-size:9.5pt}.doc-band .doc-band-name{font-size:14pt;font-weight:700}.doc-band-tagline{font-style:italic}.doc-band-title{text-align:right;max-width:55%;margin-left:auto}.doc-band-title h2{color:#fff;margin:0;font-size:20pt;line-height:1.1}.doc-band-title p{font-weight:600}.doc-client{flex-wrap:wrap;justify-content:space-between;gap:4px 24px;margin:0 0 14px;display:flex}.doc-client dl{grid-template-columns:max-content 1fr;gap:2px 10px;margin:0;display:grid}.doc-client dl>div{display:contents}.doc-client dt{font-weight:600}.doc-client dd{margin:0}.agreement-heading{margin:16px 0 6px;font-size:12pt}.agreement-points{margin:4px 0 12px;padding-left:18px}.doc-lines{border-collapse:collapse;width:100%}.doc-lines thead{display:table-header-group}.doc-lines th,.doc-lines td{color:#000;text-transform:none;letter-spacing:0;vertical-align:top;background:0 0;border-bottom:1px solid #bbb;padding:5px 6px;font-size:10pt}.doc-lines thead th{border-bottom:1.5px solid #000;font-weight:700}.doc-lines td:first-child{white-space:normal;width:100%}.doc-lines tbody th,.doc-lines tfoot th{white-space:normal}.doc-lines tr{break-inside:avoid}.doc-lines th[scope=row]{text-align:right;font-weight:600}.doc-lines th[scope=row],.doc-lines th[scope=row]+td{border-bottom:0;font-weight:600}.doc-lines .doc-group th{border-bottom:1.5px solid #000;padding-top:12px;font-size:11pt;font-weight:700}.doc-lines .doc-subgroup th{border-bottom:1px solid #000;font-size:10pt}.doc-lines tfoot tr:first-child>*{border-top:1.5px solid #000;padding-top:8px}.doc-lines tfoot tr:last-child>*{border-bottom:0;font-size:13pt;font-weight:700}.doc-conditions{margin-top:16px;font-size:10pt}.doc-conditions h3{margin:10px 0 2px;font-size:11pt}.doc-conditions p{margin:0}.doc-text{white-space:pre-wrap}.doc-conditions .doc-terms{margin-top:20px}.doc-conditions .doc-terms h3{margin-top:0;font-size:9.5pt}.doc-conditions .doc-terms .doc-text{font-size:8pt;line-height:1.35}.share-link{margin:18px 0}.share-link h3{margin:0 0 8px}@media print{.share-link{display:none!important}}.public-page{max-width:236mm;margin:0 auto;padding:24px 16px 48px}.public-page .doc-actions{justify-content:flex-end}.public-notice{text-align:center;max-width:520px;margin:48px auto}.public-notice h1{margin:0 0 8px;font-size:24px}.public-phone{font-size:18px;font-weight:700}.sheet{color:#000;box-sizing:border-box;border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;max-width:216mm;min-height:279mm;margin:0 auto;padding:14mm 12mm;font-size:11pt;box-shadow:0 6px 24px #0000001f}.sheet .quote-doc{color:#000;display:block}.sheet-frame{width:100%}.sheet.sheet-fixed{transform-origin:0 0;max-width:none}@media (width<=600px){.sheet:not(.sheet-fixed){min-height:0;padding:16px 10px;font-size:10pt;overflow-x:auto}.sheet:not(.sheet-fixed) .doc-lines th,.sheet:not(.sheet-fixed) .doc-lines td{padding:4px 3px;font-size:9pt}.sheet:not(.sheet-fixed) .doc-title h2{font-size:18pt}.sheet:not(.sheet-fixed) .doc-lines thead th{white-space:normal;font-size:8pt}.sheet:not(.sheet-fixed) .doc-lines tfoot tr:last-child>*{font-size:11pt}}@media print{@page{size:letter;margin:14mm 12mm}.sidebar,.more-backdrop,.page-head,.doc-actions,.editor,.schedule,.app-notice,.top-actions,.screen-only{display:none!important}body{color:#000;background:#fff;font-size:11pt}.screen{max-width:none;margin:0;padding:0}.quote-doc{color:#000;display:block}.sheet{box-shadow:none;border:0;max-width:none;min-height:0;padding:0}.sheet-frame{height:auto!important;overflow:visible!important}.sheet.sheet-fixed{width:auto!important;transform:none!important}}
