:root{color-scheme:light;--ink:#20332d;--muted:#64746c;--green:#245d48;--line:#d8e0da;--paper:#f5f5f0;--amber:#8a530b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Segoe UI",sans-serif;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b68b47;outline-offset:3px}[hidden]{display:none!important}.topbar{max-width:1500px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 36px}.brand{font-size:13px;font-weight:700;letter-spacing:2px;text-decoration:none;color:var(--ink)}.brand span{display:inline-block;border-left:1px solid #b9c7be;margin-left:12px;padding-left:12px;font-weight:400;letter-spacing:1px}.account{display:flex;align-items:center;gap:18px;font-size:14px}main{max-width:1500px;margin:auto;padding:28px 36px 65px}.hero{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin:0 0 14px}h1{font-size:clamp(32px,4vw,49px);line-height:1.12;letter-spacing:-1.4px;margin:0 0 20px}h2{font-size:23px;line-height:1.3;margin:0}.intro{color:#52665b;max-width:760px;margin:0;font-size:17px}.primary,.secondary{border-radius:8px;padding:12px 17px;border:1px solid var(--green);font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:46px}.primary{color:white;background:var(--green)}.primary:hover{background:#174532}.secondary{color:var(--green);background:transparent;border-color:#b5c5b8}.secondary:hover{background:#e6ece5}.text-button{background:none;border:0;color:var(--green);padding:9px 4px;text-decoration:underline}.primary:disabled,.secondary:disabled{opacity:.6;cursor:wait}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats>div{padding:20px 23px;border:1px solid var(--line);border-radius:14px;background:#fff}.stats strong{display:block;font-size:34px;line-height:1.2;margin-bottom:9px}.stats span{font-size:13px;color:var(--muted)}.notice{font-size:13px;padding:17px 20px;background:#e7eee7;border-radius:10px;margin:20px 0 28px;color:#466053}.tabs{display:flex;gap:6px;border-bottom:1px solid #cdd8cf;margin-bottom:20px}.tab{border:0;background:none;font-weight:700;padding:13px 22px;font-size:17px;border-bottom:3px solid transparent;color:#738076}.tab.active{color:var(--green);border-color:var(--green)}.filters{display:flex;align-items:end;gap:15px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#5a6e61}.filters .search{flex:1}.filters select{min-width:265px}input,select{border:1px solid #b9c8bd;background:white;border-radius:7px;min-height:48px;padding:11px 13px;font-size:15px;color:var(--ink);width:100%}.search-submit{min-height:48px}.results-head{display:flex;justify-content:space-between;gap:20px;margin:8px 0 12px;font-size:13px}.muted{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 2px 4px #20332d05;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.code{font-size:10px;color:#738279;letter-spacing:.3px}.badge{font-size:11px;padding:5px 10px;background:#edf1ee;border-radius:20px;color:#567363}.badge.review{color:var(--amber);background:#fbf0da}.badge.optimized{color:var(--green);background:#e3f0e9}.card h2{font-size:18px;line-height:1.4;overflow-wrap:anywhere;margin-bottom:8px}.format{font-size:12px;color:var(--muted);margin:0 0 16px}.preview{display:block;width:100%;height:240px;border:1px solid #e3e7e2;border-radius:8px;background:#fff;margin:0 0 17px;padding:8px;object-fit:contain}.preview.pdf{height:290px;background:#f9f9f6}.download-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.download-row a{font-size:12px;padding:10px 12px;min-height:41px}.changes{padding:0;margin:8px 0;list-style:none;font-size:13px}.changes li{margin:5px 0}.changes b{font-variant-numeric:tabular-nums}.no-change{color:var(--muted);font-size:13px}.finding-count{font-size:12px;color:var(--amber)}details{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}summary{font-size:12px;color:var(--green);cursor:pointer}.metrics{width:100%;font-size:12px;border-collapse:collapse;margin:15px 0}.metrics th,.metrics td{text-align:left;padding:9px 2px;border-bottom:1px solid #e6ece7}.metrics th{font-weight:400;color:var(--muted)}.metrics td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.finding{font-size:12px;line-height:1.65;padding:12px;background:#f9efda;border-radius:7px;margin:9px 0;color:#84510e}.finding.info{background:#edf1ee;color:#536b5b}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.pair figure{margin:0;min-width:0}.pair img{width:100%;height:150px;object-fit:contain;border:1px solid var(--line);border-radius:5px}.pair figcaption{text-align:center;font-size:11px;color:var(--muted)}.source-path{overflow-wrap:anywhere;font-size:11px;color:var(--muted);margin-top:15px}.hash{overflow-wrap:anywhere;font:10px monospace;color:#738279}.more-row{text-align:center;margin-top:25px}.empty{grid-column:1/-1;padding:45px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.error{color:#a12d1a;font-size:14px;margin:10px 0}.error:empty{display:none}.login-panel{max-width:560px;margin:35px auto}.login-panel h1{font-size:56px}.login-form{margin:28px 0;display:grid;gap:16px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:27px}.login-form p{margin:0}.login-form button{width:100%}.back{font-size:13px}dialog{border:1px solid var(--line);border-radius:16px;padding:25px;max-width:520px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#142b2380}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}dialog label{margin-top:14px}dialog p{font-size:14px}dialog .primary{width:100%}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);padding:15px 23px;border-radius:10px;background:#244c3c;color:#fff;box-shadow:0 6px 30px #0003;z-index:5;font-size:14px}@media(min-width:1550px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{flex-wrap:wrap}.filters .search{flex-basis:55%}.search-submit{display:none}}@media(max-width:620px){.topbar{padding:19px 18px}.brand{font-size:11px;letter-spacing:1px}.brand span{margin-left:7px;padding-left:7px}.account{gap:8px;font-size:12px}main{padding:20px 18px 40px}.hero{align-items:flex-start;flex-direction:column;gap:15px}h1{font-size:34px}.intro{font-size:15px}.stats{gap:8px}.stats>div{padding:15px 11px;border-radius:10px}.stats strong{font-size:28px}.stats span{font-size:11px}.notice{font-size:12px;padding:14px}.cards{grid-template-columns:minmax(0,1fr)}.filters label{flex:1;min-width:100%}.filters select{min-width:0}.results-head{gap:8px;flex-direction:column;margin:12px 0}.results-head p{margin:0}.card{padding:20px}.login-panel{margin-top:15px}.login-panel h1{font-size:43px}.login-form{padding:22px}.preview{height:270px}.tab{font-size:16px;padding:11px 20px}.dialog-head h2{font-size:20px}}
.hero-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.version-panel{border-top:1px solid var(--line);padding-top:15px;margin-top:14px}.version-panel select{font-size:12px;min-width:0}.review-toggle{flex-direction:row;align-items:center;font-size:16px;gap:10px;margin:16px 0 5px;color:var(--ink);cursor:pointer}.review-toggle input{width:22px;height:22px;min-height:22px;accent-color:var(--green);padding:0;flex-shrink:0}.review-meta{font-size:11px;color:var(--muted);margin:5px 0}.download-row button{font-size:12px;padding:10px 12px;min-height:41px}.history-button{font-size:12px;margin-top:8px}.history-entry{border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.history-entry p{margin:5px 0}input[type=file]{font-size:13px;padding:10px}.version-panel .finding{font-size:11px}@media(max-width:620px){.hero-actions{flex-direction:row;flex-wrap:wrap}.hero-actions button{font-size:12px}}

.tabs{flex-wrap:wrap}
.archived-card .upload-version{display:none}

/* Shared ZAVOD palette and controls. */
:root{--ink:#21182a;--deep:#4b176f;--green:#4b176f;--mint:#f1e6fb;--paper:#f7f5fa;--line:#e9e2ed;--accent:#d9278f;--muted:#756b7e;--violet:#7d2ae8;--red:#c63356;--shadow:0 16px 42px rgba(83,42,105,.08)}
body{background:radial-gradient(circle at 88% 0,#f4e9ff 0,transparent 30%),var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}
button{transition:background .16s,box-shadow .16s,transform .16s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #dfc2f5;outline-offset:2px}
.topbar{border-bottom:1px solid var(--line)}.brand,h1,h2{color:var(--deep)}.brand span{border-color:#d7b9e8}.eyebrow{color:var(--accent);font-weight:900}.intro,label,.code{color:var(--muted)}
.primary,.secondary{border-radius:13px}.primary{background:linear-gradient(135deg,var(--deep),#8e238f);border:0;box-shadow:0 8px 22px rgba(75,23,111,.2)}.primary:hover{background:linear-gradient(135deg,var(--deep),#8e238f);filter:brightness(1.08)}.secondary{border-color:#d7b9e8;background:#fff}.secondary:hover{background:var(--mint)}
.stats>div,.card{border-radius:22px;box-shadow:var(--shadow)}.stats strong{color:var(--deep)}.notice{background:var(--mint);color:var(--deep);border-radius:15px}.tabs{border-color:var(--line)}.tab{color:var(--muted)}.tab.active{color:var(--deep);border-color:var(--accent)}
input,select{border-color:var(--line);border-radius:12px}input:focus,select:focus{border-color:#aa76ca;box-shadow:0 0 0 3px #ead8f6}.preview{border-color:var(--line);border-radius:13px}.badge{background:var(--mint);color:var(--deep)}.badge.optimized{background:#e6f6ee;color:#16835a}.finding.info{background:#faf8fc;color:var(--muted)}.metrics th,.metrics td{border-color:var(--line)}.toast{background:var(--deep);border-radius:13px}dialog{border-radius:22px;box-shadow:0 24px 70px rgba(75,23,111,.2)}dialog::backdrop{background:#21182a80}.login-form{border-radius:22px;box-shadow:var(--shadow)}
.category-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.chip{display:flex;gap:9px;align-items:center;min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:99px;background:white;color:var(--deep);font-size:13px;font-weight:800}.chip.active{background:var(--mint);border-color:var(--violet);color:var(--violet)}.chip span{font-size:11px;opacity:.75}.archive-tab{margin-left:auto}.asset-controls{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:end;gap:9px}.asset-controls label{flex:1;min-width:120px;font-size:11px}.asset-controls select{font-size:12px;min-height:40px;padding:9px}.asset-controls button{font-size:12px;min-height:40px;padding:9px 12px}.danger,.danger:hover{color:var(--red);border:1px solid #e9b9c4;background:#fff4f6;box-shadow:none}.archived-card{background:#fcfaff}.archive-stamp{color:var(--muted);font-size:11px}.category-badge{color:var(--deep);font-size:11px;font-weight:800}.filters input{min-width:0}
@media(max-width:620px){.archive-tab{margin-left:0}.chip{padding:9px 13px}.stats>div,.card{border-radius:19px}}
/* Version-bound ENG technical cards, using the portal's existing palette. */
.techcard-panel{border-top:1px solid #e4d9ec;margin-top:16px;padding-top:16px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.techcard-panel>p{margin:0}.techcard-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5}
#techcardNotes{font:inherit;color:inherit;background:#fff;border:1px solid #dac5e8;border-radius:12px;width:100%;box-sizing:border-box;padding:12px;resize:vertical}
#techcardNotes:focus{outline:3px solid #e2c9f1;border-color:#8a319e}#techcardQuestion{white-space:pre-wrap;overflow-wrap:anywhere}
.set-section{border-top:1px solid var(--line,#e5daed);padding-top:14px;margin-top:14px}.set-section>strong{font-size:14px}.set-document{display:flex;flex-direction:column;gap:5px;padding:10px 12px;margin:8px 0;border:1px solid #e5daed;border-radius:10px;text-decoration:none;background:#faf7fc;overflow-wrap:anywhere}.set-document:hover{border-color:#a84cbc;background:#f4eafa}.set-document small{color:#82748c}.set-note{font-size:12px;line-height:1.6}.set-card .download-row{margin-top:14px}.set-card h2{overflow-wrap:anywhere}.set-card .primary{white-space:normal;text-align:center}
.color-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.color-panel .text-button{display:block;font-size:12px}.color-panel>p{margin:7px 0}.color-panel>strong{font-size:14px}#colorsDialog{width:min(1080px,94vw);max-width:1080px;max-height:90vh;overflow:auto}#colorTitle{font-size:22px;overflow-wrap:anywhere}.color-tools,.color-bottom{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}#colorLayers{display:flex;gap:8px;flex-wrap:wrap}.color-layer-label{display:flex;flex-direction:row;gap:2px;align-items:center}.color-layer-label input{width:125px;font-size:12px}.color-variant{border:1px solid #e3d3ed;border-radius:15px;padding:16px;margin:14px 0;background:#fcf9ff}.color-variant-head{display:flex;align-items:end;gap:10px;margin-bottom:15px}.color-variant-head label{flex:1}.color-layers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.color-cell{display:flex;flex-direction:column;gap:7px}.color-cell input,.color-cell select{min-width:0;font-size:13px}.swatch-row{display:flex;align-items:center;gap:8px;min-height:44px}.color-swatch{display:block;width:66px;height:40px;border:1px solid #bcb0c5;border-radius:7px;flex-shrink:0}.empty-swatch{background:repeating-linear-gradient(135deg,#fff,#fff 6px,#ddd 6px,#ddd 7px)}.color-cell .color-hex{width:38px;min-height:34px;height:34px;padding:2px}.swatch-row small{font-size:10px;font-weight:400;color:var(--muted)}@media(max-width:620px){#colorsDialog{padding:16px}.color-layers{grid-template-columns:1fr}.color-variant-head{flex-wrap:wrap}.color-variant-head label{flex-basis:100%}}

/* A product card owns both the drawing and the technical card. */
.filters{flex-wrap:wrap}.filters .search{flex:2;min-width:250px}.filters label{min-width:180px;flex:1}.filters .search-submit{align-self:end}
.techcard-panel .set-document{width:100%;margin:0;font-size:13px}.techcard-panel>.text-button{font-size:12px;text-align:left}.techcard-panel>details{width:100%;margin-top:3px}.techcard-panel .primary{font-size:13px;white-space:normal}
.unlinked-documents{margin-top:28px}.unlinked-documents>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.unlinked-documents .set-document{font-size:12px;margin:0}
@media(max-width:620px){.filters .search,.filters label{min-width:100%}.unlinked-documents>div{grid-template-columns:minmax(0,1fr)}}

.linked-document{width:100%}.linked-document .set-document{font-size:13px}.document-note{margin:5px 0 12px;padding:0;border:0}.document-note summary{font-size:11px}.document-note p{font-size:12px;line-height:1.5;color:var(--muted);margin:7px 0}.product-illustrations{width:100%}
