:root{--ink:#18251e;--muted:#718077;--line:#e8ece8;--canvas:#f7f9f7;--surface:#fff;--green:#20785b;--green-dark:#145c43;--mint:#e8f5ed;--orange:#dc7b35;--red:#d9534f;--yellow:#e6ac36;--blue:#4b79c6;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px "Noto Sans SC",sans-serif}.app-shell{display:flex;min-height:100vh}.sidebar{background:#17231d;color:#d8e2da;width:254px;position:fixed;inset:0 auto 0 0;padding:25px 13px 16px;display:flex;flex-direction:column;z-index:2}.brand{font:700 22px Outfit,sans-serif;letter-spacing:2px;color:white;padding:0 12px;display:flex;align-items:center;gap:7px}.brand small{font:500 10px "DM Mono";letter-spacing:1px;color:#8aa597;border-left:1px solid #587064;padding-left:7px}.brand-mark{display:grid;place-items:center;width:25px;height:25px;background:#68c59e;border-radius:8px;color:#133c2a;font-size:16px;letter-spacing:0}.workspace{margin:30px 7px 19px;padding:10px 11px;background:#25352d;border:1px solid #33483c;border-radius:8px;font-size:12px;display:flex;gap:8px;align-items:center}.workspace-dot{width:7px;height:7px;border-radius:50%;background:#74d3a7}.chevron{margin-left:auto}.nav{overflow:auto;flex:1}.nav-label{font:600 10px "DM Mono";letter-spacing:1.2px;color:#708579;margin:20px 12px 8px}.nav-item{width:100%;color:#c4d0c6;background:none;border:0;border-radius:8px;text-align:left;padding:10px 12px;font:500 13px "Noto Sans SC";display:flex;align-items:center;gap:11px;cursor:pointer;margin:1px 0}.nav-item:hover{background:#23332b;color:white}.nav-item.active{background:#2a493b;color:#f5fff8}.nav-item>span{font-size:17px;width:18px;text-align:center;color:#93baa4}.nav-item b,.nav-item i,.nav-item em{font:500 10px "DM Mono";margin-left:auto;font-style:normal}.nav-item b{background:#31483b;border-radius:10px;padding:1px 6px}.nav-item i{background:#ce7654;color:#fff;border-radius:10px;padding:1px 6px}.nav-item em{background:#b7e8ce;color:#19553b;border-radius:4px;padding:2px 4px;font-size:8px}.user-card{display:flex;gap:9px;align-items:center;border-top:1px solid #314239;margin:16px 7px 0;padding-top:17px}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#d8ab6b;color:#472b13;font:600 10px Outfit}.user-card strong,.user-card small{display:block}.user-card strong{font-size:12px;color:#eff7f0}.user-card small{font-size:11px;color:#87a092;margin-top:1px}.user-card>span{margin-left:auto;font-size:18px}.main{margin-left:254px;width:calc(100% - 254px);padding:32px 44px 60px;max-width:1800px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.crumb{font:500 12px "DM Mono";color:var(--muted);letter-spacing:.2px}.page-title{font:700 28px Outfit,"Noto Sans SC";letter-spacing:-.4px;margin:6px 0 0}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{border:1px solid var(--line);background:#fff;border-radius:9px;width:38px;height:38px;color:#627269;font-size:17px;cursor:pointer}.btn{border:0;border-radius:8px;padding:10px 15px;font:600 13px "Noto Sans SC";cursor:pointer;transition:.2s}.btn-primary{background:var(--green);color:white}.btn-primary:hover{background:var(--green-dark)}.btn-light{background:#fff;border:1px solid var(--line);color:#405048}.btn-danger{background:#fff0ed;color:var(--red)}.btn.small{padding:6px 10px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px 18px;min-height:112px}.stat-label{color:var(--muted);font-size:12px;display:flex;justify-content:space-between;align-items:center}.stat-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-size:14px}.stat-value{font:600 29px Outfit;margin:9px 0 3px}.stat-note{font-size:11px;color:#829087}.up{color:#16835b}.warning{color:var(--orange)}.grid{display:grid;gap:17px}.grid-main{grid-template-columns:1.55fr 1fr;margin-top:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px}.card-title{margin:0;font:600 16px Outfit,"Noto Sans SC"}.link{background:none;border:0;color:var(--green);font:600 12px "Noto Sans SC";cursor:pointer}.follow-list{padding:0 10px 8px}.follow-item{display:grid;grid-template-columns:39px 1fr auto;gap:10px;align-items:center;padding:12px 10px;border-top:1px solid #f0f2f0}.follow-item:first-child{border-top:0}.initial{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font:600 11px Outfit;color:#4d3922;background:#f4e6d2}.initial.blue{background:#dce9f8;color:#315d9c}.initial.green{background:#d7eee1;color:#297154}.follow-name{font-weight:600;font-size:13px}.follow-meta{font-size:11px;color:var(--muted);margin-top:3px}.due{font:500 10px "DM Mono";color:var(--orange);background:#fff4e9;padding:3px 6px;border-radius:4px}.chart{padding:4px 20px 15px;height:253px;display:flex;align-items:end;gap:14px}.bar-group{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;gap:8px;text-align:center;font:10px "DM Mono";color:#8a978f}.bar{background:linear-gradient(#5cb48b,#26815f);border-radius:5px 5px 2px 2px;min-height:5px;position:relative}.bar:after{content:attr(data-value);position:absolute;top:-17px;left:0;right:0;font-size:10px;color:#4d6156}.pipeline{padding:4px 20px 20px}.pipeline-item{margin:16px 0}.pipeline-head{display:flex;justify-content:space-between;font-size:12px}.pipeline-head strong{font:600 12px Outfit}.progress{height:7px;background:#eff2ef;border-radius:9px;margin-top:7px;overflow:hidden}.progress span{display:block;height:100%;background:#54ae87;border-radius:inherit}.activity{padding:0 20px 16px}.activity-item{position:relative;padding:0 0 14px 23px;font-size:12px;color:#536158}.activity-item:before{content:"";position:absolute;left:3px;top:5px;width:8px;height:8px;background:#66c499;border:2px solid #e0f5e8;border-radius:50%}.activity-item:after{content:"";position:absolute;left:6px;top:15px;width:2px;height:calc(100% - 8px);background:#e9efeb}.activity-item:last-child:after{display:none}.activity-item strong{color:var(--ink)}.activity-item small{display:block;color:#94a097;margin-top:3px}.table-toolbar{display:flex;gap:10px;align-items:center;margin:0 0 16px}.search{position:relative;flex:1}.search input,.select,input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;font:13px "Noto Sans SC";outline:none;color:var(--ink)}.search input{padding-left:34px}.search:before{content:"⌕";position:absolute;left:12px;top:8px;color:#8d9b92;font-size:17px}.select{width:auto;color:#57675e}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.filter-chip{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 10px;color:#617068;font-size:12px;cursor:pointer}.filter-chip.active{background:var(--mint);color:var(--green);border-color:#bde2ca}.data-card{overflow:hidden}.data-table{border-collapse:collapse;width:100%;text-align:left}.data-table th{font:600 10px "DM Mono";letter-spacing:.4px;color:#849188;background:#fafbfa;padding:12px 15px;border-bottom:1px solid var(--line)}.data-table td{padding:13px 15px;border-bottom:1px solid #eff2f0;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border:0}.data-table tbody tr:hover{background:#fbfdfb}.company{font-weight:600;color:#26362d}.sub{font-size:11px;color:#859189;margin-top:3px}.badge{display:inline-block;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:600}.badge.a{color:#a65325;background:#fff0df}.badge.b{color:#36734e;background:#e5f4ea}.badge.c{color:#376aa2;background:#eaf1fa}.badge.d{color:#7c687e;background:#f2edf2}.badge.stage{background:#eef3ef;color:#52645a}.badge.public{background:#fff3e6;color:#ae672d}.badge.safe{background:#e7f5ed;color:#277857}.pagination{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-top:1px solid var(--line);font-size:11px;color:#829087}.pagination button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:4px 8px;color:#68776e}.view-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.view-intro p{margin:7px 0 0;color:var(--muted);font-size:13px}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.empty{padding:52px 20px;text-align:center;color:var(--muted)}.lead-card{padding:17px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:start}.lead-card:last-child{border-bottom:0}.score{width:35px;height:35px;border-radius:10px;background:#e5f5eb;color:#247654;display:grid;place-items:center;font:600 12px Outfit}.lead-title{font-weight:600}.lead-meta{font-size:11px;color:var(--muted);margin:4px 0}.lead-evidence{font-size:11px;color:#486d5b;background:#f1f7f3;border-radius:4px;padding:3px 6px;display:inline-block}.notice{padding:13px 15px;border:1px solid #cbe7d6;background:#f0faf3;border-radius:9px;color:#397154;font-size:12px;display:flex;gap:9px;align-items:flex-start}.notice.warn{background:#fff8ed;border-color:#f1d9ac;color:#9a6a20}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-card{padding:0;overflow:hidden}.product-image{height:113px;background:linear-gradient(135deg,#e9f1eb,#d4e5da);display:grid;place-items:center;font-size:43px}.product-card-body{padding:14px}.product-card h3{font:600 14px Outfit,"Noto Sans SC";margin:0}.product-card p{font:11px "DM Mono";color:#859189;margin:5px 0 12px}.price{font:600 17px Outfit;color:var(--green)}.price small{font:400 10px "DM Mono";color:#94a099}.product-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.quote-card{padding:17px 20px}.quote-number{font:600 13px "DM Mono";color:#2e4237}.quote-line{display:flex;justify-content:space-between;border-top:1px solid #eff2f0;padding:10px 0;font-size:12px}.quote-line:first-of-type{margin-top:14px}.quote-total{font:600 21px Outfit;color:var(--green);padding-top:6px}.settings-list{padding:0 20px}.setting{padding:16px 0;border-bottom:1px solid #edf0ed;display:flex;justify-content:space-between;gap:20px;align-items:center}.setting:last-child{border:0}.setting strong{font-size:13px}.setting small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.switch{width:38px;height:21px;border:0;border-radius:14px;background:#c6d0c9;padding:2px;cursor:pointer;flex:none}.switch:after{content:"";display:block;width:17px;height:17px;border-radius:50%;background:#fff;transition:.2s}.switch.on{background:#4ca77c}.switch.on:after{transform:translateX(17px)}.modal-backdrop{position:fixed;inset:0;background:rgba(18,31,23,.38);z-index:10;display:grid;place-items:center;padding:20px}.modal-backdrop.hidden{display:none}.modal{width:min(520px,100%);max-height:90vh;overflow:auto;background:white;border-radius:16px;box-shadow:0 20px 55px rgba(13,32,20,.2);padding:23px}.modal h2{margin:0;font:600 20px Outfit,"Noto Sans SC"}.modal p{font-size:12px;color:var(--muted);margin:6px 0 18px}.field{margin:12px 0}.field label{display:block;font-size:12px;font-weight:600;margin:0 0 6px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.toast{position:fixed;bottom:25px;right:25px;background:#1d3729;color:#f4fff7;border-radius:8px;padding:11px 15px;font-size:12px;box-shadow:0 8px 24px #18251e33;transform:translateY(90px);opacity:0;transition:.25s;z-index:20}.toast.show{transform:none;opacity:1}.status-dot{width:7px;height:7px;border-radius:50%;background:#66bf91;display:inline-block;margin-right:5px}.message-layout{display:grid;grid-template-columns:250px 1fr;min-height:470px}.message-list{border-right:1px solid var(--line)}.message-preview{padding:20px}.message-preview-header{border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:15px}.bubble{max-width:77%;padding:10px 12px;border-radius:10px 10px 10px 2px;background:#f0f4f1;margin:10px 0;font-size:12px;line-height:1.6}.bubble.out{margin-left:auto;border-radius:10px 10px 2px 10px;background:#e0f3e8}.message-item{padding:12px;border-bottom:1px solid #eff2ef;cursor:pointer}.message-item.active{background:#f2faf5}.message-item strong{font-size:12px}.quote-guard{padding:12px 14px;background:#fff7ea;border:1px solid #f1d59e;color:#8d6625;border-radius:9px;font-size:11px;line-height:1.6;margin-bottom:15px}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.grid-main,.two-col{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{width:62px;padding:20px 7px}.brand span:not(.brand-mark),.brand small,.workspace,.nav-label,.nav-item:not(:hover)::after,.nav-item{font-size:0}.nav-item{justify-content:center;padding:11px}.nav-item>span{font-size:18px;width:auto}.nav-item b,.nav-item i,.nav-item em,.user-card>div,.user-card>span{display:none}.user-card{justify-content:center}.main{margin-left:62px;width:calc(100% - 62px);padding:22px 18px}.top-actions .icon-button{display:none}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:13px}.stat-value{font-size:24px}.data-card{overflow:auto}.data-table{min-width:760px}.product-grid{grid-template-columns:1fr}.message-layout{grid-template-columns:1fr}.message-list{border-right:0;border-bottom:1px solid var(--line)}}
.customer-quickbar{display:flex;gap:9px;align-items:center;margin:0 0 15px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 18px #19332408}.customer-quickbar .search{min-width:210px}.customer-quickbar .select{min-width:150px;padding:9px 12px}.selection-summary{margin-left:auto;font-size:12px;color:var(--green);font-weight:600}.customer-table-card{border-radius:13px}.customer-table{min-width:1570px}.customer-table th{white-space:nowrap;padding:13px 11px}.customer-table td{white-space:nowrap;padding:13px 11px}.follow-pill{display:inline-flex;align-items:center;color:#397154;background:#eff8f2;border:1px solid #cbe6d5;border-radius:99px;padding:3px 7px;font-size:10px;font-weight:600}.follow-pill.overdue{color:#b55343;background:#fff1ee;border-color:#f4c4b9}.whatsapp,.whatsapp-text{color:#20a774;font-weight:700}.source-tag{font-size:11px;color:#5d6c63}.row-actions{display:flex;align-items:center;gap:7px}.icon-more{border:1px solid var(--line);background:#fff;border-radius:6px;padding:1px 7px;font-size:17px;line-height:20px;color:#64736a;cursor:pointer}.nowrap{white-space:nowrap}.detail-back{margin:-11px 0 16px}.customer-detail-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:18px}.detail-sidebar{display:flex;flex-direction:column;gap:16px}.customer-profile{padding:23px;position:relative}.profile-pin{position:absolute;right:18px;top:18px;border:0;background:none;color:#87a1ba;font-size:26px;cursor:pointer}.profile-pin.pinned{color:#d49536}.profile-avatar{width:55px;height:55px;background:#e6f0ff;color:#3c70d5;border-radius:14px;display:grid;place-items:center;font:600 19px Outfit;margin-bottom:13px}.customer-profile h2{font:600 21px Outfit,'Noto Sans SC';line-height:1.4;margin:0}.customer-profile>p{margin:5px 0 17px;color:#94a097;font-size:12px}.profile-tags{display:flex;gap:8px;align-items:center;margin-bottom:18px}.profile-owner{border-top:1px solid var(--line);padding:15px 0;color:#849188;font-size:12px}.profile-owner strong{margin-left:10px;color:var(--ink)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 13px;margin:4px 0 0}.profile-grid dt,.contact-card dt{font-size:12px;color:#8b9790;margin-bottom:5px}.profile-grid dd,.contact-card dd{margin:0;color:#26362d;font-weight:600;font-size:13px}.stars{color:#e5a525;letter-spacing:1px}.stars span{color:#dbe3ec}.contact-card{padding:21px}.contact-card h3{font:600 16px Outfit,'Noto Sans SC';margin:0 0 17px;padding-bottom:16px;border-bottom:1px solid var(--line)}.contact-name{font-weight:700;margin-bottom:14px}.contact-card dl{display:grid;gap:13px;margin:0}.detail-content{min-width:0;display:flex;flex-direction:column;gap:18px}.detail-opportunity{padding:21px 26px}.detail-section-title{display:flex;align-items:center;justify-content:space-between}.detail-section-title h2{font:600 18px Outfit,'Noto Sans SC';margin:0}.opportunity-brief{border:1px dashed #dce5dd;border-radius:12px;padding:15px 18px;margin:16px 0}.opportunity-brief strong{font-size:14px}.opportunity-brief p{margin:5px 0 0;color:#89958e;font-size:12px}.stage-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.stage-step{border:1px solid #dfe7e0;background:#fff;border-radius:99px;padding:10px;color:#829087;font:600 13px 'Noto Sans SC';cursor:pointer}.stage-step.active{color:#fff;background:#2c69e6;border-color:#2c69e6;box-shadow:0 5px 12px #2c69e633}.stage-step.done{color:#267857;background:#e7f5ed;border-color:#cce9d6}.detail-tabs-card{overflow:hidden}.detail-tabs{display:flex;gap:2px;overflow:auto;padding:0 20px;border-bottom:1px solid var(--line);background:#fcfdfc}.detail-tabs button{padding:17px 13px 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:#7d8982;font:600 13px 'Noto Sans SC';white-space:nowrap;cursor:pointer}.detail-tabs button.active{color:#256de5;border-color:#256de5}.detail-tab-content{padding:23px 29px;min-height:350px}.detail-follow h3{font:600 17px Outfit,'Noto Sans SC';margin:0 0 13px}.follow-form{display:grid;grid-template-columns:150px minmax(180px,1fr) 130px auto;gap:10px}.follow-form input,.follow-form select{height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 11px;font:13px 'Noto Sans SC';outline:none}.timeline-toolbar{display:flex;justify-content:space-between;margin:25px 0 11px}.timeline-toolbar strong{font:600 15px Outfit,'Noto Sans SC'}.timeline-toolbar span{color:#94a097;font-size:11px}.timeline-filters{display:flex;gap:15px;padding-bottom:14px;border-bottom:1px solid var(--line)}.timeline-filters .link{color:#89958e}.timeline-filters .link.active{color:#256de5}.timeline{padding-top:8px}.timeline-item{display:grid;grid-template-columns:27px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #eff2f0}.timeline-icon{color:#e69346;font-size:16px}.timeline-meta{font:500 11px 'DM Mono';color:#8b9790;margin-bottom:7px}.timeline-meta span{float:right;font-family:'Noto Sans SC';font-weight:400}.timeline-item strong{font-size:13px}.timeline-item p{color:#8b9790;font-size:12px;line-height:1.65;margin:8px 0 0}.tab-empty{min-height:250px;display:grid;place-content:center;text-align:center;color:#88958d}.tab-empty h3{margin:10px 0 4px;color:#45534b}.tab-empty p{margin:0 0 15px;font-size:12px}.whatsapp.big{font-size:38px}.opportunity-card h3{margin:0 0 15px}.empty-opportunity{padding:20px;border:1px dashed #dce5dd;border-radius:12px}.empty-opportunity p{color:#89958e;font-size:12px}@media(max-width:1150px){.customer-quickbar{flex-wrap:wrap}.customer-quickbar .search{flex:1}.customer-detail-layout{grid-template-columns:1fr}.detail-sidebar{display:grid;grid-template-columns:1fr 1fr}.follow-form{grid-template-columns:1fr 1fr}.follow-form .btn{grid-column:span 2}}@media(max-width:700px){.customer-quickbar{padding:10px}.customer-quickbar .search{min-width:100%;order:2}.customer-quickbar .select{flex:1}.detail-sidebar{display:flex}.detail-opportunity,.detail-tab-content{padding:18px}.stage-progress{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;gap:12px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.follow-form{grid-template-columns:1fr}.follow-form .btn{grid-column:auto}.timeline-toolbar span{display:none}}
/* Dashboard refresh: mirrors the reference hierarchy while keeping the Liva identity. */
:root{--ink:#17253d;--muted:#8490a1;--line:#e8ecf3;--canvas:#f4f7fc;--surface:#fff;--green:#1267d6;--green-dark:#0e54b2;--mint:#e9f2ff}
body{background:var(--canvas);color:var(--ink)}
.sidebar{width:130px;padding:0 10px 12px;background:linear-gradient(180deg,#17456f 0%,#0c254d 100%);box-shadow:2px 0 18px #0f254b25}
.brand{height:74px;padding:0 9px;justify-content:center;border-bottom:1px solid #ffffff13;color:#fff}.brand-logo{width:104px;height:auto;max-height:42px;object-fit:contain;filter:brightness(0) invert(1)}.workspace,.nav-label{display:none}.nav{padding:8px 0 0;overflow:visible}.nav-divider{height:1px;background:#ffffff1d;margin:7px 7px}.nav-item{min-height:42px;justify-content:center;flex-direction:column;gap:2px;padding:4px 2px;border-radius:9px;color:#c7d8e9;font-size:11px;text-align:center;margin:1px 0;line-height:1.1;white-space:nowrap}.nav-item:hover{background:#ffffff17;color:#fff}.nav-item.active{background:linear-gradient(135deg,#2888ed,#1169df);box-shadow:0 5px 12px #061c4b46;color:#fff}.nav-item>span{width:auto;font-size:18px;line-height:16px;color:inherit}.nav-item b,.nav-item i{position:absolute;right:6px;top:3px;padding:0 4px;font-size:8px;background:#ffffff2a;color:#fff}.nav-item em{position:absolute;right:2px;top:0;font-size:6px;background:#82dbcb;color:#114f55}.nav-item{position:relative}.user-card{display:none}.main{margin-left:130px;width:calc(100% - 130px);max-width:none;padding:0 44px 54px}.topbar{padding:28px 0 24px;border-bottom:1px solid var(--line);margin-bottom:26px}.icon-button{border-color:#e0e7f0;color:#50617a}.btn{border-radius:10px}.btn-primary{background:#126fdf;box-shadow:0 6px 14px #126fdf2e}.btn-primary:hover{background:#095abe}.btn-light{border-color:#e0e6ef;color:#2e3a4c}.card{border-color:#e6eaf1;border-radius:15px;box-shadow:0 3px 14px #233d6908}
.dashboard-header{height:96px;margin:0 -44px;padding:0 44px;background:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ebeff5;font-size:20px;font-weight:700}.dashboard-user{display:flex;align-items:center;gap:10px;color:#647084;font-weight:500;font-size:14px}.dashboard-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0c87e9,#2656d7);color:#fff;font:600 12px Outfit}.dashboard-hero{min-height:172px;background:linear-gradient(105deg,#fff,#fafbff);border:1px solid #e6eaf1;border-radius:18px;margin:34px 0 27px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 5px 20px #314e7210}.hero-eyebrow{font-size:13px;color:#77849a;font-weight:600}.dashboard-hero h1{font:700 30px Outfit,'Noto Sans SC';margin:7px 0;color:#17253d}.dashboard-hero p{margin:0;color:#8b96a7;font-size:14px}.hero-actions{display:flex;gap:10px;flex:none}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.metric-card{border:1px solid #e4e9f1;border-radius:16px;background:#fff;padding:22px 25px;text-align:left;min-height:121px;color:#17253d}.button,.metric-card{font-family:'Noto Sans SC',sans-serif}.featured-metrics .metric-card{cursor:pointer;transition:transform .18s,box-shadow .18s}.featured-metrics .metric-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #314d7220}.metric-card span{display:block;font-weight:700;font-size:15px;color:#5f6d83}.metric-card strong{display:block;font:600 41px Outfit,sans-serif;line-height:1.08;margin:11px 0 5px}.metric-card small{color:#79869a;font-size:12px}.metric-overdue{background:linear-gradient(135deg,#fffafa,#fff0f1);border-color:#f5dddd}.metric-overdue span,.metric-overdue strong,.metric-overdue small{color:#b64050}.metric-pending{background:linear-gradient(135deg,#fbfdff,#edf5ff);border-color:#dfeafb}.metric-pending span,.metric-pending strong{color:#2364b8}.metric-pending small{color:#5e85be}.metric-leads{background:linear-gradient(135deg,#f9fffd,#e9fbf6);border-color:#d6eee8}.metric-leads span,.metric-leads strong{color:#13836d}.metric-leads small{color:#4e998b}.metric-public{background:linear-gradient(135deg,#fffdf9,#fff0db);border-color:#f1dfc4}.metric-public span,.metric-public strong{color:#b36c13}.metric-public small{color:#b6884d}.compact-metrics{margin-top:20px}.compact-metrics .metric-card{min-height:121px}.compact-metrics .metric-card span{font-weight:500;color:#909aaa}.compact-metrics .metric-card strong{font-size:37px;margin-top:18px}.dashboard-lower{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(320px,.78fr);gap:20px;margin-top:28px;align-items:start}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:22px 25px 18px;border-bottom:1px solid #edf0f5}.dashboard-card-head h2{margin:0;font:600 19px Outfit,'Noto Sans SC';color:#1b293e}.dashboard-card-head p{margin:7px 0 0;color:#8b96a7;font-size:13px}.dashboard-table{width:100%;border-collapse:collapse;text-align:left}.dashboard-table th{padding:13px 25px;color:#8d98a8;font-size:12px;font-weight:500;background:#fbfcfe;border-bottom:1px solid #edf0f5}.dashboard-table td{padding:16px 25px;border-bottom:1px solid #edf0f5;font-size:13px;color:#3a4659}.dashboard-table tr:last-child td{border-bottom:0}.dashboard-table td strong{display:block;font-size:14px;color:#273549}.dashboard-table td small{display:block;color:#9aa3b0;margin-top:5px}.follow-warning{color:#a76127;background:#fff2e4;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:600}.dashboard-side{display:grid;gap:20px}.future-card .empty-state{height:117px;display:grid;place-items:center;color:#98a2b0;font-size:13px}.mail-counts{display:grid;grid-template-columns:repeat(3,1fr);padding:0}.mail-counts div{text-align:center;padding:21px 8px 23px;border-right:1px solid #edf0f5}.mail-counts div:last-child{border-right:0}.mail-counts span{display:block;color:#929dab;font-size:12px}.mail-counts strong{display:block;margin-top:7px;font:600 27px Outfit;color:#25354c}
.diagnosis-score{padding:25px 30px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#edf6ff,#fff)}.diagnosis-score span,.diagnosis-score small{display:block;color:#75839a}.diagnosis-score strong{display:block;font:600 42px Outfit;color:#176eda;margin:7px 0}.score-ring{width:80px;height:80px;border-radius:50%;border:7px solid #a7d4ff;border-top-color:#1c75df;display:grid;place-items:center;color:#176eda;font:600 19px Outfit}.diagnosis-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:18px;margin-top:18px}.diagnosis-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:15px 20px;border-top:1px solid #edf0f5}.diagnosis-index{color:#246ed2;font:600 14px Outfit}.diagnosis-row strong{font-size:13px}.diagnosis-row p{margin:5px 0 0;color:#8a95a5;font-size:12px}.diagnosis-tips ul{padding:0 24px 12px 41px;color:#5e6d82;font-size:13px;line-height:2.4}.diagnosis-tips .btn{margin:0 24px 22px}.price-lookup{padding:30px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(115deg,#f1f7ff,#fff)}.price-lookup h2{margin:0;font:600 21px Outfit,'Noto Sans SC'}.price-lookup p{color:#8491a4;font-size:13px;margin:7px 0 0}.lookup-icon{float:left;width:46px;height:46px;margin-right:14px;border-radius:13px;display:grid;place-items:center;background:#176fdc;color:white;font:600 23px Outfit}.lookup-form{display:flex;gap:9px;min-width:390px}.lookup-form .search{min-width:270px}.doc-tabs{display:flex;gap:5px;margin:0 0 14px}.doc-tabs button{background:white;border:1px solid #e2e7ef;border-radius:8px;color:#6e7a8c;padding:8px 11px;font:500 12px 'Noto Sans SC';cursor:pointer}.doc-tabs button.active{background:#e9f2ff;color:#176bd1;border-color:#c6dcfa}
@media(max-width:1100px){.dashboard-lower{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.diagnosis-grid{grid-template-columns:1fr}.price-lookup{align-items:flex-start;flex-direction:column}.lookup-form{min-width:100%;width:100%}.lookup-form .search{flex:1}}
@media(max-width:760px){.sidebar{width:62px}.brand{height:60px;padding:0}.brand-logo{width:45px;max-height:35px}.nav{padding-top:6px}.nav-item{min-height:42px;font-size:0}.nav-divider{margin:6px 3px}.main{margin-left:62px;width:calc(100% - 62px);padding:0 18px 32px}.dashboard-header{height:75px;margin:0 -18px;padding:0 18px;font-size:18px}.dashboard-user span{display:none}.dashboard-hero{margin:20px 0;padding:20px;align-items:flex-start;flex-direction:column}.dashboard-hero h1{font-size:25px}.hero-actions{flex-wrap:wrap}.dashboard-metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric-card{padding:15px;min-height:105px}.metric-card strong{font-size:30px}.dashboard-lower{margin-top:20px}.dashboard-side{grid-template-columns:1fr}.dashboard-card-head{padding:17px}.dashboard-table th,.dashboard-table td{padding:12px;font-size:11px}.dashboard-table th:nth-child(3),.dashboard-table td:nth-child(3),.dashboard-table th:nth-child(4),.dashboard-table td:nth-child(4){display:none}.dashboard-table td strong{font-size:12px}.diagnosis-row{grid-template-columns:24px minmax(0,1fr) auto}.diagnosis-row .link{display:none}.lookup-form{flex-direction:column}.lookup-form .search{min-width:0}.doc-tabs{overflow:auto}.topbar{padding:22px 0 18px}}

/* Current-account menu: one safe exit path for every role. */
.dashboard-user{border:0;background:transparent;border-radius:10px;padding:6px 8px;cursor:pointer;transition:background .18s,color .18s}.dashboard-user:hover,.dashboard-user:focus-visible{background:#eef5ff;color:#1e5dad;outline:none}.dashboard-user i{font-style:normal;color:#8190a6;font-size:14px}.user-menu{position:fixed;z-index:1000;width:244px;background:#fff;border:1px solid #dce5f0;border-radius:13px;box-shadow:0 16px 42px #1c315333;padding:7px;overflow:hidden}.user-menu[hidden]{display:none}.user-menu-summary{padding:11px 12px 12px;border-bottom:1px solid #edf1f5;margin-bottom:5px}.user-menu-summary strong,.user-menu-summary small{display:block}.user-menu-summary strong{color:#24354d;font-size:14px}.user-menu-summary small{margin-top:4px;color:#7e8ba0;font-size:12px}.user-menu-item{width:100%;border:0;background:transparent;border-radius:8px;color:#30415a;display:flex;align-items:center;gap:9px;padding:10px 11px;text-align:left;font:500 13px 'Noto Sans SC';cursor:pointer}.user-menu-item:hover,.user-menu-item:focus-visible{background:#eef5ff;color:#1768ca;outline:none}.user-menu-item.danger{color:#b34646}.user-menu-item.danger:hover,.user-menu-item.danger:focus-visible{background:#fff1f1;color:#a43737}
.super-admin-only[hidden]{display:none!important}

/* Larger, more readable customer and business lists. */
.data-table th{font-size:12px}.data-table td{font-size:14px;padding:15px 16px}.data-table .company{font-size:14px}.data-table .sub{font-size:12px}.customer-table td{font-size:13px;padding:14px 12px}.customer-table .company{font-size:14px}.customer-table tbody tr{cursor:pointer}.customer-table tbody tr:hover{background:#f5f9ff}.dashboard-table td{font-size:14px}.dashboard-table td strong{font-size:15px}.dashboard-table td small{font-size:12px}
.public-sea-table tbody tr{cursor:pointer}.public-sea-table tbody tr:hover{background:#f5f9ff}.public-sea-table td:last-child{white-space:nowrap}.public-sea-table .link{margin-right:9px}
.dashboard-table tbody tr:has(button[data-action="detail"]),.data-table tbody tr:has(button[data-action="detail"]){cursor:pointer}.dashboard-table tbody tr:has(button[data-action="detail"]):hover,.data-table tbody tr:has(button[data-action="detail"]):hover{background:#f5f9ff}
.product-detail-icon{font-size:28px}.product-detail-price{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.product-price-card{display:block;width:100%;min-height:116px;border:1px solid #e6eaf1;border-radius:12px;padding:16px;background:#fff;text-align:left;color:inherit;font:inherit}.product-price-card.editable{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.product-price-card.editable:hover,.product-price-card.editable:focus-visible{border-color:#78aaf0;box-shadow:0 7px 18px #176bd122;transform:translateY(-1px);outline:none}.product-detail-price span,.product-detail-price small,.spec-grid span{display:block;color:#8793a4;font-size:12px}.product-detail-price strong{display:block;color:#176bd1;font:600 25px Outfit;margin:8px 0 3px}.cost-price-card strong{color:#a76518}.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#e9edf3;border:1px solid #e9edf3;border-radius:10px;overflow:hidden}.spec-grid>div{background:#fff;padding:15px}.spec-grid strong{display:block;margin-top:6px;font-size:13px;color:#27354a}@media(max-width:760px){.product-detail-price{grid-template-columns:1fr}.spec-grid{grid-template-columns:1fr}}
.trade-document-modal{width:min(700px,100%)}.trade-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.trade-builder-grid .field{margin:9px 0}.trade-builder-grid select,.trade-builder-grid input{width:100%;height:39px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--ink);font:13px 'Noto Sans SC'}.document-price-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:15px;border:1px solid #cbe7d6;border-radius:10px;background:#f3fbf6}.document-price-preview div{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#789086}.document-price-preview strong{font-size:13px;color:#314239}.document-price-preview .document-total{grid-column:span 2;border-top:1px solid #d4eadc;padding-top:10px;margin-top:2px}.document-price-preview .document-total strong{font:600 21px Outfit;color:var(--green)}.password-input-row{display:flex;gap:8px}.password-input-row input{min-width:0;flex:1}.password-input-row button{flex:none}@media(max-width:620px){.trade-builder-grid,.document-price-preview{grid-template-columns:1fr}.document-price-preview .document-total{grid-column:auto}}
.document-preview-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:2px solid var(--green)}.document-preview-head span,.document-parties span{display:block;color:#799087;font-size:11px}.document-preview-head h2{margin:5px 0 0;color:var(--green);font:600 24px Outfit}.document-preview-head>strong{font:600 12px 'DM Mono';padding-top:5px}.document-parties{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.document-parties strong,.document-parties small{display:block;margin-top:5px}.document-parties strong{font-size:13px}.document-parties small{font-size:11px;color:#839087}.document-lines{width:100%;border-collapse:collapse;font-size:12px}.document-lines th,.document-lines td{padding:10px 7px;text-align:left;border-bottom:1px solid var(--line)}.document-lines th{color:#829087;font-size:10px}.document-preview-total{display:flex;justify-content:flex-end;align-items:center;gap:15px;padding:16px 4px}.document-preview-total strong{font:600 21px Outfit;color:var(--green)}@media(max-width:620px){.document-parties{grid-template-columns:1fr}.document-lines{font-size:10px}.document-lines th,.document-lines td{padding:8px 3px}}
.lead-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;margin-top:18px}.lead-task-list,.lead-results{padding:18px}.lead-task-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:12px 0}.lead-task-select{display:grid;gap:4px;flex:1;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;color:var(--ink)}.lead-task-select strong{font-size:13px}.lead-task-select span{font-size:11px;color:#8490a1}.lead-task-row.active .lead-task-select strong{color:#176bd1}.lead-task-actions{display:flex;gap:6px}.lead-task-actions .link{font-size:11px;white-space:nowrap}.lead-result{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px 0;border-top:1px solid var(--line)}.lead-result .score{width:42px;height:42px;border-radius:12px;background:#e9f2ff;color:#176bd1;display:grid;place-items:center;font:600 17px Outfit}.lead-result-main{min-width:0}.lead-result-main p{margin:8px 0 0;color:#718094;font-size:12px;line-height:1.65}.lead-contacts{margin-top:8px;font-size:12px;color:#627287}.lead-contacts a{color:#176bd1;text-decoration:none}.lead-result-actions{display:flex;gap:8px;align-items:center}.lead-empty{padding:35px 8px;color:#8490a1;font-size:13px;line-height:1.8}.lead-task-modal{width:min(760px,100%)}.lead-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.lead-task-options{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 4px;color:#4c5d72;font-size:12px}.lead-evidence-list{padding-left:20px;color:#526276;font-size:13px;line-height:1.8}.lead-evidence-list a{color:#176bd1}@media(max-width:900px){.lead-workspace{grid-template-columns:1fr}.lead-task-list{max-height:none}}@media(max-width:620px){.lead-result{grid-template-columns:42px minmax(0,1fr)}.lead-result-actions{grid-column:2}.lead-task-grid{grid-template-columns:1fr}.lead-task-options{display:grid;grid-template-columns:1fr 1fr}}
.lead-task-modal-wide{width:min(980px,100%)}.lead-task-modal-wide .field select,.lead-task-modal-wide .field input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:10px 11px;font:13px 'Noto Sans SC'}.lead-task-modal-wide .field select[multiple]{height:136px;padding:5px}.lead-task-modal-wide .field select[multiple] option{padding:5px 7px}.lead-task-modal-wide .lead-task-options{padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lead-v2-metrics{display:grid;grid-template-columns:repeat(8,minmax(96px,1fr));gap:10px;margin:17px 0}.lead-v2-metrics .card{padding:13px}.lead-v2-metrics span{display:block;color:var(--muted);font-size:11px}.lead-v2-metrics strong{display:block;margin-top:6px;font:600 23px Outfit;color:#176bd1}.lead-v2-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:18px}.lead-v2-campaigns,.lead-v2-inbox{padding:18px}.lead-v2-campaign{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 0;border-top:1px solid var(--line)}.lead-v2-campaign:first-of-type{margin-top:8px}.lead-v2-campaign strong,.lead-v2-campaign small{display:block}.lead-v2-campaign small,.lead-v2-row small,.lead-v2-row p{color:var(--muted);font-size:11px}.lead-v2-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.lead-v2-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;padding:15px 0;border-top:1px solid var(--line)}.lead-v2-row strong{display:block}.lead-v2-row p{margin:5px 0 0;line-height:1.5}.lead-v2-score{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e9f2ff;color:#176bd1;font:600 17px Outfit}.lead-v2-actions{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;justify-content:flex-end}.lead-v2-detail{width:min(1000px,96vw)}.lead-v2-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.lead-v2-detail-grid section{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.lead-v2-detail-grid h3{margin:0 0 8px;font-size:13px}.lead-v2-detail-grid p{font-size:12px;line-height:1.55}@media(max-width:1100px){.lead-v2-metrics{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.lead-v2-layout{grid-template-columns:1fr}.lead-v2-detail-grid{grid-template-columns:1fr}}@media(max-width:620px){.lead-v2-metrics{grid-template-columns:repeat(2,1fr)}.lead-v2-row{grid-template-columns:42px minmax(0,1fr)}.lead-v2-actions{grid-column:2;justify-content:flex-start}}
.outreach-modal{width:min(720px,100%)}.outreach-modal textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--line);border-radius:9px;padding:11px;font:13px/1.65 'Noto Sans SC';color:var(--ink)}
/* Catalog product media and interaction states. */
.product-image-editor{width:min(720px,100%)}.product-image-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.product-image-editor .field{margin:9px 0}.product-image-editor input{width:100%;box-sizing:border-box}.product-image-file-field small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.product-image-preview-wrap{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.product-image-preview-wrap>span{display:block;margin-bottom:9px;color:var(--muted);font-size:12px}.product-image-preview-wrap img{display:block;width:100%;height:220px;object-fit:contain;background:#fff;border:1px solid #edf0f5;border-radius:8px}.product-image-preview-wrap .catalog-spec-empty{margin:0}.hidden{display:none!important}@media(max-width:620px){.product-image-editor-grid{grid-template-columns:1fr}}
.product-specifications{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:0;background:#e6eaf1;border:1px solid #e6eaf1;border-radius:9px;overflow:hidden}.product-specifications>div{padding:14px 16px;background:#fff}.product-specifications dt{font-size:12px;color:#8592a3}.product-specifications dd{margin:7px 0 0;color:#27354a;font-size:14px;font-weight:600;word-break:break-word}.product-spec-editor{width:min(720px,100%)}@media(max-width:620px){.product-specifications{grid-template-columns:1fr}}
.product-card{cursor:pointer;transition:transform .18s,box-shadow .18s}.product-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px #18366412}.product-card:focus-visible{outline:3px solid #80b5ff;outline-offset:3px}.product-image{height:220px;padding:8px;overflow:hidden;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center}.product-image img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.product-detail-image{height:190px;margin:0 0 18px;overflow:hidden;background:linear-gradient(135deg,#eef4ef,#dbe9df)}.product-detail-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.product-detail-image span{display:grid;height:100%;place-items:center;font-size:48px;color:var(--ink)}
.product-image,.product-detail-image{background:#fff;border-bottom:1px solid var(--line)}.product-image{height:220px;padding:8px}.product-detail-image{padding:10px}.catalog-spec-card{margin-top:20px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#fcfdfc}.catalog-spec-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.catalog-spec-head h3{margin:0;font:600 15px Outfit,"Noto Sans SC"}.catalog-spec-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.catalog-spec-image{display:block;width:100%;max-height:460px;object-fit:contain;background:#fff;border:1px solid #edf0ed;border-radius:8px}.catalog-spec-empty{padding:30px 14px;border:1px dashed #d8dfda;border-radius:8px;background:#fff;color:var(--muted);text-align:center;font-size:12px}
.product-filter-panel{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(130px,auto));gap:10px;margin-bottom:14px}.product-filter-panel .search{min-width:0}.product-card-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.product-image{height:auto;aspect-ratio:1/1;box-sizing:border-box}.product-detail-image{height:auto;aspect-ratio:1/1;box-sizing:border-box}.product-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.product-detail-gallery img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border:1px solid var(--line)}.catalog-review-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.catalog-batches{padding:8px;height:max-content}.catalog-batch{display:block;width:100%;padding:12px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.catalog-batch.active{background:var(--mint)}.catalog-batch strong,.catalog-batch span{display:block}.catalog-batch span{margin-top:5px;color:var(--muted);font-size:11px}.review-thumb{width:72px;aspect-ratio:1/1;background:#fff}.review-thumb img{display:block;width:100%;height:100%;object-fit:contain}.review-actions{min-width:210px}.review-actions .link{margin:2px 8px 2px 0}.danger-link{color:#c85846!important}@media(max-width:1100px){.product-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.product-filter-panel .search{grid-column:1/-1}.catalog-review-layout{grid-template-columns:1fr}.catalog-batches{display:flex;overflow:auto}.catalog-batch{min-width:220px}}@media(max-width:760px){.product-filter-panel{grid-template-columns:1fr}.product-filter-panel .search{grid-column:auto}.product-detail-gallery{grid-template-columns:1fr}}
/* Product management controls */
.product-image{position:relative}.product-select{position:absolute;left:10px;top:10px;z-index:2;background:#fff;border-radius:6px;padding:3px;box-shadow:0 2px 8px #12263d22}.product-price-label{display:block;margin-top:9px;color:#176bd1;font:600 14px Outfit,"Noto Sans SC"}
.product-select-all{display:inline-flex;align-items:center;gap:7px;margin-left:12px;padding:7px 11px;border:1px solid #c8d9ee;border-radius:8px;background:#fff;color:#3f648a;font-size:12px;font-weight:600;cursor:pointer}.product-select-all input{width:15px;height:15px;margin:0;accent-color:#176bd1}.product-select-all:has(input:disabled){opacity:.55;cursor:not-allowed}
.manual-image-field small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.manual-image-preview{display:flex;align-items:center;justify-content:center;min-height:150px;max-height:280px;margin-top:10px;padding:10px;border:1px dashed #cfd9e6;border-radius:10px;background:#f8fafc;overflow:hidden;color:var(--muted);font-size:12px}.manual-image-preview img{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;border-radius:7px}
.manual-product-modal{width:min(720px,100%)}.manual-product-grid,.manual-new-category{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.manual-product-modal input,.manual-product-modal select,.manual-product-modal textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;font:13px "Noto Sans SC";outline:none;color:var(--ink)}.manual-product-modal textarea{resize:vertical;line-height:1.6}.manual-product-modal textarea[readonly]{background:#f7f9fb;color:#637186}.manual-new-category{margin:4px 0 12px;padding:4px 13px;border:1px solid #cfe1f5;border-radius:10px;background:#f5f9ff}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px}@media(max-width:620px){.manual-product-grid,.manual-new-category{grid-template-columns:1fr}}
.product-pricing-modal{width:min(620px,100%)}.price-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.price-editor-grid input,.price-editor-grid select{width:100%;box-sizing:border-box}.price-editor-cost{grid-column:1/-1}.price-editor-cost>small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.currency-input{display:grid;grid-template-columns:42px 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}.currency-input>span{display:grid;place-items:center;background:#fff7e8;color:#9a681f;font-weight:700;border-right:1px solid #ead8b5}.currency-input>input{border:0;border-radius:0}.pricing-private-notice{margin-top:14px;padding:11px 13px;border:1px solid #cfe1f5;border-radius:9px;background:#f4f8ff;color:#54708e;font-size:11px;line-height:1.6}@media(max-width:620px){.price-editor-grid{grid-template-columns:1fr}.price-editor-cost{grid-column:auto}}
.pi-preview-modal{width:min(1220px,96vw);max-height:94vh;overflow:auto}.pi-preview-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.pi-preview-summary>div{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f7fafc}.pi-preview-summary span,.pi-preview-summary strong{display:block}.pi-preview-summary span{font-size:10px;color:var(--muted);margin-bottom:5px}.pi-preview-summary strong{font-size:13px}.pi-template-tabs{display:flex;gap:8px;margin-bottom:12px}.pi-template-tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;color:var(--muted);cursor:pointer}.pi-template-tabs button.active{background:#102b45;color:#fff;border-color:#102b45}.pi-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pi-template-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.pi-template-card.active{border:2px solid #b1873d}.pi-template-card>header,.pi-template-card>footer{display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.pi-template-card>header{border-bottom:1px solid var(--line)}.pi-template-card iframe{display:block;width:100%;height:430px;border:0;background:#f7f8fa}.pi-template-card>footer{border-top:1px solid var(--line);gap:8px}.pi-history{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:10px 12px;background:#f7fafc;border-radius:8px;font-size:11px}.pi-history span{padding:4px 7px;border-radius:5px;background:#fff;border:1px solid var(--line)}.enhanced-lines{display:grid;gap:9px;margin:12px 0}.enhanced-line{display:grid;grid-template-columns:minmax(0,1fr) 130px 150px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.enhanced-line strong,.enhanced-line small{display:block}.enhanced-line small{margin-top:3px;color:var(--muted);font-size:11px}.enhanced-line label{font-size:10px;color:var(--muted)}.enhanced-line input{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:8px}@media(max-width:900px){.pi-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.pi-template-grid{grid-template-columns:1fr}.pi-template-card iframe{height:520px}}@media(max-width:600px){.pi-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.enhanced-line{grid-template-columns:1fr 1fr}.enhanced-line>div{grid-column:1/-1}}
.auth-text-button{display:block;margin:-3px 0 0 auto;padding:3px 0;border:0;background:transparent;color:var(--green);font:500 12px "Noto Sans SC";cursor:pointer}.auth-text-button:hover{text-decoration:underline}
.customer-follow-form{display:grid;grid-template-columns:160px 160px 1fr;gap:10px;align-items:start}.customer-follow-form textarea{min-height:76px;resize:vertical}.customer-follow-form button{min-height:42px}.customer-360-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.customer-360-grid>div{border:1px solid var(--line);border-radius:10px;padding:13px;background:#fff}.customer-360-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.customer-360-grid strong{font-size:13px;overflow-wrap:anywhere}.customer-product-multiselect{width:100%;min-height:320px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}.customer-product-multiselect option{padding:7px;border-radius:6px}@media(max-width:1100px){.customer-follow-form,.customer-360-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.customer-follow-form,.customer-360-grid{grid-template-columns:1fr}}
.customer-level-control{margin:14px 0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}.customer-level-control label{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}.customer-level-control .select{width:100%;box-sizing:border-box}.field-help{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.customer-filter-panel-modern{display:block;padding:14px 16px 12px;margin:0 0 12px;background:#fff;border:1px solid #e4ebe6;border-radius:13px;box-shadow:0 5px 18px #19332408}.customer-search-row{display:flex;align-items:center}.customer-search-box{position:relative;display:flex;align-items:center;width:100%;min-height:46px;border:1px solid #d6e1da;border-radius:10px;background:#fbfdfb;transition:border-color .15s,box-shadow .15s}.customer-search-box:focus-within{border-color:#6d9be8;box-shadow:0 0 0 3px #2c69e614;background:#fff}.customer-search-icon{width:43px;text-align:center;color:#75877c;font-size:25px;line-height:1;transform:rotate(-20deg)}.customer-search-input{width:100%;height:44px;border:0;background:transparent;outline:0;padding:0 42px 0 0;color:var(--ink);font:14px 'Noto Sans SC'}.customer-search-input::placeholder{color:#9ba8a0}.customer-search-clear,.customer-field-clear{display:none;position:absolute;right:11px;border:0;border-radius:50%;background:#e9efeb;color:#6b7b71;width:21px;height:21px;line-height:19px;padding:0;cursor:pointer}.customer-search-clear.visible,.customer-field-clear.visible{display:block}.customer-search-clear:hover,.customer-field-clear:hover{background:#dce7df;color:#26362d}.customer-common-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) minmax(190px,1.4fr);gap:10px;margin-top:12px}.customer-filter-field{display:flex;flex-direction:column;gap:5px;min-width:0}.customer-filter-field>span{font-size:11px;color:#7d8b82}.customer-filter-select,.customer-filter-input{width:100%;height:38px;box-sizing:border-box;border:1px solid #d9e3dc;border-radius:8px;background:#fff;color:#34443a;padding:0 30px 0 10px;outline:0;font:13px 'Noto Sans SC';transition:border-color .15s,box-shadow .15s}.customer-filter-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#809188 50%),linear-gradient(135deg,#809188 50%,transparent 50%);background-position:calc(100% - 15px) 16px,calc(100% - 11px) 16px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.customer-filter-select:focus,.customer-filter-input:focus{border-color:#6d9be8;box-shadow:0 0 0 3px #2c69e614}.customer-product-input-wrap{position:relative}.customer-product-input-wrap .customer-filter-input{padding-right:34px}.customer-filter-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:11px;border-top:1px solid #edf2ee}.customer-advanced-toggle{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#5e7366;padding:7px 4px;font:600 12px 'Noto Sans SC';cursor:pointer}.customer-advanced-toggle:hover{color:#256de5}.customer-toggle-chevron{font-size:16px;line-height:12px;transition:transform .15s}.customer-advanced-toggle.open .customer-toggle-chevron{transform:rotate(180deg)}.customer-filter-action-buttons{display:flex;gap:8px}.customer-filter-action-buttons .btn{min-width:88px;height:36px}.customer-advanced-panel{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;padding:13px 0 2px}.customer-date-range{display:flex;align-items:center;gap:13px;padding:10px 12px;background:#f8faf8;border:1px solid #e5ece7;border-radius:9px}.customer-date-range-title{width:84px;flex:0 0 auto;color:#69796f;font-size:12px;font-weight:600}.customer-date-range-fields{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.customer-date-range-fields>span{color:#98a79e}.customer-date-input{width:100%;min-width:0;height:34px;box-sizing:border-box;border:1px solid #d9e3dc;border-radius:7px;background:#fff;color:#34443a;padding:0 7px;font:12px 'Noto Sans SC';outline:0}.customer-date-input:focus{border-color:#6d9be8;box-shadow:0 0 0 3px #2c69e614}.customer-active-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:8px 11px;border:1px solid #e6ece8;border-radius:9px;background:#fbfdfb}.customer-active-filter-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.customer-active-label{margin-right:3px;color:#7f8e84;font-size:11px}.customer-filter-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #cfe0d4;border-radius:99px;background:#eff7f1;color:#36704f;padding:4px 9px;font:600 11px 'Noto Sans SC';cursor:pointer}.customer-filter-chip:hover{border-color:#8dbba0;background:#e4f2e8}.customer-filter-chip span{font-size:14px;line-height:10px;color:#799284}.customer-clear-all{white-space:nowrap}.customer-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:10px 13px;border:1px solid #cbdcf3;border-radius:10px;background:#f4f8fe;color:#334f72}.customer-bulk-summary{display:flex;align-items:center;gap:12px;font-size:12px}.customer-bulk-summary strong{font-weight:700}.customer-bulk-controls{display:flex;align-items:center;gap:8px}.customer-bulk-controls .customer-filter-select{height:34px;min-width:170px}.customer-bulk-bar-readonly{background:#fafcfb;border-color:#e2ebe4;color:#75837a}.customer-bulk-bar-readonly .customer-bulk-summary{width:100%;justify-content:space-between}@media(max-width:1150px){.customer-common-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.customer-advanced-panel{grid-template-columns:1fr}.customer-date-range{max-width:none}}@media(max-width:700px){.customer-filter-panel-modern{padding:11px}.customer-common-filters{grid-template-columns:1fr 1fr;gap:8px}.customer-common-filters .customer-product-field{grid-column:1/-1}.customer-filter-actions{align-items:flex-start;gap:10px}.customer-filter-action-buttons{flex:1;justify-content:flex-end}.customer-filter-action-buttons .btn{min-width:76px}.customer-date-range{display:block}.customer-date-range-title{width:auto;margin-bottom:8px}.customer-date-range-fields{width:100%}.customer-active-filters{align-items:flex-start}.customer-clear-all{margin-top:3px}.customer-bulk-bar{align-items:flex-start;flex-direction:column}.customer-bulk-controls{width:100%}.customer-bulk-controls .customer-filter-select{flex:1;min-width:0}}
.ai-insight-panel{padding:18px;background:#fbfcfe;border:1px solid var(--line);border-radius:10px}.ai-summary{font-size:15px;line-height:1.7;margin:16px 0}.ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.ai-grid>div{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.ai-grid span,.ai-grid small{display:block;color:var(--muted);font-size:12px}.ai-grid strong{display:block;margin:7px 0;font-size:18px}.ai-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--line);padding-top:14px}.ai-columns h4,.ai-message h4{margin:0 0 8px}.ai-columns ul{margin:0;padding-left:20px;line-height:1.8}.ai-message{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.ai-message small{color:var(--muted)}.ai-message textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px}.ai-feedback{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.ai-feedback small{color:var(--muted)}
.ai-fact-list{display:flex;flex-wrap:wrap;gap:6px;line-height:1.7}.ai-fact-list .badge{font-weight:500}.ai-completeness{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.ai-completeness h4{margin:0 0 6px}.ai-completeness>small{display:block;color:var(--muted);margin-top:10px}.ai-draft-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:7px}.ai-draft-controls label{font-size:12px;color:var(--muted)}.ai-draft-controls select{width:auto;margin-left:5px;padding:7px 10px}
.research-last-time{align-self:center;color:var(--muted);font-size:11px;margin-left:8px}.customer-research-panel,.research-empty{padding:18px;background:#fbfcfe;border:1px solid var(--line);border-radius:10px}.research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.research-grid>section,.research-suggestions,.research-sources,.research-history{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.research-grid h4,.research-suggestions h4,.research-sources h4,.research-history h4{margin:0 0 10px}.research-profile-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid #eff2f0}.research-profile-row:first-child{border-top:0}.research-profile-row>span{color:var(--muted);font-size:12px}.research-profile-row strong,.research-profile-row small{display:block;overflow-wrap:anywhere}.research-profile-row small{color:var(--muted);margin-top:4px;font-size:11px}.research-evidence-meta{margin-top:5px}.research-evidence-meta .badge{margin-right:4px}.research-update-table{overflow:auto}.research-update-head,.research-update-row{display:grid;grid-template-columns:130px 1fr 1fr 190px 140px;gap:10px;align-items:center;min-width:760px}.research-update-head{padding:9px 10px;background:#f6f9f7;color:var(--muted);font-size:11px}.research-update-row{padding:10px;border-top:1px solid #eff2f0;font-size:12px}.research-update-row>span{overflow-wrap:anywhere}.research-update-row small{display:block;margin-top:4px;color:var(--muted)}.research-update-row .link{margin-right:8px}.research-suggestions,.research-sources{margin-top:16px}.research-history{margin-top:16px}.research-history .setting{padding:10px 0}.research-empty p{color:var(--muted);line-height:1.7}
.research-mode-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.research-mode-card{display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.research-mode-card:first-child{border-color:#b9d3fa;background:#f7faff}.research-mode-card h4{margin:5px 0 8px}.research-mode-card p{min-height:44px;margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.6}.research-mode-card small{display:block;color:var(--muted);font-size:10px}.research-mode-card .btn{margin-top:16px;width:100%}.research-mode-kicker{color:#3971c4;font-size:10px;font-weight:700;text-transform:uppercase}.research-recommendation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:13px 15px;border:1px solid #b9dec7;border-radius:10px;background:#f4fbf6}.research-recommendation.warn{border-color:#efd08c;background:#fff9ec}.research-recommendation p{margin:4px 0;color:#46564c;font-size:12px}.research-recommendation small{color:var(--muted)}.research-history-legacy,.research-sources-legacy{display:none}.research-history-v2,.research-sources-v2{margin-top:16px}.research-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid #eff2f0}.research-history-row:first-of-type{border-top:0}.research-history-row strong,.research-history-row small{display:block}.research-history-row small{margin-top:3px;color:var(--muted);font-size:10px}.research-history-row>div:last-child{text-align:right}.research-sources-v2 .setting{padding:10px 0}@media(max-width:900px){.research-mode-panel{grid-template-columns:1fr}.research-mode-card{min-height:0}.research-mode-card p{min-height:0}.research-recommendation{align-items:flex-start;flex-direction:column}}
@media (max-width:900px){.ai-grid,.ai-columns{grid-template-columns:1fr 1fr}.ai-columns>div:last-child{grid-column:1/-1}}
.document-product-line{display:grid;grid-template-columns:minmax(240px,1fr) 110px 170px 150px;gap:10px 14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.document-product-line-head{min-width:0}.document-product-line-head strong,.document-product-line-head span{display:block;overflow-wrap:anywhere}.document-product-line-head span{margin-top:3px;color:var(--muted);font-size:11px}.document-product-line-meta{grid-column:1/-1;color:var(--muted);font-size:10px}.document-product-line-fields{display:contents}.document-product-line label{font-size:11px;color:var(--muted);min-width:0}.document-product-line input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:9px}.document-product-line>strong{font-size:12px;color:var(--green);text-align:right;white-space:nowrap}.price-source{grid-column:1/-1;color:var(--muted);font-size:10px}.price-source.manual{color:#246fc5;font-weight:600}.price-risk-notice{grid-column:1/-1;padding:8px 10px;border:1px solid #f0ca80;border-radius:7px;background:#fff8e8;color:#95651a;font-size:11px;line-height:1.5}.enhanced-line.document-product-line{grid-template-columns:minmax(260px,1fr) 130px 170px 150px}.enhanced-line.document-product-line .document-product-line-head{grid-column:1/-1}.enhanced-line.document-product-line .document-product-line-meta{grid-column:1/-1}@media(max-width:760px){.document-product-line,.enhanced-line.document-product-line{grid-template-columns:1fr 1fr}.document-product-line-meta,.price-source,.price-risk-notice{grid-column:1/-1}.document-product-line>strong{grid-column:1/-1;text-align:left}}
.price-confirm-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:rgba(18,31,23,.42)}.price-confirm-dialog{width:min(520px,100%);padding:23px;background:#fff;border-radius:14px;box-shadow:0 20px 55px rgba(13,32,20,.24)}.price-confirm-dialog h3{margin:0;font-size:18px;color:#8d641c}.price-confirm-dialog p{font-size:12px;color:var(--muted);line-height:1.6}.price-confirm-details{padding:10px 12px;border:1px solid #f0ca80;border-radius:8px;background:#fff8e8;color:#95651a;font-size:12px;line-height:1.7}
.pi-preview-modal{width:min(980px,96vw)}.pi-preview-modal>.pi-template-card{max-width:900px;margin:0 auto}.pi-preview-modal>.pi-template-card iframe{height:620px}
.document-builder-modal{width:min(1440px,90vw);max-height:94vh;padding:24px 28px}.quote-product-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:31px}.quote-product-summary>.btn{display:inline-flex;align-items:center;gap:5px}.quote-product-summary>.btn button{border:0;background:transparent;color:inherit;font-size:16px;line-height:1;cursor:pointer}.product-line-editor{margin:12px 0;border:1px solid var(--line);border-radius:11px;overflow:auto;max-height:min(43vh,470px);background:#fff}.product-line-table{min-width:1370px}.product-line-table-head,.product-line-table-row{display:grid;grid-template-columns:44px minmax(220px,2fr) minmax(112px,.9fr) 88px 92px 150px 132px 116px 118px 108px 112px;gap:9px;align-items:center;padding:10px 12px}.product-line-table-head{position:sticky;top:0;z-index:2;background:#f5f8f6;border-bottom:1px solid var(--line);color:#728078;font:600 10px "DM Mono";letter-spacing:.25px}.product-line-table-row{position:relative;border-bottom:1px solid #edf1ee;background:#fff}.product-line-table-row:last-child{border-bottom:0}.product-line-table-row.is-dragging{opacity:.55;background:#f4f8ff}.product-line-drag-handle{width:32px;height:34px;border:1px solid #dce5de;border-radius:7px;background:#fff;color:#718178;cursor:grab;font:700 16px/1 sans-serif;letter-spacing:-3px}.product-line-drag-handle:active{cursor:grabbing}.product-line-product{display:flex;align-items:center;gap:9px;min-width:0}.product-line-product img,.product-line-image-placeholder{width:42px;height:42px;flex:0 0 42px;object-fit:contain;border:1px solid #e5ebe6;border-radius:7px;background:#fff}.product-line-image-placeholder{display:grid;place-items:center;color:#98a69d}.product-line-product strong,.product-line-product span{display:block;overflow-wrap:anywhere}.product-line-product strong{font:600 12px Outfit,"Noto Sans SC"}.product-line-product span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.product-line-standard{font:600 12px Outfit;color:#58675e}.product-line-input{display:block;min-width:0}.product-line-input>span{display:none}.product-line-input input,.product-line-input select{display:block;width:100%;height:35px;border:1px solid #dce5de;border-radius:7px;padding:0 8px;background:#fff;font:12px "Noto Sans SC";color:var(--ink)}.product-line-hs-code input{font:12px "DM Mono",monospace}.product-line-price>div{display:flex;align-items:center;height:35px;border:1px solid #79a691;border-radius:7px;background:#fff;overflow:hidden}.product-line-price b{align-self:stretch;display:grid;place-items:center;padding:0 7px;background:#edf8f1;color:var(--green);font:600 10px "DM Mono"}.product-line-price input{height:33px;border:0!important;border-radius:0!important;padding-left:8px!important}.product-line-amount{font:600 13px Outfit;color:var(--green);white-space:nowrap}.product-line-specs{display:grid;gap:4px}.product-line-specs .btn{padding:6px 8px;font-size:11px;white-space:nowrap}.product-line-specs small{font-size:10px;color:var(--muted)}.product-line-specs small.modified{color:#246fc5;font-weight:600}.product-line-table-row>.price-source{grid-column:auto;font-size:10px;line-height:1.35}.product-line-actions{display:flex;align-items:center;gap:4px}.product-line-actions .btn{padding:6px 7px;font-size:11px}.product-line-actions .btn:disabled{opacity:.4;cursor:not-allowed}.product-line-remove{padding:6px 7px;font-size:11px}.product-line-table-row>.price-risk-notice{grid-column:1/-1;margin-top:-2px}.line-parameter-backdrop{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:20px;background:rgba(18,31,23,.42)}.line-parameter-dialog{width:min(760px,94vw);max-height:86vh;overflow:auto;padding:22px;background:#fff;border-radius:14px;box-shadow:0 20px 55px rgba(13,32,20,.25)}.line-parameter-dialog h3{margin:0;font:600 19px Outfit,"Noto Sans SC"}.line-parameter-dialog p{margin:6px 0 16px;color:var(--muted);font-size:12px}.line-parameter-table{border:1px solid var(--line);border-radius:9px;overflow:hidden}.line-parameter-table>div{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(220px,1.5fr) 48px;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid #edf1ee}.line-parameter-table>div:first-child{border-top:0;background:#f5f8f6;color:#728078;font:600 10px "DM Mono"}.line-parameter-table input{width:100%;height:35px;border:1px solid #dce5de;border-radius:7px;padding:0 8px;font:12px "Noto Sans SC"}.line-parameter-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:900px){.document-builder-modal{width:96vw;padding:20px}.product-line-editor{max-height:40vh}.product-line-table{min-width:1240px}}@media(max-width:620px){.line-parameter-table>div{grid-template-columns:1fr 1fr 42px;padding:7px}.line-parameter-dialog{padding:17px}.document-builder-modal{padding:16px}}
.research-mode-panel,.research-mode-card{position:relative;z-index:0;pointer-events:auto}.research-mode-card{min-height:214px}.research-mode-card>div{flex:1}.research-mode-card .btn{position:relative;z-index:1;pointer-events:auto;min-height:36px}.research-mode-card .btn:disabled{opacity:.58;cursor:not-allowed;filter:none}.research-mode-card .btn.is-loading{cursor:wait}.research-disabled-reason{margin-top:7px!important;color:#9a6c24!important;line-height:1.4}.research-status-block{margin-bottom:16px;padding:16px 18px;background:#fbfcfe;border:1px solid var(--line);border-radius:10px}.research-status-block h3{margin:0 0 4px}.research-status-block p{margin:6px 0 0;line-height:1.6}.research-status-block .notice{margin-top:12px}
.research-connection-summary,.research-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.research-connection-summary>div,.research-capability-grid>div{position:relative;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}
.research-connection-summary span,.research-capability-grid span:first-child{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}
.research-connection-summary strong,.research-capability-grid strong{display:block;font-size:13px;word-break:break-word}
.research-capability-grid small{display:block;min-height:18px;margin:4px 58px 0 0;color:var(--muted);font-size:10px;word-break:break-word}
.research-capability-grid .badge{position:absolute;right:10px;top:10px}
.research-history-failed{margin:8px 0;border:1px solid #ead6d1;border-radius:10px;background:#fffaf8}
.research-history-failed>summary{cursor:pointer;padding:11px 13px;color:#9e4c3f;font-size:12px;font-weight:600}
.research-history-failed .research-history-row{border:0;border-top:1px solid #ead6d1;border-radius:0;margin:0}
@media (max-width:900px){.research-connection-summary,.research-capability-grid{grid-template-columns:1fr}}
.product-line-hs-code{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px;align-items:center;font:10px "DM Mono";color:var(--muted)}.product-line-hs-code input{width:100%;height:29px;border:1px solid #dce5de;border-radius:6px;padding:0 6px;font:11px "DM Mono";color:var(--ink)}.document-hs-toggle{display:flex;align-items:flex-start;gap:7px}.document-hs-toggle input{width:auto;margin-top:3px}.document-hs-toggle small{display:block;color:var(--muted);font-size:11px;line-height:1.4}
.strength-series-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 16px;padding:11px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}.strength-series-title{color:var(--muted);font-size:12px;font-weight:600;margin-right:2px}.strength-series-nav .filter-chip b{font:600 10px "DM Mono";margin-left:3px}
.custom-charge-field{grid-column:span 2}.custom-charge-list{display:grid;gap:7px}.custom-charge-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.7fr) auto;gap:8px;align-items:end}.custom-charge-row>input,.custom-charge-row label input{width:100%;height:36px}.custom-charge-row label{margin:0!important;font-size:11px!important;color:var(--muted)}.custom-charge-row label span{display:block;margin:0 0 4px}.custom-charge-row .btn{height:36px;white-space:nowrap}@media(max-width:760px){.custom-charge-field{grid-column:auto}.custom-charge-row{grid-template-columns:1fr}.custom-charge-row .btn{justify-self:start}}
.document-commercial-terms{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.document-commercial-terms-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}.document-commercial-terms-head strong{display:block;font:600 15px Outfit,"Noto Sans SC"}.document-commercial-terms-head small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.document-commercial-terms textarea{min-height:96px;line-height:1.55;resize:vertical}@media(max-width:620px){.document-commercial-terms-head{align-items:stretch;flex-direction:column}.document-commercial-terms-head .btn{align-self:flex-start}}

/* Trade-document HS Code is a formal line field, not a specification. */
.product-line-table{min-width:1370px}
.product-line-table-head,.product-line-table-row{grid-template-columns:44px minmax(220px,1.8fr) minmax(112px,.8fr) 82px 80px 150px 132px 118px 110px 108px 112px}
.product-line-hs-code{display:block;min-width:132px}
.product-line-hs-code input{width:100%;height:35px;border:1px solid #dce5de;border-radius:7px;padding:0 8px;font:12px "DM Mono";letter-spacing:.1px;color:var(--ink)}
@media(max-width:900px){.product-line-table{min-width:1240px}}

/* Sidebar refinement: a compact, consistent desktop navigation system. */
.sidebar{width:172px;padding:0 10px 12px;background:linear-gradient(180deg,#123b68 0%,#071d42 100%);box-shadow:2px 0 20px rgba(9,32,70,.15)}
.brand{height:94px;padding:0 12px;justify-content:center;border-bottom:1px solid rgba(255,255,255,.10)}
.brand-logo{width:136px;max-height:43px;object-fit:contain;filter:brightness(0) invert(1)}
.nav{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0 8px;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav-divider{height:1px;margin:9px 9px;background:rgba(208,223,244,.14)}
.nav-item{position:relative;isolation:isolate;min-height:66px;margin:0 1px 3px;padding:7px 6px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:transparent;color:#b9c9df;font:500 14px/1.15 "Noto Sans SC",sans-serif;text-align:center;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.nav-item:hover{background:rgba(255,255,255,.075);color:#f4f8ff}
.nav-item.active{background:#2e71c8;color:#fff;box-shadow:0 5px 14px rgba(4,25,66,.24);font-weight:600}
.nav-item>span.nav-icon{display:grid;place-items:center;width:22px;height:22px;color:currentColor;line-height:1}
.nav-item>span.nav-icon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.nav-item>span.nav-item-label{display:block;width:100%;font:inherit;color:inherit;line-height:1.15}
.nav-item b,.nav-item i,.nav-item em{position:absolute;z-index:1;right:8px;top:8px;min-width:17px;height:17px;margin:0;padding:0 4px;border:0;border-radius:99px;display:grid;place-items:center;background:#324f76;color:#dceaff;font:600 10px/1 "DM Mono",monospace;font-style:normal}
.nav-item em{min-width:auto;height:15px;padding:0 4px;background:#90d6c2;color:#0b3b45;font-size:8px;letter-spacing:.1px}
.nav-item.active b,.nav-item.active i{background:rgba(255,255,255,.22);color:#fff}
.nav-item.active em{background:rgba(255,255,255,.92);color:#225f96}
.main{margin-left:172px;width:calc(100% - 172px)}
@media(max-width:760px){.sidebar{width:72px;padding:0 7px 10px}.brand{height:66px;padding:0}.brand-logo{width:47px;max-height:32px}.nav{padding-top:8px}.nav-item{min-height:56px;margin-bottom:4px;padding:7px 3px;border-radius:13px;gap:0}.nav-item>span.nav-item-label,.nav-item b,.nav-item i,.nav-item em{display:none}.nav-item>span.nav-icon,.nav-item>span.nav-icon svg{width:21px;height:21px}.nav-divider{margin:8px 5px}.main{margin-left:72px;width:calc(100% - 72px)}}
.product-usage-status{font-size:11px;font-weight:600}.product-usage-status.is-active{color:var(--green)}.product-usage-status.is-inactive{color:#8c9690}
.product-line-editor{overscroll-behavior:contain;scroll-behavior:auto}.product-line-table-row{transition:background .12s ease,opacity .12s ease,box-shadow .12s ease,transform .12s ease}.product-line-table-row.is-dragging{opacity:.48;transform:scale(.995);background:#f4f8ff;box-shadow:0 0 0 1px rgba(34,111,197,.18) inset}.product-line-table-row.is-drop-target{background:#f1f7ff}.product-line-table-row.is-insert-before::before,.product-line-table-row.is-insert-after::after{content:"";position:absolute;z-index:4;left:10px;right:10px;height:3px;border-radius:999px;background:#1f6fd0;box-shadow:0 0 0 2px rgba(31,111,208,.12);pointer-events:none}.product-line-table-row.is-insert-before::before{top:-2px}.product-line-table-row.is-insert-after::after{bottom:-2px}.product-line-drag-handle{touch-action:none;user-select:none}.product-line-drag-preview{position:fixed;left:-9999px;top:-9999px;display:grid;gap:2px;max-width:230px;padding:8px 11px;border:1px solid #b8d2f1;border-radius:8px;background:#fff;color:#203149;box-shadow:0 8px 22px rgba(25,62,104,.18);font:12px/1.25 "Noto Sans SC",sans-serif;pointer-events:none}.product-line-drag-preview strong{font:700 12px Outfit,"Noto Sans SC",sans-serif}.product-line-drag-preview span{overflow:hidden;color:#657586;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.lead-v2-main{min-width:0}.lead-v2-summary{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.lead-v2-summary span{padding:3px 7px;border-radius:999px;background:#f2f6fb;color:#496176;font-size:11px;line-height:1.25}.lead-v2-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.lead-v2-detail-head h2{margin-bottom:5px}.lead-v2-detail-head>div:last-child{text-align:right}.lead-v2-facts{display:grid;gap:7px;margin:0}.lead-v2-facts>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px}.lead-v2-facts dt{color:var(--muted);font-size:11px}.lead-v2-facts dd{margin:0;font-size:12px;line-height:1.5;word-break:break-word}.lead-v2-facts small{color:var(--muted)}.lead-v2-score-details,.lead-v2-evidence,.lead-v2-raw{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.lead-v2-score-details summary,.lead-v2-evidence summary,.lead-v2-raw summary{cursor:pointer;font-weight:600;font-size:12px}.lead-v2-score-breakdown{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.lead-v2-score-breakdown span{background:#edf4ff;color:#315c90;padding:4px 7px;border-radius:6px;font-size:11px}.lead-v2-raw pre{max-height:300px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.5;color:#5a6877;background:#f4f6f8;padding:10px;border-radius:7px}@media(max-width:620px){.lead-v2-detail-head{display:block}.lead-v2-detail-head>div:last-child{text-align:left;margin-top:8px}.lead-v2-facts>div{grid-template-columns:82px minmax(0,1fr)}}
.v3-builder{padding:22px;max-width:1180px;margin:0 auto}.v3-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.v3-builder-head h2,.v3-section h3{margin:0 0 6px}.v3-builder-head p{margin:0}.v3-mode{display:flex;gap:7px;flex-wrap:wrap}.v3-steps{display:flex;gap:7px;overflow:auto;margin:22px -2px 18px;padding:2px}.v3-steps button{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 11px;font:600 12px 'Noto Sans SC';cursor:pointer}.v3-steps button b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#edf1ee;font:600 10px Outfit}.v3-steps button.active{border-color:#176bd1;background:#edf5ff;color:#176bd1}.v3-steps button.active b{background:#176bd1;color:#fff}.v3-builder-body{min-height:360px;border-top:1px solid var(--line);padding:21px 0}.v3-section>p{margin:0 0 16px}.v3-section .two-col{align-items:start}.v3-full{grid-column:1/-1}.v3-picker{display:flex;flex-wrap:wrap;gap:7px;max-height:210px;overflow:auto;padding:10px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.v3-check{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;padding:6px 8px;border:1px solid #e1e8e2;border-radius:8px;background:#fff;color:#42514a!important;font-size:12px!important;cursor:pointer}.v3-check input{width:auto!important;margin:0!important}.v3-inline{display:flex;gap:8px}.v3-inline input{min-width:0}.v3-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v3-signal-grid .field{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}.v3-signal-grid .field span{display:block;margin-bottom:5px;font-size:12px}.v3-signal-grid select{width:100%}.v3-builder .modal-actions{border-top:1px solid var(--line);padding-top:17px;margin-top:4px}@media(max-width:780px){.v3-builder{padding:16px}.v3-builder-head{display:block}.v3-mode{margin-top:12px}.v3-signal-grid{grid-template-columns:1fr 1fr}.v3-inline{flex-wrap:wrap}}@media(max-width:480px){.v3-signal-grid{grid-template-columns:1fr}.v3-steps button{padding:7px 9px}}
.trade-shipment-manage-modal{width:min(1500px,95vw);max-height:90vh;padding:24px 28px}.trade-shipment-manage-modal .two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.shipment-packing-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.shipment-packing-table{min-width:2140px;table-layout:fixed}.shipment-packing-table th{position:sticky;top:0;z-index:1;white-space:nowrap;padding:12px 9px;background:#f7f9f8}.shipment-packing-table td{padding:10px 8px;vertical-align:top}.shipment-packing-table input,.shipment-packing-table select{width:100%;min-height:38px;padding:8px 9px;white-space:nowrap}.shipment-packing-table output{display:block;min-width:104px;padding:10px 8px;color:#536158;font:12px "DM Mono",monospace;white-space:nowrap}.shipment-packing-table th:nth-child(1),.shipment-packing-table td:nth-child(1){width:84px}.shipment-packing-table th:nth-child(2),.shipment-packing-table td:nth-child(2){width:250px}.shipment-packing-table th:nth-child(3),.shipment-packing-table td:nth-child(3){width:185px}.shipment-packing-table th:nth-child(4),.shipment-packing-table td:nth-child(4){width:100px}.shipment-packing-table th:nth-child(5),.shipment-packing-table td:nth-child(5){width:120px}.shipment-packing-table th:nth-child(6),.shipment-packing-table td:nth-child(6),.shipment-packing-table th:nth-child(7),.shipment-packing-table td:nth-child(7){width:132px}.shipment-packing-table th:nth-child(8),.shipment-packing-table td:nth-child(8),.shipment-packing-table th:nth-child(9),.shipment-packing-table td:nth-child(9),.shipment-packing-table th:nth-child(10),.shipment-packing-table td:nth-child(10){width:112px}.shipment-packing-table th:nth-child(11),.shipment-packing-table td:nth-child(11),.shipment-packing-table th:nth-child(12),.shipment-packing-table td:nth-child(12),.shipment-packing-table th:nth-child(13),.shipment-packing-table td:nth-child(13),.shipment-packing-table th:nth-child(14),.shipment-packing-table td:nth-child(14){width:120px}.shipment-packing-table th:nth-child(15),.shipment-packing-table td:nth-child(15){width:220px}.shipment-packing-table th:nth-child(16),.shipment-packing-table td:nth-child(16){width:72px}.shipment-package-type{display:grid;gap:7px;min-width:165px}.shipment-package-type-other.hidden{display:none}@media(max-width:760px){.trade-shipment-manage-modal{width:96vw;padding:18px}.trade-shipment-manage-modal .two-col{grid-template-columns:1fr}}
.shipment-package-source{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}.shipment-packing-notice{margin:10px 0 12px}.shipment-packing-summary .setting{align-items:flex-start}
.currency-change-dialog{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:rgba(18,31,23,.38)}
.v3f-chooser{max-width:820px}.v3f-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.v3f-choice{display:grid;gap:9px;min-height:150px;padding:22px;border:1px solid #c8d8ee;border-radius:14px;background:#fff;color:#27415f;text-align:left;cursor:pointer}.v3f-choice:hover{border-color:#176bd1;background:#f3f8ff}.v3f-choice strong{font-size:17px}.v3f-choice span{color:var(--muted);font-size:13px;line-height:1.6}.v3f-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}.v3f-chip{display:inline-flex;align-items:center;margin:0!important;cursor:pointer}.v3f-chip input{position:absolute;opacity:0;pointer-events:none}.v3f-chip span{padding:7px 10px;border:1px solid #dbe4ed;border-radius:999px;background:#fff;color:#425466;font-size:12px;line-height:1.25}.v3f-chip input:checked+span{border-color:#1b70cf;background:#eaf4ff;color:#145da9;font-weight:700}.v3f-group{margin-top:13px;padding-top:12px;border-top:1px dashed #dfe7ed}.v3f-group strong,.v3f-option-grid>div>span{display:block;color:#526372;font-size:12px;font-weight:700}.v3f-add{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:7px}.v3f-add input{flex:1;min-width:170px}.v3f-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:12px 0}.v3f-option-grid>div{padding:12px;border:1px solid #e4e9ef;border-radius:10px;background:#fbfcfe}.v3f-segment{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.v3f-segment button{min-height:32px;padding:5px 9px;border:1px solid #d7e0e9;border-radius:7px;background:#fff;color:#506173;font-size:12px;cursor:pointer}.v3f-segment button.active{border-color:#176bd1;background:#176bd1;color:#fff}.v3f-signal-section{margin:16px 0;padding:14px;border:1px solid #e3e9ef;border-radius:11px;background:#fcfdff}.v3f-signal-section h4,.v3f-preview-block h4{margin:0 0 10px;font-size:14px}.v3f-signal{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 0;border-top:1px solid #edf1f5}.v3f-signal:first-of-type{border-top:0}.v3f-signal>span{font-size:13px}.v3f-signal small{display:block;max-width:340px;margin-top:3px;color:#9a6c26;font-size:11px}.v3f-rule-list{display:grid;gap:8px;margin-top:8px}.v3f-rule-list p{margin:0;padding:10px;border-radius:8px;background:#f7fafc;color:#536274;font-size:12px;line-height:1.55}.v3f-toggle{font-size:12px;color:#425466}.v3f-cost{display:grid;gap:9px;padding:14px;margin-top:14px;border:1px solid #e2e9f0;border-radius:10px;background:#fafcff}.v3f-quality-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px;padding:14px;border:1px solid #bdd9c8;border-radius:11px;background:#f4fbf6}.v3f-quality-summary h3{width:100%;margin:0 0 2px;font-size:14px}.v3f-quality-summary span{padding:5px 8px;border-radius:999px;background:#fff;color:#356247;font-size:11px}.v3f-preview-block{margin:16px 0;padding:15px;border:1px solid #e1e8ef;border-radius:11px;background:#fff}.v3f-preview-block p{margin:0;color:#4b5e70;font-size:13px;line-height:1.7}.v3f-source-list{display:flex;flex-wrap:wrap;gap:7px}.v3f-preview-block summary{cursor:pointer;color:#1d5b9e;font-size:13px;font-weight:700}@media(max-width:780px){.v3f-choice-grid,.v3f-option-grid{grid-template-columns:1fr}.v3f-signal{display:block}.v3f-signal .v3f-segment{margin-top:8px}}
.v3-builder,.v3-builder-body{overflow:visible}.v3ux-step{max-width:960px;margin:0 auto}.v3ux-compact,.v3ux-product-summary,.v3ux-keyword-summary{display:grid;align-content:start;gap:8px;padding:14px;border:1px solid #e1e8ef;border-radius:12px;background:#fbfdff}.v3ux-compact>.btn,.v3ux-product-summary>.btn,.v3ux-keyword-summary>.btn{justify-self:start}.v3ux-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#687889;font-size:11px}.v3ux-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.v3ux-tags>span,.v3ux-token-box>span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #bed5ef;border-radius:999px;background:#edf6ff;color:#205d9d;font-size:11px}.v3ux-tags button,.v3ux-token-box button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1}.v3ux-tags small{color:#8b98a5}.v3ux-token-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v3ux-token-box{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:44px;padding:6px 8px;border:1px solid #d8e1ea;border-radius:9px;background:#fff}.v3ux-token-box:focus-within{border-color:#2876c9;box-shadow:0 0 0 3px rgba(40,118,201,.1)}.v3ux-token-box input{flex:1;min-width:150px;padding:5px!important;border:0!important;outline:0;box-shadow:none!important}.v3ux-portal{position:fixed;inset:0;z-index:1200;pointer-events:none}.v3ux-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(20,35,55,.18);pointer-events:auto}.v3ux-panel{position:fixed;z-index:1;display:flex;flex-direction:column;overflow:hidden;border:1px solid #cfdae6;border-radius:14px;background:#fff;box-shadow:0 22px 60px rgba(17,42,72,.24);pointer-events:auto}.v3ux-panel>header,.v3ux-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#fff}.v3ux-panel>header{border-bottom:1px solid #e5ebf1}.v3ux-panel>header h3{margin:0 0 2px}.v3ux-panel>header small{color:var(--muted)}.v3ux-panel>footer{justify-content:flex-end;border-top:1px solid #e5ebf1}.v3ux-panel-body{min-height:0;overflow:auto;padding:14px 16px;overscroll-behavior:contain}.v3ux-picker-head{position:sticky;top:-14px;z-index:2;display:flex;gap:8px;padding:0 0 12px;background:#fff}.v3ux-picker-head input{flex:1}.v3ux-show-all{margin-bottom:10px}.v3ux-groups{display:grid;gap:14px}.v3ux-groups section{padding:11px;border:1px solid #e5ebf1;border-radius:10px;background:#fbfcfe}.v3ux-groups section>header{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.v3ux-groups section>header span{display:flex;gap:7px}.v3ux-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v3ux-option{display:flex!important;align-items:flex-start;gap:8px;margin:0!important;padding:8px;border:1px solid #e0e7ee;border-radius:8px;background:#fff;cursor:pointer}.v3ux-option:hover{border-color:#9fc4eb;background:#f5faff}.v3ux-option input{width:auto!important;margin:3px 0 0!important}.v3ux-option span{min-width:0}.v3ux-option strong,.v3ux-option small{display:block}.v3ux-option strong{font-size:12px;color:#33475b}.v3ux-option small{margin-top:2px;color:#7b8997;font-size:10px}.v3ux-custom{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e5ebf1}.v3ux-custom input{flex:1}.v3ux-product-panel{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.v3ux-product-panel>section{min-height:260px;padding:12px;border:1px solid #e3eaf1;border-radius:10px;background:#fbfcfe}.v3ux-product-panel h4{margin:0 0 10px}.v3ux-product-panel>section:first-child .v3ux-option{margin-bottom:7px!important}.v3ux-type-group{margin-bottom:14px}.v3ux-type-group>strong{display:block;margin-bottom:7px;color:#244e7b;font-size:12px}.v3ux-type-group .v3ux-option{margin-bottom:6px!important}@media(max-width:780px){.v3ux-token-grid{grid-template-columns:1fr}.v3ux-product-panel{grid-template-columns:1fr}.v3ux-product-panel>section{min-height:auto}.v3ux-options{grid-template-columns:1fr}.v3ux-panel-body{padding:12px}.v3ux-custom{flex-wrap:wrap}}
.v3f-plan-preview{max-width:1100px;margin:0 auto}.v3f-query-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}.v3f-query-toolbar label{display:grid;gap:4px;color:#687889;font-size:10px}.v3f-query-toolbar select{width:100%;min-width:0}.v3f-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v3f-route-grid>div{display:grid;gap:4px;padding:10px;border:1px solid #e1e8ef;border-radius:9px;background:#fbfcfe}.v3f-route-grid strong{font-size:12px}.v3f-route-grid small{color:#687889;font-size:10px}.v3f-preview-block>.btn{margin-top:10px}.v3f-preview-block .data-card{overflow:auto}.v3f-preview-block .data-table{min-width:900px}@media(max-width:900px){.v3f-query-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.v3f-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.v3f-query-toolbar,.v3f-route-grid{grid-template-columns:1fr}}
.v3-controlled-confirmation{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto}.v3-controlled-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px}.v3-controlled-sizes label{display:flex;align-items:center;gap:7px;padding:11px;border:1px solid #d9e3ed;border-radius:9px;background:#fbfcfe;color:#405468;font-size:12px;cursor:pointer}.v3-controlled-sizes label:has(input:checked){border-color:#176bd1;background:#edf5ff;color:#145da9;font-weight:700}.v3-controlled-sizes input{margin:0;accent-color:#176bd1}@media(max-width:620px){.v3-controlled-sizes{grid-template-columns:1fr}}

/* Product catalog keeps server pagination while offering direct page access. */
.product-pagination{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:14px;align-items:center;padding:15px 16px}
.product-pagination-summary{color:var(--muted);white-space:nowrap}
.product-pagination-pages{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.product-pagination .product-page-number{min-width:34px;padding-inline:8px}
.product-pagination .product-page-number.active{border-color:#176bd1;background:#176bd1;color:#fff;box-shadow:0 2px 7px rgba(23,107,209,.18);cursor:default}
.product-page-ellipsis{display:inline-grid;place-items:center;min-width:18px;color:var(--muted);font-weight:700}
.product-pagination-tools,.product-per-page,.product-page-jump{display:flex;align-items:center;gap:7px;white-space:nowrap}
.product-pagination-tools{justify-content:flex-end;gap:13px}
.product-per-page .select{width:68px;height:34px;padding:0 23px 0 9px}
.product-page-jump input{width:62px;height:34px;border:1px solid #dce5de;border-radius:7px;padding:0 8px;color:var(--ink);font:12px "DM Mono",monospace;text-align:center}
.product-page-jump input:focus{border-color:#176bd1;outline:3px solid rgba(23,107,209,.1)}
@media(max-width:1100px){.product-pagination{grid-template-columns:1fr}.product-pagination-summary{text-align:center}.product-pagination-tools{justify-content:center}}
@media(max-width:620px){.product-pagination-pages{gap:4px}.product-pagination-tools{align-items:stretch;flex-direction:column}.product-per-page,.product-page-jump{justify-content:center}}

/* Trade Order editor keeps every line-level snapshot field visible and editable. */
.trade-order-edit-modal{width:min(1500px,95vw);max-height:92vh;padding:24px 28px}
.trade-order-edit-summary{margin:8px 0 14px;padding:10px 12px;border:1px solid #cbe7d6;border-radius:9px;background:#f3fbf6;color:#2f6e52;font-weight:700}
.trade-order-edit-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.trade-order-edit-table{min-width:2150px;table-layout:fixed}
.trade-order-edit-table th,.trade-order-edit-table td{padding:10px 8px;vertical-align:top}
.trade-order-edit-table th:nth-child(1),.trade-order-edit-table td:nth-child(1){width:240px}
.trade-order-edit-table th:nth-child(2),.trade-order-edit-table td:nth-child(2){width:105px}
.trade-order-edit-table th:nth-child(3),.trade-order-edit-table td:nth-child(3){width:100px}
.trade-order-edit-table th:nth-child(4),.trade-order-edit-table td:nth-child(4){width:120px}
.trade-order-edit-table th:nth-child(5),.trade-order-edit-table td:nth-child(5){width:130px}
.trade-order-edit-table th:nth-child(6),.trade-order-edit-table td:nth-child(6){width:135px}
.trade-order-edit-table th:nth-child(7),.trade-order-edit-table td:nth-child(7){width:130px}
.trade-order-edit-table th:nth-child(8),.trade-order-edit-table td:nth-child(8),.trade-order-edit-table th:nth-child(9),.trade-order-edit-table td:nth-child(9){width:135px}
.trade-order-edit-table th:nth-child(10),.trade-order-edit-table td:nth-child(10){width:360px}
.trade-order-edit-table th:nth-child(11),.trade-order-edit-table td:nth-child(11){width:260px}
.trade-order-edit-table input,.trade-order-edit-table select,.trade-order-edit-table textarea{width:100%;min-width:0}
.trade-order-unit-control [data-item-unit-other]{margin-top:6px}
.trade-order-edit-table output{display:block;padding:10px 4px;color:var(--green);font:600 12px "DM Mono",monospace;white-space:nowrap}
.trade-order-edit-table td:first-child strong,.trade-order-edit-table td:first-child small{display:block;overflow-wrap:anywhere}
.trade-order-edit-table td:first-child small{margin-top:5px;color:var(--muted)}
@media(max-width:760px){.trade-order-edit-modal{width:96vw;padding:18px}.trade-order-edit-modal .two-col{grid-template-columns:1fr}}

/* Phase 2 Run results: keep business decisions readable inside a bounded, scrollable dialog. */
.v3-result-modal{box-sizing:border-box;width:min(1120px,calc(100vw - 40px));max-height:min(92dvh,1000px);padding:0;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.v3-result-head,.v3-result-footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:#fff;z-index:1}
.v3-result-head{border-bottom:1px solid var(--line)}
.v3-result-head>div{min-width:0}.v3-result-head h2{overflow-wrap:break-word}.v3-result-head p{margin:5px 0 0}
.v3-result-footer{border-top:1px solid var(--line);justify-content:flex-end;flex-wrap:wrap}
.v3-result-body{min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px 22px;overscroll-behavior:contain}
.v3-result-summary,.v3-result-groups{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.v3-result-summary span{padding:7px 10px;border-radius:7px;background:#f2f7f4;color:#466755;font-size:12px}
.v3-result-groups .btn{white-space:nowrap}
.v3-result-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0}
.v3-result-toolbar label{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px}
.v3-result-toolbar select{width:auto;min-width:110px}
.v3-result-list{display:grid;gap:12px}
.v3-result-card{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:18px;min-width:0;padding:17px;border:1px solid #dce6de;border-radius:11px;background:#fff}
.v3-result-main{min-width:0}.v3-result-main h3{margin:0 0 4px;font-size:16px;line-height:1.4;overflow-wrap:break-word}
.v3-result-website{min-width:0;color:#526d60;font-size:12px;overflow-wrap:anywhere}
.v3-result-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 14px;margin:13px 0}
.v3-result-facts span{display:block;min-width:0;font-size:12px;line-height:1.45;word-break:keep-all;overflow-wrap:break-word}
.v3-result-facts b{display:block;margin-bottom:3px;color:#718379;font-size:11px;font-weight:600}
.v3-result-next{margin:7px 0 0!important;color:#2c6649!important;font-size:12px!important;line-height:1.5}
.v3-result-actions{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:8px;min-width:0}
.v3-result-actions .btn{white-space:normal;line-height:1.35}
.v3-result-batch{font-size:12px;white-space:nowrap}.v3-result-batch input{width:auto}
.v3-result-empty{padding:28px;text-align:center;color:var(--muted)}
.v3-result-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:16px 0}.v3-result-pager .btn{padding:7px 10px}
.v3-result-detail .lead-v2-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.v3-result-detail .lead-v2-detail-grid section,.v3-result-evidence,.v3-result-missing,.v3-result-technical{min-width:0;overflow-wrap:break-word}
.v3-result-detail .lead-v2-detail-grid p{margin:0;color:#46584d}
.v3-result-evidence,.v3-result-missing,.v3-result-technical{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}
.v3-result-evidence h3,.v3-result-missing h3{margin:0 0 8px;font-size:14px}
.v3-result-technical summary{cursor:pointer;color:#52675a;font-weight:600}
@media(max-width:820px){.v3-result-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-result-card{grid-template-columns:minmax(0,1fr) 145px}}
@media(max-width:620px){.v3-result-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.v3-result-head,.v3-result-footer{padding:12px}.v3-result-body{padding:12px}.v3-result-card{display:block}.v3-result-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-result-actions{margin-top:12px}.v3-result-detail .lead-v2-detail-grid{grid-template-columns:1fr}}
