:root{--color-red: #e10600;--color-black: #0a0a0a;--color-white: #ffffff;--color-gray-50: #f7f7f7;--color-gray-100: #ededed;--color-gray-300: #cfcfcf;--color-gray-500: #8a8a8a;--color-gray-700: #3d3d3d;--color-green: #1a7a3c;--color-green-bg: #e6f4ec;--color-sold-bg: #f0f0f0;--font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 8px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-base);font-size:14px;background:var(--color-gray-50);color:var(--color-black);line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--color-white);border-bottom:2px solid var(--color-red);padding:var(--space-4) var(--space-6);display:flex;align-items:center;gap:var(--space-4)}.app-header__logo{font-weight:800;font-size:16px;color:var(--color-red);letter-spacing:.04em;flex-shrink:0}.app-header__title{font-size:16px;font-weight:600;color:var(--color-gray-700);flex:1}.app-main{flex:1;padding:var(--space-6);max-width:1280px;width:100%;margin:0 auto}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px var(--space-4);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:opacity .15s,background .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--color-red);color:var(--color-white);border-color:var(--color-red)}.btn--primary:hover:not(:disabled){opacity:.88}.btn--secondary{background:var(--color-white);color:var(--color-gray-700);border-color:var(--color-gray-300)}.btn--secondary:hover:not(:disabled){background:var(--color-gray-50)}.btn--ghost{background:transparent;color:var(--color-gray-700);border-color:var(--color-gray-300);padding:5px 10px;font-size:12px}.btn--ghost:hover:not(:disabled){background:var(--color-gray-100)}.btn--danger-ghost{background:transparent;color:#c0392b;border-color:#f5c6c4;padding:5px 10px;font-size:12px}.btn--danger-ghost:hover:not(:disabled){background:#fdf2f2}.state-msg{color:var(--color-gray-500);padding:var(--space-8) 0;text-align:center}.state-error{text-align:center;padding:var(--space-8) 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);color:#c0392b}.vehicle-table{width:100%;border-collapse:collapse;background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.vehicle-table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500);background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100)}.vehicle-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700)}.vehicle-table tr:last-child td{border-bottom:none}.vehicle-table tr:hover td{background:var(--color-gray-50)}.vehicle-name{font-weight:600;color:var(--color-black)}.vehicle-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.02em}.badge--disponivel{background:var(--color-green-bg);color:var(--color-green)}.badge--vendido{background:var(--color-sold-bg);color:var(--color-gray-500)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.modal{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-md);width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-gray-100)}.modal__header h2{font-size:16px;font-weight:600}.modal__close{background:none;border:none;font-size:16px;cursor:pointer;color:var(--color-gray-500);padding:var(--space-1);line-height:1}.modal__close:hover{color:var(--color-black)}.vehicle-form{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-row--3{grid-template-columns:1fr 1fr 1fr}.form-group--full{grid-column:1 / -1}.vehicle-form textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-family:var(--font-base);font-size:14px;color:var(--color-black);line-height:1.5;resize:vertical;transition:border-color .15s}.vehicle-form textarea:focus{outline:none;border-color:var(--color-red)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-size:12px;font-weight:600;color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.03em}.form-group input,.form-group select{padding:8px var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-base);color:var(--color-black);background:var(--color-white);transition:border-color .15s;width:100%}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-red)}.form-error{color:#c0392b;font-size:13px;background:#fdf2f2;border:1px solid #f5c6c4;border-radius:var(--radius-sm);padding:var(--space-3)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-gray-100)}.col-thumb{width:52px;padding-right:0!important}.vehicle-thumb{width:44px;height:44px;object-fit:cover;border-radius:var(--radius-sm);display:block;background:var(--color-gray-100)}.vehicle-thumb--empty{background:var(--color-gray-100);border:1px dashed var(--color-gray-300);position:relative}.vehicle-thumb--empty:after{content:"";display:block;width:14px;height:14px;border:2px solid var(--color-gray-300);border-radius:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.photo-section{border-top:1px solid var(--color-gray-100);padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.photo-section__header{display:flex;align-items:center;gap:var(--space-2)}.photo-section__title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-700)}.photo-section__count{font-size:11px;color:var(--color-gray-500);background:var(--color-gray-100);padding:1px 7px;border-radius:10px}.photo-hint{font-size:13px;color:var(--color-gray-500);background:var(--color-gray-50);border:1px dashed var(--color-gray-300);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);text-align:center}.photo-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.photo-item{position:relative;flex-shrink:0}.photo-item__img{width:68px;height:68px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-gray-100);display:block}.photo-item__remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#c0392b;color:#fff;border:none;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;opacity:0;transition:opacity .15s}.photo-item:hover .photo-item__remove,.photo-item__remove:focus{opacity:1}.photo-upload{display:flex;flex-direction:column;gap:var(--space-2)}.photo-upload__label{align-self:flex-start;cursor:pointer;position:relative;overflow:hidden}.photo-upload__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.photo-item--pending .photo-item__img{border:2px dashed var(--color-red);opacity:.88}.photo-item__badge{position:absolute;bottom:3px;left:3px;background:var(--color-red);color:var(--color-white);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:3px;line-height:1.4;pointer-events:none}.photo-pending-hint{font-size:12px;color:var(--color-gray-500);align-self:center}.photo-upload__label--disabled{opacity:.5;cursor:default;pointer-events:none}.vehicle-row{cursor:pointer}.vehicle-row:hover td{background:var(--color-gray-50)}.list-banner{border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:13px;margin-bottom:var(--space-4)}.list-banner--info{background:#e8f4fd;color:#1a5276;border:1px solid #aed6f1}.list-banner--warn{background:#fef9e7;color:#7d6608;border:1px solid #f9e79f}.list-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.list-search{flex:1;min-width:200px;padding:8px var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-base);color:var(--color-black);background:var(--color-white);transition:border-color .15s}.list-search:focus{outline:none;border-color:var(--color-red)}.list-search:disabled{opacity:.5}.list-filter-btns{display:flex;gap:2px;background:var(--color-gray-100);border-radius:var(--radius-sm);padding:2px}.filter-btn{padding:6px 14px;border-radius:calc(var(--radius-sm) - 2px);border:none;background:transparent;font-size:13px;font-weight:500;color:var(--color-gray-700);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.filter-btn:hover:not(:disabled){background:var(--color-gray-50)}.filter-btn--active{background:var(--color-white);color:var(--color-black);box-shadow:var(--shadow-sm)}.filter-btn:disabled{opacity:.5;cursor:default}.list-count{font-size:13px;color:var(--color-gray-500);white-space:nowrap}.list-controls__add{margin-left:auto}.state-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:64px var(--space-8);text-align:center}.state-empty__icon{width:64px;height:64px;border-radius:50%;background:var(--color-gray-100);border:2px dashed var(--color-gray-300);position:relative}.state-empty__icon:after{content:"";display:block;width:28px;height:20px;border:2px solid var(--color-gray-300);border-radius:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.state-empty__title{font-size:16px;font-weight:600;color:var(--color-gray-700)}.state-empty__sub{font-size:14px;color:var(--color-gray-500);max-width:320px}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:var(--space-6)}.vehicle-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s;border:1px solid var(--color-gray-100)}.vehicle-card:hover{box-shadow:0 6px 24px #0000001f;transform:translateY(-2px)}.card-photo{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--color-gray-100);flex-shrink:0}.card-photo__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.vehicle-card:hover .card-photo__img{transform:scale(1.04)}.card-photo__empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-gray-50)}.card-photo__empty:after{content:"";display:block;width:40px;height:30px;border:2px solid var(--color-gray-300);border-radius:4px;box-shadow:inset 0 0 0 6px var(--color-gray-100)}.card-badge{position:absolute;top:var(--space-3);left:var(--space-3);font-size:11px}.card-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.card-title-row{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.card-title{font-size:15px;font-weight:700;color:var(--color-black);line-height:1.3}.card-year{font-size:13px;font-weight:400;color:var(--color-gray-500);flex-shrink:0}.card-price{font-size:22px;font-weight:800;color:var(--color-red);letter-spacing:-.01em;line-height:1.2}.card-specs{display:flex;gap:var(--space-2);flex-wrap:wrap;font-size:12px;color:var(--color-gray-500);font-weight:400}.card-spec{white-space:nowrap}.card-actions{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-gray-100);margin-top:auto}.card-btn-ver{flex:1;justify-content:center}.detail-page{display:flex;flex-direction:column;gap:var(--space-4)}.detail-hero{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6) var(--space-8);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}.detail-hero__info{display:flex;flex-direction:column;gap:var(--space-2)}.detail-hero__title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-3)}.detail-hero__name{font-size:26px;font-weight:700;color:var(--color-gray-700);line-height:1.2}.detail-hero__year{font-size:18px;font-weight:400;color:var(--color-gray-500)}.detail-hero__price{font-size:38px;font-weight:800;color:var(--color-red);line-height:1.1;letter-spacing:-.01em}.detail-hero__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;padding-top:4px}.detail-content{display:flex;gap:var(--space-6);align-items:flex-start}.detail-gallery{flex:0 0 58%;display:flex;flex-direction:column;gap:var(--space-3)}.gallery__main-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;box-shadow:0 2px 16px #0000001a;display:block;background:var(--color-gray-100)}.gallery__main-img--empty{box-shadow:none;border:2px dashed var(--color-gray-300)}.gallery__thumbs{display:flex;gap:var(--space-2);flex-wrap:wrap}.gallery__thumb{width:72px;height:72px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:none;flex-shrink:0;transition:border-color .15s}.gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery__thumb--active{border-color:var(--color-red)}.gallery__thumb:hover:not(.gallery__thumb--active){border-color:var(--color-gray-300)}.detail-panels{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.detail-section{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4) 20px}.detail-section__title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-gray-500);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-gray-100)}.detail-section__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4)}.detail-item{display:flex;flex-direction:column;gap:3px}.detail-item__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-500)}.detail-item__value{font-size:14px;font-weight:500;color:var(--color-gray-700)}.detail-item__value--highlight{color:var(--color-green);font-weight:600}.detail-section--meta{background:transparent;box-shadow:none;padding:0 4px}.detail-section--meta .detail-section__title{display:none}.detail-item--meta .detail-item__label{font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--color-gray-300)}.detail-item--meta .detail-item__value{font-size:12px;font-weight:400;color:var(--color-gray-500)}.detail-section--description{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4) 20px}.detail-description__text{font-size:14px;color:var(--color-gray-700);line-height:1.75;white-space:pre-wrap}@media (max-width: 720px){.detail-hero{flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-6)}.detail-hero__name{font-size:22px}.detail-hero__price{font-size:30px}.detail-hero__actions{width:100%;justify-content:flex-end}.detail-content{flex-direction:column}.detail-gallery{flex:unset;width:100%}}@media (max-width: 600px){.form-row{grid-template-columns:1fr}.vehicle-table th:nth-child(n+4):nth-child(-n+5),.vehicle-table td:nth-child(n+4):nth-child(-n+5){display:none}.app-header{flex-wrap:wrap}}
