@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--ink:#0f1729;--bg:#f6f8fb;--panel:#ffffff;--line:#e6eaf0;--line-soft:#eef1f6;--muted:#697488;--steel:#475268;--blue:#2563eb;--accent:#4f46e5;--accent-2:#6366f1;--accent-wash:#eef0fe;--mark:#fff7d6;--mark-line:#e7cf7a;--danger:#dc2626;--shadow:0 1px 2px rgba(15,23,41,.04),0 8px 24px -12px rgba(15,23,41,.12);--r:12px;--r-sm:8px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:radial-gradient(1200px 500px at 100% -10%,#eef2fb 0,transparent 60%),var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45;letter-spacing:-.006em}.mono{font-family:JetBrains Mono,monospace}a{color:var(--accent);text-decoration:none}.site-header{background:rgba(255,255,255,.78);-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.head-inner{max-width:1200px;margin:0 auto;padding:14px 28px;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand-mark,.head-inner{display:flex;align-items:center}.brand-mark{gap:13px}.brand-mark .logo{font-weight:800;font-size:16px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));padding:8px 12px;border-radius:10px;box-shadow:0 6px 16px -6px var(--accent)}.brand-mark .sub{font-weight:600;font-size:13px;color:var(--steel)}.head-meta{font-family:JetBrains Mono;font-size:11px;color:var(--muted);text-align:right;line-height:1.6}.admin-shell{max-width:1560px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:212px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.admin-content{min-width:0}.admin-content>.site-header{display:none}.admin-content>main.wrap{max-width:none;margin:0;padding:24px 0 90px}.admin-nav{position:-webkit-sticky;position:sticky;top:84px;padding:20px 0;gap:14px;font-size:13.5px}.admin-nav,.admin-nav-group{display:flex;flex-direction:column}.admin-nav-group{gap:1px}.admin-nav-title{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 10px 5px}.admin-nav a{display:block;padding:7px 10px;border-radius:var(--r-sm);color:var(--steel);font-weight:500}.admin-nav a:hover{background:var(--line-soft);color:var(--ink)}.admin-nav a.on{background:var(--accent-wash);color:var(--accent);font-weight:600}.admin-nav-sub{display:flex;flex-direction:column;gap:1px;margin:2px 0 4px 10px;border-left:2px solid var(--line-soft);padding-left:2px}.admin-nav-sub a{font-size:12.5px;padding:5px 10px}.admin-nav-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft)}@media (max-width:900px){.admin-shell{display:block;padding:0 14px}.admin-nav{position:static;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:10px 0;border-bottom:1px solid var(--line)}.admin-nav,.admin-nav-group{flex-direction:row;gap:2px}.admin-nav-title{display:none}.admin-nav a{white-space:nowrap;padding:8px 11px}.admin-nav-sub{display:none}.admin-nav-foot{margin:0;padding:0;border:none}.admin-content>main.wrap{padding:16px 0 60px}}.home-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:1px;gap:1px;background:var(--line-soft)}.home-card{background:var(--panel);padding:16px 18px;display:flex;flex-direction:column;gap:4px;color:var(--ink);border-left:3px solid transparent}.home-card:hover{background:#fafbfe}.home-card .n{font-family:JetBrains Mono;font-size:26px;font-weight:700;line-height:1}.home-card .l{font-size:13px;color:var(--steel);font-weight:500}.home-card.warn{border-left-color:#e7cf7a}.home-card.error{border-left-color:var(--danger)}.home-card.error .n{color:var(--danger)}.home-card.info{border-left-color:var(--accent-2)}.home-glance{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:1px;gap:1px;background:var(--line-soft)}.home-glance>div{background:var(--panel);padding:14px 18px;display:flex;flex-direction:column;gap:3px}.home-glance .n{font-family:JetBrains Mono;font-size:20px;font-weight:600}.home-glance .l{font-size:12.5px;color:var(--muted)}.quotes-shell{max-width:1560px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:232px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.quotes-shell>main.wrap{max-width:none;margin:0;padding:24px 0 90px;min-width:0}.side-nav a{display:flex;align-items:center;gap:8px}.side-nav .rail-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav .rail-n{font-family:JetBrains Mono;font-size:11px;color:var(--muted)}.side-nav a.on .rail-n{color:var(--accent)}.admin-nav-title .rail-n{margin-left:6px;font-weight:500;letter-spacing:0;text-transform:none}.rail-find{margin:2px 0 6px;padding:7px 10px;font-size:13px;width:100%;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}.rail-find:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.rail-scroll{max-height:calc(100vh - 330px);min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:1px;scrollbar-width:thin}.rail-empty{padding:8px 10px;font-size:12.5px;color:var(--muted)}@media (max-width:900px){.rail-find{display:none}.rail-scroll{max-height:none;flex-direction:row;overflow:visible}}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:20px;gap:20px;align-items:start}.overview-main{display:flex;flex-direction:column;gap:20px;min-width:0}.overview-main .panel{margin-bottom:0}.overview-side{display:flex;flex-direction:column;gap:20px}.overview-side .panel{margin-bottom:0}.top-items{display:flex;flex-direction:column}.top-item{display:flex;align-items:center;gap:12px;padding:9px 16px;border-bottom:1px solid var(--line-soft);color:var(--ink)}.top-item:hover{background:var(--accent-wash)}.top-item:last-child{border-bottom:none}.ti-rank{font-family:JetBrains Mono;font-size:11px;color:var(--muted);width:16px;text-align:right}.ti-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.ti-sku{font-family:JetBrains Mono;font-size:12.5px;font-weight:600;color:var(--accent)}.ti-desc{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ti-n{font-family:JetBrains Mono;font-size:13px;font-weight:600}@media (max-width:1100px){.overview-grid{grid-template-columns:1fr}}@media (max-width:900px){.quotes-shell{display:block;padding:0 14px}.quotes-shell>main.wrap{padding:16px 0 60px}.side-nav .rail-n{display:none}}.catalog-shell{max-width:1560px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:250px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.catalog-shell>main.wrap{max-width:none;margin:0;padding:24px 0 90px;min-width:0}.cat-rail{position:-webkit-sticky;position:sticky;top:84px;padding:24px 0 0;max-height:calc(100vh - 84px);overflow-y:auto;scrollbar-width:thin}.cat-rail-toggle{display:none;width:100%;margin-bottom:10px}.cat-rail-section{padding:12px 0;border-bottom:1px solid var(--line-soft)}.cat-rail-section:first-child{padding-top:0}.cat-rail-title{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.cat-rail-title .link-btn{font-size:11px;text-transform:none;letter-spacing:0;font-weight:500}.cat-search{position:relative}.cat-search .search-input{width:100%;padding-right:30px;box-sizing:border-box}.cat-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;padding:0 4px}.cat-opt{display:flex;align-items:center;gap:9px;padding:5px 6px;margin:0 -6px;border-radius:6px;font-size:13.5px;color:var(--ink);cursor:pointer}.cat-opt:hover{background:var(--line-soft)}.cat-opt.on{color:var(--accent);font-weight:600}.cat-opt.dim{color:var(--muted)}.cat-opt input{margin:0;accent-color:var(--accent)}.cat-opt-label{flex:1 1}.cat-opt-n{font-family:JetBrains Mono;font-size:11px;color:var(--muted);font-weight:500}.cat-price{display:flex;align-items:center;gap:8px}.cat-price input{width:100%;min-width:0;padding:7px 9px;font-size:13px;border:1px solid var(--line);border-radius:var(--r-sm)}.cat-price span{color:var(--muted)}.cat-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 20px;border-bottom:1px solid var(--line-soft);background:#fbfcfe}.cat-chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:4px 11px;font-size:12.5px;cursor:pointer;font-family:Inter}.cat-chip:hover{border-color:var(--accent);color:var(--accent)}@media (max-width:900px){.catalog-shell{display:block;padding:0 14px}.catalog-shell>main.wrap{padding:12px 0 60px}.cat-rail{position:static;max-height:none;overflow:visible;padding:14px 0 0}.cat-rail-toggle{display:block}.cat-rail-body{display:none}.cat-rail.is-open .cat-rail-body{display:block;padding-bottom:10px;border-bottom:1px solid var(--line)}}.site-nav{display:flex;align-items:center;gap:2px;margin-right:auto}.site-nav a{padding:7px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--steel);white-space:nowrap}.site-nav a:hover{background:var(--line-soft);color:var(--ink)}.site-nav a.on{background:var(--accent-wash);color:var(--accent)}.site-nav a.new{border:1px solid var(--line);margin-left:6px;background:var(--panel)}.site-nav a.new.on{border-color:var(--accent-wash)}@media (max-width:768px){.site-nav{order:3;flex-basis:100%;margin:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.site-nav a{padding:8px 11px;font-size:14px}}.head-meta b{color:var(--ink);font-weight:600}main.wrap{max-width:1200px;margin:0 auto;padding:30px 28px 90px}.selectors{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:26px}.sel-group{display:flex;flex-direction:column;gap:7px}.sel-group label{font-size:11px;font-weight:600;color:var(--muted);padding-left:2px}select.big{font-family:Inter;font-size:15px;font-weight:600;color:var(--ink);padding:12px 42px 12px 15px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' stroke='%23697488' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>") no-repeat right 15px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;min-width:220px;box-shadow:var(--shadow)}select.big:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.sel-actions{margin-left:auto;display:flex;gap:9px;align-items:flex-end}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:26px}.panel-head{padding:15px 20px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.panel-head h2{font-size:14px;font-weight:700;margin:0}.panel-head h2:before{content:"";display:inline-block;width:6px;height:6px;border-radius:2px;background:var(--accent);margin-right:9px;vertical-align:middle}.panel-head .meta{font-family:JetBrains Mono;font-size:11px;color:var(--muted);background:var(--line-soft);padding:4px 10px;border-radius:20px}.room-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:1px;gap:1px;background:var(--line-soft)}.room-card{background:var(--panel);padding:14px 15px}.room-card .rc-label{font-size:12px;font-weight:500;color:var(--steel);min-height:34px;margin-bottom:9px;line-height:1.35}.room-card input{width:100%;text-align:center;font-family:JetBrains Mono;font-weight:600;font-size:18px;padding:9px 6px;border:1px solid var(--mark-line);background:var(--mark);border-radius:var(--r-sm);color:var(--ink)}.room-card input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-wash)}button,input,option,select,textarea{font-family:inherit}select{color:var(--ink)}option,select{font-size:13.5px}.state-input{position:relative}.state-input input{text-transform:uppercase}.state-input input::placeholder{text-transform:none}.state-name{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted);pointer-events:none}.state-list{position:absolute;left:0;top:calc(100% + 4px);z-index:30;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 8px 28px rgba(0,0,0,.14);max-height:296px;overflow-y:auto}.state-list button{display:flex;gap:10px;align-items:baseline;width:100%;text-align:left;padding:7px 12px;border:none;background:transparent;cursor:pointer;font-size:13px;color:var(--ink)}.state-list button b{font-family:JetBrains Mono;font-size:12px;min-width:24px;color:var(--accent)}.state-list button span{color:var(--muted)}.state-list button.is-active{background:var(--accent-wash)}.quote-for{gap:14px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--line-soft);background:#fbfcfe}.quote-for,.quote-for label{display:flex;align-items:center}.quote-for label{gap:10px}.quote-for-label{font-size:12.5px;font-weight:600;color:var(--steel);white-space:nowrap}.company-picker{min-width:300px}.company-picker input{width:100%;padding:8px 30px 8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:13.5px;background:#fff;text-transform:none}.company-picker input::placeholder{text-transform:none}.price-hold{font-weight:600;color:var(--ink);margin-bottom:6px}.price-hold.expired{color:#8a5a1f}.price-hold.locked{color:#15803d}@media print{.price-hold{display:none}}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.results-wrap{overflow-x:auto}table.bom{border-collapse:collapse;font-size:11px}table.bom thead th{background:var(--panel);color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:6px 7px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}table.bom thead th.num{text-align:right}table.bom td{padding:6px 7px;border-bottom:1px solid var(--line-soft);vertical-align:middle}table.bom tbody tr:hover{background:#fafbfe}table.bom tbody tr.zero{background:#fcfdff}table.bom tbody tr.zero .desc,table.bom tbody tr.zero .tag{color:#9aa3b2}table.bom tbody tr.has-alt td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.tag{font-family:JetBrains Mono;font-size:9.5px;color:var(--steel);white-space:nowrap}.desc{font-size:10.5px;color:var(--ink);font-weight:500;line-height:1.38;width:100%;min-width:30ch}table.bom td.qty-extra,table.bom td.qty-rooms,table.bom td.tag,table.bom td.total,table.bom th.num,table.bom th.qty-extra,table.bom th.qty-rooms,table.bom th:first-child{white-space:nowrap}.sku-single{color:var(--blue)}.sku-single,select.altsel{font-family:JetBrains Mono;font-size:10px;font-weight:600}select.altsel{color:var(--accent);padding:4px 18px 4px 6px;border:1px solid var(--accent-wash);border-radius:6px;background:var(--accent-wash) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' stroke='%234f46e5' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>") no-repeat right 6px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:100%;max-width:100%;display:block;text-overflow:ellipsis}.alt-note{display:inline-block;font-size:8.5px;color:var(--accent);margin-top:3px;font-weight:600;background:var(--accent-wash);padding:1px 5px;border-radius:20px;white-space:nowrap}table.bom td:nth-child(2) select.altsel{max-width:100%}table.bom td:nth-child(2),table.bom th:nth-child(2){overflow:hidden}table.bom td:nth-child(2) .sku-single{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.32}.total{font-family:JetBrains Mono;font-weight:600;font-size:11.5px;text-align:right;color:#aab2c0;white-space:nowrap}.total.hot{color:var(--ink);font-weight:700}tfoot td{padding:16px;background:#fbfcfe;border-top:1px solid var(--line);font-size:12px;font-weight:600;color:var(--steel)}tfoot td b{font-family:JetBrains Mono}tfoot td.grand-cell{text-align:right;white-space:nowrap;vertical-align:middle}tfoot .grand-stack{display:flex;flex-direction:column;align-items:flex-end;gap:2px}tfoot .grand-label{font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}tfoot .grand{font-family:JetBrains Mono;font-size:19px;font-weight:700;color:var(--accent);letter-spacing:-.01em}.btn,tfoot .grand{white-space:nowrap}.btn{font-family:Inter;font-weight:600;font-size:13px;padding:12px 18px;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;transition:.15s;display:inline-flex;align-items:center;gap:7px;text-decoration:none;line-height:1}a.btn.ghost{color:var(--steel)}a.btn.ghost:hover{color:var(--ink)}a.btn.accent{color:#fff}.btn.accent{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 8px 20px -8px var(--accent)}.btn.accent:hover{filter:brightness(1.06)}.btn.ghost{background:var(--panel);color:var(--steel);border-color:var(--line);box-shadow:var(--shadow)}.btn.ghost:hover{border-color:#cfd6e2;color:var(--ink)}.btn.sm{padding:9px 14px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:32px;width:100%;max-width:400px}.auth-card h1{font-size:20px;margin:0 0 6px}.auth-card p.sub{color:var(--muted);font-size:13px;margin:0 0 22px}.field{margin-bottom:16px}.field label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:6px}.field input,.field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:Inter;font-size:14px;background:#fff}.field textarea{resize:vertical;line-height:1.45;min-height:76px}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.error-msg{background:#fef2f2;border:1px solid #fecaca;color:var(--danger);padding:10px 12px;font-size:13px;margin-bottom:16px}.error-msg,.notice{border-radius:var(--r-sm)}.notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 14px;font-size:13.5px;line-height:1.45;margin:0 0 16px;border:1px solid var(--line);background:var(--panel);color:var(--steel)}.notice .notice-text{flex:1 1 auto;min-width:0}.notice .btn{margin-left:auto}.notice.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.notice.warn{background:#fffbeb;border-color:#fde68a;color:#8a5a1f}.notice.info{background:var(--line-soft);border-color:var(--line);color:var(--steel)}@media print{.notice{display:none!important}}.grand-courtesy{display:block;color:#15803d;font-weight:700;font-size:12px;margin-bottom:2px}.print-only{display:none}@media print{@page{margin:14mm}.no-print,.panel-head .meta,.selectors,.site-header{display:none!important}body{background:#fff}main.wrap{padding:0;max-width:none;display:block}.panel{border:none;box-shadow:none;margin-bottom:10px}table.bom tbody tr.zero{display:none}select.altsel{border:none;background:none;color:#000;font-weight:700;-webkit-appearance:none;-moz-appearance:none;appearance:none}.alt-note{display:none}.total,.total.hot,tfoot td.grand{color:#000}.print-only{display:block}.print-head{border-bottom:2px solid #000;padding-bottom:12px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:flex-end}.print-head .ph-logo{font-weight:800;font-size:19px}.print-head .ph-meta{font-family:JetBrains Mono;font-size:11px;text-align:right;line-height:1.6}.room-card input{border:1px solid #999;background:#fff}table.bom{font-size:10px}table.bom thead th{font-size:8.5px;padding:5px 6px;letter-spacing:.02em}table.bom td{padding:6px;vertical-align:top}.stock-col{display:none!important}.desc{font-size:10px;max-width:none;font-weight:400;word-break:normal;overflow-wrap:anywhere;-webkit-hyphens:none;hyphens:none}table.bom td:nth-child(3){width:auto;min-width:34ch}.tag{font-size:8.5px}.sku-single,select.altsel{font-size:9.5px}select.altsel{padding:0}table.bom td:first-child,table.bom th:first-child{width:8ch}table.bom td:nth-child(2),table.bom th:nth-child(2){width:18ch}table.bom td.qty-extra,table.bom td.qty-rooms,table.bom th.qty-extra,table.bom th.qty-rooms{width:7ch}table.bom td.total,table.bom th.num{width:11ch;font-size:10px}table.bom tbody tr{page-break-inside:avoid}.grand-courtesy{display:block;color:#15803d;font-weight:700;font-size:11px;margin-bottom:2px}}.job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px;padding:16px 20px}@media (min-width:900px){.job-grid{grid-template-columns:1.15fr 1.15fr 1fr .55fr 1.9fr}}.job-grid .field textarea.address-box{min-height:56px;line-height:1.35}.job-grid .field{margin:0}.job-grid .field input,.job-grid .field textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:Inter;font-size:13.5px;background:#fff}.job-grid .field textarea{min-height:38px;resize:vertical}.job-grid .field input:focus,.job-grid .field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--line-soft);background:#fbfcfe}.save-note{font-size:12.5px;color:var(--muted)}.save-note.ok{color:var(--good,#0f9d6a);font-weight:600}.q-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.toggle-row{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px;box-shadow:var(--shadow)}.toggle-row a,.toggle-row button{border:none;background:transparent;font-family:Inter;font-size:12.5px;font-weight:600;color:var(--muted);padding:8px 16px;border-radius:999px;cursor:pointer;text-decoration:none;line-height:1.15;display:inline-flex;align-items:center}.toggle-row a.on,.toggle-row button.on{background:var(--accent);color:#fff}table.quotes{width:100%;border-collapse:collapse;font-size:13.5px}table.quotes thead th{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:12px 16px;text-align:left;border-bottom:1px solid var(--line)}table.quotes td{padding:13px 16px;border-bottom:1px solid var(--line-soft);vertical-align:middle}table.quotes tbody tr:hover{background:#fafbfe}.q-job{font-weight:600;color:var(--ink)}.q-job .q-sub{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}.q-meta{font-family:JetBrains Mono;font-size:11.5px;color:var(--muted)}.q-actions{text-align:right;white-space:nowrap}.link-btn{background:none;border:none;font-family:Inter;font-size:12.5px;font-weight:600;color:var(--accent);cursor:pointer;padding:6px 8px;border-radius:6px}.link-btn:hover{background:var(--accent-wash)}.link-btn.danger{color:var(--danger)}.link-btn.danger:hover{background:#fef2f2}.empty-state{padding:44px 20px;text-align:center;color:var(--muted);font-size:14px}.empty-state a{font-weight:600}.admin-badge{display:inline-block;background:var(--ink);color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:5px;margin-left:8px}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:18px;flex-wrap:wrap}.crumbs a{font-weight:600}.crumbs span.sep{color:#c3cad6}.stack{display:flex;flex-direction:column;gap:0}.row-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;border-bottom:1px solid var(--line-soft)}.row-card:last-child{border-bottom:none}.row-card:hover{background:#fafbfe}.row-main{min-width:0}.row-title{font-weight:600;font-size:14px;color:var(--ink)}.row-sub{font-size:12px;color:var(--muted);margin-top:3px}.row-actions{display:flex;gap:6px;white-space:nowrap}.inline-form{display:flex;gap:9px;padding:14px 20px;border-top:1px solid var(--line-soft);background:#fbfcfe;flex-wrap:wrap}.inline-form input{flex:1 1;min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:Inter;font-size:13.5px;background:#fff}.inline-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.chips{display:flex;flex-wrap:wrap;gap:7px;padding:14px 20px 4px}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--accent-wash);border:1px solid #dfe3fd;border-radius:999px;padding:6px 8px 6px 13px;font-size:12.5px;font-weight:600}.chip,.chip button{color:var(--accent)}.chip button{background:none;border:none;cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.chip button:hover{color:var(--danger)}.chip .drag{cursor:-webkit-grab;cursor:grab;opacity:.5;font-size:11px}.qgrid-wrap{overflow:auto;max-height:min(60vh,700px)}table.qgrid{width:100%;border-collapse:collapse;font-size:13px}table.qgrid th{background:#fbfcfe;color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:10px 8px;text-align:center;position:-webkit-sticky;position:sticky;top:0;z-index:5;box-shadow:inset 0 -1px 0 var(--line)}table.qgrid th.l{text-align:left;padding-left:16px}table.qgrid td{border-bottom:1px solid var(--line-soft);padding:10px 8px;vertical-align:middle}table.qgrid td.l{padding-left:16px}table.qgrid input[type=text]{width:100%;border:1px solid var(--line-soft);background:#fff;padding:9px 10px;border-radius:6px;font-family:Inter;font-size:13px}table.qgrid input[type=text]:hover{border-color:var(--line)}table.qgrid input.mono{font-family:JetBrains Mono;font-size:12px}table.qgrid input[type=number]{width:68px;text-align:center;border:1px solid var(--line);background:#fff;padding:9px 6px;border-radius:6px;font-family:JetBrains Mono;font-size:13px}table.qgrid input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 2px var(--accent-wash)}table.qgrid tbody tr:hover{background:#fafbfe}.sku-list{display:flex;flex-wrap:wrap}.sku-list,.sku-pill{gap:5px;align-items:center}.sku-pill{display:inline-flex;background:var(--accent-wash);border-radius:999px;padding:3px 7px 3px 10px;font-family:JetBrains Mono;font-size:11px;font-weight:600;color:var(--accent)}.sku-pill button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;line-height:1}.sku-add{width:140px!important;font-family:JetBrains Mono!important;font-size:12px!important;border:1px dashed var(--line)!important;background:#fff!important;padding:8px 10px!important}.sku-add:focus{border-style:solid!important;border-color:var(--accent)!important}.dirty-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:6px}.sticky-save{position:-webkit-sticky;position:sticky;bottom:0;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand-mark .logo-img{height:34px;width:auto;display:block}.brand-mark{gap:14px}@media(max-width:520px){.brand-mark .logo-img{height:28px}.brand-mark .sub{font-size:12px}}.auth-logo{display:block;margin:0 auto 22px;height:86px;width:auto}.print-head .ph-logo-img{height:74px;width:auto;display:block;margin-bottom:8px}@media print{.print-head{align-items:flex-start}.print-head .ph-logo-img{height:78px}}.item-note{display:block;font-size:11px;color:var(--muted);margin-top:3px;font-style:italic}.freight-note{padding:14px 20px;border-top:1px solid var(--line-soft);background:#fbfcfe;font-size:12.5px;color:var(--steel)}.freight-note a{font-weight:600}.price-input{width:110px;text-align:right;font-family:JetBrains Mono;font-size:12.5px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}.price-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.pct-input{width:78px;text-align:right;font-family:JetBrains Mono;font-size:12.5px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}.search-input{flex:1 1;min-width:200px;padding:10px 12px;font-family:Inter;font-size:13.5px}.paste-area,.search-input{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}.paste-area{width:100%;min-height:150px;padding:12px;font-family:JetBrains Mono;font-size:12px;resize:vertical}.switch{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;cursor:pointer}.switch input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.switch input[type=number]{cursor:text}@media print{.print-rooms{margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid #ccc}.print-rooms .pr-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#555;margin-bottom:6px}.print-rooms .pr-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2px 22px;gap:2px 22px}.print-rooms .pr-list li{font-size:11.5px;color:#000}.print-rooms .pr-list li b{font-family:JetBrains Mono}.print-rooms .pr-total{margin-top:8px;font-size:11.5px;color:#000}.print-rooms .pr-total b{font-family:JetBrains Mono}.print-head .ph-left{max-width:62%}.print-head .ph-job{font-size:12.5px;color:#333;margin-top:3px}table.bom{page-break-inside:auto}table.bom thead{display:table-header-group}table.bom tfoot{display:table-row-group}table.bom tr{page-break-inside:avoid;page-break-after:auto}table.bom tfoot td{border-top:2px solid #000;background:#fff!important;font-weight:700}.item-note{color:#444;font-size:10px}.freight-note{display:block!important;background:#fff!important;border-top:1px solid #000;margin-top:10px;padding:10px 0 0;font-size:11px;color:#000}.freight-note a{color:#000;text-decoration:none}}.drop-zone{border:2px dashed var(--line);border-radius:var(--r);padding:26px 20px;text-align:center;cursor:pointer;background:#fbfcfe;transition:.15s}.drop-zone.over,.drop-zone:hover{border-color:var(--accent);background:var(--accent-wash)}.drop-zone .dz-title{font-size:14px;font-weight:600;color:var(--ink)}.drop-zone .dz-sub{font-size:12px;color:var(--muted);margin-top:5px}.preview-box{margin-top:16px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}.preview-box .pv-head{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--line-soft);background:#fbfcfe;font-size:12.5px;color:var(--steel)}.preview-box .pv-head span{color:var(--muted);font-size:12px}.sku-add-wrap{position:relative;display:inline-block}.sku-suggest{position:fixed;z-index:1000;min-width:420px;max-width:min(560px,90vw);max-height:320px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 10px 30px -8px rgba(15,23,41,.28)}.sku-suggest button{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;background:none;border:none;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--line-soft)}.sku-suggest button:last-child{border-bottom:none}.sku-suggest button:hover{background:var(--accent-wash)}.sku-suggest .sg-sku{font-family:JetBrains Mono;font-size:11.5px;font-weight:600;color:var(--accent);white-space:nowrap}.sku-suggest .sg-desc{flex:1 1;font-size:12px;color:var(--steel);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sku-suggest .sg-price{font-family:JetBrains Mono;font-size:11.5px;color:var(--muted);white-space:nowrap}.desc-preview{display:flex;flex-direction:column;gap:4px}.desc-preview .dp-row{display:flex;gap:8px;align-items:baseline;font-size:12px;line-height:1.35}.desc-preview .dp-sku{font-family:JetBrains Mono;font-size:10.5px;font-weight:600;color:var(--accent);white-space:nowrap;min-width:80px}.desc-preview .dp-text{color:var(--steel)}.desc-preview .dp-empty{font-size:12px;color:var(--muted);font-style:italic}.logo-link{display:inline-flex;align-items:center;text-decoration:none;transition:opacity .15s}.logo-link:hover{opacity:.72}.extra-input{width:100%;max-width:44px;text-align:right;font-family:JetBrains Mono;font-weight:600;font-size:11px;padding:4px 5px;border:1px solid var(--mark-line);background:var(--mark);border-radius:6px;color:var(--ink)}.extra-input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-wash)}.markup-input{max-width:34px}td.qty-extra{text-align:right}td.qty-rooms{color:var(--muted)}td.qty-rooms.dash{color:#c3cad6}tr.custom-row td:first-child{box-shadow:inset 3px 0 0 var(--good,#0f9d6a)}.custom-badge{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#0f9d6a;background:#e7f8f0;padding:2px 7px;border-radius:20px}.remove-line{background:none;border:none;color:var(--danger);cursor:pointer;font-size:15px;line-height:1;margin-left:8px;padding:0 4px;border-radius:4px}.remove-line:hover{background:#fef2f2}tr.add-row td{background:var(--accent-wash);border-bottom:1px solid var(--line);padding:8px 10px!important}.item-search{display:flex;align-items:center;gap:10px}.item-search-plus{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex:none}.item-search input{flex:1 1;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:14px;color:var(--ink);font-family:Inter}.item-search input::placeholder{color:var(--accent);font-weight:500}.item-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.item-search-hint{font-size:11px;color:var(--muted);white-space:nowrap;font-family:JetBrains Mono}.item-search-row{display:flex;width:100%;text-align:left;padding:9px 14px;gap:12px;align-items:center;background:transparent;border:none;cursor:pointer;border-bottom:1px solid var(--line-soft);font-size:13px;font-family:Inter}.item-search-row.on-quote{background:#eef0fe}.item-search-row.is-active{background:var(--accent-wash);box-shadow:inset 3px 0 0 var(--accent)}.item-search-row .isr-sku{font-weight:600;color:var(--accent);min-width:100px;font-family:JetBrains Mono;font-size:12px}.item-search-row .isr-desc{color:var(--muted);flex:1 1;min-width:0}.item-search-row .isr-note{color:var(--accent);font-weight:600;font-size:12px;white-space:nowrap}.item-search-row .isr-right{color:var(--ink);font-weight:500;white-space:nowrap}@media (max-width:768px){.item-search-hint{display:none}.item-search input{font-size:16px}}.add-plus{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--accent-wash);color:var(--accent);font-weight:700;font-size:14px;line-height:1}.add-input{width:100%;max-width:520px;padding:9px 12px;border:1px dashed var(--line);border-radius:var(--r-sm);font-family:Inter;font-size:13px;background:#fff;color:var(--ink)}.add-input::placeholder{color:var(--muted)}.add-input:focus{outline:none;border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.add-status{margin-left:12px;font-size:12px;color:var(--muted)}.ca-results{position:fixed;z-index:1000;max-height:300px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 10px 30px -8px rgba(15,23,41,.28)}.ca-results button{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;background:none;border:none;padding:10px 13px;cursor:pointer;border-bottom:1px solid var(--line-soft)}.ca-results button:last-child{border-bottom:none}.ca-results button:hover{background:var(--accent-wash)}.ca-results .cr-sku{font-family:JetBrains Mono;font-size:11.5px;font-weight:600;color:var(--accent);white-space:nowrap;min-width:96px}.ca-results .cr-desc{flex:1 1;font-size:12.5px;color:var(--steel);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-results .cr-price{font-family:JetBrains Mono;font-size:11.5px;color:var(--muted);white-space:nowrap}@media print{.qty-extra,.qty-rooms,tr.add-row{display:none!important}.custom-badge{background:none;color:#000;padding:0}.remove-line{display:none!important}}tr.hidden-product{background:#fcfcfd}tr.hidden-product td:nth-child(2),tr.hidden-product td:nth-child(3){opacity:.5}.freight-panel{padding:16px 20px;border-top:1px solid var(--line-soft);background:#fbfcfe}.freight-panel .fp-row{display:flex;gap:30px;flex-wrap:wrap;align-items:flex-end}.freight-panel .fp-item{display:flex;flex-direction:column;gap:4px}.freight-panel .fp-label{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.02em}.freight-panel .fp-value{font-size:15px;font-weight:600;color:var(--ink)}.freight-panel .fp-est .fp-value{color:var(--accent);font-size:17px}.freight-panel .fp-detail{margin-top:10px;font-size:12px;color:var(--muted)}.freight-panel .fp-caveat{margin-top:10px;padding-top:10px;border-top:1px dotted var(--line);font-size:11.5px;color:var(--muted)}.freight-panel .fp-caveat a{font-weight:600}@media print{.freight-panel{background:#fff!important;border-top:1px solid #000;padding:10px 0 0;margin-top:8px}.freight-panel .fp-est .fp-value,.freight-panel .fp-value{color:#000}.freight-panel .fp-caveat{color:#000;font-size:10px}.freight-panel .fp-caveat a{color:#000;text-decoration:none}}.help-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--steel);font-family:Inter;font-weight:700;font-size:14px;cursor:pointer;flex-shrink:0;transition:.15s;display:inline-flex;align-items:center;justify-content:center}.help-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}.tut-dim{position:fixed;inset:0;z-index:2000;background:rgba(15,23,41,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tut-spot{position:fixed;border-radius:10px;box-shadow:0 0 0 9999px rgba(15,23,41,.55);outline:2px solid var(--accent);outline-offset:2px;background:transparent;pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease;animation:tut-pulse 2s ease-in-out infinite}@keyframes tut-pulse{0%,to{outline-color:var(--accent)}50%{outline-color:rgba(79,70,229,.35)}}.tut-dim.has-spot{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.tut-card{background:var(--panel);border-radius:14px;box-shadow:0 24px 60px -12px rgba(15,23,41,.45);flex-direction:column;overflow:hidden}.tut-card,.tut-centered-wrap{position:fixed;z-index:2001;display:flex}.tut-centered-wrap{inset:0;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;pointer-events:none}.tut-card.tut-centered{position:static;width:100%;max-width:520px;margin:auto;pointer-events:auto}.tut-card.tut-anchored{width:calc(100% - 32px);max-width:440px;max-height:68vh;transition:top .25s ease,left .25s ease}.tut-head{display:flex;align-items:center;gap:10px;padding:14px 18px 0;flex:0 0 auto}.tut-logo{height:24px;width:auto;opacity:.9}.tut-count{margin-left:auto;font-family:JetBrains Mono;font-size:11px}.tut-count,.tut-x{color:var(--muted)}.tut-x{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;padding:0 4px;border-radius:6px}.tut-x:hover{color:var(--ink);background:var(--line-soft)}.tut-body{padding:12px 20px 4px}.tut-anchored .tut-body{overflow-y:auto;flex:1 1 auto;min-height:0}.tut-body h2{font-size:17px;margin:0 0 10px;letter-spacing:-.02em}.tut-body p{font-size:13.5px;line-height:1.6;color:var(--steel);margin:0 0 10px}.tut-body p b{color:var(--ink);font-weight:600}.tut-body .tut-muted{font-size:12.5px;color:var(--muted)}.tut-body a{font-weight:600}.tut-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-top:1px solid var(--line-soft);background:#fbfcfe;flex-wrap:wrap;flex:0 0 auto}.tut-dots{display:flex;gap:5px;flex-wrap:wrap;max-width:45%}.tut-dot{width:6px;height:6px;border-radius:50%;border:none;padding:0;cursor:pointer;background:var(--line);transition:.15s}.tut-dot.on{background:var(--accent);transform:scale(1.3)}.tut-actions{display:flex;gap:7px;margin-left:auto}@media print{.help-btn,.tut-card,.tut-dim{display:none!important}}.fp-contact{margin-top:10px;padding-top:10px;border-top:1px dotted var(--line);font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fp-contact a{font-weight:600;color:var(--accent);text-decoration:none}.fp-contact a:hover{text-decoration:underline}.fp-contact .fc-sep{color:var(--line)}.print-contact{display:none}@media print{.print-contact{display:block!important;margin-top:14px;padding-top:10px;border-top:1px solid #000;font-size:11px;color:#000;line-height:1.7}.print-contact b{font-size:12px}.fp-contact{border-top:1px solid #000;color:#000}.fp-contact a{color:#000;text-decoration:none}}.extra-input.is-neg{border-color:#c4813a;background:#fdf6ec;color:#8a5a1f}table.bom{table-layout:fixed;width:100%}table.bom th:first-child{width:78px}table.bom th:nth-child(2){width:150px}table.bom th:nth-child(3){width:auto}table.bom th:nth-child(4){width:66px}table.bom th:nth-child(5){width:62px}table.bom th:nth-child(6){width:66px}table.bom th:nth-child(7){width:126px}table.bom th:nth-child(8){width:56px}table.bom th:nth-child(9){width:76px}table.bom th:nth-child(10){width:96px}table.bom.no-markup th:nth-child(8){width:76px}table.bom.no-markup th:nth-child(9){width:96px}table.bom.no-markup th:nth-child(10){width:auto}table.bom td:nth-child(n+4),table.bom th:nth-child(n+4){padding-left:8px;padding-right:10px}table.bom td.desc{max-width:none;overflow-wrap:anywhere}table.bom td.desc,table.bom td.tag{white-space:normal;word-break:normal}table.bom td.tag{overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.tag-room{display:block;font-family:Inter;font-size:10px;font-weight:500;color:var(--muted);margin-top:2px;letter-spacing:.01em;word-break:normal;overflow-wrap:normal;line-height:1.25}@media print{table.bom th:first-child{width:72px}table.bom th:nth-child(2){width:104px}table.bom th:nth-child(7){width:0}.tag-room{font-size:9px;color:#555}}.field label .lbl-hint{font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0}.panel-head .meta-note{font-size:12px;color:var(--muted);text-align:right}.product-scroll{max-height:min(62vh,720px);overflow-y:auto;overflow-x:auto}.product-scroll table.quotes thead th{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--panel);box-shadow:inset 0 -1px 0 var(--line)}.results-wrap.scroll-list{overflow-x:hidden}.results-wrap.scroll-list,.scroll-list{overflow-y:auto;max-height:min(62vh,760px)}.scroll-list table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--panel);box-shadow:inset 0 -1px 0 var(--line)}@media print{.product-scroll,.qgrid-wrap,.scroll-list{max-height:none!important;overflow:visible!important}}.scroll-list table.bom tfoot td{position:-webkit-sticky;position:sticky;bottom:0;z-index:6;background:#fbfcfe;box-shadow:inset 0 1px 0 var(--line)}@media print{.scroll-list table.bom tfoot td{position:static;box-shadow:none}}@media (max-width:1100px){table.bom{font-size:12.5px}table.bom th:first-child{width:80px}table.bom th:nth-child(2){width:126px}table.bom th:nth-child(4){width:70px}table.bom th:nth-child(5){width:80px}table.bom th:nth-child(6){width:66px}table.bom td,table.bom th{padding-left:8px;padding-right:8px}}@media print{table.bom{table-layout:auto;min-width:0;width:100%;font-size:10.5px}table.bom td,table.bom th{padding:6px 7px}table.bom th:first-child,table.bom th:nth-child(2),table.bom th:nth-child(3),table.bom th:nth-child(4),table.bom th:nth-child(5),table.bom th:nth-child(6),table.bom th:nth-child(7),table.bom th:nth-child(8){width:auto;min-width:0}table.bom td:nth-child(2),table.bom th:nth-child(2){overflow:visible}table.bom td:nth-child(2) .sku-single{display:inline;overflow:visible;text-overflow:clip;white-space:nowrap}table.bom td.desc{white-space:normal;word-break:normal}table.bom .total,table.bom tfoot .grand{white-space:nowrap}table.bom tfoot td.grand-cell{text-align:right}table.bom tfoot .grand-stack{display:block}table.bom tfoot .grand-label{display:inline;margin-right:8px;font-size:9.5px}table.bom tfoot .grand{font-size:13px;color:#000}}.quote-no{display:inline-block;font-size:11.5px;background:var(--accent-wash);padding:3px 9px;border-radius:20px;margin-right:10px}.q-no,.quote-no{font-family:JetBrains Mono;font-weight:600;color:var(--accent)}.q-no{display:block;font-size:11px;margin-top:3px}@media print{.quote-no{background:none;color:#000;padding:0;margin:0}}table.quotes tbody tr.q-row{cursor:pointer}table.quotes tbody tr.q-row:hover{background:var(--accent-wash)}table.quotes tbody tr.q-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}table.quotes tbody tr.q-readonly:hover{background:#fafbfe}table.quotes tbody tr.q-readonly .q-job:after{content:"exports a PDF";display:inline-block;margin-left:8px;font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--muted);background:var(--line-soft);padding:2px 7px;border-radius:20px;vertical-align:middle}table.quotes input[type=checkbox]{cursor:pointer}.print-bar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 28px;background:var(--panel);border-bottom:1px solid var(--line);font-size:13px;color:var(--steel)}.print-sheets .sheet{margin-bottom:40px}@media print{.print-bar{display:none!important}.print-sheets .sheet{margin-bottom:0}}@media (max-width:768px){.head-inner{padding:10px 14px;gap:10px}.head-meta{font-size:10px}main.wrap{padding:16px 14px 60px}select.big{min-width:0;width:100%;font-size:16px;min-height:44px}.sel-actions{margin-left:0;width:100%;flex-wrap:wrap}.sel-actions .btn{flex:1 1;justify-content:center}.quote-actions .quote-id{flex-basis:100%}.catalog-handoff{flex-wrap:wrap}.q-toolbar{flex-direction:column;align-items:stretch;gap:10px}.btn-row{display:flex;gap:9px}.btn-row .btn{flex:1 1;justify-content:center}table.quotes thead{display:none}table.quotes tbody tr{display:block;padding:14px 16px;border-bottom:1px solid var(--line-soft);position:relative}table.quotes td{display:block;padding:1px 0;border:none}table.quotes td:first-child{position:absolute;top:14px;right:14px;width:auto}table.quotes td:nth-child(2){font-size:14px;padding-right:28px}table.quotes td:nth-child(3),table.quotes td:nth-child(4),table.quotes td:nth-child(5){display:inline;font-size:11px;color:var(--muted)}table.quotes td:nth-child(3):after,table.quotes td:nth-child(4):after{content:" · "}.room-cards{grid-template-columns:repeat(2,1fr)}.room-card .rc-label{font-size:11px;min-height:auto}.room-card input{font-size:20px;min-height:48px}.results-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.results-wrap.scroll-list{max-height:none;overflow:visible}table.bom{display:block;min-width:0;font-size:13px}table.bom thead{display:none}table.bom tbody,table.bom tfoot{display:block}table.bom th{width:auto!important}table.bom tbody tr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:10px 12px;border-bottom:1px solid var(--line-soft)}table.bom tbody tr.has-alt{box-shadow:inset 3px 0 0 var(--accent)}table.bom tbody tr.has-alt td:first-child{box-shadow:none}table.bom td{display:block;border:none;padding:0!important}table.bom td[colspan]{flex-basis:100%}.stock-col{display:none}table.bom tbody td:nth-child(2){order:1;flex:1 1 auto;min-width:0}table.bom tbody td:first-child{order:2;text-align:right}.sku-single{font-size:14px}.tag{font-size:11px;white-space:normal}table.bom tbody td:nth-child(3){order:3;flex-basis:100%;min-width:0;width:auto;font-size:13.5px;line-height:1.35}table.bom tbody td:nth-child(n+4){order:4;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:48px;white-space:nowrap}table.bom tbody td:nth-child(n+4):before{font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}table.bom tbody td.stock-col,table.bom tfoot td.stock-col{display:none}table.bom tbody td:nth-child(4):before{content:"Rooms"}table.bom tbody td:nth-child(5):before{content:"Add'l"}table.bom tbody td:nth-child(6):before{content:"Total"}table.bom tbody td:nth-child(8):before{content:"Mark %"}table.bom tbody td:nth-child(9):before{content:"Each"}table.bom tbody td:nth-child(10):before{content:"Line";margin-left:auto}table.bom.no-markup tbody td:nth-child(8):before{content:"Each"}table.bom.no-markup tbody td:nth-child(9):before{content:"Line"}table.bom.no-markup tbody td:nth-child(10):before{content:none}table.bom tbody td:nth-child(10),table.bom.no-markup tbody td:nth-child(9){margin-left:auto;align-items:flex-end}table.bom.no-markup tbody td:nth-child(10){display:none}table.bom td.total{font-size:14px}table.bom td.total.hot{font-size:15px}table.bom tbody td[colspan]:before{content:none}table.bom tbody td[colspan]{display:block;white-space:normal}table.bom tfoot tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px}table.bom tfoot td{position:static;display:block;border:none}table.bom tfoot td[colspan="3"]{flex:1 1 auto}table.bom tfoot td.qty-extra,table.bom tfoot td.qty-rooms{display:none}table.bom tfoot td.total.hot:before{content:"Items ";font-size:11px;font-weight:500;color:var(--muted)}table.bom tfoot td.grand-cell{flex-basis:100%;white-space:normal;border-top:1px solid var(--line-soft);padding-top:10px!important}.extra-input{max-width:66px;padding:6px}.extra-input,select.altsel{font-size:16px;min-height:40px}.field input,.field textarea,.job-grid input,.job-grid select,.q-toolbar input,.search-input{font-size:16px;min-height:44px}.job-grid .field textarea{min-height:56px}.btn{min-height:40px}.btn.sm{min-height:36px}.job-grid{grid-template-columns:1fr;gap:10px;padding:14px}.save-bar{flex-direction:column;align-items:stretch;gap:10px}.save-bar .btn{width:100%;justify-content:center}.row-card{flex-direction:column;align-items:flex-start;gap:10px}.row-actions{width:100%}.row-actions .btn{flex:1 1;justify-content:center}.switch{flex-wrap:wrap;gap:6px}.pct-input{width:64px}.inline-form{flex-direction:column;gap:8px}.inline-form input,.inline-form select{width:100%}.inline-form .btn{width:100%;justify-content:center}.crumbs{font-size:12px}.panel-head{flex-wrap:wrap;gap:8px}.freight-panel .fp-row{gap:16px}.desc{white-space:normal;word-break:normal}.stack .row-card{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}}@media (max-width:380px){.room-cards{grid-template-columns:repeat(2,1fr)}}.company-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}@media (max-width:768px){.company-controls{width:100%;gap:14px}.company-controls .switch{flex:0 0 auto}}.spec-link{display:inline-flex;align-items:center;margin-left:5px;padding:1px 5px;font-size:9px;font-weight:600;letter-spacing:.02em;text-decoration:none;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:4px;vertical-align:middle;transition:background .15s,color .15s;white-space:nowrap}.spec-link:hover{background:var(--accent);color:#fff}@media print{.spec-link,body.print-company-only .pba-catalog-section,body.print-company-only .pba-contact,body.print-company-only .pba-freight,body.print-pba-only .company-catalog-section{display:none!important}.print-head{page-break-inside:avoid}.results-wrap{display:block!important}.panel-head.no-print{display:none!important}.company-print-head{page-break-before:auto}body:not(.print-pba-only):not(.print-company-only) .company-print-head{page-break-before:always!important}}.awarded-btn{background:linear-gradient(135deg,#059669,#047857);border:1px solid transparent;color:#fff;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 20px -8px #059669}.awarded-btn:hover{filter:brightness(1.06)}.awarded-btn.is-awarded{background:#065f46;border:1px solid #065f46;box-shadow:none}.awarded-btn.is-awarded:hover{background:#047857;border-color:#047857;filter:none}.awarded-btn:disabled{opacity:.6;cursor:default}.awarded-pill{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:4px;white-space:nowrap;vertical-align:middle}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.stat-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.stat-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.stat-value{font-size:24px;font-weight:700;color:var(--ink);font-family:JetBrains Mono,monospace;letter-spacing:-.02em}.stat-value.accent{color:var(--accent)}.month-chart{display:flex;align-items:flex-end;gap:10px;padding:20px;min-height:200px;overflow-x:auto}.mc-col{flex:1 1;min-width:44px;display:flex;flex-direction:column;align-items:center;gap:6px}.mc-bars{position:relative;width:100%;height:150px;display:flex;align-items:flex-end;justify-content:center}.mc-bar{position:absolute;bottom:0;border-radius:4px 4px 0 0;transition:height .2s ease}.mc-bar.total{width:70%;background:var(--accent-wash);border:1px solid #c7cbf7}.mc-bar.won{width:44%;background:var(--accent)}.mc-label{font-size:11px;font-weight:600;color:var(--steel)}.mc-sub{font-size:10px;color:var(--muted);font-family:JetBrains Mono,monospace}.chart-legend{display:flex;gap:18px;justify-content:center;padding:0 20px 16px;font-size:11.5px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend .sw{width:11px;height:11px;border-radius:3px;display:inline-block}.chart-legend .sw.total{background:var(--accent-wash);border:1px solid #c7cbf7}.chart-legend .sw.won{background:var(--accent)}.rate-good{color:#065f46;font-weight:600}.rate-mid{color:#92400e;font-weight:600}.rate-low{color:var(--muted)}table.quotes td.num,table.quotes th.num{text-align:right;white-space:nowrap}.chat-user{display:flex;justify-content:flex-end}.chat-bubble{max-width:80%;padding:9px 14px;background:var(--accent);color:#fff;border-radius:14px 14px 3px 14px;font-size:13.5px;line-height:1.5}.chat-ai{display:flex;justify-content:flex-start}.chat-answer{max-width:92%;padding:11px 15px;background:#f7f8fc;border:1px solid var(--line-soft);border-radius:14px 14px 14px 3px;font-size:13.5px;line-height:1.6;color:var(--ink)}.chat-answer p:first-child{margin-top:0}.chat-answer p:last-child{margin-bottom:0}.chat-answer code{background:#eceff5;padding:1px 5px;border-radius:4px;font-size:12px}@media (max-width:768px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-value{font-size:19px}.chat-answer,.chat-bubble{max-width:100%}.month-chart{gap:6px;padding:16px 12px}.mc-col{min-width:38px}}.qb-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}.qb-dot.ok{background:#059669;box-shadow:0 0 0 3px #d1fae5}.qb-dot.warn{background:#d97706;box-shadow:0 0 0 3px #fef3c7}.qb-dot.off{background:#9ca3af;box-shadow:0 0 0 3px #f3f4f6}.qb-pill{display:inline-flex;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:700;letter-spacing:.02em;border-radius:4px;white-space:nowrap}.qb-pill.pending{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.qb-pill.synced{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.qb-pill.failed{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.qb-pill.skipped{color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb}.stat-value.danger{color:var(--danger)}.qb-pill.excluded{color:#4b5563;background:#e5e7eb;border:1px solid #d1d5db}.grand-freight{display:block;font-size:10.5px;color:var(--muted);font-family:JetBrains Mono;white-space:nowrap;margin-bottom:1px}@media print{.grand-freight{font-size:9px}}.quote-history{display:flex;flex-direction:column;margin:16px 0 0;max-height:260px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}@media (min-width:2240px){.quote-history{position:fixed;top:96px;left:calc(50% + 800px);right:auto;width:290px;margin:0;max-height:calc(100vh - 130px);box-shadow:0 10px 30px -18px rgba(15,23,41,.35);z-index:20}}@media print{.quote-history{display:none!important}}.qh-head{padding:9px 12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);background:var(--panel)}.qh-body{padding:10px 12px;overflow-y:auto;font-size:11.5px;line-height:1.45}.qh-entry{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line-soft)}.qh-entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.qh-when{font-family:JetBrains Mono;font-size:10.5px;color:var(--steel);font-weight:600}.qh-who{font-size:11px;color:var(--muted);margin-bottom:4px}.qh-change{margin-top:3px}.qh-label{display:block;color:var(--ink);font-weight:600}.qh-from{color:#9aa3b2;text-decoration:line-through}.qh-arrow{color:#c3cad6;margin:0 4px}.qh-to{color:var(--ink);font-weight:600}.qh-created .qh-change{color:var(--muted);font-style:italic}main.wrap.quote-shell{max-width:1560px;display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}main.wrap.quote-shell>:not(.picker){grid-column:2}main.wrap.quote-shell>.picker{grid-column:1;grid-row:2/span 99;align-self:start;position:-webkit-sticky;position:sticky;top:84px;max-height:calc(100vh - 104px);overflow-y:auto}@media (max-width:1100px){main.wrap.quote-shell{display:block;max-width:1200px}main.wrap.quote-shell>.picker{position:static;max-height:none;overflow:visible}}.picker-summary{display:none}@media (max-width:1100px){.picker-summary{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0}.picker-summary .txt{flex:1 1;min-width:0;font-size:14.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-summary .txt .sub{color:var(--muted);font-weight:500}.picker.is-collapsed .picker-main,.picker.is-collapsed .picker-rail{display:none}.picker{gap:10px;margin-bottom:12px}}@media (max-width:768px){.flag-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}.flag-plate{height:58px;padding:6px 8px}}.picker{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;align-items:start;margin-bottom:16px}.picker-schemes{grid-column:1/-1}main.wrap.quote-shell>.quote-actions{grid-column:1/-1;grid-row:1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:2px}.quote-id{display:flex;align-items:baseline;gap:9px;margin-right:auto}.quote-id .lbl{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.quote-id .lbl.unsaved{letter-spacing:.04em;text-transform:none;font-weight:600;font-size:12.5px}.quote-id .num{font-family:JetBrains Mono,monospace;font-size:23px;font-weight:600;letter-spacing:-.01em;color:var(--ink);line-height:1.1}@media (max-width:640px){.quote-id .num{font-size:19px}}.picker{max-width:100%}.picker>*{min-width:0}.brand-nm,.flag-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (max-width:820px){.picker{grid-template-columns:1fr}}.picker .panel-head h2{font-size:13.5px;margin:0;font-weight:650}.brand-list{padding:8px}.brand-btn{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:var(--r-sm);background:none;cursor:pointer;text-align:left;font:inherit;color:inherit}.brand-btn:hover{background:#fafbfe}.brand-btn[aria-selected=true]{background:var(--accent-wash);border-color:#dcdcfb}.picker-mark{width:40px;height:40px;flex:none;border-radius:7px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px}.picker-mark img{width:100%;height:100%;object-fit:contain}.picker-mark .fallback{font-size:11px;font-weight:800;color:var(--steel);letter-spacing:.02em}.brand-nm{font-size:13px;font-weight:600;min-width:0}.brand-ct{margin-left:auto;font-size:11px;color:var(--muted)}.picker-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid var(--line-soft)}.picker-search{flex:1 1;min-width:170px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:Inter;font-size:13.5px;background:#fff}.picker-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.picker-seg{display:flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.picker-seg button{font:inherit;font-size:12.5px;padding:8px 12px;border:none;background:#fff;cursor:pointer;color:var(--steel)}.picker-seg button[aria-pressed=true]{background:var(--accent);color:#fff}.flag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));grid-gap:10px;gap:10px;padding:12px}.flag-tile{border:1px solid var(--line);border-radius:10px;background:#fff;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit;display:flex;flex-direction:column;overflow:hidden;transition:border-color .12s,box-shadow .12s,transform .12s}.flag-tile:hover{border-color:#c9cdf7;box-shadow:var(--shadow);transform:translateY(-1px)}.flag-tile[aria-selected=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.flag-plate{height:76px;display:flex;align-items:center;justify-content:center;background:#fff;padding:8px 10px;width:100%}.flag-plate img{width:100%;height:100%;object-fit:contain}.flag-plate .wordmark{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--steel);text-align:center;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.flag-rows{padding:6px}.flag-row{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;background:none;width:100%;font:inherit;text-align:left;color:inherit}.flag-row:hover{background:#fafbfe}.flag-row[aria-selected=true]{background:var(--accent-wash);border-color:#dcdcfb}.flag-mini{width:50px;height:29px;flex:none;border:1px solid var(--line);border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:2px}.flag-mini img{width:100%;height:100%;object-fit:contain}.flag-mini .fallback{font-size:8.5px;font-weight:800;color:var(--steel);letter-spacing:.04em}.flag-row .nm{font-size:13px;font-weight:600}.flag-row .ct{margin-left:auto;font-size:11.5px;color:var(--muted)}.scheme-row{display:flex;gap:10px;padding:13px 14px;flex-wrap:wrap}.scheme-tile{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 14px;cursor:pointer;font:inherit;text-align:left;min-width:150px;color:inherit}.scheme-tile:hover{border-color:#c9cdf7}.scheme-tile[aria-selected=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.scheme-tile .t{display:block;font-size:13px;font-weight:650}.scheme-tile .s{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}@media print{.picker{display:none!important}}.admin-flag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px;padding:14px}.admin-flag-tile{border:1px solid var(--line);border-radius:10px;background:#fff;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit;display:flex;flex-direction:column;overflow:hidden;transition:border-color .12s,box-shadow .12s,transform .12s}.admin-flag-tile:hover{border-color:#c9cdf7;box-shadow:var(--shadow);transform:translateY(-1px)}.admin-flag-tile[aria-selected=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.admin-flag-tile .plate{height:70px;display:flex;align-items:center;justify-content:center;background:#fff;padding:8px 10px}.admin-flag-tile .plate img{width:100%;height:100%;object-fit:contain}.admin-flag-tile .plate .wordmark{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--steel);text-align:center;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.admin-flag-tile .cap{display:flex;align-items:center;gap:8px;padding:7px 10px;border-top:1px solid var(--line-soft);background:#fbfcfe}.admin-flag-tile .cap .nm{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.admin-flag-tile .cap .ct{margin-left:auto;font-size:10.5px;color:var(--muted)}.admin-flag-open{border-top:1px solid var(--line-soft);background:#fbfcfe;padding:14px 16px 16px}.admin-flag-open .head{display:flex;align-items:center;gap:12px}.admin-flag-open .ttl{font-size:15px;font-weight:700}.admin-flag-open .head .link-btn{margin-left:auto}.admin-flag-open .rt{font-size:12.5px;color:var(--muted);line-height:1.5;margin:6px 0 12px}.admin-flag-open .acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.no-pricing-note{padding:14px 20px;border-top:1px solid var(--line-soft);font-size:13px;line-height:1.6;color:var(--steel);background:#fbfcfe}.no-pricing-note b{color:var(--ink)}.no-pricing-note a{color:var(--accent);font-weight:600}@media print{.no-pricing-note{background:none;border-top:1px solid #ddd;padding:10px 0;font-size:11px;color:#000}.no-pricing-note a{color:#000;text-decoration:none}}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1px;gap:1px;background:var(--line-soft)}.cat-card{background:var(--panel);display:flex;flex-direction:column}.cat-thumb{position:relative;aspect-ratio:1;background:#fbfcfe;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line-soft)}.cat-thumb img{width:100%;height:100%;object-fit:contain;padding:14px}.cat-noimg{font-size:11.5px;color:var(--muted)}.cat-alt-finish{position:absolute;left:8px;bottom:8px;padding:2px 6px;border-radius:4px;font-size:9.5px;font-weight:600;color:var(--steel);background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line)}.cat-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px;flex:1 1}.cat-sku{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--blue)}.cat-desc{font-size:12.5px;color:var(--ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cat-foot{margin-top:auto;padding-top:8px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.cat-price{font-weight:700;font-size:14px;color:var(--ink)}.cat-stock{font-size:11.5px;text-align:right}.cat-filters{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line-soft);background:#fbfcfe}.cat-scroll{max-height:calc(100vh - 300px);min-height:340px;overflow-y:auto}.cat-quoted{position:absolute;right:8px;top:8px;padding:2px 6px;border-radius:4px;font-size:9.5px;font-weight:600;color:#065f46;background:color-mix(in srgb,#10b981 14%,var(--panel));border:1px solid color-mix(in srgb,#10b981 34%,transparent)}.cat-actions{display:flex;align-items:stretch;gap:8px;margin-top:10px}.cat-actions>*{flex:1 1;justify-content:center;text-align:center}.stage-bar{left:0;right:0;bottom:0;z-index:40;gap:14px;padding:12px 28px;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -2px 14px rgba(15,23,42,.08)}.stage-bar,.stage-overlay{position:fixed;display:flex;align-items:center}.stage-overlay{inset:0;z-index:50;background:rgba(15,23,42,.38);justify-content:center;padding:24px}.stage-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);width:100%;max-width:760px;display:flex;flex-direction:column;max-height:calc(100vh - 80px);overflow:hidden}.stage-scroll{overflow-y:auto}.stage-foot{padding:14px 20px;border-top:1px solid var(--line-soft);background:#fbfcfe}.catalog-handoff,.stage-foot{display:flex;align-items:center;gap:14px}.catalog-handoff{max-width:1560px;width:calc(100% - 56px);margin:24px auto 0;flex-wrap:wrap;padding:12px 18px;font-size:13.5px;background:color-mix(in srgb,var(--accent) 7%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--r-sm)}.cat-xref{font-size:10.5px;color:var(--steel);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1px;gap:1px;background:var(--line-soft)}.po-card{background:var(--panel);display:flex;flex-direction:column}.po-card.on-order{background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.po-thumb{position:relative;height:150px;background:#fbfcfe;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line-soft)}.po-thumb img{width:100%;height:100%;object-fit:contain;padding:10px}.po-flag{position:absolute;left:8px;top:8px;padding:2px 7px;border-radius:4px;font-size:9.5px;font-weight:700;letter-spacing:.02em;color:#7c2d12;background:color-mix(in srgb,#f59e0b 22%,var(--panel));border:1px solid color-mix(in srgb,#f59e0b 45%,transparent)}.po-body{padding:11px 13px 13px;display:flex;flex-direction:column;gap:6px;flex:1 1}.po-sku{font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:700;color:var(--blue)}.po-desc{font-size:12px;color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.po-stock{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--steel);padding:6px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.po-buy{display:flex;align-items:center;gap:7px;margin-top:2px}.po-buy input{width:88px;text-align:right;padding:6px 8px}.po-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11.5px;margin-top:auto;padding-top:6px}.po-warn{font-size:11px;color:#b45309}.po-scroll{max-height:calc(100vh - 220px);min-height:380px;overflow-y:auto}