.vignettes-panel{margin:0 0 22px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px}
.vignettes-panel.has-alert{border-color:#f0c36b}
.vignette-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.vignette-title-row h2{margin:0 0 5px!important}
.vignette-title-row p{margin:0;color:#6b7280}
.vignette-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.vignette-counter{font-size:12px;font-weight:800;color:#6b7280;background:#f3f4f6;border-radius:999px;padding:7px 10px}
.vignettes-panel.has-alert .vignette-counter{background:#fff1c2;color:#854d0e}
.vignette-table{overflow:hidden;border:1px solid #e5e7eb;border-radius:12px}
.vignette-row{display:grid;grid-template-columns:170px 150px minmax(190px,1fr) 120px;gap:14px;align-items:center;padding:13px 14px;border-top:1px solid #e5e7eb}
.vignette-row.head{border-top:0;background:#f9fafb;color:#4b5563;font-size:12px;font-weight:800}
.vignette-row>span:first-child{display:flex;align-items:baseline;gap:9px}
.vignette-row>span:first-child strong{font-size:15px}
.vignette-row>span:first-child small{color:#6b7280}
.vignette-row.warning{background:#fffdf2}
.vignette-row.overdue{background:#fff7f7}
.vignette-date{font-weight:800}
.vignette-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.03em}
.vignette-status.ok{background:#ecfdf3;color:#166534}
.vignette-status.warning{background:#fef3c7;color:#92400e}
.vignette-status.overdue{background:#fee2e2;color:#991b1b}
.vignette-status.unknown{background:#f3f4f6;color:#6b7280}
.vignette-actions{text-align:right;white-space:nowrap}
.vignette-empty,.vignette-loading,.vignette-error{padding:24px;border:1px dashed #d1d5db;border-radius:12px;text-align:center;color:#6b7280}
.vignette-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.vignette-dialog-vehicle{margin:-8px 0 14px;color:#6b7280;font-weight:800}
.vignette-save:disabled{opacity:.55;cursor:wait!important}
@media(max-width:800px){.vignette-title-row{flex-direction:column}.vignette-head-actions{justify-content:flex-start}.vignette-row,.vignette-row.head{grid-template-columns:1fr}.vignette-row.head{display:none}.vignette-actions{text-align:left}}
