:root{--paper: #F7F5EF;--ink: #172321;--green: #115A50;--green-d: #0B3F38;--orange: #E27A34;--orange-d: #B85F24;--line: #DDD8CB;--card: #FFFFFF;--muted: #5C665F}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:var(--green)}button,input,select,textarea{font:inherit;color:inherit}button{min-height:44px;min-width:44px;cursor:pointer}input,select,textarea{min-height:44px}img{max-width:100%}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--green);color:#fff;padding:16px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.sidebar .brand{display:block;background:var(--paper);border-radius:12px;padding:10px 12px;margin-bottom:12px}.sidebar .brand img{display:block;width:100%;height:auto}.mobile-brand{display:none}.sidebar a.nav{display:flex;align-items:center;min-height:44px;padding:8px 12px;color:#e7efea;text-decoration:none;border-radius:10px}.sidebar a.nav.active{background:#ffffff29;color:#fff;font-weight:700}.sidebar .side-foot{margin-top:auto;font-size:13px;color:#c9d8d1;padding:8px 12px}.main{flex:1;min-width:0;padding:20px 24px 40px;max-width:1080px;margin:0 auto;width:100%}.bottomnav{display:none}.mock-banner{background:#fdf0d5;border:1px solid #E8C87A;color:#6b4a00;border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:14px}.live-banner{background:#e3efea;border:1px solid #9CC3B6;color:var(--green-d);border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:14px}h1{font-size:26px;margin:0 0 8px}h2{font-size:20px;margin:24px 0 10px}h3{font-size:17px;margin:16px 0 8px}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:var(--ink);border:1px solid var(--orange);border-radius:10px;padding:10px 18px;font-weight:700;text-decoration:none}.btn:hover{background:var(--orange-d);border-color:var(--orange-d);color:#fff}.btn.secondary{background:#fff;color:var(--green);border-color:var(--green)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.danger{background:#8c2f1b;border-color:#8c2f1b}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.vehicle-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.vehicle-card .body{padding:12px 14px 14px}.vehicle-card h3{margin:0 0 4px}.vehicle-card h3 a{color:var(--ink);text-decoration:none}.vehicle-img{aspect-ratio:4 / 3;background:linear-gradient(135deg,#dce8e2,#f0e9d8);display:flex;align-items:center;justify-content:center;font-size:44px}.badge{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;margin:2px 4px 2px 0;background:#e7efea;color:var(--green-d);border:1px solid #BFD8CC}.badge.warn{background:#fbefe3;color:#7a3e12;border-color:#e8c9a8}.badge.demo{background:#fff3cd;color:#6b4a00;border-color:#e8c87a}.badge.grey{background:#efede6;color:var(--muted);border-color:var(--line)}.field{margin-bottom:14px}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.field .hint{font-size:13px;color:var(--muted);margin-top:4px}.form{max-width:560px}.error{background:#fbe9e4;border:1px solid #E5A99A;color:#7a2415;border-radius:10px;padding:10px 14px;margin-bottom:12px}.success{background:#e3efea;border:1px solid #9CC3B6;color:var(--green-d);border-radius:10px;padding:10px 14px;margin-bottom:12px}.notice{background:#fbefe3;border:1px solid #E8C9A8;color:#6b3a10;border-radius:10px;padding:10px 14px;margin-bottom:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;align-items:center}.chip{border:1px solid var(--green);background:#fff;color:var(--green);border-radius:999px;padding:8px 16px;font-weight:600}.chip.active{background:var(--green);color:#fff}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin:16px 0;overflow-x:auto}.tabs button{background:none;border:none;border-bottom:3px solid transparent;padding:10px 14px;font-weight:600;color:var(--muted);border-radius:0}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}table.specs{width:100%;border-collapse:collapse}table.specs th,table.specs td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.specs th{width:42%;font-weight:600}.list-row{display:flex;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}.list-row .grow{flex:1;min-width:0}.empty{text-align:center;padding:36px 16px;color:var(--muted)}.empty .big{font-size:40px;margin-bottom:8px}.view-toggle{margin-left:auto}.topbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.topbar input[type=search]{flex:1;min-width:180px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.search-row{display:flex;gap:8px}.search-row input{flex:1}@media(max-width:760px){.sidebar{display:none}.mobile-brand{display:block;background:var(--paper);margin:-16px -16px 12px;padding:10px 16px 4px}.mobile-brand img{display:block;width:176px;height:auto}.main{padding:16px 16px 96px}.bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}.bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;font-size:11px;color:var(--muted);text-decoration:none;gap:2px}.bottomnav a.active{color:var(--green);font-weight:700}.bottomnav .ico{font-size:20px;line-height:1}h1{font-size:22px}}
