:root{--bg: #f3f5f0;--surface: #ffffff;--surface-2: #eef2eb;--border: #d7dfd2;--text: #1e2a1f;--muted: #6b776a;--accent: #5b7b5a;--accent-text: #ffffff;--accent-soft: #dde7d9;--sidebar: #e4ebe0;--sidebar-active: #c9d9c3;--positive: #3e6b3d;--negative: #a8462c;--warn: #946112;--warn-soft: #f6ead2;--danger-soft: #f6e3da;--ok-soft: #dde7d9;--neutral-soft: #e9ede6;--bar-revenue: #c9d9c3;--bar-profit: #5b7b5a;--radius: 10px;--shadow: 0 1px 2px rgb(0 0 0 / .05);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--text);background:var(--bg);color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #121713;--surface: #1a211b;--surface-2: #222b23;--border: #2f3a30;--text: #e6ece4;--muted: #9aa797;--accent: #9cbf98;--accent-text: #142016;--accent-soft: #2a3a2a;--sidebar: #161d17;--sidebar-active: #2a3a2a;--positive: #9cd49a;--negative: #ec9a84;--warn: #e2b76a;--warn-soft: #3a3020;--danger-soft: #3d2620;--ok-soft: #24352a;--neutral-soft: #252d26;--bar-revenue: #34463a;--bar-profit: #9cbf98}}:root[data-theme=dark]{--bg: #121713;--surface: #1a211b;--surface-2: #222b23;--border: #2f3a30;--text: #e6ece4;--muted: #9aa797;--accent: #9cbf98;--accent-text: #142016;--accent-soft: #2a3a2a;--sidebar: #161d17;--sidebar-active: #2a3a2a;--positive: #9cd49a;--negative: #ec9a84;--warn: #e2b76a;--warn-soft: #3a3020;--danger-soft: #3d2620;--ok-soft: #24352a;--neutral-soft: #252d26;--bar-revenue: #34463a;--bar-profit: #9cbf98}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.1rem;margin-bottom:.75rem}h3{font-size:.95rem;margin:1.25rem 0 .5rem;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.small{font-size:.85rem}.positive{color:var(--positive)}.negative{color:var(--negative)}.nowrap{white-space:nowrap}.loading{padding:3rem;text-align:center;color:var(--muted)}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);padding:1.25rem .75rem;display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:0;height:100vh}.brand{display:flex;flex-direction:column;gap:.5rem;align-items:center;padding:0 .5rem}.brand-logo{display:block;width:180px;max-width:100%;height:auto;padding:5px;background:transparent}.brand strong{font-size:1.05rem}.brand-mark{font-size:1.6rem;color:var(--accent)}.brand small{display:block;color:var(--muted);font-size:.78rem}.sidebar ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.sidebar a{display:flex;justify-content:space-between;align-items:center;padding:.55rem .75rem;border-radius:8px;color:var(--text);text-decoration:none}.sidebar a:hover{background:var(--sidebar-active)}.sidebar a.active{background:var(--sidebar-active);font-weight:600}.count{background:var(--negative);color:#fff;border-radius:999px;font-size:.72rem;padding:0 .45rem;font-weight:700}.sidebar-note{margin-top:auto;padding:0 .75rem;font-size:.78rem;color:var(--muted)}main{padding:1.75rem 2rem 3rem;min-width:0}.page{max-width:1150px;margin:0 auto;display:grid;gap:1.1rem}.page>p{margin:0}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.page-header p{margin:.25rem 0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow)}.card-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.card-header h2{margin:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem;display:grid;gap:.15rem}.kpi-label{color:var(--muted);font-size:.85rem}.kpi-value{font-size:1.45rem;font-variant-numeric:tabular-nums}.kpi-hint{color:var(--muted);font-size:.8rem}.alerts{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.alert{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;padding:.7rem .9rem;border-radius:8px;border-left:4px solid var(--warn);background:var(--warn-soft)}.alert-order_now{border-left-color:var(--negative);background:var(--danger-soft)}.alert-action{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.badge{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge-order_now{background:var(--danger-soft);color:var(--negative)}.badge-order_soon{background:var(--warn-soft);color:var(--warn)}.badge-ok{background:var(--ok-soft);color:var(--positive)}.badge-no_sales,.badge-on_demand{background:var(--neutral-soft);color:var(--muted)}.bars{display:grid;gap:.45rem}.bar-row{display:grid;grid-template-columns:70px 1fr minmax(170px,auto);gap:.75rem;align-items:center}.bar-label{color:var(--muted);font-size:.85rem}.bar-track{position:relative;height:18px;background:var(--surface-2);border-radius:4px;overflow:hidden}.bar{position:absolute;left:0;top:0;bottom:0;border-radius:4px}.bar-revenue{background:var(--bar-revenue)}.bar-profit{background:var(--bar-profit);top:5px;bottom:5px}.bar-value{font-variant-numeric:tabular-nums;font-size:.88rem;text-align:right}.legend{display:flex;gap:.4rem;align-items:center;font-size:.82rem;color:var(--muted);margin:.75rem 0 0}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block;margin-left:.5rem}.swatch-revenue{background:var(--bar-revenue);margin-left:0}.swatch-profit{background:var(--bar-profit)}.toolbar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.toolbar input[type=search]{flex:1 1 240px;max-width:340px}.chips{display:flex;gap:.35rem;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.3rem .8rem}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.table-wrap{overflow-x:auto}.table-wrap.card{padding:0}table{width:100%;border-collapse:collapse}th,td{padding:.6rem .9rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.8rem;color:var(--muted);font-weight:600;background:var(--surface-2)}th small{font-weight:400}tbody tr:last-child td{border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td:first-child{min-width:220px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}.empty{text-align:center;padding:2rem}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border-radius:8px;padding:.5rem .95rem;border:1px solid transparent;background:none}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-text);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.05)}button.ghost{border-color:var(--border);background:var(--surface)}button.ghost:hover:not(:disabled){background:var(--surface-2)}button.danger{color:var(--negative)}input,select{width:100%;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.form{display:grid;gap:.6rem}.field{display:grid;gap:.25rem;font-size:.85rem}.field>span{color:var(--muted)}.field.wide{grid-column:1 / -1}.field.narrow{max-width:220px}.input-suffix{position:relative}.input-suffix em{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted);pointer-events:none}.input-suffix input{padding-right:3rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.line{display:grid;grid-template-columns:2fr 1fr 1.3fr auto auto;gap:.6rem;align-items:end}.line-total{padding:.5rem 0;font-variant-numeric:tabular-nums}.form-actions{display:flex;gap:.5rem;align-items:center;margin-top:.75rem}.spacer{flex:1}.add-line{justify-self:start}.calc{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;background:var(--surface-2);border-radius:8px;padding:.75rem;margin-top:.4rem}.calc>div{display:grid;gap:.1rem}.calc span,.calc small{color:var(--muted);font-size:.78rem}.calc strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.calc .positive strong{color:var(--positive)}.calc .negative strong{color:var(--negative)}.modal-backdrop{position:fixed;inset:0;background:#0006;display:grid;place-items:start center;padding:4vh 16px;overflow-y:auto;z-index:10}.modal{background:var(--surface);border-radius:14px;width:min(760px,100%);padding:1.25rem 1.4rem;box-shadow:0 20px 50px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.modal-header h2{margin:0}.warn{color:var(--warn)}code{background:var(--surface-2);padding:.05rem .35rem;border-radius:4px;font-size:.9em}.product-cell{display:flex;gap:.7rem;align-items:center}.product-cell img,.no-img{width:48px;height:36px;border-radius:5px;object-fit:cover;flex:none}.no-img{background:var(--surface-2);border:1px dashed var(--border)}.dropzone{display:grid;gap:.2rem;place-items:center;text-align:center;cursor:pointer;border:2px dashed var(--border);border-radius:var(--radius);padding:1.75rem 1rem;background:var(--surface-2)}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.pending{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}.pending li{display:grid;grid-template-columns:96px 1fr auto;gap:.75rem;align-items:center}.pending img{width:96px;height:72px;object-fit:cover;border-radius:6px}.pending-info{display:grid;gap:.25rem}.pending-info input{max-width:200px;text-transform:uppercase}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem}.thumb{margin:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-2)}.thumb img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.thumb figcaption{display:grid;gap:.15rem;padding:.5rem .6rem}.small-btn{padding:.2rem .5rem;font-size:.8rem;justify-self:start;margin-top:.25rem}.combos{align-items:center;margin-bottom:.75rem}.pair-preview{width:100%;height:auto;aspect-ratio:2 / 1;border-radius:8px;margin-top:.75rem;display:block;background:var(--surface-2)}input[type=color]{height:40px;padding:.2rem}@media(max-width:800px){.app{grid-template-columns:1fr}main{padding:1rem 16px 2rem}.grid-2,.grid-3{grid-template-columns:1fr}.calc{grid-template-columns:repeat(2,1fr)}.line{grid-template-columns:1fr 1fr}.line>.field:first-child{grid-column:1 / -1}.bar-row{grid-template-columns:56px 1fr}.bar-value{grid-column:2;text-align:left}}.rows{display:grid;gap:.6rem;margin-bottom:.75rem}.row{display:grid;gap:.6rem;align-items:end;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}.row-cost{grid-template-columns:minmax(150px,2fr) minmax(170px,1.4fr) minmax(100px,.8fr) minmax(120px,1fr) minmax(90px,.8fr) auto}.amount-currency{display:grid;grid-template-columns:1fr 76px;gap:.4rem}.row-material{grid-template-columns:minmax(150px,2fr) minmax(70px,.6fr) minmax(120px,1.2fr) minmax(80px,.8fr) auto}.row-actions{display:flex;gap:.4rem}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:1.1rem;align-items:start}.pnl td{padding:.45rem .25rem}.pnl tr.minus td:first-child{padding-left:1rem;color:var(--muted)}.pnl tr.sub td{font-weight:600;border-top:1px solid var(--border)}.pnl tr.total td{font-weight:700;font-size:1.05rem;border-top:2px solid var(--text)}@media(max-width:1000px){.split{grid-template-columns:1fr}}@media(max-width:800px){.row-cost,.row-material{grid-template-columns:1fr 1fr}.row>.field:first-child{grid-column:1 / -1}}.page>*,.split>*{min-width:0}.check{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer;margin-bottom:.5rem}.check input{width:auto;margin-top:.2rem;accent-color:var(--accent)}.check span{display:grid;gap:.1rem}.theme-switch{display:flex;gap:2px;padding:3px;margin:0 .5rem;border-radius:8px;background:var(--sidebar-active)}.theme-switch button{flex:1;padding:.3rem .4rem;font-size:.8rem;border-radius:6px;color:var(--text)}.theme-switch button.active{background:var(--surface);font-weight:600;box-shadow:var(--shadow)}.sidebar-footer{margin-top:auto;display:grid;gap:.6rem}.sidebar-footer .sidebar-note{margin-top:0}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-start}.modal-wide{width:min(980px,100%)}.notice{margin:0;padding:.6rem .8rem;border-radius:8px;background:var(--accent-soft)}.notice.warn{background:var(--warn-soft);color:var(--warn)}.review-lines{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.review-lines li{display:grid;grid-template-columns:auto 88px 1fr 90px 130px;gap:.75rem;align-items:center;padding:.6rem;border:1px solid var(--border);border-radius:8px}.review-lines li.excluded{opacity:.55}.review-lines input[type=checkbox]{width:auto;accent-color:var(--accent)}.review-photo img,.review-photo .no-img{width:88px;height:66px;object-fit:cover;border-radius:6px;display:block}.review-info{display:grid;gap:.2rem;min-width:0}.review-buttons{display:flex;gap:.4rem;flex-wrap:wrap}.check.inline{margin:0;align-items:center;white-space:nowrap}.gallery.picker{max-height:55vh;overflow-y:auto;padding:2px}.thumb.pick{padding:0;text-align:left;display:grid;cursor:pointer;border:1px solid var(--border)}.thumb.pick:hover{border-color:var(--accent)}.pick-caption{display:grid;gap:.1rem;padding:.45rem .55rem}.no-img.big{width:100%;height:auto;aspect-ratio:4 / 3;border-radius:0;border:none}@media(max-width:800px){.review-lines li{grid-template-columns:auto 72px 1fr}.review-lines li>.field{grid-column:span 1}}.article-map{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;max-height:52vh;overflow-y:auto}.article-map li{display:grid;grid-template-columns:72px 1fr minmax(220px,300px);gap:.75rem;align-items:center;padding:.55rem;border:1px solid var(--border);border-radius:8px}.article-map li.unmapped{border-color:var(--warn);background:var(--warn-soft)}.article-map .review-photo img,.article-map .review-photo .no-img{width:72px;height:54px}.article-choice{display:grid;gap:.35rem}@media(max-width:800px){.article-map li{grid-template-columns:56px 1fr}.article-choice{grid-column:1 / -1}}.library-chips{margin:.75rem 0 .25rem}.chip-count{opacity:.7;font-size:.8em;margin-left:.2rem}.library-group h3{margin-top:1.25rem}.group-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.group-header h3{margin-bottom:.5rem}.file-button{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.5rem .95rem}.file-button:hover{background:var(--surface-2)}.page-header .chips+.chips{flex-basis:100%;justify-content:flex-end}.total-row td{border-top:2px solid var(--text);font-weight:700;background:var(--surface-2)}.calc-input{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:.75rem;align-items:end}.segmented{display:flex;gap:2px;padding:3px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.segmented button{padding:.4rem .9rem;border-radius:6px;font-weight:600;color:var(--muted)}.segmented button.active{background:var(--accent);color:var(--accent-text)}.pnl.quote{margin-top:.5rem}.pnl.quote tr.total td{color:var(--accent)}textarea{font:inherit;color:inherit;width:100%;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);resize:vertical}.idea-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:grid;gap:.5rem}.idea-form h3{margin:0}.idea-form-grid{display:grid;grid-template-columns:160px 1fr;gap:1rem;align-items:start}.idea-photo{width:160px;aspect-ratio:1;border:2px dashed var(--border);border-radius:10px;background:var(--surface-2);padding:0;overflow:hidden;color:var(--muted)}.idea-photo img{width:100%;height:100%;object-fit:cover;display:block}.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.idea{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);display:grid}.idea>img,.idea>.no-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.idea-body{display:grid;gap:.25rem;padding:.7rem .8rem}.idea-figures{display:grid;grid-template-columns:auto 1fr;gap:.15rem .75rem;margin:.35rem 0;font-size:.85rem}.idea-figures dt{color:var(--muted)}.idea-figures dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:800px){.calc-input,.idea-form-grid{grid-template-columns:1fr}}.topbar,.menu-backdrop,.menu-close{display:none}.sidebar{overflow-y:auto}.menu-button{position:relative;font-size:1.3rem;padding:.35rem .7rem;border:1px solid var(--border);background:var(--surface)}.menu-button .count{position:absolute;top:-6px;right:-6px}@media(max-width:1100px)and (min-width:801px){.app{grid-template-columns:200px 1fr}main{padding:1.5rem 1.25rem 3rem}.split{grid-template-columns:1fr}}@media(max-width:800px){.topbar{display:flex;align-items:center;gap:.75rem;position:sticky;top:0;z-index:20;padding:.6rem 16px;background:var(--sidebar);border-bottom:1px solid var(--border)}.topbar strong{font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(290px,85vw);height:100dvh;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 40px #00000040}.menu-open .sidebar{transform:translate(0)}.menu-backdrop{display:block;position:fixed;inset:0;z-index:30;background:#00000059;opacity:0;pointer-events:none;transition:opacity .2s ease}.menu-open .menu-backdrop{opacity:1;pointer-events:auto}.menu-close{display:block;position:absolute;top:.9rem;right:.75rem;padding:.25rem .55rem}.sidebar a{padding:.75rem}.page-header h1{font-size:1.35rem}.page-header .chips+.chips{justify-content:flex-start}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{font-size:1.15rem}.modal-backdrop{padding:0}.modal{border-radius:0;min-height:100dvh}.review-lines li{grid-template-columns:auto 64px 1fr}.gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.toolbar input[type=search]{max-width:none}th,td{padding:.5rem .6rem}}@media(max-width:420px){.kpis{grid-template-columns:1fr}.calc{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.sidebar,.menu-backdrop{transition:none}}.row-buttons{display:flex;gap:.3rem;justify-content:flex-end}.offer-items{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.offer-items>li{border:1px solid var(--border);border-radius:8px;padding:.75rem;display:grid;gap:.5rem}.offer-item-head{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:.4rem;align-items:center}.offer-item-no{font-weight:700;color:var(--muted)}.offer-item-figures{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr;gap:.6rem;align-items:end}@media(max-width:800px){.offer-item-figures{grid-template-columns:1fr 1fr}.row-buttons{flex-wrap:wrap;justify-content:flex-start}}.offer-doc{--ink: #2b2b2b;--olive: #8a9682;--brown: #7a6c55;position:relative;overflow:hidden;background:#fff;color:var(--ink);width:210mm;min-height:297mm;margin:0 auto;padding:16mm 18mm 14mm 20mm;box-shadow:0 4px 30px #0000002e;font-size:11.5pt;line-height:1.45;font-family:Helvetica Neue,Arial,sans-serif}.offer-doc:before,.offer-doc:after{content:"";position:absolute;width:4mm;background:var(--brown)}.offer-doc:before{left:0;top:70mm;height:28mm}.offer-doc:after{right:0;top:180mm;height:50mm}.offer-corner{position:absolute;pointer-events:none}.offer-corner-top{top:0;right:0;width:55mm;height:55mm}.offer-corner-bottom{bottom:0;left:0;width:60mm;height:60mm}.offer-head{position:relative;text-align:center}.offer-logo{max-height:26mm;max-width:90mm;object-fit:contain}.offer-logo-text{font-family:Didot,"Bodoni 72",Georgia,serif;font-size:40pt;letter-spacing:.08em;line-height:1}.offer-logo-text small{display:block;font-size:9pt;letter-spacing:.6em;margin-top:1mm}.offer-issuer{display:flex;justify-content:space-between;text-align:left;margin-top:6mm;font-size:10.5pt}.offer-company{color:var(--olive);font-weight:700;font-size:14pt}.offer-contact{text-align:right}.offer-rule{position:relative;border-top:1px solid var(--brown);margin:4mm 0 2mm}.offer-rule span{position:absolute;left:50%;top:-.8em;transform:translate(-50%);background:#fff;padding:0 2mm;color:var(--brown);font-size:9pt}.offer-title{text-align:center;color:var(--brown);font-size:30pt;letter-spacing:.02em;margin:2mm 0 4mm}.offer-meta{display:flex;justify-content:space-between;gap:8mm;font-size:10.5pt;margin-bottom:5mm}.offer-label{color:var(--olive);font-weight:700;text-transform:uppercase;font-size:9pt;letter-spacing:.05em}.offer-number{text-align:right;white-space:nowrap}.offer-lines{margin:0;padding-left:6mm;display:grid;gap:4mm}.offer-lines li{padding-left:1mm;break-inside:avoid}.offer-total{text-align:right;margin-top:5mm;font-size:12.5pt}.offer-conditions{margin-top:6mm;break-inside:avoid}.offer-conditions-title{font-weight:700;font-size:12.5pt}.offer-sign{position:relative;margin:8mm 0 0 auto;width:70mm;break-inside:avoid}.offer-sign strong{display:block}.offer-stamp{display:block;width:42mm;margin:3mm 0 0 18mm;mix-blend-mode:multiply}.print-page{overflow-x:auto}@media(max-width:800px){.offer-doc{zoom:.45}}@page{size:A4;margin:0}@media print{body{background:#fff}.topbar,.sidebar,.menu-backdrop,.no-print{display:none!important}.app{display:block}main{padding:0}.page{max-width:none;display:block}.offer-doc{box-shadow:none;margin:0;zoom:1}.offer-doc,.offer-corner,.offer-doc:before,.offer-doc:after{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.group-row td{background:var(--surface-2)}.group-toggle{display:flex;gap:.6rem;align-items:baseline;padding:.15rem 0;width:100%;text-align:left}.nested-row td:first-child{padding-left:2rem}.company-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.company-image{height:120px;border:1px dashed var(--border);border-radius:8px;display:grid;place-items:center;background:#fff;overflow:hidden}.company-image img{max-width:100%;max-height:110px;object-fit:contain}@media(max-width:800px){.company-images{grid-template-columns:1fr}}.nav-parent{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.55rem .75rem;border-radius:8px;color:var(--text);text-align:left;font:inherit}.nav-parent:hover{background:var(--sidebar-active)}.nav-parent.active{background:var(--sidebar-active);font-weight:600}.chevron{color:var(--muted);font-size:.8rem}.sidebar .submenu{display:grid;gap:1px;margin:2px 0 6px .75rem;padding-left:.5rem;border-left:2px solid var(--sidebar-active)}.sidebar .submenu a{padding:.4rem .6rem;font-size:.88rem}.sub-count{color:var(--muted);font-size:.75rem;margin-left:.4rem}@media(max-width:800px){.nav-parent{padding:.75rem}.sidebar .submenu a{padding:.6rem}}.sidebar .sub-parent{padding:.4rem .6rem;font-size:.88rem}.nav-row{display:flex;align-items:center;gap:2px}.nav-row>a{flex:1;min-width:0}.nav-expand{padding:.35rem .45rem;border-radius:6px}.nav-expand:hover{background:var(--sidebar-active)}.sidebar .product-list{max-height:50vh;overflow-y:auto}.sidebar .nav-product{font-size:.8rem;line-height:1.3;padding:.35rem .55rem;color:var(--muted)}.sidebar .nav-product.active,.sidebar .nav-product:hover{color:var(--text)}.sidebar ul.menu{list-style:none;margin:0;padding:0;display:grid;gap:2px}.sortable{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sortable li{display:grid;grid-template-columns:auto 1fr auto auto;gap:.4rem;align-items:center;padding:.4rem .5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:grab}.sortable li.dragging{opacity:.4}.sortable li.drop-target{border-color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.drag-handle{color:var(--muted);font-size:1.1rem}.menu-order h3{margin-top:0}.label-add{display:flex;gap:.5rem;align-items:flex-end}.label-add .field{width:9rem}.label-thumb{width:96px!important;height:48px!important;object-fit:cover}.qty-input{width:5rem;text-align:right}@media(max-width:800px){.label-add{width:100%}.label-add .field{flex:1}}.sync-action{display:grid;justify-items:end;gap:2px}.sync-action small{font-size:.72rem}.sync-button{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:8px;border:1px solid var(--accent);color:var(--accent);background:var(--surface);font-weight:600}.sync-button:hover:not(:disabled){background:var(--surface-2)}.sync-button:disabled{opacity:.7;cursor:progress}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}@media(max-width:800px){.sync-action{justify-items:start}}.stock-split{display:block;font-size:.7rem;white-space:nowrap}.storage-search{flex:1;max-width:26rem;padding:.55rem .8rem}.where-card{padding:.6rem 1rem}.where-list{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.where-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.place-chip.home{border-color:var(--accent)}.storage-tabs{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;border-bottom:1px solid var(--border)}.storage-tabs [role=tab]{padding:.55rem .9rem;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--muted);font-weight:600}.storage-tabs [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.shelves{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;align-items:start}.shelf{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-bottom:6px solid var(--border);padding:.6rem;display:grid;gap:.5rem;min-height:9rem}.shelf.home{border-bottom-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.shelf.drop-target{outline:2px dashed var(--accent);outline-offset:2px;background:var(--surface-2)}.shelf-header{display:flex;align-items:flex-start;gap:.25rem}.place-name{margin:0;font-size:.85rem;flex:1;min-width:0;padding:.2rem .2rem 0;text-transform:uppercase;letter-spacing:.03em;line-height:1.25}.shelf-count{font-weight:700;color:var(--muted);font-size:.85rem;padding-top:.2rem}.shelf-tool{opacity:.35;padding:.1rem .35rem}.shelf:hover .shelf-tool,.shelf-tool:focus-visible{opacity:1}@media(hover:none){.shelf-tool{opacity:.7}}.shelf-items{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.shelf-empty{padding:.4rem;text-align:center}.tag{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;width:100%;padding:.35rem .55rem;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);font:inherit;font-size:.9rem;color:var(--text);cursor:grab;text-align:left}.tag:hover,.tag.open{border-color:var(--accent)}.tag:active{cursor:grabbing}.tag.dim{opacity:.3}.tag-label{font-weight:600;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-product .tag-label{font-weight:500;font-size:.82rem}.tag-qty{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.tag-editor{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;padding:.4rem .2rem .2rem}.tag-editor .qty-input{width:3.5rem}.tag-editor select{flex:1;min-width:7rem;padding:.25rem;font-size:.85rem}.shelf-add{border:1px dashed var(--border);border-radius:6px;padding:.35rem;color:var(--muted);font:inherit;font-size:.85rem;background:transparent}.shelf-add:hover{color:var(--text);border-color:var(--accent)}.shelf-form{display:grid;gap:.35rem}.shelf-form input:not(.qty-input),.shelf-form select{width:100%;min-width:0}.shelf-form-row{display:flex;gap:.35rem;justify-content:flex-end}.shelf-form-row select{flex:1}@media(max-width:800px){.storage-search{max-width:none;flex-basis:100%}.shelves{grid-template-columns:1fr 1fr}}@media(max-width:480px){.shelves{grid-template-columns:1fr}}.offer-default-logo{position:relative;overflow:hidden;width:90mm;max-width:100%;margin:0 auto;aspect-ratio:3887 / 816}.offer-default-logo img{position:absolute;width:104.5279%;max-width:none;height:auto;left:-3.9105%;top:-138.9706%}[data-theme=dark] .brand-logo{filter:invert(1)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-card{width:min(100%,540px);padding:28px}.auth-logo{display:block;width:190px;max-height:90px;margin:0 auto 18px}.auth-card h1,.auth-card h2{text-align:center}.auth-recovery{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0}.auth-recovery code{overflow-wrap:anywhere;padding:8px;background:var(--bg)}
