:root{--bg: #f4f6fa;--surface: #ffffff;--ink: #161b26;--muted: #5d6677;--line: #dde2ea;--brand: #17397a;--brand-ink: #ffffff;--brand-soft: #e6edfa;--logo: #17397a;--ok: #157347;--ok-soft: #e3f4ea;--warn: #946200;--warn-soft: #fff3d6;--bad: #b3261e;--bad-soft: #fde8e6;--line-strong: #c9d1de;--line-accent: #8a96ab;--line-head: #e9eef7;--line-alt: #fafbfd;--radius: 12px;--tap: 46px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f131b;--surface: #181e2a;--ink: #eef1f6;--muted: #9aa4b6;--line: #2b3444;--brand: #6f9bff;--brand-ink: #0b1220;--brand-soft: #1c2a47;--logo: #ffffff;--ok: #5fd197;--ok-soft: #12301f;--warn: #f1c25c;--warn-soft: #3a2e10;--bad: #ff8a80;--bad-soft: #3d1a17;--line-strong: #3a4558;--line-accent: #6b778c;--line-head: #222b3b;--line-alt: #1c2331;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}h1{font-size:1.6rem;margin:0;letter-spacing:-.01em}h2{font-size:1.05rem;margin:0}h3{font-size:.95rem;margin:0 0 6px}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted);margin:2px 0 0}.right{text-align:right}.nowrap{white-space:nowrap}.num{font-variant-numeric:tabular-nums}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.brand{display:flex;align-items:center;gap:10px;padding:10px 16px 4px;font-weight:700;font-size:1.1rem}.brand-mark{background:var(--brand);color:var(--brand-ink);border-radius:8px;padding:2px 8px;letter-spacing:.06em;font-size:.9rem}.nav{display:flex;gap:4px;overflow-x:auto;padding:4px 10px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav a{flex:0 0 auto;min-height:40px;display:flex;align-items:center;padding:0 14px;border-radius:999px;color:var(--ink);font-weight:600;font-size:.95rem}.nav a:hover{text-decoration:none;background:var(--brand-soft)}.nav a.active{background:var(--brand);color:var(--brand-ink)}.demo-banner{background:var(--warn-soft);color:var(--warn);font-size:.82rem;padding:6px 16px;text-align:center}.main{flex:1;padding:16px;max-width:1180px;width:100%;margin:0 auto;padding-bottom:calc(40px + env(safe-area-inset-bottom))}@media(min-width:1000px){.shell{flex-direction:row}.topbar{position:sticky;top:0;height:100vh;width:232px;border-right:1px solid var(--line);border-bottom:0;display:flex;flex-direction:column;flex:0 0 232px}.brand{padding:20px 18px 14px;font-size:1.25rem}.nav{flex-direction:column;overflow:visible;padding:4px 10px}.nav a{border-radius:10px}.content{flex:1;min-width:0}.main{padding:28px 32px 60px}}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.page-actions,.card-actions,.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.span-all{grid-column:1 / -1}.empty{color:var(--muted);padding:18px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);margin:0}.stat{padding:14px 16px}.stat .label{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.stat .value{font-size:1.7rem;font-weight:700;line-height:1.2}.stat .sub{color:var(--muted);font-size:.85rem}.stat.bad .value{color:var(--bad)}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;min-height:var(--tap);padding:8px 12px;width:100%}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:1px}input:disabled,select:disabled,textarea:disabled{background:var(--bg);color:var(--muted)}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:.82rem;font-weight:600;color:var(--muted)}.field-hint{font-size:.8rem;color:var(--muted)}.field-error{font-size:.82rem;color:var(--bad)}.btn{font:inherit;font-weight:600;min-height:var(--tap);padding:0 18px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;touch-action:manipulation}.btn:hover{background:var(--brand-soft);text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn-primary:hover{background:var(--brand);filter:brightness(1.08)}.btn-danger{color:var(--bad)}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{min-height:40px;padding:0 12px;font-size:.9rem}.numinput{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-height:var(--tap);overflow:hidden}.numinput:focus-within{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent)}.numinput input{border:0;border-radius:0;min-height:calc(var(--tap) - 2px);text-align:right;outline:0;background:transparent}.numinput .affix{padding:0 8px;color:var(--muted);background:var(--bg);align-self:stretch;display:flex;align-items:center;white-space:nowrap}.numinput.has-error{border-color:var(--bad)}.search{max-width:420px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--bg);color:var(--muted);border:1px solid var(--line);white-space:nowrap}.badge-draft{background:var(--bg)}.badge-sent{background:var(--brand-soft);color:var(--brand);border-color:transparent}.badge-accepted,.badge-active,.badge-ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge-rejected,.badge-urgent,.badge-bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}.badge-superseded,.badge-prospect,.badge-warn,.badge-high{background:var(--warn-soft);color:var(--warn);border-color:transparent}.table-wrap{overflow-x:auto;margin:0 -4px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--brand-soft)}td.num,th.num{text-align:right}.builder{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}.builder>*{min-width:0}@media(min-width:1100px){.builder{grid-template-columns:minmax(0,1fr) 340px}.summary{position:sticky;top:16px}}.picker{position:relative}.picker-results{border:1px solid var(--line);border-radius:10px;margin-top:6px;max-height:320px;overflow:auto;background:var(--surface)}.picker-results button{display:flex;width:100%;justify-content:space-between;gap:10px;text-align:left;min-height:var(--tap);padding:8px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;cursor:pointer;align-items:center}.picker-results button:hover{background:var(--brand-soft)}.line{border:1px solid var(--line-strong);border-left:5px solid var(--line-accent);border-radius:var(--radius);padding:0 14px 14px;margin-bottom:18px;background:var(--surface);box-shadow:0 1px 2px #1018280f,0 2px 8px #1018280f;container-type:inline-size;min-width:0;overflow:hidden}.line.alt{background:var(--line-alt)}.line.has-error{border-color:var(--bad)}.line.sqm-low{border-color:var(--bad);border-left-color:var(--bad);box-shadow:0 0 0 2px var(--bad-soft)}.notice.sqm-alert{border:2px solid var(--bad);font-weight:600}.notice.sqm-alert ul{font-weight:500}.line-head{display:flex;align-items:center;gap:10px;margin:0 -14px 12px;padding:8px 14px;background:var(--line-head);border-bottom:1px solid var(--line-strong);min-width:0}.line-no{flex:none;display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;background:var(--brand);color:var(--brand-ink);font-weight:700;font-size:.9rem}.line-kind{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-head-total{margin-left:auto;font-weight:700;white-space:nowrap}.line-main{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.line-main>*{min-width:0}.line-main .desc{grid-column:1 / -1}.line-main input,.line-main .numinput{min-width:0;max-width:100%}@container (min-width: 760px){.line-main{grid-template-columns:minmax(0,1fr) 80px 72px minmax(90px,110px) minmax(100px,124px)}.line-main .desc{grid-column:auto}}.line-total{text-align:right;font-weight:700;font-size:1.05rem;overflow-wrap:anywhere}.extras .extra-row{display:grid;gap:8px 10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 0;border-bottom:1px dashed var(--line);align-items:end}.extras .extra-row>*{min-width:0}.extras .extra-row>.x-wide,.extras .extra-row>.x-size{grid-column:1 / -1}.x-size-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center}.extras .extra-row select,.extras .extra-row input{width:100%;min-width:0}.extra-remove{justify-self:start}@container (min-width: 700px){.extras .extra-row{grid-template-columns:repeat(6,minmax(0,1fr))}.extras .extra-row>.x-wide,.extras .extra-row>.x-size{grid-column:span 3}.extras .extra-row>.x-applies,.extras .extra-row>.x-money{grid-column:span 2}}.line-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}.line-detail{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:grid;gap:12px}.pricing-fields{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.pricing-fields label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:var(--muted)}.pricing-driver{grid-column:1 / -1;font-size:.82rem;margin:0}.totals{width:100%}.totals div{display:flex;justify-content:space-between;padding:6px 0}.totals .grand{border-top:2px solid var(--ink);margin-top:6px;padding-top:10px;font-size:1.3rem;font-weight:800}.notice{padding:10px 14px;border-radius:10px;background:var(--warn-soft);color:var(--warn);margin-bottom:12px;font-size:.92rem}.notice.bad{background:var(--bad-soft);color:var(--bad)}.notice.ok{background:var(--ok-soft);color:var(--ok)}.notice.info{background:var(--brand-soft);color:var(--brand)}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.column{flex:0 0 272px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:10px;scroll-snap-align:start}.column-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:8px;gap:6px}.column-head .dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.jobcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}.jobcard.overdue{border-color:var(--bad)}.jobcard .title{font-weight:700;display:block;color:var(--ink)}.jobcard .meta{font-size:.85rem;color:var(--muted)}.jobcard .moves{display:flex;gap:6px;margin-top:8px}.jobcard .moves .btn{flex:1}.tabs{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.tabs button{font:inherit;font-weight:600;min-height:42px;padding:0 16px;border:0;background:transparent;color:var(--ink);cursor:pointer}.tabs button.on{background:var(--brand);color:var(--brand-ink)}.bars{display:flex;gap:10px;align-items:flex-end;height:140px;padding-top:8px}.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:36px}.bar-track{flex:1;width:100%;display:flex;align-items:flex-end;min-height:0}.bar-track>div{width:100%;background:var(--brand);border-radius:6px 6px 0 0;min-height:3px}.discount-fields .row{flex-wrap:nowrap}.discount-fields .row select{width:84px;flex:none}.discount-fields .row .numinput{flex:1;min-width:0}.bar small{color:var(--muted);font-size:.75rem;margin-top:4px}.bar span{font-size:.75rem;font-weight:700}.checklist label{display:flex;align-items:center;gap:10px;min-height:var(--tap)}.checklist input[type=checkbox]{width:24px;height:24px;min-height:0;flex:none}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:8px 0;border-bottom:1px solid var(--line);display:flex;gap:12px}.timeline time{color:var(--muted);font-size:.82rem;min-width:96px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e168c;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius);padding:18px;width:100%;max-width:640px;border:1px solid var(--line)}.toasts{position:fixed;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:60;pointer-events:none;padding:0 12px}.toast{pointer-events:auto;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:12px;box-shadow:0 6px 24px #00000040;max-width:560px}.toast.error{background:var(--bad);color:#fff}.paper{background:#fff;color:#161b26;border:1px solid var(--line);border-radius:6px;padding:28px;max-width:820px;margin:0 auto 20px;box-shadow:0 2px 14px #00000014}.paper h1{font-size:1.7rem}.paper table th{color:#5d6677}.paper .paper-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid #dde2ea;padding-bottom:14px;margin-bottom:16px}.paper .logo{background:#17397a;color:#fff;font-weight:800;padding:10px 14px;border-radius:6px;letter-spacing:.08em}.paper .small{font-size:.82rem;color:#5d6677;white-space:pre-wrap}.paper .grand{background:#17397a;color:#fff;padding:8px 12px;border-radius:6px;font-weight:700}@media print{.topbar,.demo-banner,.page-head,.no-print,.toasts{display:none!important}body,.main{background:#fff;padding:0;margin:0;max-width:none}.paper{border:0;box-shadow:none;padding:0}}.small{font-size:.82rem}.calc-wrap{container-type:inline-size}.calc{display:grid;gap:16px;grid-template-columns:1fr;align-items:start}@container (min-width: 860px){.calc{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.calc-result{position:sticky;top:12px}}.calc fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 12px;min-width:0}.calc legend{font-weight:700;padding:0 6px;font-size:.92rem}.calc-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.calc-result{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.calc-section{margin-top:12px;display:grid;gap:6px}.calc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.calc-actions .btn-primary{flex:1 1 200px}.tiles{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:8px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}.tile span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tile strong{font-size:1.15rem}.tile.strong{border-color:var(--brand)}.tile.strong strong{color:var(--brand);font-size:1.3rem}.tile.bad{border-color:var(--bad)}.tile.bad strong{color:var(--bad)}.desc-box{min-height:130px;font-size:.95rem}.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-height:var(--tap)}.seg button{flex:1;font:inherit;font-weight:600;border:0;background:var(--surface);color:var(--ink);cursor:pointer;padding:0 8px}.seg button.on{background:var(--brand);color:var(--brand-ink)}.seg button:disabled{cursor:default;opacity:.7}.fin-group{margin-bottom:8px}.fin-row{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.fin-row .check{flex:1 1 200px}.fin-row>.numinput{flex:0 0 160px}.fin-row>.field-hint{flex:1 1 100%;text-align:right}.check{display:flex;align-items:center;gap:10px;min-height:var(--tap);cursor:pointer}.check input{width:24px;height:24px;min-height:0;flex:none}.kv{margin:0;display:grid;gap:4px}.kv div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;font-size:.88rem}.kv dt{color:var(--muted)}.kv dd{margin:0}.breakdown td{padding:6px 8px;font-size:.88rem}.breakdown tr.group td{font-weight:700;background:var(--surface)}.breakdown tr.sub td:first-child{padding-left:18px}.breakdown tr.total td{border-top:2px solid var(--line)}.panels{display:grid;gap:10px;margin-top:12px}.panels svg{width:100%;max-height:220px;background:var(--surface);border-radius:8px}.panel-outline{fill:none;stroke:var(--ink);stroke-width:.6%;vector-effect:non-scaling-stroke}.panel-cell{fill:var(--brand-soft);stroke:var(--brand);stroke-width:2;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.panel-no{fill:var(--brand);font-weight:800}.calc-line{border-left-color:var(--brand)}.calc-line.new{border-style:dashed;border-left-style:solid}.calc-desc{white-space:pre-line;font-size:.95rem;line-height:1.4}.calc-desc:first-line{font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{font-size:.78rem;background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:2px 10px;font-weight:600}.viewer{margin:auto 10px 14px;display:grid;gap:4px;font-size:.82rem;color:var(--muted)}.viewer select{min-height:40px;font-size:.9rem}@media(max-width:999px){.viewer{display:flex;align-items:center;margin:0 16px 8px}.viewer select{width:auto}}.spec{display:grid;gap:4px;margin:8px 0}.spec div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px}.spec dt{color:var(--muted);font-size:.85rem}.spec dd{margin:0}.ticket-item{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.ticket-item h3{white-space:pre-line}.setup-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:12px 0;border-bottom:1px solid var(--line);align-items:end}.setup-row:last-child{border-bottom:0}.setup-row .wide{grid-column:span 2}@media print{.viewer,.line-tools,.calc-actions{display:none!important}.ticket-item{break-inside:avoid}}.setup-summary{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;text-align:left;min-height:var(--tap);padding:10px;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.setup-summary:hover{background:var(--brand-soft)}.pl-layout{display:grid;gap:16px;grid-template-columns:1fr;align-items:start;margin-bottom:16px}@media(min-width:1000px){.pl-layout{grid-template-columns:270px minmax(0,1fr)}.pl-tree{position:sticky;top:16px}}.pl-layout .card{margin-bottom:0}.pl-tree{padding:8px}.pl-node{display:flex;width:100%;justify-content:space-between;align-items:center;gap:8px;text-align:left;min-height:44px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.pl-node:hover{background:var(--brand-soft)}.pl-node.list{font-weight:700}.pl-node.cat{padding-left:26px;font-size:.95rem}.pl-node.on{background:var(--brand-soft);color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.pl-cat-tools{padding:8px 4px 4px;border-top:1px solid var(--line);margin-top:6px}.pl-cat-tools input{min-height:40px;flex:1;min-width:0}.pl-details{border-top:1px solid var(--line);margin-top:8px;padding:8px 4px 0}.pl-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:10px;color:var(--muted)}.pl-breadcrumb strong{color:var(--ink)}.pl-toolbar{margin-bottom:10px}.pl-toolbar .search{flex:1 1 180px}.parts-table td{padding:10px 8px;font-size:.92rem}.parts-table tr.inactive td{color:var(--muted)}.parts-table tr.group-row td{background:var(--bg);font-weight:700;padding:6px 8px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px}.dot.on{background:var(--ok)}.dot.off{background:var(--line);border:1px solid var(--muted)}.import-cats{border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 12px}.import-cats legend{font-weight:700;padding:0 6px}.import-cats .row{grid-column:1 / -1;padding:4px 0}details summary{cursor:pointer}.cut-panel{flex:1 1 100%;display:grid;gap:10px;margin:4px 0 10px 34px;padding:10px;border-left:3px solid var(--brand);background:var(--bg);border-radius:0 8px 8px 0}.cut-panel .calc-grid,.calc-grid{align-items:start}.task{border-bottom:1px solid var(--line);padding:8px 0}.task:last-of-type{border-bottom:0}.task-main{display:flex;align-items:center;gap:8px;justify-content:space-between}.task-main .check{flex:1}.task.done .task-text{text-decoration:line-through;color:var(--muted)}.task-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.85rem;color:var(--muted);padding-left:34px}.task-meta .bad{color:var(--bad);font-weight:700}.task-edit,.task-add{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:center;margin-top:8px}.task-edit{padding-left:34px}.task-add{border-top:1px dashed var(--line);padding-top:10px}.task-add input[aria-label="New task"]{grid-column:1 / -1}.card-bad{border-color:var(--bad)}.rate-block{border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:8px}.costing{display:grid;gap:8px 12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:8px 0 10px;align-items:end}.costing-result{grid-column:1 / -1;margin:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.vehicle-table{border-collapse:collapse;min-width:640px;width:100%}.vehicle-table th,.vehicle-table td{border:1px solid var(--line);padding:6px;vertical-align:top}.vehicle-table input{width:100%;min-width:0}.vehicle-table td .numinput{margin-bottom:4px}.vehicle-table thead th{background:var(--line-head)}.vehicle-spec{margin:4px 0 0;padding-left:18px}.seg{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:8px}:root{--note-default: #ffffff;--note-yellow: #fff6c7;--note-green: #e2f5e3;--note-blue: #e0edfc;--note-pink: #fde4ec;--note-orange: #ffe9d4;--note-purple: #efe5fb;--note-grey: #eceff3}@media(prefers-color-scheme:dark){:root{--note-default: #181e2a;--note-yellow: #3b3415;--note-green: #183424;--note-blue: #172c47;--note-pink: #3d1d2a;--note-orange: #3d2a17;--note-purple: #2c2142;--note-grey: #262d39}}.note-default{background:var(--note-default)}.note-yellow{background:var(--note-yellow)}.note-green{background:var(--note-green)}.note-blue{background:var(--note-blue)}.note-pink{background:var(--note-pink)}.note-orange{background:var(--note-orange)}.note-purple{background:var(--note-purple)}.note-grey{background:var(--note-grey)}.me-picker{display:inline-flex;align-items:center;gap:8px}.me-picker select{width:auto;min-width:160px}.composer{max-width:620px;margin:0 auto;border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 12px;box-shadow:0 1px 6px #10182814;display:grid;gap:8px}.composer textarea,.composer input,.note-editor textarea,.note-editor input:not([type=checkbox]){border:0;background:transparent;box-shadow:none;resize:vertical;padding:4px 2px;min-height:0}.composer-title{font-weight:700;font-size:1.05rem}.composer-actions{gap:8px}.swatches{display:inline-flex;gap:6px;flex-wrap:wrap}.swatch{width:26px;height:26px;min-height:26px;padding:0;border-radius:50%;border:2px solid var(--line-strong);cursor:pointer}.swatch.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.board-head{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 4px 8px}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;align-items:start}.note{min-width:0;margin:0;border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 12px 6px;box-shadow:0 1px 3px #1018280f}.note-head{display:flex;align-items:flex-start;gap:6px}.note-head h3{margin:0;font-size:1rem;flex:1;overflow-wrap:anywhere}.pin{margin-left:auto;border:0;background:transparent;font-size:1.2rem;min-height:32px;padding:0 4px;cursor:pointer;color:var(--muted)}.pin.on{color:var(--warn)}.note-text{white-space:pre-wrap;margin:6px 0;cursor:text;overflow-wrap:anywhere}.note-items{list-style:none;padding:0;margin:6px 0;display:grid;gap:2px}.note-items li.done span{text-decoration:line-through;color:var(--muted)}.note-items.edit li{display:flex;gap:8px;align-items:center}.note-items.edit input:not([type=checkbox]){flex:1}.note-items .plus{width:22px;text-align:center;color:var(--muted)}.note-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}.people{display:inline-flex;margin-left:auto}.avatar{width:26px;height:26px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-size:.7rem;font-weight:700;display:inline-grid;place-items:center;margin-left:-6px;border:2px solid var(--surface)}.avatar.me{background:var(--ok)}.note-actions{display:flex;flex-wrap:wrap;gap:0;margin:0 -8px}.note-actions .btn{min-height:34px;padding:0 8px}.note-actions .danger{color:var(--bad)}.note-editor{border-radius:var(--radius);padding:10px;border:1px solid var(--line-strong);display:grid;gap:8px}.people-pick{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0}.cal-bar{margin-bottom:8px;gap:8px}.cal-title{font-size:1.1rem}.seg-buttons{display:inline-flex;gap:4px}.cal-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:6px 0 12px;font-size:.8rem}.legend:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;background:var(--ev);vertical-align:-1px}.ev-installation{--ev: #2563eb}.ev-meeting{--ev: #8b5cf6}.ev-survey{--ev: #0d9488}.ev-delivery,.ev-collection{--ev: #d97706}.ev-holiday{--ev: #6b7280}.ev-other{--ev: #64748b}.ev-task{--ev: #db2777}.ev-note{--ev: #ca8a04}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}@media(max-width:900px){.cal-week{grid-template-columns:minmax(0,1fr)}}.cal-day{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:6px;min-height:140px;display:flex;flex-direction:column;gap:6px;min-width:0}.cal-day.today{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.cal-day-add{width:100%;display:flex;align-items:baseline;gap:6px;border:0;background:transparent;padding:2px 4px;min-height:32px;cursor:pointer;color:var(--ink)}.cal-day-add .plus{margin-left:auto;color:var(--muted)}.cal-day.today .cal-day-add strong{color:var(--brand)}.cal-entry{display:grid;gap:1px;text-align:left;width:100%;border:0;border-left:4px solid var(--ev);background:color-mix(in srgb,var(--ev) 12%,var(--surface));border-radius:8px;padding:6px 8px;color:var(--ink);text-decoration:none;cursor:pointer;font:inherit;min-height:0;min-width:0}.cal-entry.done{opacity:.55}.cal-time{font-size:.75rem;font-weight:700;color:var(--muted)}.cal-what{font-weight:600;font-size:.9rem;overflow-wrap:anywhere}.cal-sub{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-month-head{font-size:.75rem;font-weight:700;color:var(--muted);padding:4px}.cal-cell{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:96px;padding:4px;display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.cal-cell.other{opacity:.5}.cal-cell.today{border-color:var(--brand)}.cal-cell-date{align-self:flex-start;border:0;background:transparent;font-weight:700;min-height:26px;padding:0 4px;cursor:pointer;color:var(--ink)}.cal-dot,.cal-more{border:0;text-align:left;font-size:.72rem;padding:2px 4px;border-radius:4px;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;background:color-mix(in srgb,var(--ev, #64748b) 16%,var(--surface));color:var(--ink);border-left:3px solid var(--ev, #64748b)}.cal-more{background:transparent;border:0;color:var(--brand)}.display{--d-bg: #0b1220;--d-panel: #131c2e;--d-ink: #f2f5fa;--d-muted: #9aa6bb;min-height:100vh;height:100vh;display:flex;flex-direction:column;background:var(--d-bg);color:var(--d-ink);padding:14px 18px;gap:12px;overflow:hidden;font-size:clamp(14px,1.15vw,22px)}.display-top{display:flex;align-items:center;gap:16px}.display-top h1{margin:0;font-size:1.6em}.display-date{color:var(--d-muted);font-size:1.1em;margin-left:auto}.display-clock{font-size:2.2em;font-weight:800;font-variant-numeric:tabular-nums}.display-exit{color:var(--d-muted);font-size:.8em;text-decoration:none;border:1px solid #2b3650;border-radius:8px;padding:4px 10px}.display-split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px}@media(orientation:portrait){.display-split{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,3fr) minmax(0,2fr)}}.display-jobs,.display-cal{min-height:0;overflow:auto;background:var(--d-panel);border-radius:14px;padding:12px}.display-stages{display:grid;gap:12px;align-items:start}.display-stage h2,.display-day h2{margin:0 0 10px;font-size:1.05em;padding-bottom:6px;border-bottom:4px solid #2b3650;display:flex;align-items:center;gap:8px}.display-stage .count{margin-left:auto;background:#2b3650;border-radius:999px;padding:0 10px}.display-job{background:#1b263c;border-radius:10px;padding:10px 12px;margin-bottom:10px;border-left:8px solid #2563eb}.display-job.overdue{box-shadow:inset 0 0 0 2px #ef4444}.display-job.soon{box-shadow:inset 0 0 0 2px #f59e0b}.display-job-head{display:flex;align-items:center;gap:8px;font-size:1.25em}.prio{margin-left:auto;font-size:.6em;font-weight:800;background:#b91c1c;color:#fff;border-radius:6px;padding:2px 8px;letter-spacing:.05em}.prio-high .prio{background:#c2410c}.display-cust{font-weight:700;margin-top:2px}.display-desc{color:var(--d-muted);margin:2px 0 6px;overflow-wrap:anywhere}.display-dates{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.85em;color:var(--d-muted)}.display-dates .bad{color:#fca5a5;font-weight:800}.display-dates .warn{color:#fcd34d;font-weight:700}.display-empty{color:var(--d-muted);margin:0 0 12px}.display-day{margin-bottom:14px}.display-day.today h2{border-color:#3b82f6;font-size:1.3em}.display .cal-entry{--surface: #1b263c;--ink: #f2f5fa;--muted: #b5c0d3;margin-bottom:8px;cursor:default;padding:8px 12px}.display .cal-entry.big .cal-what{font-size:1.1em}.display .cal-time,.display .cal-sub{font-size:.85em}.display .cal-legend{color:var(--d-muted);margin-top:8px}.pf-summary{display:flex;flex-wrap:wrap;gap:4px 18px}.pf-table{width:100%;border-collapse:collapse}.pf-table th,.pf-table td{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line);vertical-align:top}.pf-table .num{text-align:right}.pf-table tr.cancelled td{color:var(--muted);text-decoration:line-through}.pf-table tr.cancelled td.pf-actions,.pf-table tr.cancelled td:nth-child(4){text-decoration:none}.pf-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.pf-preview{max-width:320px;margin:12px 0 0 auto}.display-job{cursor:pointer}.display-job.picked{box-shadow:inset 0 0 0 3px #60a5fa}.display-move{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.display-move-btn{flex:1 1 auto;min-height:56px;border-radius:10px;border:0;font:inherit;font-weight:700;font-size:.95em;padding:8px 14px;cursor:pointer;color:#fff;background:#334155}.display-move-btn.next{background:#2563eb}.display-move-btn.cancel{flex:0 0 auto;background:transparent;border:1px solid #475569;color:#cbd5e1}.plain-fieldset{border:0;padding:0;margin:0;min-width:0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:min(420px,100%);background:var(--surface);border-radius:16px;padding:28px;box-shadow:0 10px 40px #0f172a1f}.login-card h1{margin:0 0 4px;font-size:1.5rem}.login-card .brand-mark{margin-right:8px}.login-card label{display:block;margin-top:14px;font-weight:600}.login-card input{width:100%;margin-top:6px}.login-card .btn{width:100%;margin-top:18px}.live-user{display:flex;align-items:center;gap:10px;font-size:.9rem;white-space:nowrap}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);display:inline-block}.live-dot.saving{background:var(--warn)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#0a0e1699;display:flex;justify-content:center;align-items:stretch;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.sheet{background:var(--surface);width:100%;max-width:1240px;border-radius:var(--radius);border:1px solid var(--line-strong, var(--line));display:flex;flex-direction:column;min-height:0;box-shadow:0 24px 64px #00000059;animation:sheet-in .18s ease-out}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}.sheet-head h2{margin:0;font-size:1.1rem}.sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 18px 24px}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}@media(max-width:600px){.sheet-backdrop{padding:0}.sheet{border-radius:0;border:0}}@media(min-width:1000px){.topbar{overflow-y:auto}.live-user{flex-wrap:wrap;white-space:normal;gap:8px;margin-top:auto;padding:14px 12px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.live-user>span:not(.live-dot){flex:1 1 0;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-user .btn{flex:1 1 auto;justify-content:center;white-space:nowrap;padding-inline:10px}.live-user .live-dot{flex:0 0 auto}.live-user:after{content:"";order:1;flex-basis:100%;height:0}.live-user .btn{order:2}}.brand-logo{display:block;height:36px;width:auto;color:var(--logo)}@media(min-width:1000px){.brand-logo{height:auto;width:150px}}.login-logo{margin:4px 0 14px;line-height:0;text-align:center}.login-logo svg{display:inline-block;width:180px;height:auto;color:var(--logo)}.login-sub{text-align:center;margin:0 0 8px}.login-card [role=status] .muted,.login-card>.muted:last-child{text-align:center}.display-logo{height:38px;width:auto;color:var(--logo);flex:0 0 auto}.check{display:flex;align-items:flex-start;gap:10px;min-height:36px;padding:4px 0;font-weight:500}.check input[type=checkbox]{width:22px;height:22px;min-height:0;flex:none;margin-top:1px}.email-form{display:grid;gap:12px}.email-files,.email-options{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:var(--radius)}.email-file{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.email-file-name{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}.email-add{justify-self:start;cursor:pointer;position:relative}.email-log{padding:10px 0;border-bottom:1px solid var(--line)}.email-log:last-child{border-bottom:0}.email-log-head{margin:0 0 4px;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;overflow-wrap:anywhere}.email-log-files{margin:2px 0;display:flex;flex-wrap:wrap;gap:4px 12px}.linkish{background:none;border:0;padding:0;min-height:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}.email-answer{margin:6px 0 0;padding:6px 10px;border-radius:8px;background:var(--bg);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.email-answer.approved,.email-answer.accepted{background:var(--ok-soft)}.email-answer.changes{background:var(--warn-soft)}.email-answer-comment{flex-basis:100%;white-space:pre-wrap}.respond{min-height:100vh;background:var(--bg)}.respond-head{background:var(--surface);border-bottom:1px solid var(--line);padding:calc(14px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left));display:flex;justify-content:center}.respond-logo{height:46px;width:auto;color:var(--logo)}.respond-main{max-width:760px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:grid;gap:14px}.respond-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;gap:10px}.respond-card h1{margin:0;font-size:1.45rem;text-wrap:balance}.respond-card h2{margin:0;font-size:1.1rem}.respond-card>p{margin:0}.respond-eyebrow{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.respond-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:4px 0 0}.respond-totals div{background:var(--bg);border-radius:10px;padding:10px 12px}.respond-totals dt{font-size:.8rem;color:var(--muted)}.respond-totals dd{margin:2px 0 0;font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums}.respond-totals div:first-child dd{font-size:1.4rem;color:var(--brand)}.respond-files{margin:0;padding-left:18px}.respond-artwork{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.respond-art{display:grid;gap:6px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--bg)}.respond-art img{width:100%;aspect-ratio:4 / 3;object-fit:contain;background:#fff;border-radius:6px;max-width:100%}.respond-art-icon{display:grid;place-items:center;aspect-ratio:4 / 3;border-radius:6px;background:var(--brand-soft);color:var(--brand);font-weight:800;letter-spacing:.06em}.respond-art-name{font-size:.85rem;overflow-wrap:anywhere}.respond-actions{display:flex;flex-wrap:wrap;gap:10px}.respond-actions .btn{flex:1 1 180px;min-height:48px}.respond-agree{font-weight:500}.respond-contact{text-align:center;margin:8px 0 0;font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;opacity:0}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 14px}.step{min-width:0;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;cursor:pointer;background:var(--surface);min-height:48px}.step input[type=checkbox]{width:24px;height:24px;min-height:0;flex:none;margin:0;accent-color:var(--ok)}.step.done{background:var(--ok-soft);border-color:transparent}.step-text{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.step-name{font-weight:700}.step-who{font-size:.78rem;color:var(--muted)}.steps-big{margin:10px 0 0;grid-template-columns:minmax(0,1fr);gap:6px}.steps-big .step{min-height:56px;font-size:1.05rem}.steps-big .step input[type=checkbox]{width:28px;height:28px}.step-dots{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0}.step-dot{font-size:.75rem;font-weight:700;color:var(--ok);background:var(--ok-soft);border-radius:999px;padding:1px 8px}.respond-proofs{display:grid;gap:14px}.respond-proof{margin:0;display:grid;gap:8px}.respond-proof-view{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}.respond-proof-view img{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain;max-width:100%}.respond-proof-pdf{width:100%;height:70vh;border:1px solid var(--line);border-radius:10px;background:#fff}.respond-proof figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;overflow-wrap:anywhere}.respond-ref{font-size:1.6rem}.respond-sub{margin:0;color:var(--muted)}.respond-quote-link{justify-self:start}.locked-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.locked-banner>span{flex:1 1 280px}.locked-banner .btn{flex:0 0 auto;white-space:nowrap}.outlook-steps{margin:0;padding-left:20px;line-height:1.6}.outlook-preview pre{white-space:pre-wrap;word-break:break-word;font:inherit;font-size:13px;background:var(--surface-2, rgba(127,127,127,.08));border-radius:8px;padding:10px 12px;margin:6px 0 0;max-height:260px;overflow:auto}.outlook-preview summary{cursor:pointer;font-weight:600}.outlook-confirm{border-top:1px solid var(--border, rgba(127,127,127,.25));padding-top:12px}.inv-lines{margin:12px 0 4px}.inv-lines td,.inv-lines th{font-size:.9rem}.inv-summary{margin-top:4px}.text-bad{color:var(--bad, #b42318)}.xero-box{margin-top:14px;padding-top:12px;border-top:1px solid var(--border, rgba(127,127,127,.25))}.batch-bar{justify-content:space-between;align-items:center;margin:4px 0 10px}.xero-posted{color:var(--ok, #067647);font-weight:600}.connected-app{padding:4px 0}.paper-logo{width:150px;height:auto;color:#17397a;display:block}.order-list{list-style:none;margin:0;padding:0}.order-row{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border, rgba(127,127,127,.2))}.order-row:last-child{border-bottom:0}.order-row.ordered .order-what strong{text-decoration:line-through;opacity:.7}.order-row.cancelled{opacity:.55}.order-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.job-bag h3{margin:16px 0 6px}.job-bag-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:0}.job-bag-files{list-style:none;padding:0;margin:0}.job-bag-files li{padding:6px 0;border-bottom:1px solid var(--border, rgba(127,127,127,.2));display:flex;flex-wrap:wrap;gap:6px;align-items:center}.job-bag-items{padding-left:20px;margin:0}.job-bag-items li{margin-bottom:8px}.steps .job-bag-btn{align-self:flex-start}.install-wizard fieldset{margin-bottom:12px}.install-preview{margin-top:14px}.install-customer{display:flex;justify-content:space-between;gap:12px;font-size:1.05rem;padding:10px 12px;margin:6px 0 10px;border-radius:8px;background:var(--surface-2, rgba(127,127,127,.08))}.install-parts td{padding:6px 4px}.po-lines input{width:100%}.po-lines td{vertical-align:top}.po-add h3{margin:16px 0 6px}.po-items{list-style:none;padding:0;margin:6px 0 0;max-height:300px;overflow:auto}.po-items li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border, rgba(127,127,127,.2))}a.btn.disabled{pointer-events:none;opacity:.5}.ask-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;border:0;border-radius:999px;padding:12px 18px;background:#17397a;color:#fff;font-weight:600;box-shadow:0 6px 20px #0003;cursor:pointer}.ask-panel{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;width:min(420px,calc(100vw - 32px));height:min(560px,calc(100vh - 120px));display:flex;flex-direction:column;background:var(--surface, #fff);border:1px solid var(--border, rgba(127,127,127,.25));border-radius:14px;box-shadow:0 12px 40px #00000040}.ask-panel header,.ask-panel footer{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.ask-panel header{flex-direction:row;align-items:center;border-bottom:1px solid var(--border, rgba(127,127,127,.2))}.ask-panel footer{border-top:1px solid var(--border, rgba(127,127,127,.2))}.ask-panel footer textarea{width:100%;resize:none}.ask-msgs{flex:1;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.ask-msg{white-space:pre-wrap;padding:8px 10px;border-radius:10px;max-width:92%;line-height:1.45}.ask-msg.user{align-self:flex-end;background:#17397a;color:#fff}.ask-msg.assistant{align-self:flex-start;background:var(--surface-2, rgba(127,127,127,.1))}.qtabs{display:flex;gap:4px;align-items:flex-end;overflow-x:auto;border-bottom:2px solid var(--border, rgba(127,127,127,.25));margin-bottom:12px;-webkit-overflow-scrolling:touch}.qtab{display:flex;align-items:center;flex:0 0 auto;border:1px solid var(--border, rgba(127,127,127,.25));border-bottom:0;border-radius:10px 10px 0 0;background:var(--surface-2, rgba(127,127,127,.06))}.qtab.on{background:var(--surface, #fff);border-top:3px solid #e2531f;margin-bottom:-2px}.qtab-name{border:0;background:none;padding:10px 6px 10px 14px;font:inherit;font-weight:600;color:inherit;cursor:pointer;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.qtab.on .qtab-name{color:#e2531f}.qtab-x{border:0;background:none;padding:10px 12px 10px 4px;font-size:1.1rem;line-height:1;color:var(--muted, #667);cursor:pointer}.qtab-add{flex:0 0 auto;border:0;background:none;font-size:1.4rem;padding:6px 14px;cursor:pointer;color:inherit}.qtab-picker{padding:12px;margin-bottom:12px}.qtab-picker input{width:100%}.qtab-list{list-style:none;margin:0;padding:0;columns:2 240px}.qtab-list li{padding:5px 0;break-inside:avoid;display:flex;flex-direction:column}.qcust{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;padding:14px 16px;margin-bottom:12px}.qcust h2{margin:0 0 4px;font-size:1.25rem}.qcust h2 a{color:#e2531f;text-decoration:none}.qcust-lines{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 4px}.qcust-pick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1 1 320px;justify-content:flex-end}.qcust-pick select{flex:1 1 260px;min-width:0;max-width:480px}.copy-from input[type=search]{width:100%}.copy-from-quotes,.copy-from-lines{list-style:none;padding:0;margin:8px 0}.copy-from-quotes li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--line, #e3e6ea)}.copy-from-lines li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--line, #e3e6ea)}.copy-from .check{display:flex;gap:8px;align-items:flex-start}.copy-from .check input{margin-top:3px}
