@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap');

:root{
  --bg-paper:#eeeae1; --bg-panel:#ffffff; --steel-dark:#1c2530; --steel:#2a3542; --steel-blue:#3f5b6e;
  --accent:#f2a900; --accent-dark:#c98600; --text-dark:#1c2530; --text-muted:#5b6570; --border:#cfc9ba;
  --success:#2e7d32; --success-bg:#e6f2e6; --danger:#b3261e; --danger-bg:#fbe9e7; --radius:3px;
  --font-display:'Oswald',sans-serif; --font-body:'Inter',sans-serif; --font-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg-paper);font-family:var(--font-body);color:var(--text-dark);}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px;margin:0;}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px;}
section{padding:44px 0;}

.topbar{background:var(--steel-dark);color:#fff;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid var(--accent);flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:12px;padding:12px 0;}
.brand-mark{background:var(--accent);color:var(--steel-dark);font-family:var(--font-display);font-weight:700;font-size:19px;padding:4px 8px;letter-spacing:1px;border-radius:2px;transform:skew(-6deg);}
.brand-text{font-family:var(--font-display);font-weight:600;letter-spacing:2px;font-size:14px;text-transform:uppercase;}
.brand-sub{font-size:9.5px;color:#9fb1bf;letter-spacing:1.5px;text-transform:uppercase;margin-top:1px;}
.nav-links{display:flex;gap:2px;flex-wrap:wrap;}
.nav-links a{font-family:var(--font-display);font-size:12.5px;letter-spacing:1px;text-transform:uppercase;padding:20px 12px;color:#c7d0d8;border-bottom:3px solid transparent;}
.nav-links a:hover{color:#fff;}
.nav-links a.active{color:#fff;border-bottom-color:var(--accent);}
.nav-right{display:flex;align-items:center;gap:10px;padding:10px 0;}
.role-tag{background:var(--steel-blue);padding:4px 10px;border-radius:2px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:#fff;}
.link-btn{background:none;border:none;color:#d8dee2;text-decoration:underline;cursor:pointer;font-size:12.5px;font-family:var(--font-body);}
.link-btn:hover{color:#fff;}

.btn{font-family:var(--font-body);font-weight:600;font-size:14px;border-radius:var(--radius);border:none;cursor:pointer;padding:11px 20px;display:inline-block;}
.btn-primary{background:var(--accent);color:var(--steel-dark);}
.btn-primary:hover{background:var(--accent-dark);}
.btn-outline{background:transparent;border:1.5px solid var(--steel-dark);color:var(--steel-dark);}
.btn-outline:hover{background:var(--steel-dark);color:#fff;}
.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #e3a29c;}
.btn-danger:hover{background:var(--danger);color:#fff;}
.btn-sm{padding:6px 12px;font-size:12px;}

.hero-search{background:var(--steel-dark);padding:34px 20px 44px;text-align:center;position:relative;}
.hero-search:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:repeating-linear-gradient(45deg, var(--accent) 0 10px, var(--steel-dark) 10px 20px);}
.hero-search h1{color:#fff;font-size:24px;margin:0 0 6px;}
.hero-search p{color:#9fb1bf;font-size:13.5px;margin:0 0 20px;font-family:var(--font-body);}
.search-box{max-width:600px;margin:0 auto;display:flex;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.search-box input{flex:1;padding:15px 16px;border:none;font-family:var(--font-mono);font-size:15px;}
.search-box input:focus{outline:none;}
.search-box button{background:var(--accent);border:none;padding:0 20px;font-family:var(--font-display);font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--steel-dark);cursor:pointer;font-size:13.5px;}
.search-box button:hover{background:var(--accent-dark);}

.results-count{font-family:var(--font-mono);font-size:12.5px;color:var(--text-muted);margin:18px 0 14px;}
.part-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;box-shadow:0 4px 14px rgba(28,37,48,0.06);}
.part-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px dashed var(--border);flex-wrap:wrap;}
.plate{display:inline-flex;flex-direction:column;background:var(--steel-dark);color:#fff;padding:7px 12px;border-radius:3px;}
.plate .lbl{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);font-family:var(--font-display);}
.plate .val{font-family:var(--font-mono);font-weight:700;font-size:16px;}
.type-badge{background:var(--steel-blue);color:#fff;font-size:11px;padding:4px 10px;border-radius:20px;text-transform:uppercase;font-weight:600;}
.app-text{font-size:13px;color:var(--text-muted);flex:1;min-width:180px;}
.cross-wrap{padding:14px 20px 18px;display:flex;flex-wrap:wrap;gap:10px;}
.cross-chip{display:inline-flex;align-items:center;gap:8px;background:#f7f5f0;border:1.5px solid var(--border);border-radius:3px;padding:6px 10px 6px 6px;}
.cross-chip .brand-tag{background:var(--accent);color:var(--steel-dark);font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;padding:3px 6px;border-radius:2px;}
.cross-chip .cross-num{font-family:var(--font-mono);font-size:13px;font-weight:600;}

.section-head{text-align:center;margin-bottom:30px;}
.section-head .eyebrow{color:var(--accent-dark);font-family:var(--font-display);font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;}
.section-head h2{font-size:24px;margin:6px 0 8px;}
.section-head p{color:var(--text-muted);max-width:520px;margin:0 auto;font-size:14px;line-height:1.6;}

.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.cat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:20px;}
.cat-icon{width:40px;height:40px;border-radius:6px;background:var(--steel-dark);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:14px;margin-bottom:12px;}
.cat-card h3{font-size:15px;margin-bottom:6px;}
.cat-card p{font-size:12.5px;color:var(--text-muted);line-height:1.6;margin:0;}
@media(max-width:760px){.cat-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.cat-grid{grid-template-columns:1fr;}}

.form-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:26px;max-width:420px;margin:0 auto;}
.tabs{display:flex;border-bottom:1px solid var(--border);margin:-26px -26px 22px;}
.tabs a{flex:1;text-align:center;padding:13px 8px;font-family:var(--font-display);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);border-bottom:3px solid transparent;background:#f7f5f0;}
.tabs a.active{color:var(--text-dark);border-bottom-color:var(--accent);background:#fff;}
.field{margin-bottom:15px;}
.field label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;letter-spacing:.5px;}
.field input, .field select, .field textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:14px;background:#fdfcfa;}
.field textarea{font-family:var(--font-body);min-height:90px;resize:vertical;}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);}
.msg{font-size:13px;padding:9px 12px;border-radius:var(--radius);margin-bottom:14px;}
.msg.error{background:var(--danger-bg);color:var(--danger);}
.msg.ok{background:var(--success-bg);color:var(--success);}
.hint{font-size:11.5px;color:var(--text-muted);margin-top:10px;line-height:1.5;}
.switch-line{text-align:center;font-size:13px;margin-top:14px;color:var(--text-muted);}
.switch-line a{color:var(--steel-blue);font-weight:600;text-decoration:underline;}

.admin-wrap{max-width:1000px;margin:0 auto;padding:26px 20px 50px;}
.admin-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
.admin-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
.admin-tabs a{background:var(--bg-panel);border:1.5px solid var(--border);padding:7px 14px;border-radius:20px;font-size:12.5px;font-weight:600;color:var(--text-muted);}
.admin-tabs a.active{background:var(--steel-dark);color:#fff;border-color:var(--steel-dark);}
table.data{width:100%;border-collapse:collapse;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;overflow:hidden;}
table.data th{background:var(--steel-dark);color:#fff;text-align:left;font-family:var(--font-display);font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:10px 12px;}
table.data td{padding:11px 12px;border-bottom:1px solid var(--border);font-size:13.5px;vertical-align:top;}
table.data tr:last-child td{border-bottom:none;}
.mono{font-family:var(--font-mono);font-weight:600;}
.mini-chip{display:inline-block;background:#f7f5f0;border:1px solid var(--border);border-radius:2px;padding:2px 7px;font-family:var(--font-mono);font-size:11px;margin:2px 4px 2px 0;}
.row-actions{display:flex;gap:6px;}

.xref-row{display:flex;gap:8px;margin-bottom:8px;}
.xref-row select{flex:0 0 150px;}
.xref-row input{flex:1;}
.xref-row button{background:none;border:none;color:var(--danger);cursor:pointer;font-size:16px;}
.add-row-btn{background:none;border:1.5px dashed var(--border);color:var(--steel-blue);padding:8px 12px;border-radius:var(--radius);font-size:13px;cursor:pointer;width:100%;font-weight:600;}

.site-footer{background:var(--steel-dark);color:#9fb1bf;padding:34px 20px 20px;margin-top:40px;}
.footer-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;padding-bottom:20px;border-bottom:1px solid #34404c;}
.footer-grid h4{font-family:var(--font-display);color:#fff;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;margin:0 0 10px;}
.footer-grid p, .footer-grid a{font-size:12.5px;line-height:2;color:#9fb1bf;}
.footer-bottom{max-width:1000px;margin:0 auto;padding-top:14px;font-size:11.5px;}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr 1fr;}}

.upload-box{border:2px dashed var(--border);border-radius:6px;padding:26px;text-align:center;background:var(--bg-panel);}
.summary-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:18px 20px;margin-bottom:18px;}
.summary-box .stat{display:inline-block;margin-right:22px;font-family:var(--font-mono);}
.summary-box .stat b{display:block;font-size:20px;color:var(--steel-dark);}
