
:root{--r:#b51f32;--rd:#981729;--rp:#fff3f4;--ink:#243140;--sub:#647386;--line:#e2e7ed;--bg:#f6f7f9;--card:#fff;--light:#fafbfc;--green:#278168;--gold:#a66b21;--danger:#bb2536;--shadow:0 2px 15px #1b2c4007}
*{box-sizing:border-box}html,body{margin:0;padding:0;max-width:100%;min-height:100%;font:13px/1.6 Inter,"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #e2808a;outline-offset:2px}button:hover:not(:disabled){filter:brightness(.97)}.app{display:flex;min-height:100vh;max-width:100%}.sidebar{position:sticky;top:0;align-self:flex-start;height:100vh;width:212px;flex:0 0 212px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{padding:25px 18px 27px;display:flex;align-items:center;gap:11px}.brand-logo{background:var(--r);color:#fff;width:37px;height:37px;border-radius:10px;display:grid;place-items:center;font-size:18px;font-weight:900}.brand-title{font-size:15px;line-height:1.4;font-weight:800}.brand-sub{font-size:10px;color:#9ba6b2}.navlabel{font-size:10px;color:#9eabb8;padding:7px 22px;letter-spacing:1.1px}.nav{padding:0 10px;display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:10px;background:transparent;border:0;width:100%;text-align:left;padding:11px 12px;font-weight:720;border-radius:8px;color:#5f6e7d;font-size:13px}.nav button.active{background:var(--rp);color:var(--r)}.nav .navno{font:700 10px/1 Inter,system-ui;display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:6px;opacity:.66}.sidebottom{margin-top:auto;padding:18px;color:#8391a0;font-size:10px;border-top:1px solid var(--line)}.page{min-width:0;flex:1}.topbar{background:#fff;min-height:67px;border-bottom:1px solid var(--line);padding:13px 26px;display:flex;align-items:center;justify-content:space-between;gap:12px}.crumb{font-size:11px;color:#8a98a5}.crumb b{color:#354459}.topcontrols{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.selector{border:1px solid #dfe5eb;border-radius:7px;padding:8px 10px;background:#fff;color:#34465a;max-width:245px;min-width:130px;font-weight:650}.versiontag{font-size:10px;border:1px solid #ead9db;background:#fff8f8;color:#9a2433;padding:5px 8px;border-radius:5px;font-weight:700}.content{padding:25px 28px 45px;max-width:1680px;margin:0 auto;min-width:0}.eyebrow{font-size:10px;letter-spacing:1.25px;color:var(--r);font-weight:850}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:19px}.h1{font-size:26px;letter-spacing:-.35px;font-weight:840;line-height:1.35;margin:4px 0}.sub{font-size:12px;color:var(--sub);margin:4px 0;line-height:1.7}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--r);background:var(--r);color:#fff;border-radius:7px;padding:9px 13px;font-size:12px;font-weight:760;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover:not(:disabled){background:var(--rd)}.btn.secondary{background:#fff;border-color:#d8e0e7;color:#34455a}.btn.ghost{background:transparent;border-color:transparent;color:var(--r)}.btn.light{background:#f6f7f9;color:#34475c;border-color:#e2e6ea}.btn.sm{padding:6px 9px;font-size:11px}.card{border:1px solid var(--line);background:var(--card);border-radius:10px;box-shadow:var(--shadow);min-width:0}.pad{padding:17px}.cardhead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.cardhead strong{font-size:14px;font-weight:800}.cardhead small{font-size:10px;color:var(--sub);display:block}.badge{display:inline-flex;gap:5px;align-items:center;border:1px solid #e0e5ea;background:#f7f9fb;border-radius:5px;color:#657486;font-size:10px;font-weight:740;padding:3px 8px;white-space:nowrap}.badge.red{border-color:#edc5ca;background:#fff5f5;color:var(--r)}.badge.green{border-color:#c8e4d7;background:#f3fbf8;color:var(--green)}.badge.gold{border-color:#e9d6b6;background:#fffbf3;color:var(--gold)}.textmuted{color:var(--sub)}.tiny{font-size:10px}.small{font-size:11px}.divider{height:1px;background:#edf0f3;margin:13px 0}.hint{background:#fafbfd;border:1px dashed #dde4ea;padding:11px 13px;border-radius:7px;color:#697b8b;font-size:11px;line-height:1.75}.warn{background:#fffbf2;border:1px solid #eddfc5;padding:11px 13px;border-radius:8px;color:#775922;font-size:11px}.good{background:#f5fbf7;border:1px solid #cbe5d7;padding:11px 13px;border-radius:8px;color:#28634f;font-size:11px}.risk{background:#fff6f6;border:1px solid #efd0d5;padding:11px 13px;border-radius:8px;color:#993040;font-size:11px}.statrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat{padding:14px 16px}.stat .num{font-size:23px;font-weight:800;line-height:1.15}.stat .label{font-size:11px;color:var(--sub);margin-top:5px}.journey{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:#6f7e8d;margin:6px 0 20px}.journey span{background:#fff;border:1px solid var(--line);padding:5px 10px;border-radius:6px}.journey b{color:var(--r)}.gridproducts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.prod{padding:17px;display:flex;flex-direction:column;gap:11px;min-height:238px}.prodtop{display:flex;justify-content:space-between;gap:10px;align-items:center}.prodicon{width:39px;height:39px;background:#fbedef;color:#a42737;border-radius:9px;display:grid;place-items:center;font-size:19px;font-weight:800}.prodtitle{font-size:17px;font-weight:800}.prodpurpose{font-size:12px;color:#718193;line-height:1.65;min-height:43px}.prodfoot{border-top:1px solid #edf1f4;padding-top:11px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}.prodmeta{display:flex;gap:6px;flex-wrap:wrap}.sectiontitle{font-weight:800;font-size:16px;margin:21px 0 10px}.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.catalogitem{border:1px solid #e3e7ed;background:#fff;border-radius:7px;padding:11px 12px}.catalogitem b{font-size:11px}.catalogitem small{display:block;font-size:10px;color:#7b8897;margin-top:3px}.bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 14px}.filters{display:flex;gap:8px;flex-wrap:wrap}.field{display:grid;gap:5px;margin-bottom:12px}.field label{font-weight:730;font-size:11px;color:#405468}.field input,.field select,.field textarea{border:1px solid #dce3e9;border-radius:7px;background:#fff;width:100%;padding:9px 10px;color:#253447;min-width:0}.field textarea{min-height:95px;resize:vertical}.filters select,.filters input{border:1px solid #dce3e9;border-radius:7px;background:#fff;font-size:11px;padding:8px 9px;min-width:120px;max-width:200px}.sources-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.7fr);gap:14px}.tablewrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}.table th{color:#7e8c9b;background:#fafbfd;font-size:10px;font-weight:800;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid #edf0f2;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table button.link{border:0;background:none;color:#a32131;text-align:left;font-weight:750;padding:0}.table tbody tr:hover{background:#fafbfc}.source-preview{background:#fafbfd;border:1px solid #edf0f3;border-radius:7px;padding:12px;white-space:pre-wrap;word-break:break-word;max-height:350px;overflow:auto;font-size:11px;line-height:1.85}.workbench{display:grid;grid-template-columns:minmax(205px,.82fr) minmax(380px,1.65fr) minmax(225px,.87fr);gap:12px;align-items:stretch}.workcol{padding:14px;min-width:0}.colhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.colhead b{font-size:13px}.sourcetile,.outputtile{border:1px solid #e3e8ed;background:#fff;border-radius:7px;padding:10px;display:block;width:100%;margin-bottom:8px;text-align:left;color:var(--ink)}.sourcetile.on,.outputtile.on,.workstep.on{border-color:#c65765;background:#fff6f6;box-shadow:inset 3px 0 0 var(--r)}.sourcetile b{display:block;font-size:11px;word-break:break-word}.sourcetile small{display:block;color:#8190a0;font-size:10px;margin-top:3px}.processintro{background:#fbfcfd;border:1px dashed #dce3ea;border-radius:7px;padding:10px;text-align:center;font-size:11px}.processintro b{display:block}.procdown{text-align:center;color:var(--r);line-height:23px;font-weight:800}.lane{border:1px solid #e2e7eb;border-radius:8px;background:#fff;margin-bottom:10px;padding:11px}.lanetitle{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:9px}.lanetitle strong{font-size:11px}.lanetitle span{font-size:10px;color:#8391a0}.steprow{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.workstep{border:1px solid #e3e7ec;border-radius:5px;background:#f9fafb;font-size:10px;color:#43566a;font-weight:720;padding:5px 7px}.stepsep{font-size:12px;color:#b46d76}.outputtile b{font-size:11px}.outputtile p{font-size:10px;color:#798797;line-height:1.65;margin:4px 0 0}.outputtile .count{float:right;color:#a02031;font-weight:800}.inspect{margin-top:13px}.inspecttop{padding:14px 17px 10px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:flex-start}.inspecttop h3{margin:0;font-size:14px}.inspectthree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e9edf1}.inspectpane{padding:15px;min-width:0;border-right:1px solid #e9edf1}.inspectpane:last-child{border-right:0}.inspectpane b{font-size:11px;display:block;margin-bottom:8px}.raw{padding:10px;border:1px solid #e6ebef;background:#f9fafb;border-radius:7px;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.8;max-height:235px;overflow:auto}.kv{display:grid;grid-template-columns:90px minmax(0,1fr);gap:5px;border-bottom:1px solid #edf1f3;padding:7px 0;font-size:11px}.kv:last-child{border:0}.kv span:first-child{color:#778797}.mono{font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.itemlist{display:grid;gap:7px}.itemrow{border:1px solid #e4e8ed;background:#fff;border-radius:7px;padding:9px 11px;display:flex;justify-content:space-between;gap:10px;align-items:center}.itemrow button{border:0;background:none;text-align:left;font-size:11px;font-weight:700;color:#a22334}.progressline{display:flex;flex-wrap:wrap;gap:7px;align-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;padding:9px 12px;margin-bottom:13px;font-size:11px}.progressline strong{color:#a62132}.twoCol{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.75fr);gap:13px}.threeCol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vertlist{display:grid;gap:8px}.selectrow{border:1px solid #e3e7ec;padding:10px;border-radius:7px;background:#fff;display:flex;justify-content:space-between;gap:8px;align-items:flex-start;text-align:left}.selectrow.on{border-color:#c35c67;background:#fff7f7}.selectrow b{font-size:11px}.selectrow small{font-size:10px;color:#7d8b9b;display:block}.seg{display:flex;border:1px solid #dfe4ea;border-radius:7px;overflow:hidden;max-width:100%;width:max-content}.seg button{border:0;border-right:1px solid #e5e9ee;background:#fff;color:#657487;padding:8px 11px;font-size:11px;white-space:nowrap}.seg button:last-child{border-right:0}.seg button.on{background:var(--rp);color:var(--r);font-weight:800}.modalback{position:fixed;inset:0;z-index:100;background:#1d293b75;display:grid;place-items:center;padding:16px}.modal{background:#fff;border:1px solid #e3e7ec;max-width:780px;width:min(100%,780px);border-radius:13px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;box-shadow:0 20px 65px #0b1e3440}.modalhead{padding:18px 21px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ecf0f3;gap:12px}.modalhead h2{margin:0;font-size:18px}.modalbody{padding:20px;overflow:auto;min-height:0}.modalfoot{padding:14px 20px;border-top:1px solid #ecf0f3;display:flex;justify-content:space-between;gap:10px;align-items:center}.close{font-size:22px;border:0;background:none;color:#788897;cursor:pointer}.wizardsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:17px}.wstep{font-size:10px;padding:8px 4px;text-align:center;border:1px solid #e2e7ed;border-radius:6px;background:#f8f9fa;color:#7b899a;font-weight:700}.wstep.on{background:var(--rp);border-color:#d2a3a9;color:var(--r)}.checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checkline{border:1px solid #e1e6eb;border-radius:7px;padding:10px 11px;display:flex;gap:9px;align-items:flex-start;font-size:11px}.checkline input{margin-top:3px;accent-color:var(--r)}.checkline b{display:block}.checkbox{display:flex;align-items:flex-start;gap:9px;font-size:11px;margin:9px 0}.checkbox input{margin-top:3px;accent-color:var(--r)}.wizardgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.servicelog{background:#f9fafb;border:1px solid #e3e8ee;border-radius:8px;padding:14px}.resulthead{font-size:13px;font-weight:800;margin-bottom:6px}.toast{position:fixed;bottom:22px;right:22px;max-width:380px;padding:11px 16px;background:#263447;color:#fff;border-radius:8px;z-index:200;font-size:12px;box-shadow:0 8px 25px #0002}.footer{color:#93a0ad;font-size:10px;margin-top:18px;line-height:1.7}.nowrap{white-space:nowrap}.codebox{background:#f6f7f9;border:1px solid #e4e8ed;border-radius:7px;padding:12px}.hidden{display:none!important}
@media(max-width:1360px){.sidebar{width:184px;flex-basis:184px}.content{padding:21px 20px 40px}.workbench{grid-template-columns:minmax(184px,.78fr) minmax(360px,1.6fr) minmax(205px,.87fr)}}
@media(max-width:1140px){.workbench{grid-template-columns:minmax(200px,1fr) minmax(0,1.7fr)}.workbench .outcol{grid-column:1/-1}.workbench .outlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.outputtile{margin-bottom:0}.gridproducts,.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.app{display:block}.sidebar{position:sticky;top:0;width:100%;height:auto;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:9px 13px 6px}.brand-logo{height:31px;width:31px;font-size:16px}.brand-sub,.sidebottom,.navlabel{display:none}.nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:4px 7px 7px}.nav button{justify-content:center;padding:8px 3px;font-size:11px;gap:4px}.nav .navno{display:none}.topbar{padding:9px 13px;min-height:50px}.content{padding:16px 12px 34px}.statrow{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench,.twoCol,.sources-layout{grid-template-columns:1fr}.workbench .outcol{grid-column:auto}.workbench .outlist{grid-template-columns:repeat(2,minmax(0,1fr))}.inspectthree{grid-template-columns:1fr}.inspectpane{border-right:0;border-bottom:1px solid #e9edf1}.inspectpane:last-child{border-bottom:0}.h1{font-size:22px}.threeCol{grid-template-columns:1fr}.gridproducts{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.topbar{flex-wrap:wrap}.crumb{display:none}.topcontrols{width:100%;justify-content:space-between}.selector{flex:1;max-width:none}.gridproducts,.catalog,.workbench .outlist,.checkgrid,.wizardgrid{grid-template-columns:1fr}.heading .actions{width:100%}.heading .actions button{flex:1}.card.pad{padding:13px}.stat{padding:11px}.h1{font-size:20px}.seg{width:100%}.seg button{flex:1;padding:7px 4px}.modalhead{padding:14px}.modalbody{padding:13px}.modalfoot{padding:12px}.wizardsteps{grid-template-columns:repeat(2,minmax(0,1fr))}.filters select,.filters input{flex:1;max-width:none;min-width:0}.kv{grid-template-columns:80px minmax(0,1fr)}.prod{min-height:190px}.progressline{align-items:flex-start}}

/* V1.4 focused production experience */
.toast{pointer-events:none}
.v14-summary{border:1px solid #e3e8ed;background:#fff;border-radius:8px;padding:11px 14px;color:#657487;font-size:12px;margin-bottom:14px}.v14-summary b{color:#a82232}.v14-summary span{margin:0 9px;color:#bac4ce}.v14-product{min-height:220px}.v14-task{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e9edf1;font-size:11px}.v14-task:last-child{border:0}.v14-task>div{min-width:0}.v14-inlinebar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:12px}.v14-inlinebar .btn{white-space:normal}.v14-checks{margin-top:15px}.v14-checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}.v14-check{border:1px solid #e3e8ed;background:#fafbfc;border-radius:7px;padding:12px;min-width:0}.v14-check p{margin:7px 0 0}.v14-releasebox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px;align-items:center;border-top:1px solid #ecf0f3;margin-top:14px;padding-top:14px}.v14-artcard{min-height:160px}.v14-focus{border-color:#bd7b85}.v14-releaseitem{padding:14px 0;border-bottom:1px solid #e9edf1}.v14-releaseitem:last-child{border-bottom:0}.v14-details{padding:12px;background:#fafbfc;border:1px solid #e4e8ec;border-radius:7px;margin-top:10px;line-height:1.8}.v14-config{border:1px solid #e2e7ec;border-radius:8px;padding:13px;margin:12px 0}.v14-configtitle{font-size:12px;font-weight:800;color:#9e2635;margin-bottom:10px}.v14-planned{padding:10px 12px;background:#f8f9fa;border:1px solid #e6e9ed;border-radius:7px;margin:12px 0;font-size:11px}.v14-planned summary{cursor:pointer;font-weight:700;color:#536477}.v14-testentry{border:1px solid #e3e8ed;border-radius:8px;padding:13px;display:flex;gap:11px;justify-content:space-between;align-items:center}.v14-testmini{background:#fafbfc;border:1px solid #e3e8ed;padding:11px;border-radius:7px;margin:10px 0;font-size:11px}.v14-tests-modal{max-width:880px;width:min(100%,880px)}.v14-testtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v14-testbox{border:1px solid #e1e5eb;border-radius:8px;padding:13px;min-width:0}.v14-testbox>b{display:block;font-size:12px;margin-bottom:5px}.v14-testbox .field{margin-top:8px}.v14-testbox .btn{white-space:normal}.v14-testrow{border:1px solid #e5e9ee;border-radius:7px;padding:9px 11px;margin-bottom:7px;display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0}.v14-sourceselect{display:grid;gap:8px;margin-top:13px}.v14-choice{border:1px solid #e2e7ee;border-radius:8px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.v14-choice label{flex:1;min-width:0}.v14-choice select{border:1px solid #e1e5e9;border-radius:5px;padding:6px;max-width:170px;min-width:0}.v14-checks .cardhead{margin-bottom:15px}.v14-sandbox-result{border:1px solid #dce6e1;background:#f6faf8;border-radius:7px;padding:10px 12px;margin-top:12px;line-height:1.8}
@media(max-width:990px){.v14-testtabs{grid-template-columns:1fr}.v14-testbox .field textarea{min-height:65px}}
@media(max-width:680px){.v14-choice{flex-direction:column;align-items:stretch}.v14-choice select{max-width:100%;width:100%}.v14-summary span{margin:0 4px}.v14-releasebox{grid-template-columns:1fr}.v14-checkgrid{grid-template-columns:1fr}.v14-testrow{flex-direction:column;align-items:flex-start}.v14-testentry{flex-direction:column;align-items:flex-start}}

/* V1.5 · engineering selection, recipe recommendations, five professional craft lines */
.v15-hero{border:1px solid #e1e7ed;background:#fff;border-radius:9px;padding:13px 15px;margin:0 0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v15-hero strong{display:block;font-size:12px}.v15-hero small{display:block;font-size:11px;color:#6e7f8c;margin-top:3px}
.v15-icons{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.v15-token{padding:4px 8px;background:#f7f8fa;border:1px solid #e3e8ec;border-radius:6px;font-size:10px;font-weight:700;color:#687786}.v15-token.active{border-color:#edc0c4;background:#fff4f4;color:#a22335}
.v15-panel{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.v15-craftnav{display:grid;gap:8px;align-content:start}
.v15-craft-btn{width:100%;padding:12px;text-align:left;border:1px solid #e3e7ec;background:#f8f9fb;border-radius:8px;display:grid;gap:3px;cursor:pointer;color:#263546}
.v15-craft-btn.sel{border-color:#b52c3a;background:#fff5f5;box-shadow:inset 3px 0 0 #b42332}
.v15-craft-btn b{font-size:12px}.v15-craft-btn small{font-size:10px;color:#708192}
.v15-detail{min-width:0;border:1px solid #e6e9ed;border-radius:9px;padding:16px;background:#fff}
.v15-detail h3{margin:4px 0 3px;font-size:19px}.v15-detail p{color:#657587;font-size:11px;margin:4px 0 12px}
.v15-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:13px;background:#f8fafb;border:1px solid #e2e8ee;border-radius:8px;margin:12px 0}
.v15-stage{font-size:11px;background:#fff;border:1px solid #dce3e9;border-radius:5px;padding:6px 8px;max-width:180px}
.v15-arrow{color:#ad2635;font-weight:800}.v15-technical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v15-technical>div{padding:11px;background:#fafbfc;border-radius:7px;border:1px solid #e5e9ed;font-size:11px;line-height:1.75;min-width:0}
.v15-technical b{display:block;font-size:11px;margin-bottom:4px}
.v15-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px;font-size:11px}
.v15-links a{color:#a62436;text-decoration:none;border-bottom:1px dotted #bd8792}
.v15-deploy{padding:11px 12px;background:#fff8f5;border:1px solid #f1dfd4;border-radius:8px;font-size:11px;margin-top:12px}
.v15-rec{border:1px solid #e8c0c5;border-radius:9px;padding:13px;background:#fff8f8;margin:12px 0 14px;font-size:11px}
.v15-rec-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.v15-rec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v15-rec-item{background:#fff;border:1px solid #e7e9ec;border-radius:6px;padding:9px;min-width:0}
.v15-rec-item b{font-size:11px}.v15-rec-item p{font-size:10px;color:#6e7d8a;margin:4px 0 0}
.v15-note{font-size:10px;color:#788798;line-height:1.7}
.v15-setup{padding:10px 12px;background:#f7f8fb;border-left:3px solid #c23846;border-radius:5px;margin-top:10px;font-size:11px}
.v15-modal-wide{width:min(100%,1030px);max-width:1030px}
.v15-plancards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}
.v15-plancard{padding:10px 12px;border:1px solid #e4e8ed;border-radius:7px;background:#fff;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;font-size:11px}
.v15-plancard b{display:block}.v15-plancard small{display:block;color:#788896;font-size:10px}
.v15-cls{padding:3px 7px;background:#f8f9fb;border-radius:5px;color:#667989;font-size:10px;white-space:nowrap}
@media(max-width:780px){.v15-panel{grid-template-columns:1fr}.v15-craftnav{grid-template-columns:repeat(2,minmax(0,1fr))}.v15-technical{grid-template-columns:1fr}.v15-modal-wide{width:min(100%,780px)}}
@media(max-width:530px){.v15-rec-grid,.v15-plancards{grid-template-columns:1fr}.v15-craftnav{grid-template-columns:1fr 1fr}.v15-hero{align-items:flex-start}.v15-flow{gap:5px}.v15-stage{font-size:10px}}

/* V1.5 baseline CSS is served first, unchanged. Only live controls and readability here. */
*{letter-spacing:0!important}
.card{border-radius:8px}.small,.tiny,.sub,.hint,.warn,.good,.risk,.kv,.raw,.field label,.checkbox,.checkline,.badge,.workstep,.lanetitle strong,.sourcetile b,.outputtile b,.outputtile p,.btn.sm{font-size:12px}
.btn:disabled{cursor:not-allowed}.processintro{width:100%}.processintro .badge{margin-top:5px}.progressline .selector{margin-left:auto}
.workcol .outputtile{margin-bottom:8px}.workstep{min-height:33px}.sidebottom{overflow-wrap:anywhere}.prodfoot{flex-wrap:wrap}
.pending-section{margin-bottom:20px}.pending-section .sectiontitle{margin-top:16px}
.pagehead{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:20px}.pagehead h1{font-size:26px;margin:4px 0}
.muted{color:var(--sub);font-size:12px}.source-list{width:100%;border-collapse:collapse;background:white}.source-list td,.source-list th{padding:14px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}.source-list .selected{background:var(--rp)}.subsource{font-size:12px;color:var(--sub)}
.technical{margin:10px 0;font-size:12px}.technical summary{cursor:pointer;color:var(--sub);padding:8px 0}.technical pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,monospace;max-height:320px;overflow:auto;background:#f7f7f8;padding:12px}
.quote{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.candidate-result,.asset-row{padding:12px 0;border-bottom:1px solid var(--line)}.asset-row h3{font-size:15px}
.notice{padding:12px;border-left:3px solid var(--gold);background:#fffbf2;margin:14px 0}.status-label{display:inline-block;padding:3px 8px;background:#fffbf2;color:#775922;font-size:12px}.error-strip,#wizard-error:not(:empty){background:#fff1f2;color:#962339;padding:12px;margin:10px 0;overflow-wrap:anywhere}
.consume-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.consume-grid section{min-width:0}.consume-grid h2{font-size:17px}.consume-grid .field{margin-top:12px}.consume-grid textarea{font-family:ui-monospace,monospace}.no-content{padding:30px 0;color:var(--sub)}
#clause-choices{max-height:240px;overflow:auto}.test-row{display:grid;grid-template-columns:minmax(0,1fr) 145px 28px;gap:8px;align-items:center;margin-top:12px}.test-row .field{margin:0}.modalfoot{padding-left:0;padding-right:0;margin-top:16px}.modalbody .hint{margin:12px 0}.modalbody .actions{margin-top:16px}
.topcontrols,.selector{min-width:0}.btn,.badge{white-space:normal}.prodtitle,.raw,.v14-task,.inspectpane,.workcol{overflow-wrap:anywhere}.v14-checkgrid{margin-bottom:12px}
#modal-error:not(:empty){padding:12px;color:#962339;background:#fff1f2;margin-bottom:12px}
@media(max-width:820px){.consume-grid{grid-template-columns:1fr}.pagehead h1{font-size:22px}.source-list th:nth-child(3),.source-list td:nth-child(3){display:none}.source-list td,.source-list th:nth-child(1){padding:10px 6px}.topcontrols .selector{max-width:100%;flex-basis:160px}.progressline .selector{margin-left:0;max-width:100%}.test-row{grid-template-columns:minmax(0,1fr) 105px 24px}}
@media(max-width:550px){.versiontag{display:none}.v14-task{align-items:start;flex-wrap:wrap}.v15-panel{grid-template-columns:1fr}.v15-craftnav{grid-template-columns:repeat(2,minmax(0,1fr))}.source-list td:first-child{max-width:130px}.modalback{padding:8px}.inspecttop .selector{max-width:100%}}
