:root{--brand-petrol:#0b3c49;--brand-amber:#f2a33a;--brand-teal:#2bb3a3;--bg:#f3f6f6;--surface:#fff;--surface-2:#ebf1f1;--ink:#14262b;--muted:#5a6b70;--line:#d9e3e4;--accent:var(--brand-petrol);--accent-ink:#fff;--danger:#b3261e;--danger-bg:#fdecea;--board-trim:#d5dbe3;--board-usable:#fff;--waste:#e8ecf1;--waste-line:#cdd5df;--radius:10px;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.35rem}h2{font-size:1.05rem}h3{font-size:1rem}.muted{color:var(--muted);margin:0;font-size:.875rem;font-weight:400}.hint{color:var(--muted);margin:.75rem 0 0;font-size:.8rem}.app{max-width:1440px;margin:0 auto;padding:0 16px 48px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:18px 0;display:flex}.topbar-actions{gap:6px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand h1{letter-spacing:-.02em;color:var(--brand-petrol);font-size:1.5rem}.layout{grid-template-columns:minmax(600px,680px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.inputs{flex-direction:column;gap:16px;display:flex}.results{flex-direction:column;gap:16px;min-width:0;transition:opacity .15s;display:flex}.results.is-calculating{opacity:.6}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card h2{margin-bottom:12px}.card-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.card-head h2{margin:0}label{color:var(--muted);flex-direction:column;gap:4px;font-size:.8rem;font-weight:500;display:flex}input[type=text],input[type=number],input[type=date]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;width:100%;min-width:0;padding:7px 9px;font-size:.95rem}input:focus{outline:2px solid var(--brand-teal);outline-offset:-1px;border-color:#0000}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.project-name input{font-size:1.05rem;font-weight:600}.field-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.field-grid>label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.toggle{background:var(--surface-2);cursor:pointer;color:var(--ink);border-radius:8px;flex-direction:row;align-items:flex-start;gap:10px;margin-top:14px;padding:10px 12px}.toggle input{width:17px;height:17px;accent-color:var(--brand-teal);margin-top:3px}.toggle span{flex-direction:column;gap:2px;display:flex}.toggle small{color:var(--muted);font-weight:400}.pieces{flex-direction:column;gap:6px;display:flex}.piece-row{grid-template-columns:10px 52px 68px 68px repeat(4,34px) minmax(100px,1fr) 28px;align-items:center;gap:5px;display:grid}.with-grain .piece-row{grid-template-columns:10px 52px 68px 68px repeat(4,34px) 36px minmax(100px,1fr) 28px}.piece-row input[type=text],.piece-row input[type=number]{padding:6px 7px;font-size:.9rem}.piece-row .edge-cell{padding:6px 0}.h-edge,.h-veta{text-align:center}.piece-head{color:var(--muted);font-size:.75rem;font-weight:600}.swatch{border:1px solid #00000026;border-radius:3px;width:10px;height:30px}.grain-check{cursor:pointer;flex-direction:row;justify-content:center;align-items:center}.grain-check input{width:17px;height:17px;accent-color:var(--brand-teal)}.grain-label{display:none}.piece-row.has-issue input{border-color:var(--danger)}.issue{color:var(--danger);grid-column:2/-1;margin:0 0 4px;font-size:.78rem}.edge-cell{text-align:center;text-transform:uppercase;caret-color:#0000;cursor:pointer;padding-left:0;padding-right:0;font-weight:700}.edge-cell::placeholder{color:#c3cdd0;font-size:.7rem;font-weight:500}.edge-cell.edge-thin{color:#0b5f56;background:#dff4f1;border-color:#9fd9d1}.edge-cell.edge-thick{background:var(--brand-petrol);border-color:var(--brand-petrol);color:#fff}.board-edge{stroke:var(--brand-petrol);stroke-linecap:butt;pointer-events:none}.board-edge.edge-thick{stroke-width:16px}.board-edge.edge-thin{stroke-width:8px;stroke-dasharray:34 20}.edge-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:8px 0 0;font-size:.8rem;display:flex}.edge-legend span{align-items:center;gap:6px;display:inline-flex}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:.9rem;font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.icon-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:1.25rem;line-height:1}.icon-btn:hover{background:var(--danger-bg);color:var(--danger)}.add-btn{border-style:dashed;width:100%;margin-top:12px}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.results-actions{gap:8px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.stat-main{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stat-main .stat-label{color:#fffc}.stat-label{color:var(--muted);font-size:.78rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.stat-detail{color:var(--muted);font-size:.75rem}.stat-edge{border-left:4px solid var(--brand-petrol);border-radius:0 var(--radius) var(--radius) 0}.stat-main .stat-detail{color:#ffffffbf}.summary{flex-direction:column;gap:10px;display:flex}.breakdown{flex-direction:column;gap:14px;display:flex}.breakdown-bar{background:var(--surface-2);border-radius:7px;height:14px;display:flex;overflow:hidden}.breakdown-bar span{height:100%;display:block}.bar-pieces{background:var(--brand-teal)}.bar-leftover{background:var(--brand-amber)}.bar-waste{background:#b8c4c7}.breakdown-items{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.breakdown-item{align-items:flex-start;gap:10px;display:flex}.breakdown-item>div{flex-direction:column;gap:1px;display:flex}.dot{border-radius:3px;flex:none;width:12px;height:12px;margin-top:3px}.breakdown-value{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.breakdown-value small{color:var(--muted);margin-left:4px;font-size:.85rem;font-weight:500}.alert{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius);margin:0;padding:12px 14px;font-size:.9rem}.alert ul{margin:6px 0 0;padding-left:18px}.empty{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);padding:48px 16px}.board-svg{width:100%;height:auto;max-height:82vh;margin:0 auto;display:block}.board-trim{fill:var(--board-trim);stroke:#4a5568;stroke-width:3px}.board-usable{fill:var(--board-usable)}.board-dim{fill:var(--muted)}.piece{stroke:#2d3748;stroke-width:2.5px}.piece-text{fill:#1f1d1a;pointer-events:none}.leftover{fill:#fff;stroke:#8b97a8;stroke-width:2.5px;stroke-dasharray:14 9}.leftover-text{fill:var(--muted);pointer-events:none}.waste-bg{fill:var(--waste)}.waste-line{stroke:var(--waste-line);stroke-width:8px}.leftovers-list{color:var(--muted);margin:10px 0 0;font-size:.85rem}.subhead{color:var(--muted);text-transform:none;margin:16px 0 6px;font-size:.85rem;font-weight:700}.hint-top{margin:0 0 10px}.money{display:block;position:relative}.money-prefix{color:var(--muted);pointer-events:none;font-size:.9rem;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.money input{padding-left:32px}.money-unit{gap:6px;display:flex}.money-unit .money{flex:1;min-width:90px}.money-unit select{flex:none}.field-wide{grid-column:span 2}@media (width<=560px){.field-wide{grid-column:1/-1}}select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:7px 8px;font-size:.85rem}select:focus{outline:2px solid var(--brand-teal);outline-offset:-1px;border-color:#0000}.quote .card-head{margin-bottom:4px}.quote .notice{margin:8px 0 4px}.quote-group .subhead{margin-top:14px}.quote-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;display:flex}.quote-line>div{flex-direction:column;gap:1px;min-width:0;display:flex}.quote-label{font-weight:600}.quote-detail{color:var(--muted);font-size:.8rem}.quote-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.quote-amount.free{color:var(--brand-teal);font-weight:600}.quote-subtotal{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;padding:7px 0 0;font-size:.85rem;display:flex}.quote-total{border-radius:var(--radius);background:var(--brand-petrol);color:#fff;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;margin-top:14px;padding:12px 14px;font-size:1.25rem;font-weight:700;display:flex}.badge{vertical-align:2px;color:#8a5a12;background:#fdf0dc;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.board-actions{flex-wrap:wrap;gap:6px;margin:-4px 0 10px;display:flex}.board-card.is-editing{border-color:var(--brand-teal);box-shadow:0 0 0 3px #2bb3a326}.edit-hint{color:var(--muted);margin:0 0 10px;font-size:.82rem}.edit-message{color:#8a5a12;background:#fdf0dc;border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:.85rem}.board-card .alert{margin-bottom:10px}.notice{border-radius:var(--radius);color:#8a5a12;background:#fdf0dc;margin:0;padding:10px 14px;font-size:.88rem}.board-svg.editing{touch-action:none;-webkit-user-select:none;user-select:none}.piece-editable{cursor:grab}.piece-editable:active{cursor:grabbing}.piece.selected{stroke:var(--brand-teal);stroke-width:10px}.piece.dragging{opacity:.85;stroke:var(--brand-teal);stroke-width:10px}.piece.invalid{stroke:var(--danger);stroke-width:12px}.fade{opacity:.35}.leftovers-list strong{color:var(--ink)}.dialog{background:var(--surface);width:min(420px,100vw - 32px);color:var(--ink);border:none;border-radius:14px;padding:0;box-shadow:0 20px 50px #0b3c4940,0 4px 12px #0b3c491f}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b3c4973}.dialog[open]{animation:.16s ease-out dialog-in}.dialog-body{padding:24px}.dialog-body h2{margin-bottom:8px;font-size:1.15rem}.dialog-body p{color:var(--muted);margin:0;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (prefers-reduced-motion:reduce){.dialog[open]{animation:none}}@media (width<=1180px){.layout{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.topbar{flex-wrap:wrap}.piece-row,.with-grain .piece-row{border-bottom:1px solid var(--line);grid-template-columns:10px repeat(5,minmax(0,1fr)) 28px;grid-template-areas:"sw q l l w w del""sw e1 e2 e3 e4 g del""sw n n n n n n";padding-bottom:8px}.swatch{grid-area:sw;height:100%}.f-qty{grid-area:q}.f-length{grid-area:l}.f-width{grid-area:w}.f-L1{grid-area:e1}.f-L2{grid-area:e2}.f-A1{grid-area:e3}.f-A2{grid-area:e4}.f-veta{grid-area:g}.f-name{grid-area:n}.f-del{grid-area:del;align-self:start}.grain-check{justify-content:flex-start;gap:4px}.grain-label{display:inline}.pieces .piece-head{display:none}.issue{grid-column:2/-1}.results-actions{width:100%}.results-actions .btn{flex:1}}.settings-grid{margin-top:12px}.materials{flex-direction:column;gap:8px;display:flex}.material{border:1px solid var(--line);border-radius:9px;overflow:hidden}.material.open{border-color:var(--brand-teal)}.material-head{background:var(--surface);width:100%;font:inherit;text-align:left;cursor:pointer;border:none;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto 14px;align-items:baseline;gap:10px;padding:10px 12px;display:grid}.material-head:hover{background:var(--surface-2)}.material-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.material-summary{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.material-used{color:var(--muted);white-space:nowrap;font-size:.75rem}.chevron{color:var(--muted);font-size:.8rem}.material-body{background:var(--surface);flex-direction:column;gap:10px;padding:4px 12px 12px;display:flex}.material-body .toggle{margin-top:0}.material-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.material-actions .hint{margin:0}.furniture-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.furniture-tab{max-width:100%;font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;display:inline-flex}.furniture-tab:hover{background:var(--surface-2)}.furniture-tab.active{background:var(--brand-petrol);border-color:var(--brand-petrol);color:#fff}.furniture-tab-name{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.furniture-tab-qty{opacity:.75;font-size:.75rem;font-weight:700}.furniture-add{color:var(--muted);border-style:dashed}.furniture-fields{grid-template-columns:minmax(0,2fr) minmax(0,1.6fr) 80px 110px;gap:10px;display:grid}.furniture-actions{gap:6px;margin-top:10px;display:flex}@media (width<=560px){.furniture-fields{grid-template-columns:1fr 1fr}.furniture-name,.furniture-material{grid-column:1/-1}}.savings{border-radius:var(--radius);color:#0b5f56;background:#dff4f1;align-items:center;gap:12px;padding:12px 14px;display:flex}.savings>div{flex-direction:column;gap:2px;display:flex}.savings span:not(.savings-icon){font-size:.85rem}.savings-icon{background:var(--brand-teal);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.material-section{flex-direction:column;gap:16px;display:flex}.material-section>summary{cursor:pointer;border-radius:var(--radius);background:var(--surface-2);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;padding:10px 14px;list-style:none;display:flex}.material-section>summary::-webkit-details-marker{display:none}.material-section>summary:before{content:"▾";color:var(--muted);margin-right:4px}.material-section:not([open])>summary:before{content:"▸"}.material-section-name{flex:1;font-weight:700}.material-section[open]{display:flex}.material-section .board-card{margin-bottom:0}.view-tabs{background:var(--surface-2);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-top:14px;padding:4px;display:grid}.view-tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px;font-size:.9rem;font-weight:600}.view-tabs button.active{background:var(--surface);color:var(--brand-petrol);box-shadow:0 1px 3px #0b3c4926}.budget .subhead:first-of-type{margin-top:4px}.budget-lines{flex-direction:column;gap:6px;display:flex}.budget-row{grid-template-columns:minmax(110px,1fr) 146px 92px 72px 44px 84px 28px;align-items:center;gap:6px;display:grid}.budget-head{color:var(--muted);font-size:.75rem;font-weight:600}.budget-row input[type=text]{padding:6px 8px;font-size:.9rem}.budget-row select{min-width:0;padding:6px;font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums}.budget-subtotal{font-weight:600}.budget-auto-qty{background:var(--surface-2);color:var(--muted);text-align:center;border-radius:7px;padding:6px 8px;font-size:.85rem}.budget-auto-qty.missing{color:#8a5a12;background:#fdf0dc}.catalog-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.chip{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:.8rem}.chip:hover{border-color:var(--brand-teal);background:#f1faf8}.chip.used{color:var(--muted)}.chip-free{color:var(--muted);border-style:dashed}.budget-totals{margin-top:14px}.budget-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.budget-kpis>div{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.budget .notice{margin-top:8px}@media (width<=560px){.budget-row{border-bottom:1px solid var(--line);grid-template-columns:1.4fr 1fr .8fr 1fr 28px;grid-template-areas:"n n n i x""u p q s s";padding-bottom:8px}.budget-row .b-name{grid-area:n}.budget-row .b-unit{grid-area:u}.budget-row .money{grid-area:p}.budget-row .b-qty{grid-area:q}.budget-row .b-sub{grid-area:s}.budget-row .b-del{grid-area:x}.budget-row .b-igv{grid-area:i}.budget-head{display:none}.budget-kpis{grid-template-columns:1fr}.catalog-row{grid-template-columns:1fr 1fr 44px 28px;grid-template-areas:"n n n x""u p i i"}.catalog-row>.b-igv{grid-area:i}.catalog-row>input[type=text]{grid-area:n}.catalog-row>select{grid-area:u}.catalog-row>.money{grid-area:p}.catalog-row>.icon-btn{grid-area:x}}.catalog>summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:8px;list-style:none;display:flex}.catalog>summary::-webkit-details-marker{display:none}.catalog>summary h2{margin:0}.catalog>summary h2:before{content:"▸ ";color:var(--muted)}.catalog[open]>summary h2:before{content:"▾ "}.catalog[open]>summary{margin-bottom:12px}.catalog-rows{flex-direction:column;gap:6px;display:flex}.catalog-row{grid-template-columns:minmax(120px,1fr) 150px 110px 44px 28px;align-items:center;gap:6px;display:grid}.catalog-row input[type=text]{padding:6px 8px;font-size:.9rem}.catalog-row select{min-width:0;padding:6px;font-size:.8rem}.budget-row .money input,.catalog-row .money input{padding-left:28px}.budget-row .money-prefix,.catalog-row .money-prefix{font-size:.85rem;left:8px}.cost-rows{flex-direction:column;display:flex}.cost-row{border:none;border-bottom:1px solid var(--line);font:inherit;color:var(--ink);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) 44px 96px 96px 104px;align-items:baseline;gap:8px;padding:8px 4px;display:grid}button.cost-row{cursor:pointer}button.cost-row:hover{background:var(--surface-2)}.cost-head{color:var(--muted);font-size:.75rem;font-weight:600}.cost-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.muted-num{color:var(--muted)}.strong{font-weight:700}@media (width<=560px){.cost-row{grid-template-columns:minmax(0,1fr) 34px 90px}.cost-row>:nth-child(3),.cost-row>:nth-child(4){display:none}}.auth{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{flex-direction:column;gap:12px;width:min(420px,100%);padding:24px;display:flex}.auth-card h2{margin:6px 0 0}.auth-brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.auth-brand h1{color:var(--brand-petrol);font-size:1.6rem}.auth-card input[type=email],.auth-card input[type=password]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px;font-size:1rem}.auth-card input:focus{outline:2px solid var(--brand-teal);outline-offset:-1px;border-color:#0000}.auth-submit{margin-top:4px;padding:11px;font-size:1rem}.auth-info{border-radius:var(--radius);color:#0b5f56;background:#dff4f1;margin:0;padding:10px 14px;font-size:.9rem}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.auth .alert{margin:0}.link{font:inherit;color:var(--brand-petrol);cursor:pointer;background:0 0;border:none;padding:0;font-size:.88rem;text-decoration:underline}.splash{flex-direction:column;align-items:center;gap:12px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.save-status{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.save-status:before{content:"";background:var(--brand-teal);border-radius:50%;width:8px;height:8px}.save-status.pending:before,.save-status.saving:before{background:var(--brand-amber)}.save-status.error{color:var(--danger)}.save-status.error:before{background:var(--danger)}.user-chip{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.8rem;overflow:hidden}@media (width<=560px){.user-chip{display:none}}.projects-dialog{width:min(640px,100vw - 32px)}.projects-dialog .card-head{margin-bottom:14px}.projects-new{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.projects-list{flex-direction:column;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.projects-list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.projects-list li.current .project-title{color:var(--brand-petrol)}.project-open{min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:8px;display:flex}.project-open:hover:not(:disabled){background:var(--surface-2)}.project-open:disabled{cursor:default}.project-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:700;overflow:hidden}.project-actions,.project-confirm{flex:none;align-items:center;gap:4px;font-size:.85rem;display:flex}.btn-danger{background:var(--danger);color:#fff}.projects-backup{border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}.projects-backup>div:first-child{flex-direction:column;gap:2px;max-width:360px;display:flex}.projects-backup-actions{gap:6px;display:flex}label.btn{cursor:pointer;color:var(--muted);flex-direction:row;align-items:center;display:inline-flex}label.btn.disabled{opacity:.45;pointer-events:none}.module-nav{gap:4px;margin:-8px 0 16px;padding-bottom:2px;display:flex;overflow-x:auto}.module-link{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:.88rem;font-weight:600;display:inline-flex}.module-link.active{background:var(--brand-petrol);color:#fff}.module-link:disabled{cursor:default;opacity:.6}.soon{text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:.65rem;font-weight:700}.conflict-banner{border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;display:flex}.conflict-banner>div:first-child{flex-direction:column;gap:2px;display:flex}.conflict-actions{flex-wrap:wrap;gap:6px;display:flex}.save-status.conflict:before{background:var(--danger)}.save-status.conflict{color:var(--danger)}.module-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;display:flex}.module-alert{margin:0 0 16px}.work-select{flex-direction:row;align-items:center;gap:6px;font-size:.85rem}.work-select select{max-width:260px}.crm-layout{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=900px){.crm-layout{grid-template-columns:minmax(0,1fr)}}.crm-add{gap:6px;margin-bottom:8px;display:flex}.crm-add input{flex:1}.crm-search{width:100%;font:inherit;border:1px solid var(--line);border-radius:7px;margin-bottom:8px;padding:7px 9px;font-size:.9rem}.crm-items{flex-direction:column;gap:2px;max-height:65vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.crm-item{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;display:flex}.crm-item:hover{background:var(--surface-2)}.crm-item.active{background:#e3f3f1}.crm-item-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;display:flex}.crm-empty{padding:10px}.crm-placeholder{place-items:center;min-height:200px;display:grid}.crm-detail .card-head h2{margin:0}.crm-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.crm-fields .span-2{grid-column:span 2}.crm-fields .span-3{grid-column:1/-1}@media (width<=560px){.crm-fields{grid-template-columns:minmax(0,1fr)}.crm-fields .span-2{grid-column:auto}}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field textarea,.field select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);resize:vertical;border-radius:7px;width:100%;padding:7px 9px;font-size:.95rem}.field-warn{color:#8a5a12;font-size:.75rem;font-weight:500}.field-link{justify-content:flex-end}.contact-rows{flex-direction:column;gap:6px;display:flex}.contact-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1.3fr) 28px;align-items:start;gap:6px;display:grid}.contact-head{color:var(--muted);font-size:.75rem;font-weight:600}.contact-row input{padding:6px 8px;font-size:.9rem}@media (width<=560px){.contact-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 28px;padding-bottom:6px}.contact-row>:first-child{grid-column:1/3}.contact-head{display:none}}.crm-links{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.crm-links li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status-filter{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.chip-active{background:var(--brand-petrol);border-color:var(--brand-petrol);color:#fff}.status-pill{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.status-prospecto{color:#4a5568;background:#eef2f7}.status-cotizando{color:#8a5a12;background:#fdf0dc}.status-aprobada{color:#0b5f56;background:#dff4f1}.status-en_ejecucion{background:var(--brand-petrol);color:#fff}.status-terminada{color:#3b6d11;background:#e3eadf}.status-perdida{background:var(--danger-bg);color:var(--danger)}.work-contacts{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.work-contacts li{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 28px;align-items:center;gap:8px;display:grid}.work-contact-name{flex-direction:column;font-weight:600;display:flex}.add-select{font:inherit;border:1px dashed var(--line);background:var(--surface);border-radius:8px;max-width:100%;padding:7px 9px;font-size:.88rem}.work-project-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qstatus-borrador{color:#4a5568;background:#eef2f7}.qstatus-enviada{color:#8a5a12;background:#fdf0dc}.qstatus-aprobada{color:#0b5f56;background:#dff4f1}.qstatus-rechazada{background:var(--danger-bg);color:var(--danger)}.price-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px;display:grid}@media (width<=700px){.price-toolbar{grid-template-columns:minmax(0,1fr)}}.price-group{margin-top:8px}.price-row{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,2.4fr) 70px 130px 28px;align-items:start;gap:6px;margin-bottom:6px;display:grid}.price-row input,.price-row select,.price-row textarea{padding:6px 8px;font-size:.9rem}.price-row textarea{min-height:34px}.price-row .money input{padding-left:30px}.price-head{color:var(--muted);margin-bottom:2px;font-size:.75rem;font-weight:600}@media (width<=760px){.price-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 28px;padding-bottom:8px}.price-row>:nth-child(3){grid-area:2/1/auto/-1}.price-row>:nth-child(4),.price-row>:nth-child(5){grid-row:3}.price-head{display:none}}.qt-new{width:100%;margin-bottom:8px}.qt-head{flex-wrap:wrap;align-items:flex-start}.qt-head h2{align-items:baseline;gap:8px;display:flex}.qt-rev{color:var(--muted);font-size:.9rem;font-weight:600}.qt-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qt-revisions{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.qt-editor .notice{margin-bottom:10px}.qt-body{border:none;min-width:0;margin:0;padding:0}.qt-body:disabled{opacity:.85}.qt-body input[type=date]{font:inherit;border:1px solid var(--line);border-radius:7px;padding:6px 9px;font-size:.95rem}.qt-body .field input{padding:7px 9px}.qt-table{flex-direction:column;gap:4px;display:flex}.qt-row{grid-template-columns:34px minmax(200px,1fr) 62px 62px 74px 66px 92px 104px 84px;align-items:center;gap:6px;display:grid}.qt-th{color:var(--muted);padding:0 0 2px;font-size:.72rem;font-weight:600}.qt-row input,.qt-row select,.qt-row textarea{font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:6px;width:100%;min-width:0;padding:5px 7px;font-size:.88rem}.qt-row textarea{resize:vertical;min-height:36px}.qt-desc{flex-direction:column;gap:3px;display:flex}.qt-place{font-weight:700}.qt-item{color:var(--muted);text-align:center;font-size:.82rem;font-weight:700}.qt-num{display:block}.qt-num small,.qt-out small{display:none}.qt-out{text-align:right;font-variant-numeric:tabular-nums;font-size:.88rem}.qt-partial{font-weight:700}.qt-na{text-align:center;color:var(--muted);display:block}.qt-line-actions{gap:2px;display:flex}.qt-dup:hover{color:var(--brand-petrol);background:#e3f3f1}.qt-group{border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:6px;padding:8px;display:flex}.qt-group-head{background:#fdf0d5;border-radius:6px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 8px 4px 0;display:grid}.qt-group-name{font:inherit;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:6px;min-width:0;padding:5px 7px;font-weight:700}.qt-group-name:hover,.qt-group-name:focus{border-color:var(--line);background:var(--surface)}.qt-group-total{font-variant-numeric:tabular-nums;font-weight:700}.qt-group-add,.qt-new-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qt-new-group{margin-top:6px}.qt-bottom{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px;margin-top:16px;display:grid}.qt-texts{gap:10px;display:grid}.qt-totals{border:1px solid var(--line);border-radius:9px;margin:0;overflow:hidden}.qt-totals>div{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;padding:8px 12px;display:flex}.qt-totals dt{color:var(--muted)}.qt-totals dd{margin:0;font-weight:600}.qt-totals .qt-total{background:var(--brand-amber);border-bottom:none}.qt-totals .qt-total dt,.qt-totals .qt-total dd{color:var(--brand-petrol);font-size:1.05rem;font-weight:800}@media (width<=1100px){.qt-th{display:none}.qt-row{border-top:1px dashed var(--line);grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 0}.qt-row .qt-item{text-align:left;grid-column:1}.qt-row .qt-desc{grid-area:2/1/auto/-1}.qt-row>select{grid-area:1/2}.qt-row .qt-line-actions{grid-area:1/4;justify-content:flex-end}.qt-num small,.qt-out small{color:var(--muted);text-align:left;font-size:.7rem;font-weight:600;display:block}.qt-out{text-align:left}.qt-bottom{grid-template-columns:minmax(0,1fr)}}.module-nav-wrap{align-items:flex-start;gap:4px;margin:-8px 0 16px;display:flex}.module-nav-wrap .module-nav{flex:1;min-width:0;margin:0}.masters{flex:none;position:relative}.masters-menu{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0b3c4926}.masters-menu .module-link{justify-content:space-between}.masters-menu .module-link:hover:not(:disabled):not(.active){background:var(--surface-2);color:var(--ink)}.work-client{gap:6px;display:flex}.work-client select,.work-client input{flex:1;min-width:0}.field-label{color:var(--muted);font-size:.8rem;font-weight:500}@media (width<=560px){.masters-current{display:none}}.b-igv{cursor:pointer;flex-direction:row;justify-content:center;align-items:center;gap:3px;font-size:.7rem}.b-igv input{width:15px;height:15px;accent-color:var(--brand-teal);margin:0}.b-igv-text{display:none}@media (width<=560px){.b-igv-text{display:inline}}.qt-row>.qt-cost{grid-area:2/2/auto/-2}.qt-cost{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qt-cost:empty{display:none}.qt-cost select{max-width:360px;color:var(--muted);border-style:dashed;font-size:.8rem}.qt-cost-info{color:#0b5f56;font-size:.8rem;font-weight:600}.qt-cost-info.is-low{color:var(--danger)}.qt-margin{border-radius:var(--radius);background:#eef7f5;border:1px solid #cfe8e3;margin-top:16px;padding:12px 14px}.qt-margin.is-low{background:var(--danger-bg);border-color:#f3c4bf}.qt-margin .subhead{margin:0}.qt-margin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.qt-min{flex-direction:row;align-items:center;gap:6px;font-size:.8rem}.qt-min input{width:64px;padding:4px 6px}.qt-margin-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.qt-margin-grid dt{color:var(--muted);font-size:.75rem}.qt-margin-grid dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.qt-margin-pct{color:#0b5f56;font-size:1.2rem}.qt-margin.is-low .qt-margin-pct{color:var(--danger)}@media (width<=1100px){.qt-row>.qt-cost{grid-area:auto/1/auto/-1}.qt-margin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.badge-half{color:#8a5a12;background:#fdf0dc}.qt-renumber{margin-left:6px;font-size:.78rem;font-weight:500}.qt-renumber-form{flex-wrap:wrap;align-items:center;gap:6px;font-size:1.1rem;font-weight:700;display:flex}.qt-renumber-form input{width:80px;font:inherit;padding:5px 8px}.qt-renumber-form small{flex-basis:100%;font-size:.75rem}.qt-status-bar{flex-wrap:wrap;gap:10px;margin:0 0 10px;display:flex}.qt-status-bar .field{min-width:180px}.qt-status-bar .qt-reason{flex:1}.qt-status-bar select,.qt-status-bar input{font:inherit;border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:.95rem}.qt-adjust{border:1px dashed var(--line);border-radius:9px;margin-bottom:10px;padding:8px 12px}.qt-adjust>summary{cursor:pointer;color:var(--brand-petrol);font-size:.88rem;font-weight:600}.qt-adjust>p{margin:6px 0;font-size:.8rem}.qt-adjust-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(260px,420px) 120px;align-items:center;gap:8px;padding:6px 0;font-size:.88rem;display:grid}.qt-adjust-row .money input{font:inherit;border:1px solid var(--line);border-radius:6px;width:100%;padding:5px 8px 5px 28px}.qt-adjust-row .money-prefix{font-size:.82rem;left:8px}@media (width<=760px){.qt-adjust-row{grid-template-columns:1fr auto}.qt-adjust-row>.qt-adjust-name{grid-column:1/-1}}.qt-adjust-pick{gap:6px;min-width:0;display:flex}.qt-adjust-pick .qt-adjust-type{flex:1}.qt-adjust-pick .money{flex:0 0 110px}.qt-adjust-row>.btn{width:100%}.qt-adjust-name{flex-direction:column;min-width:0;display:flex}.qt-adjust-name>small:first-of-type{display:inline}.qt-adjust-type{font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:6px;width:100%;min-width:0;padding:5px 8px;font-size:.82rem}.qt-adjust-row.is-swapping{background:#fff8e6;margin:0 -12px;padding:6px 12px}.qt-adjust-swap{color:#8a5a00;margin-top:2px}.price-note{margin:-4px 0 10px;font-size:.8rem}.price-synced{margin-bottom:10px}.qt-row input.qt-place{color:var(--ink);background:#fff4dc;border-color:#f3d9a4;font-weight:700}.qt-row input.qt-place::placeholder{color:var(--muted);font-weight:400}.qt-row .qt-insert{width:28px;height:28px;color:var(--muted);text-align:center;text-align-last:center;cursor:pointer;appearance:none;background:0 0;border:none;border-radius:6px;padding:0;font-size:1rem}.qt-row .qt-insert:hover{color:var(--brand-petrol);background:#e3f3f1}.dialog.pdf-preview{flex-direction:column;width:min(1000px,100vw - 32px);height:calc(100vh - 48px);max-height:none;display:flex}.dialog.pdf-preview:not([open]){display:none}.pdf-preview-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.pdf-preview-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.pdf-preview-head .dialog-actions{margin:0}.pdf-preview-frame{background:#525659;border:none;flex:1;width:100%}a.btn{align-items:center;text-decoration:none;display:inline-flex}.mel-list{flex-direction:column;gap:10px;display:flex}.mel-row{border:1px solid var(--line);border-radius:9px;grid-template-columns:minmax(0,2.2fr) repeat(6,minmax(0,1fr)) auto;align-items:end;gap:8px;padding:10px 40px 10px 10px;display:grid;position:relative}.mel-row input{padding:6px 8px;font-size:.9rem}.mel-row .money input{padding-left:28px}.mel-row .money-prefix{font-size:.85rem;left:8px}.mel-checks{flex-direction:column;gap:4px;padding-bottom:4px;display:flex}.mel-checks .b-igv{color:var(--ink);justify-content:flex-start;font-size:.78rem}.mel-row .mel-del{position:absolute;top:8px;right:6px}@media (width<=1100px){.mel-row{grid-template-columns:repeat(3,minmax(0,1fr))}.mel-row .mel-name{grid-column:1/-1}.mel-row .mel-checks{flex-direction:row;grid-column:1/-1;gap:16px}}@media (width<=560px){.mel-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.acc-rows{flex-direction:column;gap:6px;display:flex}.acc-row{grid-template-columns:minmax(0,2fr) 170px 130px 54px 28px;align-items:center;gap:6px;display:grid}.acc-row input,.acc-row select{padding:6px 8px;font-size:.9rem}.acc-row .money input{padding-left:28px}.acc-row .money-prefix{font-size:.85rem;left:8px}.acc-head{color:var(--muted);font-size:.75rem;font-weight:600}@media (width<=560px){.acc-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 28px;padding-bottom:8px}.acc-row>:first-child{grid-column:1/3}.acc-row>:nth-child(4){grid-column:1/3;justify-content:flex-start}.acc-head{display:none}}.material-master{margin:0;font-size:.82rem}.material-name .badge{margin-left:6px}.estimate-chip{color:var(--muted);background:#eef7f5;border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 4px 4px 10px;font-size:.85rem;display:inline-flex}.module-bar .estimate-sync{flex-basis:100%;margin:0}.badge-estimate{color:#0b5f56;background:#dff4f1;margin-left:6px}.badge-free{background:var(--surface-2);color:var(--muted);margin-left:6px}.project-title{flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.furniture-tab.removed{opacity:.6;text-decoration:line-through}.furniture-quote{margin:0 0 10px;font-size:.82rem}.furniture-quote.is-removed{background:var(--danger-bg);color:var(--danger)}.env-banner{z-index:30;text-align:center;color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#8a5a12;padding:6px 16px;font-size:.82rem;font-weight:700;position:sticky;top:0}.estimate-panel{margin-bottom:16px}.gen-rows{flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.gen-row{grid-template-columns:minmax(110px,1.3fr) minmax(130px,1.2fr) 100px 70px 90px 44px 28px;align-items:center;gap:6px;display:grid}.gen-row input[type=text],.gen-row select{min-width:0;padding:6px 8px;font-size:.88rem}.gen-row .money input{padding-left:28px}.gen-row .money-prefix{font-size:.85rem;left:8px}.gen-qty{color:var(--muted);white-space:nowrap;font-size:.8rem}.gen-amount{text-align:right;font-weight:600}@media (width<=700px){.gen-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 28px;padding-bottom:6px}.gen-row>:first-child{grid-column:1/3}}.est-table{flex-direction:column;margin-bottom:10px;display:flex}.est-row{border:none;border-bottom:1px solid var(--line);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:44px minmax(0,1fr) 96px 96px 86px 96px 60px;align-items:center;gap:8px;padding:6px 4px;font-size:.85rem;display:grid}button.est-row:hover{background:var(--surface-2)}.est-head{color:var(--muted);cursor:default;font-size:.72rem;font-weight:600}.est-row .num{text-align:right;font-variant-numeric:tabular-nums}.est-item{color:var(--muted);font-weight:700}.est-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.est-empty{color:#8a5a12}.est-margin{color:#0b5f56;font-weight:700}.est-row.is-low .est-margin{color:var(--danger)}.est-total{border-radius:var(--radius);background:#eef7f5;padding:10px 12px}.est-total.is-low{background:var(--danger-bg)}.est-total.is-low .qt-margin-pct{color:var(--danger)}@media (width<=900px){.est-row{grid-template-columns:40px minmax(0,1fr) 90px 90px 56px}.est-row>:nth-child(4),.est-row>:nth-child(5){display:none}}@media (width<=560px){.est-row{grid-template-columns:34px minmax(0,1fr) 80px 54px}.est-row>:nth-child(3){display:none}}.qt-est-note{margin:0 0 8px;font-size:.8rem}.est-detail{color:var(--muted)}.est-help{margin:-2px 0 8px;font-size:.78rem}.cut-settings{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.cut-settings .subhead{margin:0 0 8px;display:block}.row-picker{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.row-picker-bar{gap:6px;display:flex}.row-picker-bar input{min-width:0;font:inherit;border:1px solid var(--line);border-radius:7px;flex:1;padding:7px 9px;font-size:.9rem}.row-picker-list{width:100%;font:inherit;border:1px solid var(--line);border-radius:8px;padding:4px;font-size:.88rem}.row-picker-list option{border-radius:4px;padding:4px 6px}.row-opt-done{color:#0b5f56}.row-opt-progress{color:#8a5a12}.row-opt-empty{color:var(--muted)}.row-opt-removed{text-decoration:line-through}.row-status .chip{font-size:.8rem}.furniture-done{flex:1;margin:0}.admin-page{gap:16px;max-width:760px;display:grid}.admin-actions{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.admin-soon ul{margin:0;padding-left:18px;line-height:1.7}.admin-link{flex:none}@media (width<=560px){.admin-label{display:none}}.row-helpers{flex-direction:column;gap:8px;margin:10px 0 0;display:flex}.row-helpers .add-select{width:100%}.row-apply{background:#eef7f5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:.85rem;display:flex}.row-costfrom{margin:0;font-size:.82rem}.row-hint{margin:0;font-size:.8rem}.gen-head{color:var(--muted);font-size:.72rem;font-weight:600}.gen-head>span:nth-child(6){text-align:center}@media (width<=700px){.gen-head{display:none}}.with-mat .piece-row{grid-template-columns:10px 52px 68px 68px repeat(4,34px) minmax(100px,1fr) 150px 28px}.with-mat.with-grain .piece-row{grid-template-columns:10px 52px 68px 68px repeat(4,34px) 36px minmax(100px,1fr) 150px 28px}.piece-row .f-mat{min-width:0;color:var(--muted);padding:6px 4px;font-size:.8rem}.piece-row .f-mat.is-other{color:var(--ink);background:#fff4dc;border-color:#f3d9a4;font-weight:700}@media (width<=560px){.with-mat .piece-row,.with-mat.with-grain .piece-row{grid-template-columns:10px repeat(5,minmax(0,1fr)) 28px;grid-template-areas:"sw q l l w w del""sw e1 e2 e3 e4 g del""sw n n n n n n""sw m m m m m m"}.f-mat{grid-area:m}}.vstatus-borrador{color:#4a5568;background:#eef2f7}.vstatus-presentada{color:#8a5a12;background:#fdf0dc}.vstatus-observada{background:var(--danger-bg);color:var(--danger)}.vstatus-aprobada{color:#0b5f56;background:#dff4f1}.vstatus-pagada{background:var(--brand-petrol);color:#fff}.val-contracts{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.val-contract{border:1px solid var(--line);border-radius:9px;padding:8px}.val-contract-head{flex-direction:column;gap:2px;padding:2px 4px 6px;display:flex}.val-progress{background:var(--surface-2);border-radius:3px;height:6px;margin-top:4px;display:block;overflow:hidden}.val-progress span{background:var(--brand-teal);height:100%;display:block}.val-help{margin:0 0 8px;font-size:.8rem}.val-table{flex-direction:column;display:flex;overflow-x:auto}.val-row{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(180px,1fr) 100px 110px 190px 110px 100px;align-items:center;gap:8px;min-width:860px;padding:6px 2px;font-size:.82rem;display:grid}.val-head{color:var(--muted);font-size:.72rem;font-weight:600}.val-row .num{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.val-row .num small{color:var(--muted);font-size:.72rem}.val-item{color:var(--muted);font-weight:700}.val-desc{font-size:.8rem}.val-cur{background:#fff4dc;border-radius:6px;align-items:center;gap:4px;padding:4px;display:flex}.val-cur label{flex-direction:row;align-items:center;gap:2px}.val-cur input{width:58px;padding:4px 6px;font-size:.85rem;font-weight:700}.val-cur small{color:var(--muted);font-size:.7rem}.val-fill{white-space:nowrap;font-size:.72rem}.val-cur-h{color:#8a5a12!important}.val-row.is-over{background:var(--danger-bg)}.val-warn{color:var(--danger);grid-column:2/-1;font-size:.75rem}.val-summary{flex-direction:column;margin-bottom:8px;display:flex;overflow-x:auto}.val-sum-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(200px,1fr) repeat(5,120px);gap:8px;min-width:820px;padding:5px 4px;font-size:.84rem;display:grid}.val-sum-row .num{text-align:right;font-variant-numeric:tabular-nums}.val-sum-head{color:var(--muted);font-size:.72rem;font-weight:600}.val-cur-c{background:#fff4dc;font-weight:700}.val-sum-row.is-strong{background:var(--brand-amber);color:var(--brand-petrol);font-weight:800}.val-sum-row.is-strong .val-cur-c{background:0 0}.group-help{margin:-2px 0 8px;font-size:.8rem}.group-row{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1.5fr) 28px;align-items:start;gap:6px;display:grid}.group-row input{padding:6px 8px;font-size:.9rem}@media (width<=560px){.group-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 28px;padding-bottom:6px}.group-row>:first-child,.group-row>:nth-child(3){grid-column:1/3}}.signature-preview{border:1px dashed var(--line);background:repeating-conic-gradient(#f3f6f6 0% 25%,#fff 0% 50%) 50%/16px 16px;border-radius:9px;place-items:center;min-height:110px;margin:10px 0;display:grid}.signature-preview img{max-width:80%;max-height:100px}.val-cur.is-done{background:#e8f3f1}.val-cur.is-done input{color:var(--muted);background:0 0}.val-complete{color:#0b5f56;white-space:nowrap;font-size:.72rem;font-weight:700}.doc-missing{color:#8a5a12;background:#fdf0dc;margin-left:4px}.qt-docs{border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:8px;margin:0 0 12px;padding:10px 12px;display:flex}.qt-docs.is-missing{background:#fff8ec;border-color:#f3c27a}.qt-docs-title{margin:0;font-size:.9rem}.qt-docs.is-missing .qt-docs-title{color:#8a5a12}.qt-docs-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.qt-docs-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.qt-docs-actions{gap:12px;display:flex}.qt-docs-upload{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qt-docs-upload select,.qt-docs-upload input[type=text]{font:inherit;border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:.85rem}.qt-docs-upload input[type=text]{width:140px}label.btn.btn-primary{color:var(--accent-ink)}.qstatus-terminada{background:var(--brand-petrol);color:#fff}.wq{--wq-paid:#d7f2dc;--wq-paid-strong:#2e9e57;--wq-billed:#fff1c9;--wq-billed-strong:#e9a71c;margin-bottom:10px}.wq-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:10px;padding:12px}.wq-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px;display:grid}.wq-kpi{border-left:3px solid var(--line);flex-direction:column;gap:2px;min-width:0;padding-left:10px;display:flex}.wq-kpi span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:.7rem;font-weight:600}.wq-kpi strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.02rem}.wq-kpi.is-paid{border-left-color:var(--wq-paid-strong)}.wq-kpi.is-billed{border-left-color:var(--wq-billed-strong)}.wq-kpi.is-pending{border-left-color:var(--brand-petrol)}.wq-bar{background:var(--surface-2);border-radius:999px;height:8px;display:flex;overflow:hidden}.wq-bar span{height:100%;display:block}.wq-bar .is-paid{background:var(--wq-paid-strong)}.wq-bar .is-billed{background:var(--wq-billed-strong)}.wq-bar.is-small{min-width:70px;height:4px;margin-top:4px}.wq-progress-label{margin:6px 0 0;font-size:.72rem}.wq-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.wq-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.82rem}.wq-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;text-align:left;background:var(--surface-2);white-space:nowrap;padding:8px 10px;font-size:.7rem;font-weight:700}.wq-table td{border-top:1px solid var(--line);vertical-align:middle;padding:8px 10px}.wq-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.wq-row{cursor:pointer;transition:background .12s}.wq-row:hover{background:#f6fafa}.wq-row.is-quote td{color:var(--muted)}.wq-name{min-width:200px}.wq-code{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.wq-code .link{color:var(--muted);font-size:.74rem}.wq-title{color:var(--ink);max-width:320px;font-weight:700}.wq-row.is-quote .wq-title{color:var(--muted)}.wq-cell{border-radius:6px;padding:3px 8px;font-weight:600;display:inline-block}.wq-aprobada{background:var(--wq-billed)}.wq-pagada{background:var(--wq-paid)}.wq-pending{min-width:90px;font-weight:700}.wq-done{color:var(--wq-paid-strong);font-weight:700}.wq-table tfoot td{background:var(--surface-2);border-top:2px solid var(--line);font-weight:700}.wq-legend{flex-wrap:wrap;align-items:center;gap:5px;margin:6px 0 0;font-size:.72rem;display:flex}.wq-key{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.wq-dot{border-radius:3px;width:10px;height:10px;display:inline-block}.wq-dot.is-paid{background:var(--wq-paid);border:1px solid var(--wq-paid-strong)}.wq-dot.is-billed{background:var(--wq-billed);border:1px solid var(--wq-billed-strong)}.qt-editor .qt-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.qt-head-main{flex:320px;min-width:0}.qt-head-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.qt-code{color:var(--muted);letter-spacing:.01em;font-weight:700}.qt-head-meta .save-status{margin-left:4px}.qt-editor .qt-head-title{margin:4px 0 2px;font-size:1.35rem;line-height:1.25;display:block}.qt-head-work{margin:0;font-size:.85rem}.qt-head-work .link{color:var(--muted)}.qt-head-total{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;align-items:flex-end;min-width:170px;padding:10px 14px;display:flex}.qt-head-total span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:700}.qt-head-total strong{font-variant-numeric:tabular-nums;color:var(--brand-petrol);font-size:1.35rem}.qt-head-total small{font-variant-numeric:tabular-nums;font-size:.75rem}.qt-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:8px 0 12px;display:flex}.qt-toolbar-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.more-menu{position:relative}.more-menu-list{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0b3c4926}.more-menu-list button{font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;font-size:.85rem;font-weight:600;display:flex}.more-menu-list button:hover{background:var(--surface-2)}.more-menu-list small{color:var(--muted);font-size:.72rem;font-weight:400}.more-menu-list .is-danger{color:var(--danger)}.more-menu-list .is-danger:hover{background:var(--danger-bg)}@media (width<=640px){.qt-head-total{align-items:flex-start;width:100%}}.qt-item .qt-item-title{color:var(--ink);font-weight:700;line-height:1.25}.qt-item .qt-item-code{color:var(--muted);font-size:.78rem;font-weight:600}.qt-item .qt-item-foot{justify-content:space-between;align-self:stretch;align-items:baseline;gap:10px;display:flex}.qt-item .qt-item-foot strong{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.tf-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.tf-head h2{margin:0 0 2px}.tf-head p{margin:0;font-size:.85rem}.tf-total{color:var(--muted);background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.8rem}.tf-total strong{color:var(--ink)}.tf-help{margin:4px 0 12px;font-size:.8rem}.tf-help summary{cursor:pointer;color:var(--brand-petrol);width:fit-content;font-weight:600}.tf-help p{background:var(--surface-2);color:var(--muted);border-radius:8px;margin:6px 0 0;padding:8px 12px}.tf-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:10px;display:grid}.tf-add{gap:6px;display:flex}.tf-add input{flex:1;min-width:0}.tf-filter{margin-bottom:12px}.tf-chip-n{text-align:center;background:#00000012;border-radius:999px;min-width:18px;margin-left:2px;padding:0 5px;font-size:.7rem;display:inline-block}.chip-active .tf-chip-n{background:#ffffff40}.tf-group{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.tf-group-head{background:var(--surface-2);width:100%;font:inherit;text-align:left;cursor:pointer;border:0;align-items:center;gap:8px;padding:10px 14px;display:flex}.tf-group-head:hover{background:#e2eaea}.tf-caret{color:var(--muted);width:12px}.tf-group-name{color:var(--brand-petrol);font-size:.98rem;font-weight:700}.tf-group-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.78rem}.tf-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(0,2.4fr) 96px 130px 104px 28px;align-items:start;gap:10px;padding:10px 14px;display:grid}.tf-row:hover:not(.tf-row-head){background:#fafcfc}.tf-row-head{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-top:0;padding-top:8px;padding-bottom:6px;font-size:.7rem;font-weight:700}.tf-row input,.tf-row select,.tf-row textarea{padding:6px 8px;font-size:.88rem}.tf-row textarea{resize:vertical;min-height:60px;line-height:1.35}.tf-type{flex-direction:column;gap:6px;min-width:0;display:flex}.tf-name input{font-weight:700}.tf-cat{color:var(--muted);flex-direction:row;align-items:center;gap:6px;font-size:.72rem;display:flex}.tf-cat .field{flex:1;min-width:0;margin:0}.tf-cat>span{flex:none}.tf-cat input{background:0 0;padding:3px 6px;font-size:.78rem}.tf-row .money input{font-variant-numeric:tabular-nums;color:var(--brand-petrol);padding-left:30px;font-size:.95rem;font-weight:700}.tf-usage{color:#1d7a5f;white-space:nowrap;cursor:default;background:#e3f4ef;border-radius:999px;place-self:center start;padding:3px 8px;font-size:.72rem;font-weight:600}.tf-usage.is-unused{background:var(--surface-2);color:var(--muted);font-weight:500}.tf-del{align-self:center}.tf-add-row{margin:6px 14px 10px}@media (width<=900px){.tf-toolbar{grid-template-columns:minmax(0,1fr)}.tf-row{grid-template-columns:110px minmax(0,1fr) auto 28px;grid-template-areas:"type type type del""desc desc desc desc""unit price usage usage"}.tf-row-head{display:none}.tf-row .tf-type{grid-area:type}.tf-row .tf-desc{grid-area:desc}.tf-row .tf-unit{grid-area:unit}.tf-row .money{grid-area:price}.tf-row .tf-usage{grid-area:usage}.tf-row .tf-del{grid-area:del}}.qt-client-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.qt-client-filter{min-width:150px;font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:7px;flex:1;padding:6px 8px;font-size:.85rem}.crm-list .qt-group-toggle{color:var(--muted);cursor:pointer;white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.qt-item-li{position:relative}.qt-item-li .crm-item{padding-left:14px}.qt-item-li:before{content:"";background:var(--client);border-radius:4px;width:4px;position:absolute;top:6px;bottom:6px;left:0}.qt-item .qt-item-foot{text-align:left}.qt-item-work{text-align:left;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:flex}.qt-client-tag{max-width:100%;color:var(--client);background:color-mix(in srgb, var(--client) 12%, transparent);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.7rem;font-weight:700;display:inline-flex;overflow:hidden}.qt-client-tag:before{content:"";background:var(--client);border-radius:50%;flex:none;width:6px;height:6px}.qt-client-head{border-bottom:2px solid var(--client);background:var(--surface);z-index:1;align-items:baseline;gap:6px;margin-top:4px;padding:12px 6px 4px;font-size:.82rem;display:flex;position:sticky;top:0}.qt-client-head:first-child{margin-top:0;padding-top:4px}.qt-client-head strong{color:var(--client)}.qt-client-head .muted{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:.75rem}.qt-client-dot{background:var(--client);border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.qt-group-toggle input{flex:none;width:auto;margin:0}.client-stripe{position:relative}.client-stripe>.crm-item{padding-left:14px}.client-stripe:before{content:"";background:var(--client);border-radius:4px;width:4px;position:absolute;top:6px;bottom:6px;left:0}.client-tag{max-width:100%;color:var(--client);background:color-mix(in srgb, var(--client) 12%, transparent);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.7rem;font-weight:700;display:inline-flex;overflow:hidden}.client-tag:before{content:"";background:var(--client);border-radius:50%;flex:none;width:6px;height:6px}.client-line{text-align:left;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;font-size:.85rem;display:flex}.client-title{align-items:center;gap:8px;display:flex}.client-dot{background:var(--client);width:12px;height:12px;box-shadow:0 0 0 3px color-mix(in srgb, var(--client) 18%, transparent);border-radius:50%;flex:none}.val-contract.has-client{border-left:4px solid var(--client)}.val-contract-title{color:var(--ink);font-weight:700;line-height:1.25}.val-contract-code{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.wq{--wq-partial:#e6efc4;--wq-partial-strong:#8aa63a}.wq-parcial{background:var(--wq-partial)}.wq-partial{color:#5d6f22;font-size:.66rem;font-weight:600;display:block}.wq-uninvoiced{border:1px dashed var(--line);color:var(--muted);background:0 0;font-weight:500}.wq-dot.is-partial{background:var(--wq-partial);border:1px solid var(--wq-partial-strong)}.inv-page{flex-direction:column;gap:12px;display:flex}.inv-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inv-head h2{margin:0 0 2px}.inv-head p{max-width:70ch;margin:0;font-size:.85rem}.inv-head-actions{align-items:center;gap:10px;display:flex}.inv-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.inv-kpis>div{border:1px solid var(--line);border-left:4px solid var(--brand-petrol);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:1px;padding:10px 14px;display:flex}.inv-kpis>div.is-paid{border-left-color:#2e9e57}.inv-kpis>div.is-due{border-left-color:#e9a71c}.inv-kpis span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:700}.inv-kpis strong{font-variant-numeric:tabular-nums;font-size:1.2rem}.inv-kpis small{font-size:.75rem}.inv-new{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px}.inv-new h3{margin:0 0 8px;font-size:1rem}.inv-toolbar{grid-template-columns:minmax(0,1fr) minmax(160px,260px);gap:8px;display:grid}.inv-toolbar .crm-search{margin:0}.inv-empty-state{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);padding:24px}.inv-empty-state p{max-width:60ch;margin:6px auto 0;font-size:.88rem}.inv-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.inv-table{border-collapse:collapse;width:100%;min-width:900px;font-size:.84rem}.inv-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;text-align:left;background:var(--surface-2);white-space:nowrap;padding:8px 10px;font-size:.68rem;font-weight:700}.inv-table td{border-top:1px solid var(--line);vertical-align:middle;padding:8px 10px}.inv-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.inv-row{cursor:pointer}.inv-row:hover{background:#f6fafa}.inv-row.is-open{background:#eef6f5}.inv-row td:first-child{box-shadow:inset 4px 0 var(--client)}.inv-row.is-voided td{color:var(--muted);text-decoration:line-through}.inv-code{white-space:nowrap;font-weight:700}.inv-caret{width:14px;color:var(--muted);font-size:.75rem;display:inline-block}.inv-who{flex-direction:column;align-items:flex-start;gap:2px;min-width:160px;display:flex}.inv-quote{flex-direction:column;gap:1px;min-width:150px;display:flex}.inv-quote span{font-weight:600}.inv-balance{font-weight:700}.inv-missing{font-size:.75rem;font-style:italic}.inv-none{text-align:center;padding:16px}.inv-detail-row>td{background:#fafcfc;padding:0}.istatus-por_cobrar{color:#7a5a00;background:#fff1c9}.istatus-parcial{color:#4f6118;background:#e6efc4}.istatus-pagada{color:#1d6b37;background:#d7f2dc}.istatus-anulada{background:var(--danger-bg);color:var(--danger)}.inv-detail{flex-direction:column;gap:12px;padding:14px 16px 16px 30px;display:flex}.inv-figures{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.inv-figures>div{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;padding:8px 10px;display:flex}.inv-figures span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:700}.inv-figures strong{font-variant-numeric:tabular-nums;font-size:1rem}.inv-figures .is-paid strong{color:#1d6b37}.inv-figures .is-due strong{color:#8a5a12}.inv-edit,.inv-form-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:end;gap:10px;display:grid}.inv-wide{grid-column:span 2}@media (width<=560px){.inv-wide{grid-column:1/-1}}.inv-number{color:var(--ink);align-items:center;gap:4px;font-weight:700;display:flex}.inv-number input{flex:1;min-width:0}.inv-file-row{flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;display:flex}.inv-file-row small{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}label.btn.inv-pick{cursor:pointer;color:var(--ink);flex-direction:row;font-size:.8rem;display:inline-flex}label.btn.inv-pick.is-disabled{opacity:.5;pointer-events:none}.inv-subhead{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:4px 0 0;font-size:.8rem}.inv-empty{margin:0;font-size:.85rem}.inv-pay-wrap{overflow-x:auto}.inv-pay{border-collapse:collapse;width:100%;min-width:560px;font-size:.84rem}.inv-pay th{text-align:left;color:var(--muted);text-transform:uppercase;padding:4px 8px;font-size:.68rem;font-weight:700}.inv-pay td{border-top:1px solid var(--line);padding:4px 8px}.inv-pay input[type=date]{font:inherit;border:1px solid var(--line);border-radius:6px;padding:4px 6px;font-size:.82rem}.inv-pay-amount{max-width:140px;margin-left:auto}.inv-pay-amount input{font:inherit;text-align:right;border:1px solid var(--line);border-radius:6px;width:100%;padding:4px 6px 4px 28px}.inv-pay-amount .money-prefix{font-size:.8rem;left:8px}.inv-add-pay{border:1px dashed var(--line);border-radius:9px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:end;gap:10px;padding:10px 12px;display:grid}.inv-add-pay>.btn{justify-self:start}.inv-add-pay .inv-form-hint{grid-column:1/-1}.inv-form-hint{margin:0;font-size:.8rem}.inv-form{flex-direction:column;gap:10px;display:flex}.inv-form-actions{gap:8px;display:flex}.inv-detail-foot{flex-wrap:wrap;align-items:center;gap:14px;font-size:.85rem;display:flex}.inv-delete{color:var(--danger);margin-left:auto}.inv-detail .alert,.inv-form .alert{margin:0}.val-status-hint{align-self:center;margin:0;font-size:.8rem}.val-invoices{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:10px;margin:0 0 12px;padding:12px 14px;display:flex}.val-invoices-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.val-invoices-head h3{margin:0;font-size:.95rem}.val-invoices-head .muted{font-variant-numeric:tabular-nums;font-size:.82rem}.val-invoices-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.val-invoice{border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;text-align:left;cursor:pointer;font-variant-numeric:tabular-nums;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;font-size:.86rem;display:flex}.val-invoice:hover{background:var(--surface-2)}.val-invoices-list .inv-detail{padding:12px 4px 4px}.val-invoice-link{margin:2px 4px 6px;font-size:.82rem}.val-invoices>.btn{align-self:flex-start}.inv-form-grid>div.field,.inv-edit>div.field,.inv-add-pay>div.field{color:var(--muted);font-size:.8rem;font-weight:500}.inv-file-row{color:var(--ink)}.inv-sum{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:.88rem;display:flex}.inv-sum-due{color:#8a5a12;font-weight:700}.inv-sum-ok{color:#1d6b37;font-weight:700}.inv-sum-pdf{align-items:center;display:inline-flex}.inv-deps{flex-direction:column;gap:8px;display:flex}.inv-deps-head{flex-wrap:wrap;align-items:center;gap:10px;font-size:.85rem;display:flex}.inv-deps-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem;font-weight:700}.inv-deps-head .btn{margin-left:auto}.inv-dep-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.inv-dep-list li{border-top:1px solid var(--line);grid-template-columns:110px minmax(0,1fr) 140px auto 28px;align-items:center;gap:10px;padding:6px 0;font-size:.85rem;display:grid}.inv-dep-list li:first-child{border-top:0}.inv-dep-amount{text-align:right;font-variant-numeric:tabular-nums}.inv-dep-list .inv-pay-amount{max-width:none}.inv-dep-list input.inv-dep-date{padding:4px 6px;font-size:.82rem}.inv-dep-voucher{justify-self:end}@media (width<=600px){.inv-dep-list li{grid-template-columns:1fr auto 28px}.inv-dep-kind{grid-area:2/1/auto/-1}.inv-dep-voucher{grid-column:1/-1;justify-self:start}}.inv-add-pay-actions{align-items:center;gap:6px;display:flex}.inv-foot-actions{gap:16px;margin-left:auto;display:inline-flex}.inv-foot-actions .inv-delete{color:var(--danger);margin:0}.qt-adjust-outdated{color:#8a5a12;margin-top:2px;font-weight:600}.istatus-nc{color:#5b3f8f;background:#ece7f6}.inv-row.is-nc td{color:#5b3f8f}.inv-row.is-nc .inv-balance{font-weight:400}.inv-nc-badge{color:#5b3f8f;vertical-align:middle;background:#ece7f6;border-radius:4px;margin-left:6px;padding:0 5px;font-size:.65rem;font-weight:700;display:inline-block}.inv-sum-void{color:var(--danger);font-weight:700}.inv-sum-nc{color:#5b3f8f}.inv-nc-form{background:#faf8fd;border:1px solid #d9cdee;border-radius:9px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.inv-nc-form h4{margin:0;font-size:.9rem}.inv-nc-form .notice,.inv-nc-form .inv-form-hint{margin:0}.xq{flex-direction:column;gap:12px;max-width:640px;display:flex}.xq-row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.xq-grow{flex:260px}.xq-date{flex:0 0 160px}.xq-amounts>.field{flex:90px}.xq-total{flex-direction:column;flex:110px;align-items:flex-end;padding-bottom:4px;display:flex}.xq-total span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.xq-total strong{font-variant-numeric:tabular-nums;color:var(--brand-petrol);font-size:1.25rem}label.xq-check{color:var(--ink);cursor:pointer;flex-direction:row;align-items:center;gap:6px;font-size:.9rem}label.xq-check input{width:auto;margin:0}.xq-chips{flex-wrap:wrap;gap:6px;display:flex}.xq-chip{border:1px solid var(--line);border-left:4px solid var(--client,var(--line));background:var(--surface);font:inherit;cursor:pointer;color:var(--ink);border-radius:8px;padding:8px 12px;font-size:.88rem}.xq-chip.is-on{background:var(--brand-petrol);color:#fff;border-color:var(--brand-petrol)}.xq-chip.is-generic{border-left-color:#9a7b2f;font-style:italic}.xq-other{font:inherit;border:1px dashed var(--line);background:var(--surface);border-radius:8px;max-width:180px;padding:7px 8px;font-size:.85rem}.xq-saved{color:#1d6b37;background:#d7f2dc;border-radius:8px;margin:0;padding:8px 12px;font-size:.88rem;font-weight:600}.xq-actions{align-items:center;gap:8px;display:flex}.xq-save{flex:1;max-width:320px;padding:12px;font-size:1rem}.xq-hint{margin:0;font-size:.78rem}@media (width<=640px){.xq-chip{text-align:left;flex:calc(50% - 6px)}.xq-other{flex:100%;max-width:none}.xq-save{max-width:none}.xq-date{flex:100%}}.xs-toolbar{grid-template-columns:minmax(0,1fr) repeat(3,minmax(130px,200px))}@media (width<=760px){.xs-toolbar{grid-template-columns:1fr 1fr}.xs-toolbar .crm-search{grid-column:1/-1}}.inv-kpis>button.xs-pending-kpi{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--radius);background:var(--surface);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:1px;padding:10px 14px;display:flex}.inv-kpis>button.xs-pending-kpi.is-due{border-left-color:#e9a71c}.xs-table{min-width:980px}.xs-desc{max-width:260px}.xs-dest{flex-direction:column;gap:3px;display:flex}.xs-dest-item{flex-direction:column;align-items:flex-start;display:flex}.xs-generic{color:#7a5f1f;font-style:italic;font-weight:600}.xd{flex-direction:column;gap:12px;padding:14px 16px 16px 30px;display:flex}.xd-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-items:end;gap:10px;display:grid}.xd-wide{grid-column:span 2}@media (width<=560px){.xd-wide{grid-column:1/-1}}.xd-check{align-self:center}.xd-target{border:1px solid var(--line);background:var(--surface);border-radius:9px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.xd-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem;font-weight:700}.xd-modes{flex-wrap:wrap;gap:6px;display:flex}.xd-note{margin:0;font-size:.85rem}.xd-alloc{flex-direction:column;gap:6px;display:flex}.xd-alloc-row{grid-template-columns:minmax(140px,1fr) minmax(160px,1.4fr) 90px 100px 28px;align-items:center;gap:8px;display:grid}.xd-alloc-row select{font:inherit;border:1px solid var(--line);border-radius:6px;min-width:0;padding:6px 8px;font-size:.85rem}.xd-pct{align-items:center;gap:4px;display:flex}.xd-alloc-amount{text-align:right;font-variant-numeric:tabular-nums;font-size:.85rem}@media (width<=640px){.xd-alloc-row{grid-template-columns:1fr 90px 28px}.xd-alloc-row>select:nth-child(2){grid-area:2/1/auto/-1}.xd-alloc-amount{display:none}}.xd-alloc-foot{align-items:center;gap:12px;font-size:.85rem;display:flex}.xd-sum-bad{color:var(--danger);font-weight:700}.xd-sum-ok{color:#1d6b37;font-weight:700}.xd-foot{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.xd-notes{flex:260px}.xs-generic-box{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.xs-generic-box h3{margin:0;font-size:.95rem}.xs-generic-box p{margin:0;font-size:.85rem}.xs-generic-table{border-collapse:collapse;width:100%;max-width:640px;font-size:.86rem}.xs-generic-table th{text-align:left;color:var(--muted);text-transform:uppercase;padding:4px 8px;font-size:.7rem}.xs-generic-table td{border-top:1px solid var(--line);padding:6px 8px}.xs-generic-table .num{text-align:right;font-variant-numeric:tabular-nums}.xc-page{flex-direction:column;gap:12px;max-width:760px;display:flex}.xc-add{max-width:520px}.xc-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.xc-list li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 100px auto 28px;align-items:center;gap:10px;padding:6px 0;display:grid}.xc-list li.is-off .xc-name{color:var(--muted);text-decoration:line-through}.xc-name{font-weight:600}.xc-used{font-size:.8rem}.qt-real{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;margin-top:12px;padding:12px 14px;display:flex}.qt-real-table{border-collapse:collapse;width:100%;max-width:560px;font-size:.9rem}.qt-real-table th{text-align:left;color:var(--muted);padding:4px 8px;font-size:.72rem;font-weight:700}.qt-real-table tbody th{color:var(--ink);font-size:.85rem}.qt-real-table td{border-top:1px solid var(--line);padding:6px 8px}.qt-real-table .num{text-align:right;font-variant-numeric:tabular-nums}.qt-real-table .is-bad{color:var(--danger);font-weight:700}.qt-real-table .is-good{color:#1d6b37;font-weight:700}.qt-real-note{margin:0;font-size:.78rem}.wq-spent{color:var(--muted)}.xq-work{font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:9px 10px;font-size:.95rem}.xg{border:1px dashed var(--line);background:var(--surface);border-radius:9px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.xg-title{color:var(--muted);font-size:.8rem;font-weight:600}.xg-list{flex-wrap:wrap;gap:6px;display:flex}label.xg-item{border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;flex-direction:row;align-items:center;gap:6px;padding:6px 10px;font-size:.86rem}label.xg-item input{width:auto;margin:0}label.xg-item.is-on{border-color:var(--brand-teal);background:#e3f4ef}.xg small{font-size:.78rem}.mnav{display:none}@media (width<=760px){.module-nav-wrap{display:none}.mnav{margin:-8px 0 14px;display:block}.mnav-bar{align-items:center;gap:8px;display:flex}.mnav-toggle{border:1px solid var(--line);background:var(--surface);min-width:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;flex:1;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:flex}.mnav-burger{flex-direction:column;flex:none;gap:3px;display:inline-flex}.mnav-burger span{background:var(--brand-petrol);border-radius:2px;width:16px;height:2px;display:block}.mnav-current{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mnav-caret{color:var(--muted);font-size:.8rem}.mnav-quick{flex:none;padding:10px 14px}.mnav-backdrop{z-index:60;background:#0b1e2473;align-items:flex-end;display:flex;position:fixed;inset:0}.mnav-sheet{background:var(--surface);width:100%;max-height:88vh;padding:14px max(16px, env(safe-area-inset-left,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-right,0px));border-radius:16px 16px 0 0;animation:.18s ease-out mnav-up;overflow-y:auto;box-shadow:0 -8px 30px #0003}.mnav-sheet-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.mnav-sheet-head strong{font-size:1.05rem}.mnav-section{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 6px;font-size:.7rem;font-weight:700}.mnav-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mnav-list{flex-direction:column;gap:6px;display:flex}.mnav-item{border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;min-height:48px;padding:12px;display:flex}.mnav-item.is-active{border-color:var(--brand-petrol);box-shadow:inset 3px 0 var(--brand-petrol);background:#e8f1f2}.mnav-item-label{font-size:.95rem;font-weight:700}.mnav-item-hint{color:var(--muted);font-size:.75rem;line-height:1.25}body.mnav-lock{overflow:hidden}}@keyframes mnav-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mnav-sheet{animation:none}}.qstatus-en_ejecucion{color:#1f4f8f;background:#e2ecfb}.xg-quotes{border-top:1px dashed var(--line);flex-direction:column;gap:8px;padding-top:6px;display:flex}.xg-work{flex-direction:column;gap:4px;display:flex}.xg-work>strong{font-size:.82rem}.start-notice{color:#1f4f8f;background:#e2ecfb;border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;font-size:.88rem;display:flex}.start-notice-actions{gap:6px;display:inline-flex}.xg-list{flex-flow:column}label.xg-item{border-left:4px solid var(--client,var(--line));align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}label.xg-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand-petrol);flex:none;margin:0}.xg-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.xg-text>span{overflow-wrap:anywhere;font-weight:600}.xg-text>small{font-size:.75rem}.xg-work{border-left:3px solid var(--client,var(--line));padding-left:10px}.xg-work .xg-item{border-left-width:1px;border-left-color:var(--line)}.xg-work .xg-item.is-on{border-left-color:var(--brand-teal)}.xg-work-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}@media (width>=761px){.xg>.xg-list{flex-flow:wrap}.xg>.xg-list>label.xg-item{width:auto}}.xg-work-head small{white-space:nowrap;flex:none}.sec-dialog{width:min(460px,100vw - 32px)}.sec-form{flex-direction:column;gap:12px;margin-top:14px;display:flex}.sec-form .dialog-actions{margin-top:6px}.sec-modes{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.sec-hint{margin:0;font-size:.82rem}.sec-sent{flex-wrap:wrap}.sec-whatsapp{color:#fff;background:#1f9d55;border-color:#1f9d55;text-decoration:none}.sec-card.has-pending{border-color:#f3c27a}.sec-badge{color:#fff;text-align:center;vertical-align:middle;background:#e9a71c;border-radius:999px;min-width:22px;margin-left:6px;padding:1px 7px;font-size:.75rem;display:inline-block}.sec-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.sec-item{border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.sec-item.is-target{border-color:var(--brand-teal);box-shadow:0 0 0 2px #cdeee8}.sec-item-main{flex-direction:column;flex:260px;gap:2px;min-width:0;display:flex}.sec-item-actions{gap:6px;display:inline-flex}.sec-resolve{flex-wrap:wrap;flex-basis:100%;align-items:end;gap:8px;display:flex}.sec-resolve .field{flex:220px}.sec-pendiente{color:#7a5a00;background:#fff1c9}.sec-aprobada{color:#1d6b37;background:#d7f2dc}.sec-rechazada{background:var(--surface-2);color:var(--muted)}.sec-audit{min-width:720px}.sec-audit .nowrap{white-space:nowrap}.shell{background:var(--bg);min-height:100vh;display:flex}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.shell-top{z-index:30;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:10px 28px;display:flex;position:sticky;top:0}.shell-title{flex-direction:column;min-width:0;line-height:1.2;display:flex}.shell-title span{color:var(--muted);font-size:.75rem}.shell-title h1{color:var(--brand-petrol);margin:0;font-size:1.2rem}.shell-tools{align-items:center;gap:10px;margin-left:auto;display:flex}.shell-content{min-width:0;padding:20px 28px 48px}.side{box-sizing:border-box;background:var(--brand-petrol);color:#d6e6e8;z-index:40;flex-direction:column;flex:none;gap:2px;width:244px;height:100vh;padding:16px 12px;transition:width .15s;display:flex;position:sticky;top:0;overflow:hidden auto}.side-brand{align-items:center;gap:10px;padding:2px 6px 14px;display:flex}.side-logo{border-radius:50%;flex:none;display:inline-flex;box-shadow:0 0 0 2px #ffffff38}.side-brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.side-brand-text strong{color:#fff;font-size:1.05rem}.side-brand-text span{color:#a9c3c7;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.side-section{letter-spacing:.06em;text-transform:uppercase;color:#8fb0b5;white-space:nowrap;padding:14px 10px 4px;font-size:.68rem;font-weight:700}.side-link{box-sizing:border-box;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:.9rem;display:flex;position:relative}.side-link:hover:not(:disabled){color:#fff;background:#ffffff14}.side-link:focus-visible{outline:2px solid var(--brand-amber);outline-offset:-2px}.side-link.is-active{color:#fff;box-shadow:inset 3px 0 var(--brand-amber);background:#ffffff21;font-weight:600}.side-link.is-active .side-icon,.side-link.is-parent-active .side-icon{color:var(--brand-amber)}.side-link.is-parent-active{color:#fff}.side-link:disabled{opacity:.55;cursor:default}.side-icon{color:#a9c3c7;flex:none;display:inline-flex}.side-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.side-badge{background:var(--brand-amber);min-width:18px;color:var(--brand-petrol);text-align:center;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:.7rem;font-weight:700}.side-soon{text-transform:uppercase;color:#8fb0b5;margin-left:auto;font-size:.62rem;font-weight:700}.side-caret{color:#a9c3c7;margin-left:auto;font-size:.75rem}.side-sub{flex-direction:column;gap:1px;padding-left:26px;display:flex}.side-link.is-sub{padding:7px 10px;font-size:.85rem}.side-foot{border-top:1px solid #ffffff24;flex-direction:column;gap:4px;margin-top:auto;padding-top:10px;display:flex}.side-user{align-items:center;gap:10px;padding:6px;display:flex}.side-avatar{background:var(--brand-teal);width:30px;height:30px;color:var(--brand-petrol);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.side-user-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.side-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:.84rem;font-weight:600;overflow:hidden}.side-signout{all:unset;cursor:pointer;color:#a9c3c7;font-size:.75rem;text-decoration:underline}.side-signout:focus-visible{outline:2px solid var(--brand-amber)}.side-toggle{color:#d6e6e8;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;margin-left:auto;display:flex}.side-toggle:hover{background:#ffffff14}.side-scrim{z-index:39;background:#0b1e2466;position:fixed;inset:0}.side.is-collapsed:not(.is-overlay){width:68px;padding-inline:10px}.side.is-collapsed:not(.is-overlay) :is(.side-label,.side-section,.side-brand-text,.side-user-text,.side-caret,.side-soon,.side-sub){display:none}.side.is-collapsed:not(.is-overlay) .side-link{justify-content:center;padding:10px 0}.side.is-collapsed:not(.is-overlay) .side-badge{min-width:15px;padding:0 4px;font-size:.6rem;position:absolute;top:2px;right:2px}.side.is-collapsed:not(.is-overlay) .side-brand{justify-content:center;padding-inline:0}.side.is-collapsed:not(.is-overlay) .side-user{flex-direction:column;padding-inline:0}.side.is-collapsed:not(.is-overlay) .side-toggle{margin-left:0}@media (width<=1100px){.side:not(.is-overlay){width:68px;padding-inline:10px}.side:not(.is-overlay) :is(.side-label,.side-section,.side-brand-text,.side-user-text,.side-caret,.side-soon,.side-sub){display:none}.side:not(.is-overlay) .side-link{justify-content:center;padding:10px 0}.side:not(.is-overlay) .side-badge{min-width:15px;padding:0 4px;font-size:.6rem;position:absolute;top:2px;right:2px}.side:not(.is-overlay) .side-brand{justify-content:center;padding-inline:0}.side:not(.is-overlay) .side-user{flex-direction:column;padding-inline:0}.side:not(.is-overlay) .side-toggle{margin-left:0}.side{position:fixed;top:0;left:0}.shell-main{margin-left:68px}.side.is-overlay{width:260px;box-shadow:8px 0 30px #00000040}.shell-top,.shell-content{padding-inline:20px}}@media (width<=760px){.side,.side-scrim,.shell-top{display:none}.shell-main{margin-left:0}.shell-content{padding:12px 12px 40px}.mnav{margin:0;padding:10px 12px 0}.mnav-toggle{background:var(--brand-petrol);border-color:var(--brand-petrol);color:#fff}.mnav-burger span{background:var(--brand-amber)}.mnav-caret{color:#a9c3c7}.mnav-quick{background:var(--brand-amber);border:1px solid var(--brand-amber);color:var(--brand-petrol);font-weight:700}.mnav-item-label{align-items:center;gap:6px;display:flex}.mnav-search{margin:6px 0 4px}.mnav-user{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:14px;padding-top:10px;font-size:.88rem;display:flex}}.gs{flex:0 420px;min-width:0;position:relative}.shell-tools:has(.gs){flex:1;justify-content:flex-end}.gs-field{border:1px solid var(--line);background:var(--bg);height:36px;color:var(--muted);cursor:text;border-radius:10px;flex-direction:row;align-items:center;gap:8px;margin:0;padding:0 10px;display:flex}.gs-field:focus-within{border-color:var(--brand-teal);background:var(--surface);box-shadow:0 0 0 3px #2bb3a32e}.gs-field input{min-width:0;height:100%;box-shadow:none;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:.9rem}.gs-field input::-webkit-search-cancel-button{cursor:pointer}.gs-kbd{border:1px solid var(--line);font:inherit;color:var(--muted);background:var(--surface);border-radius:5px;flex:none;padding:1px 6px;font-size:.7rem}.gs-results{z-index:60;border:1px solid var(--line);background:var(--surface);border-radius:12px;width:max(100%,420px);max-height:min(70vh,520px);padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 32px #0b1e242e}.gs-group+.gs-group{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.gs-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 8px 4px;font-size:.68rem;font-weight:700;display:block}.gs-item{width:100%;font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}.gs-item.is-active{background:color-mix(in srgb, var(--brand-teal) 12%, transparent)}.gs-dot{background:var(--client);border-radius:50%;flex:none;width:10px;height:10px}.gs-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.gs-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.gs-text small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.gs-empty{color:var(--muted);margin:0;padding:12px 8px;font-size:.85rem}.gs.is-compact{flex:none;width:100%}.gs.is-compact .gs-field{height:42px}.gs.is-compact .gs-field input{font-size:1rem}.gs.is-compact .gs-results{width:auto;max-height:55vh;box-shadow:none;margin-top:6px;position:static}.gs.is-compact .gs-item{padding:10px 8px}@media (width<=1100px){.gs-results{width:max(100%,360px)}}
