@font-face{font-family:Montserrat;src:url('fonts/Montserrat.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#362727;--brown:#614343;--sand:#e4bca8;--olive:#888f64;--blue:#8e9fbc;--paper:#faf7f4;--line:#e7dfd9;--muted:#71615c;--radius:18px}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--brown);text-underline-offset:4px}a:hover{color:var(--ink)}
button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--brown);outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:10;padding:12px 20px;background:#fff}.skip-link:focus{top:12px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{max-width:1280px;min-height:120px;padding:0 32px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand-mark{display:flex;align-items:center;justify-content:center;padding:38px;flex:none;background:#fff}
.brand-mark img{display:block;width:64px;height:auto}
.brand-caption{display:flex;flex-direction:column;gap:1px}.brand-caption strong{font-weight:700;font-size:16px}.brand-caption>span{font-size:11px;color:var(--muted);letter-spacing:.04em}
nav{display:flex;gap:8px;flex-wrap:wrap}nav a{padding:11px 18px;border-radius:10px;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}nav a:hover{background:var(--paper)}nav a[aria-current]{background:var(--ink);color:#fff}
main{max-width:1280px;padding:36px 32px 48px;margin:auto;min-height:calc(100vh - 210px)}
h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-.035em;line-height:1.2;margin-bottom:12px;font-weight:700}h2{font-size:21px;line-height:1.35;letter-spacing:-.025em;font-weight:700;margin-bottom:12px}h3{font-size:16px;line-height:1.4;margin:30px 0 14px;font-weight:700}p{margin-bottom:18px}p:last-child{margin-bottom:0}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:12px;color:var(--muted)}
.page-heading{margin-bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.page-heading p{color:var(--muted);margin:0;max-width:680px}
.hero{background:var(--brown);color:#fff;border-radius:var(--radius);padding:32px 36px;position:relative;overflow:hidden;margin-bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hero h1{font-size:34px;margin-bottom:12px}.hero .eyebrow{color:var(--sand)}.hero p{max-width:570px;color:#fff;font-size:13px;line-height:1.8;margin-bottom:0}
.brand-geometry{width:230px;height:136px;flex:none;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:5px}
.shape{background:var(--sand)}.shape:nth-child(1){border-radius:100% 100% 0 0;background:var(--blue)}.shape:nth-child(2){border-radius:50%;background:repeating-radial-gradient(circle at 85% 15%,transparent 0 9px,var(--ink) 10px 10.5px,transparent 11px 18px),var(--sand)}.shape:nth-child(3){clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:var(--olive)}.shape:nth-child(4){background:repeating-radial-gradient(circle at 0 100%,transparent 0 9px,var(--sand) 10px 10.5px,transparent 11px 18px),var(--ink)}.shape:nth-child(5){border-radius:0 0 100% 100%;background:var(--olive)}.shape:nth-child(6){border-radius:50%;background:var(--blue)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:24px;min-width:0}.card p{max-width:900px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.card-head h2{margin:0}
.section-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--sand);font-size:23px;line-height:1;color:var(--ink);margin-bottom:16px;font-family:Arial,sans-serif}.section-icon.blue{background:var(--blue)}.section-icon.olive{background:var(--olive)}
.card-description{color:var(--muted);font-size:13px;min-height:44px}
.catalog-summary{display:flex;align-items:center;gap:16px;padding:16px 0 22px}.catalog-summary strong{font-size:44px;font-weight:700;line-height:1.2;letter-spacing:-.04em}.catalog-summary span{font-size:12px;color:var(--muted);max-width:130px}
button,.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 20px;border:1px solid transparent;border-radius:10px;background:var(--brown);color:#fff;text-decoration:none;font-size:12px;font-weight:700;line-height:1.5;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;text-align:center;max-width:100%}
button:hover,.btn:hover{background:var(--ink);color:#fff}button:active,.btn:active{box-shadow:inset 0 2px 4px #0002}
.btn-secondary,button[type=button]{background:#fff;border-color:#cbb9ae;color:var(--brown)}.btn-secondary:hover,button[type=button]:hover{background:var(--paper);color:var(--ink);border-color:var(--brown)}.btn-blue{background:var(--blue);color:var(--ink)}.btn-blue:hover{background:#7c8fae;color:var(--ink)}
label{font-size:12px;font-weight:700;display:block;margin-bottom:10px}
input,select{background:#fff;color:var(--ink);border:1px solid #cbbdb4;border-radius:8px;min-height:42px;padding:9px 12px;max-width:100%;font-size:13px;line-height:1.5;transition:border-color .15s}input:hover,select:hover{border-color:var(--brown)}input:focus,select:focus{border-color:var(--brown)}input:disabled{background:var(--paper);color:var(--muted);cursor:not-allowed}
input[type=file]{display:block;width:100%;background:var(--paper);border:1px dashed #c3b0a1;padding:14px;font-size:11px;margin-bottom:16px;cursor:pointer}input[type=file]::file-selector-button{font:700 11px Montserrat,Arial,sans-serif;color:var(--ink);background:#fff;border:1px solid #cbbdb4;border-radius:7px;padding:9px 13px;margin-right:12px;cursor:pointer}
.upload-form label{margin:0 0 8px}.upload-form .hint{color:var(--muted);font-size:11px;margin:10px 0 0}.bulk-card{border-top:3px solid var(--olive)}.bulk-card .upload-form{display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:14px;align-items:center}.bulk-card .upload-form label{grid-column:1/-1;margin-bottom:-8px}.bulk-card input[type=file]{margin:0}
.table-scroll{overflow-x:auto;width:100%;border:1px solid var(--line);border-radius:12px;scrollbar-color:var(--sand) var(--paper)}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:var(--paper);font-size:10px;font-weight:700;color:var(--muted);line-height:1.5}tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fcfaf8}td a{font-weight:700;text-decoration:none}td a:hover{text-decoration:underline}td[colspan]{padding:32px 16px;text-align:center;color:var(--muted)}
td input{width:100%;min-width:74px}td input.mat{min-width:180px}td select{min-width:146px;width:100%}#partsTable,#compsTable{min-width:680px}#partsTable td:first-child,#compsTable td:first-child{width:32%}#partsTable td:not(:first-child):not(:last-child){min-width:110px}#compsTable td:first-child input{min-width:220px}td button[type=button]{min-width:38px;min-height:38px;padding:3px 10px;font-size:20px;border:1px solid var(--line);border-radius:8px}
.badge{display:inline-flex;padding:4px 9px;border-radius:6px;background:#e8ecf2;color:var(--ink);font-size:10px;font-weight:700;white-space:nowrap}.badge-olive{background:#e9ecdf}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 28px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;border-top:3px solid var(--sand)}.stat:nth-child(2){border-top-color:var(--olive)}.stat:nth-child(3){border-top-color:var(--blue)}.stat:nth-child(4){border-top-color:var(--brown)}.stat strong{display:block;font-size:30px;letter-spacing:-.04em;line-height:1.2;margin-bottom:8px;font-weight:700}.stat span{font-size:11px;color:var(--muted)}
.muted,.hint{color:var(--muted);font-size:12px}.warn,.flash{padding:16px 20px;border-radius:10px;border:1px solid #d9cbbd;background:#f6ede5;margin-bottom:20px;font-size:12px;color:var(--ink)}.flash{border-left:4px solid var(--blue);background:#edf0f5}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.site-footer{max-width:1280px;margin:auto;padding:22px 32px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:10px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(min-width:1400px){main{padding-top:40px}}
@media(max-width:950px){.header-inner{padding:0 20px;gap:8px}.brand-caption>span{max-width:150px}.brand-caption strong{font-size:14px}nav{gap:2px}nav a{padding:10px 12px;font-size:11px}.brand-mark{padding-left:18px}.hero h1{font-size:29px}.brand-geometry{width:174px;height:110px}.stats{grid-template-columns:repeat(2,1fr)}.bulk-card .upload-form{display:block}.bulk-card input[type=file]{margin-bottom:16px}.bulk-card .upload-form label{margin-bottom:8px}}
@media(max-width:700px){.header-inner{flex-direction:column;align-items:flex-start;padding:0 20px 16px;gap:0}.brand-mark{padding:38px 38px 38px 18px}.brand-caption strong{font-size:14px}.brand-caption>span{max-width:none;font-size:10px}nav{width:100%;gap:6px}nav a{flex:1;text-align:center;font-size:11px;padding:10px 8px}main{padding:24px 16px 32px}.hero{padding:26px;min-height:180px}.hero h1{font-size:28px}.hero p{font-size:12px}.brand-geometry{display:none}.grid{grid-template-columns:1fr;gap:0}.card{padding:22px 18px;margin-bottom:20px;border-radius:14px}h1{font-size:27px}h2{font-size:19px}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.stats{gap:10px;margin-bottom:20px}.stat{padding:16px}.stat strong{font-size:25px}.stat span{font-size:10px}.card-head{flex-wrap:wrap}th,td{padding:12px}.site-footer{margin:0 16px;padding:18px 0 24px;flex-direction:column;gap:5px}.actions>*{flex:1 1 auto}table{min-width:560px}.card-description{min-height:0}}
@media print{.site-header nav,.site-footer,.skip-link,.btn,button{display:none}.site-header{border:0}body{background:#fff}main{padding:0}.card{break-inside:avoid}.table-scroll{overflow:visible}.brand-geometry{display:none}}
.table-scroll + p{margin-top:16px}
