:root{--bg:#f4f7f8;--border:#d9e0e5;--muted:#607080;--text:#1f2933;--heading:#111827;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}body{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--heading);line-height:1.25}h1{font-size:28px}h2{font-size:24px}h3{font-size:18px}p{margin-bottom:8px}.auth-page{box-sizing:border-box;place-items:center;min-height:100svh;padding:24px;display:grid}.auth-panel{border:1px solid var(--border);background:#fff;border-radius:8px;width:min(100%,420px);padding:28px;box-shadow:0 10px 24px #0f172a14}.auth-panel h1{margin:4px 0 10px}.auth-error{color:#6a3e00;background:#fff7e8;border:1px solid #e39d43;border-radius:8px;padding:10px 12px}.app-shell{max-width:1180px;margin:0 auto;padding:24px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 0 16px;display:flex}.topbar h1{margin:4px 0 0}.eyebrow{color:var(--muted);font-size:13px;font-weight:700}.stepper{gap:8px;padding:16px 0;display:flex;overflow-x:auto}.step{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:6px;flex:none;padding:6px 10px;font-size:13px}.step.active{color:#0f3f46;background:#dff4f2;border-color:#95d4ce}.panel{border:1px solid var(--border);background:#fff;border-radius:8px;padding:24px;box-shadow:0 10px 24px #0f172a0f}.intro{gap:24px;display:grid}.intro-grid,.summary-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.summary-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.intro-grid>div,.summary-box,.notice,.attachment-box{border:1px solid var(--border);background:#fbfcfd;border-radius:8px;padding:16px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.filters,.actions,.print-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions{margin-top:22px}.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.vehicle-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:160px 1fr;align-items:start;gap:16px;padding:14px;display:grid}.vehicle-card img{aspect-ratio:4/3;object-fit:cover;background:#e9eef3;border-radius:6px;width:100%}.vehicle-card button{grid-column:1/-1}.detail-layout{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:24px;display:grid}.detail-image{aspect-ratio:4/3;object-fit:cover;background:#e9eef3;border-radius:8px;width:100%}.definition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.definition-grid div,.print-section dl div{border-bottom:1px solid var(--border);grid-template-columns:130px minmax(0,1fr);gap:8px;padding:8px 0;display:grid}dt{color:var(--muted);font-weight:700}dd{margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{gap:7px;margin-bottom:14px;display:grid}.field span{color:var(--text);font-weight:700}.field b{color:#6a3e00;background:#fdecc8;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:12px;display:inline-block}input,select,textarea,button{font:inherit}input,select,textarea{box-sizing:border-box;width:100%;color:var(--text);background:#fff;border:1px solid #c7ced6;border-radius:6px;padding:10px 12px}textarea{resize:vertical}button{cursor:pointer;border:1px solid #0000;border-radius:6px;min-height:42px;padding:9px 15px;font-weight:700}button:disabled{cursor:not-allowed;opacity:.5}.primary-button{color:#fff;background:#126b63}.primary-button:hover:not(:disabled){background:#0d514b}.secondary-button,.vehicle-card button{color:#2b4758;background:#fff;border-color:#b9c4ce}.large{min-height:52px;padding-inline:24px;font-size:18px}.check-row{align-items:center;gap:8px;display:inline-flex}.check-row input{width:auto}.checkbox-field{align-content:start}.option-list{gap:10px;margin-top:12px;display:grid}.status{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-空き{color:#0f3f46;background:#dff4f2}.status-仮押さえ{color:#6a3e00;background:#fdecc8}.status-利用中{color:#394150;background:#e5e7eb}.status-非表示{color:#7f1d2d;background:#f1d8db}.price,.total-price,.complete-id{color:#0f3f46;font-weight:800}.total-price{margin:8px 0;font-size:32px}.note{color:var(--muted)}.warning,.messages{color:#6a3e00;background:#fff7e8;border:1px solid #e39d43;border-radius:8px;padding:12px 14px}.messages{margin-bottom:16px}.consent{margin-top:16px;font-weight:700}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px}th{color:#263746;background:#eef4f7}.print-actions{justify-content:flex-end;margin-bottom:16px}.print-page{color:#111827;background:#fff;border:1px solid #9aa4ae;width:min(100%,820px);min-height:1050px;margin:0 auto;padding:34px}.print-page header{border-bottom:2px solid #111827;justify-content:space-between;gap:16px;padding-bottom:12px;display:flex}.print-page header h2{margin:0}.print-section{margin-top:22px}.print-section h3{border-left:5px solid #126b63;padding-left:10px}.print-note{border:1px solid #9aa4ae;margin-top:24px;padding:12px}.signature-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;display:grid}.signature-row span{border-bottom:1px solid #111827;min-height:48px}@media (width<=820px){.app-shell{padding:14px}.topbar,.section-heading{display:grid}.intro-grid,.summary-layout,.vehicle-grid,.detail-layout,.form-grid,.vehicle-card,.definition-grid{grid-template-columns:1fr}.panel{padding:16px}}@media print{body{background:#fff}.topbar,.stepper,.messages,.print-actions{display:none}.app-shell,.panel{max-width:none;box-shadow:none;border:0;margin:0;padding:0}.print-page{border:0;width:auto;min-height:auto;padding:0}}
