.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f4f0;padding:20px}.login-card{background:#fff;border-radius:4px;box-shadow:0 2px 12px #0000001f;padding:0;width:100%;max-width:400px;overflow:hidden;border:1px solid #e0ddd7}.login-card-header{background:#e83929;padding:20px 32px;display:flex;align-items:center;gap:12px}.login-logo-icon{width:40px;height:40px;background:#fff3;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:22px}.login-logo-text{color:#fff;font-size:20px;font-weight:700;letter-spacing:-.5px}.login-logo-sub{display:block;color:#ffffffbf;font-size:11px;line-height:1;margin-top:2px}.login-card-body{padding:28px 32px 32px}.login-card-body h2{font-size:16px;font-weight:700;color:#333;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e0ddd7}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:#333;font-size:13px;font-weight:600}.form-group input{width:100%;padding:9px 12px;border:1px solid #d0cdc8;border-radius:3px;font-size:14px;color:#333;background:#fafaf8;transition:border-color .15s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#e83929;background:#fff}.login-card-body button[type=submit],.login-card-body button:not(.toggle-button){width:100%;padding:11px;background:#e83929;color:#fff;border:none;border-radius:3px;font-size:14px;font-weight:700;cursor:pointer;margin-top:6px;transition:background .2s}.login-card-body button[type=submit]:hover:not(:disabled),.login-card-body button:not(.toggle-button):hover:not(:disabled){background:#c0311f}.login-card-body button:disabled{opacity:.6;cursor:not-allowed}.toggle-button{background:transparent!important;color:#e83929!important;text-decoration:underline;margin-top:14px!important;padding:6px!important;font-size:13px!important;font-weight:400!important;border:none!important}.toggle-button:hover{color:#c0311f!important}.error-message{background:#fff0ef;color:#e83929;padding:10px 14px;border-radius:3px;margin-bottom:16px;border-left:4px solid #e83929;font-size:13px}.error-message.success{background:#f0fff4;color:#2d7a4a;border-left-color:#2d7a4a}small{display:block;text-align:center;color:#999;margin-top:10px;font-size:12px}:root{--cs-red: #e83929;--cs-orange: #f47920;--cs-bg: #f5f4f0;--cs-white: #ffffff;--cs-border: #e0ddd7;--cs-text: #333333;--cs-text-light: #666666;--cs-text-muted: #999999;--cs-shadow-hover: 0 4px 16px rgba(0,0,0,.14)}.home-container{min-height:100vh;background:var(--cs-bg)}.header{background:var(--cs-white);border-bottom:3px solid var(--cs-red);position:sticky;top:0;z-index:100;box-shadow:0 2px 6px #00000014}.header-content{max-width:1280px;margin:0 auto;padding:0 16px;height:56px;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:10px}.header-logo-icon{width:36px;height:36px;background:var(--cs-red);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:20px}.header-logo-text{font-size:18px;font-weight:700;color:var(--cs-red);letter-spacing:-.5px}.header-logo-sub{font-size:10px;color:var(--cs-text-muted);display:block;line-height:1}.user-section{display:flex;align-items:center;gap:12px}.user-name{font-size:13px;color:var(--cs-text-light)}.logout-btn{background:var(--cs-white);color:var(--cs-red);border:1.5px solid var(--cs-red);padding:6px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s,color .2s}.logout-btn:hover{background:var(--cs-red);color:#fff}.search-bar{background:var(--cs-red);padding:10px 0}.search-bar-inner{max-width:1280px;margin:0 auto;padding:0 16px;display:flex;gap:0}.search-bar-inner input{flex:1;padding:9px 14px;border:none;border-radius:4px 0 0 4px;font-size:14px;outline:none}.search-bar-btn{background:#c0311f;color:#fff;border:none;padding:9px 20px;border-radius:0 4px 4px 0;font-size:14px;font-weight:700;cursor:pointer}.search-bar-btn:hover{background:#a02818}.page-layout{max-width:1280px;margin:0 auto;padding:20px 16px;display:flex;gap:20px;align-items:flex-start}.sidebar{width:230px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.sidebar-section{background:var(--cs-white);border:1px solid var(--cs-border);border-radius:4px;overflow:hidden}.sidebar-title{background:#f0ede7;border-bottom:1px solid var(--cs-border);padding:10px 12px;font-size:13px;font-weight:700;color:var(--cs-text);display:flex;align-items:center;gap:6px}.sidebar-title:before{content:"";display:inline-block;width:3px;height:13px;background:var(--cs-red);border-radius:2px;flex-shrink:0}.sidebar-fields{padding:12px;display:flex;flex-direction:column;gap:10px}.sidebar-field label{display:block;font-size:11px;font-weight:600;color:var(--cs-text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.sidebar-field input{width:100%;padding:7px 10px;border:1px solid #d0cdc8;border-radius:3px;font-size:13px;color:var(--cs-text);background:#fafaf8;transition:border-color .15s}.sidebar-field input:focus{outline:none;border-color:var(--cs-red);background:#fff}.sidebar-range{display:flex;align-items:center;gap:6px}.sidebar-range input{flex:1;min-width:0}.sidebar-range span{font-size:12px;color:var(--cs-text-muted);flex-shrink:0}.btn-reset{width:100%;padding:9px;background:#f0ede7;color:var(--cs-text);border:1px solid var(--cs-border);border-radius:3px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-reset:hover{background:#e5e2dc}.main-list{flex:1;min-width:0}.results-header{display:flex;align-items:baseline;gap:6px;margin-bottom:14px}.results-count{font-size:14px;color:var(--cs-text-light)}.results-count strong{font-size:22px;font-weight:700;color:var(--cs-red);margin-right:2px}.cars-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.car-card{background:var(--cs-white);border:1px solid var(--cs-border);border-radius:3px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s}.car-card:hover{box-shadow:var(--cs-shadow-hover)}.car-image{width:100%;aspect-ratio:4/3;background:#ece9e3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-bottom:1px solid var(--cs-border);overflow:hidden}.car-image img{width:100%;height:100%;object-fit:cover}.car-image-icon{font-size:48px;opacity:.25}.car-image-label{font-size:11px;color:var(--cs-text-muted)}.car-body{padding:10px 10px 12px;display:flex;flex-direction:column;gap:5px;flex:1}.car-brand{font-size:11px;color:var(--cs-text-muted)}.car-name{font-size:13px;font-weight:400;color:#1a5fa8;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.car-name:hover{text-decoration:underline}.car-specs{display:flex;flex-direction:column;gap:2px;font-size:11px;margin-top:2px}.spec-row{display:flex;gap:4px}.spec-label{color:var(--cs-text-muted);white-space:nowrap;flex-shrink:0}.spec-value{color:var(--cs-text);font-weight:500}.car-price-block{margin-top:auto;padding-top:8px;border-top:1px solid var(--cs-border)}.price-row{display:flex;align-items:baseline;gap:4px}.price-label{font-size:10px;color:var(--cs-text-muted);white-space:nowrap}.price-total{font-size:18px;font-weight:700;color:var(--cs-red);line-height:1}.price-unit{font-size:11px;color:var(--cs-text-muted)}.view-btn{display:block;margin-top:8px;padding:7px 0;background:var(--cs-orange);color:#fff;text-decoration:none;border-radius:3px;font-size:12px;font-weight:700;text-align:center;transition:background .2s}.view-btn:hover{background:#d96b1a}.car-source-tag{display:inline-block;font-size:10px;color:var(--cs-text-muted);background:#f0ede7;border:1px solid var(--cs-border);border-radius:2px;padding:1px 6px}.loading{text-align:center;padding:60px 20px;font-size:15px;color:var(--cs-text-muted)}.no-cars{text-align:center;padding:60px 20px;font-size:15px;color:var(--cs-text-muted);background:var(--cs-white);border:1px solid var(--cs-border);border-radius:4px}.error-message{background:#fff0ef;color:var(--cs-red);padding:12px 16px;border-radius:4px;margin-bottom:12px;border-left:4px solid var(--cs-red);font-size:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:24px 0}.pagination button{min-width:38px;height:34px;padding:0 12px;border:1px solid var(--cs-border);background:var(--cs-white);color:var(--cs-text);border-radius:3px;cursor:pointer;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.pagination button:hover:not(:disabled){background:var(--cs-red);border-color:var(--cs-red);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}.page-info{font-size:13px;color:var(--cs-text-light);padding:0 10px;white-space:nowrap}@media (max-width: 1100px){.cars-list{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.page-layout{flex-direction:column;gap:12px}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;gap:8px}.sidebar-section{flex:1;min-width:200px}.cars-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.header-content{height:48px;padding:0 12px}.header-logo-text{font-size:16px}.user-name{display:none}.page-layout{padding:12px;gap:10px}.sidebar{flex-direction:column;gap:0}.sidebar-section{min-width:unset;width:100%;border-radius:0;border-bottom:none}.sidebar-section:first-child{border-radius:4px 4px 0 0}.sidebar-section:last-of-type{border-bottom:1px solid var(--cs-border);border-radius:0 0 4px 4px}.sidebar-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.sidebar-field:only-child{grid-column:1 / -1}.btn-reset{margin-top:8px}.cars-list{grid-template-columns:repeat(2,1fr);gap:8px}.car-body{padding:8px}.price-total{font-size:15px}.pagination button{min-width:32px;height:30px;padding:0 8px;font-size:12px}.page-info{font-size:11px;padding:0 4px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f4f0;color:#333;min-height:100vh}#root{min-height:100vh}
