:root{--ink:#14201f;--forest:#123b37;--forest2:#0b2b29;--gold:#d7aa25;--gold2:#f1c84b;--paper:#f4f3ee;--surface:#fff;--line:#d8ddd9;--muted:#66716d;--danger:#a9342c}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.5 Inter,Arial,"Segoe UI",Tahoma,sans-serif}.topbar{height:88px;padding:12px max(24px,calc((100vw - 1440px)/2));background:var(--forest2);display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--gold)}.brand img{width:212px;height:64px;object-fit:contain;object-position:left center}.header-actions{display:flex;align-items:center;gap:10px}.status,.ghost,.language{border:1px solid #ffffff35;background:#ffffff0d;color:white;border-radius:999px;padding:9px 15px;font:inherit}.ghost,.language{cursor:pointer;font-weight:700}.ghost:hover,.language:hover{background:#ffffff1c}.status{font-size:.86rem;color:#e8efed}main{max-width:1440px;margin:auto;padding:30px 28px 60px}.workspace{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 18px 50px #102b2510}.intro{max-width:780px}.eyebrow{margin:0 0 5px;color:#9a7410;font-size:.78rem;font-weight:900;letter-spacing:.14em}.intro h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.03;margin:0}.intro>p:last-child{margin:10px 0 24px;color:var(--muted);font-size:1.05rem}.mode-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.mode{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 18px;color:var(--muted);font-weight:800;cursor:pointer;font:inherit}.mode.active{color:var(--forest);border-color:var(--gold)}.search-panel{display:grid;grid-template-columns:minmax(280px,1fr) 220px 140px;align-items:end;gap:12px}.application-panel{grid-template-columns:190px 260px minmax(300px,1fr) 150px}.field{display:grid;gap:6px}.field label{font-size:.82rem;font-weight:850;color:#53605c}.field input,.field select,.add-user input,.add-user select{width:100%;min-height:50px;border:1px solid #bac6c1;border-radius:10px;background:white;color:var(--ink);padding:11px 13px;font:inherit}.field input:focus,.field select:focus,.add-user input:focus,.add-user select:focus{outline:3px solid #d7aa2538;border-color:var(--gold)}button.primary{min-height:50px;border:0;border-radius:10px;background:var(--forest);color:white;padding:11px 20px;font:inherit;font-weight:850;cursor:pointer}button.primary:hover{background:#19524c}button:disabled{opacity:.55;cursor:not-allowed}.hidden{display:none!important}.summary{min-height:48px;padding:15px 4px 8px;color:var(--muted)}.results{display:grid;gap:12px}.empty-state{min-height:330px;overflow:hidden;background:var(--forest2);border-radius:20px;color:white;display:grid;grid-template-columns:1fr 1.25fr;align-items:center}.empty-state>div{padding:45px}.empty-state h2{font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.08;margin:0 0 12px}.empty-state p:last-child{color:#c7d8d3;max-width:480px}.empty-state img{width:100%;height:330px;object-fit:cover}.empty{padding:55px;text-align:center;background:white;border:1px dashed #bdc8c4;border-radius:14px;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:center;cursor:pointer;transition:.16s}.card.no-image{grid-template-columns:1fr auto}.card:hover{transform:translateY(-1px);border-color:#a98a33;box-shadow:0 8px 22px #182f2912}.thumb{width:92px;height:92px;border-radius:10px;object-fit:contain;background:#f8f9f7;border:1px solid #e2e6e3}.pn{font-size:1.2rem;font-weight:900}.desc{color:#465651;margin-top:3px}.meta{font-size:.86rem;color:var(--muted);margin-top:7px}.stock-meta{font-size:.9rem;color:#0c6f64;font-weight:750;margin-top:4px}.badge{display:inline-flex;align-self:start;width:max-content;color:white;background:#2664a2;font-size:.76rem;font-weight:850;padding:5px 9px;border-radius:6px}.badge.MANN{background:#26704e}.badge.FAC{background:#7549a5}.badge.FLEETGUARD{background:#b52c2d}.badge.MICHELE{background:#925d1d}.badge.PERKINS{background:#d9ad2b;color:#17211f}.badge.MEF{background:#0b766b}dialog{width:min(900px,94vw);max-height:90vh;border:0;border-radius:18px;padding:28px;box-shadow:0 24px 90px #0006}dialog::backdrop{background:#071a18cc}.close{float:right;border:0;background:transparent;color:var(--ink);font-size:2rem;cursor:pointer}.detail-image{display:block;max-width:min(520px,100%);max-height:330px;margin:20px auto;object-fit:contain}.detailgrid,.specgrid{display:grid;grid-template-columns:170px 1fr;gap:9px 18px}.label,.spec-label{color:var(--muted)}.refs{display:flex;flex-wrap:wrap;gap:7px}.ref{background:#eef3f0;border:1px solid var(--line);padding:6px 9px;border-radius:7px;font-size:.88rem}.users-dialog{width:min(900px,94vw)}.dialog-heading h2{font-size:2rem;margin:0}.dialog-heading p:last-child{color:var(--muted)}.add-user{display:grid;grid-template-columns:1fr 1fr 170px 140px;gap:9px;margin:20px 0}.user-list{display:grid;gap:8px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:10px;padding:12px}.user-row strong,.user-row span{display:block}.user-row span{font-size:.82rem;color:var(--muted)}.user-row button{border:1px solid var(--line);background:white;padding:7px 9px;border-radius:7px;cursor:pointer;margin:2px}.user-row .danger{color:var(--danger)}.form-message{min-height:26px;color:var(--danger)}
.login-page{min-height:100vh;background:var(--forest2) url('/static/brand/login-hero.jpg') center/cover fixed no-repeat;padding:0}.login-page:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,#061b19f2 0%,#092a26d9 44%,#071b1955 100%)}.login-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1.15fr minmax(380px,520px);align-items:center;gap:70px;width:min(1280px,calc(100% - 48px));margin:auto}.login-visual{color:white}.login-visual img{width:min(360px,70%);filter:drop-shadow(0 4px 18px #0005)}.login-visual h1{font-size:clamp(2.8rem,6vw,5.7rem);line-height:.95;margin:35px 0 20px;letter-spacing:-.04em}.login-visual p:last-child{font-size:1.5rem;color:#efca59}.login-card{background:#fffffff2;backdrop-filter:blur(10px);padding:42px;border-radius:20px;display:grid;gap:9px;box-shadow:0 30px 100px #0008}.login-card h2{font-size:2rem;margin:0}.login-card>p:not(.eyebrow){margin:0 0 18px;color:var(--muted)}.login-card label{font-size:.85rem;font-weight:800}.login-card input{min-height:50px;border:1px solid #bac6c1;border-radius:9px;padding:11px 13px;font:inherit}.login-card .primary{margin-top:12px}.login-language{justify-self:end;border:0;background:transparent;color:var(--forest);font:inherit;font-weight:800;cursor:pointer}.login-error{min-height:24px;color:var(--danger);text-align:center}
html[dir=rtl] body{font-family:Tahoma,"Segoe UI",Arial,sans-serif}html[dir=rtl] .brand img{object-position:right center}html[dir=rtl] .eyebrow{letter-spacing:0}html[dir=rtl] .card,html[dir=rtl] .detailgrid,html[dir=rtl] .specgrid{text-align:right}
@media(max-width:900px){.topbar{height:auto;min-height:82px;gap:15px}.brand img{width:165px}.status{display:none}.search-panel,.application-panel{grid-template-columns:1fr 1fr}.search-panel .grow{grid-column:1/-1}.empty-state{grid-template-columns:1fr}.empty-state img{height:230px}.login-shell{grid-template-columns:1fr;width:min(520px,calc(100% - 32px));padding:35px 0}.login-visual{display:none}.add-user{grid-template-columns:1fr 1fr}.card{grid-template-columns:75px 1fr auto}.thumb{width:75px;height:75px}}
@media(max-width:600px){main{padding:18px 14px}.topbar{padding:10px 14px;align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.brand img{width:130px;height:54px}.ghost,.language{padding:7px 10px;font-size:.8rem}.workspace{padding:20px 15px}.intro h1{font-size:2.25rem}.search-panel,.application-panel{grid-template-columns:1fr}.search-panel .grow{grid-column:auto}.empty-state>div{padding:30px 22px}.card,.card.no-image{grid-template-columns:64px 1fr}.card.no-image .card-copy{grid-column:1/2}.thumb{width:64px;height:64px}.badge{grid-column:2;justify-self:start}.detailgrid,.specgrid{grid-template-columns:1fr}.label,.spec-label{font-size:.82rem;margin-top:8px}.add-user{grid-template-columns:1fr}.user-row{align-items:flex-start;flex-direction:column}.login-card{padding:28px 22px}}
/* v15 unified catalog */
dialog#details{width:min(1120px,94vw)}
.badge.UNIFIED{background:var(--gold);color:var(--forest2)}
.unified-card{border-left:4px solid var(--gold)}
.catalog-line{margin-top:5px;color:#866917;font-size:.78rem;font-weight:750}
.unified-summary{background:#f7f0d7;border:1px solid #e5cf82;border-radius:10px;padding:12px 14px;font-weight:750}
.table-wrap{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.table-wrap table{width:100%;border-collapse:collapse;font-size:.88rem}
.table-wrap th,.table-wrap td{padding:9px 11px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.table-wrap th{position:sticky;top:0;background:#eef3f0;color:var(--forest);z-index:1}
dialog h3 small{color:var(--muted);font-size:.72em;font-weight:500}
html[dir=rtl] .table-wrap th,html[dir=rtl] .table-wrap td{text-align:right}
.catalog-gallery{margin:18px 0 22px}
.catalog-gallery h3{margin-bottom:10px}
.catalog-view-tabs{display:flex;gap:7px;overflow-x:auto;margin:16px 0 4px;padding:2px 2px 12px;border-bottom:1px solid var(--line);scrollbar-width:thin}
.catalog-view-tab{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:white;color:var(--forest);padding:9px 14px;font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}
.catalog-view-tab span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-inline-start:5px;border-radius:999px;background:#e5ebe8;font-size:.72rem}
.catalog-view-tab.active{background:var(--forest);border-color:var(--forest);color:white}
.catalog-view-tab.active span{background:#ffffff25}
.catalog-view-content{transition:opacity .12s ease}
.catalog-loading .catalog-view-content{opacity:.45;pointer-events:none}
.detail-loading{min-height:220px;display:grid;place-items:center;color:var(--muted);font-weight:750}
.gallery-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 9px;scrollbar-width:thin}
.gallery-tab{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:white;color:var(--forest);padding:8px 13px;font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}
.gallery-tab span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-inline-start:5px;border-radius:999px;background:#e5ebe8;font-size:.72rem}
.gallery-tab.active{background:var(--forest);border-color:var(--forest);color:white}
.gallery-tab.active span{background:#ffffff25}
.gallery-pane{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;padding:14px;background:#f5f7f5;border:1px solid var(--line);border-radius:14px}
.gallery-pane[hidden]{display:none}
.gallery-image-card{display:grid;grid-template-rows:190px auto;margin:0;overflow:hidden;background:white;border:1px solid var(--line);border-radius:11px}
.gallery-image-card img{width:100%;height:190px;object-fit:contain;background:white;padding:8px}
.gallery-image-card figcaption{display:grid;gap:2px;padding:9px 11px;border-top:1px solid var(--line);font-size:.8rem}
.gallery-image-card figcaption span{color:var(--muted)}
.gallery-image-card figcaption em{width:max-content;color:#7b5b05;background:#fff3c4;border-radius:5px;padding:2px 5px;font-size:.7rem;font-style:normal;font-weight:800}
.gallery-empty{color:var(--muted);background:#f5f7f5;border:1px dashed var(--line);border-radius:10px;padding:18px}
.section-empty{color:var(--muted);background:#f7f9f7;border:1px dashed var(--line);border-radius:10px;padding:16px}
.file-link{display:inline-flex;white-space:nowrap;border:1px solid var(--forest);border-radius:7px;padding:5px 9px;color:var(--forest);font-weight:800;text-decoration:none}
.file-link:hover{background:var(--forest);color:white}
@media(max-width:600px){.gallery-pane{grid-template-columns:1fr 1fr;padding:9px}.gallery-image-card{grid-template-rows:135px auto}.gallery-image-card img{height:135px}}
/* structured vehicle/application hierarchy */
.badge.HENGST{background:#d8a500;color:#14201f}
section.application-panel.application-panel{display:grid;grid-template-columns:1fr;gap:18px}
.application-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.application-heading h2{margin:0;font-size:1.35rem}
.application-heading>p{max-width:560px;margin:0;color:var(--muted);font-size:.9rem}
section.application-panel .application-grid{display:grid;grid-template-columns:180px 220px minmax(220px,1fr) minmax(240px,1.1fr);align-items:end;gap:12px}
.application-grid .vehicle-field{grid-column:1/-2}
.application-grid .primary{grid-column:-2/-1}
@media(max-width:900px){section.application-panel .application-grid{grid-template-columns:1fr 1fr}.application-grid .vehicle-field{grid-column:1/-1}.application-grid .primary{grid-column:auto}.application-heading{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:600px){section.application-panel .application-grid{grid-template-columns:1fr}.application-grid .vehicle-field,.application-grid .primary{grid-column:auto}}
