:root{--bg:#f4f5f7;--surface:#fff;--border:#dde1e6;--text:#1c2330;--muted:#6b7482;--accent:#1f4fbf;--accent-bg:#e8eefb;--topbar-h:56px;--sidebar-w:220px;--rail-w:64px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}h1{margin:0 0 1.25rem;font-size:1.4rem}.muted{color:var(--muted);margin:0}.error{color:#b3261e}.layout{grid-template-rows:var(--topbar-h) 1fr;grid-template-columns:var(--sidebar-w) 1fr;grid-template-areas:"top top""side main";min-height:100vh;display:grid}.layout[data-sidebar=closed]{grid-template-columns:var(--rail-w) 1fr}.layout[data-sidebar=closed] .nav-label{display:none}.layout[data-sidebar=closed] .nav-item{justify-content:center;padding-inline:0}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:1;grid-area:top;align-items:center;gap:1rem;padding:0 1rem;display:flex;position:sticky;top:0}.brand{letter-spacing:.05em;font-weight:700}.account{align-items:center;gap:.75rem;margin-left:auto;font-size:.9rem;display:flex}.account .button{padding:.3rem .8rem}.login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login .panel{text-align:center;width:100%;max-width:360px;padding:2rem 1.5rem}.login .button{text-decoration:none;display:inline-block}.hamburger{cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;display:flex}.hamburger:hover{background:var(--bg)}.hamburger span{background:var(--text);border-radius:1px;height:2px;display:block}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;grid-area:side;gap:2px;padding:.75rem .5rem;display:flex;overflow:hidden}.nav-item{color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .75rem;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg)}.nav-item.separated{margin-top:.5rem;position:relative}.nav-item.separated:before{content:"";border-top:1px solid var(--border);position:absolute;top:-.3rem;left:.5rem;right:.5rem}.nav-icon{flex:none;place-items:center;width:32px;height:24px;display:grid}.nav-item.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.content{grid-area:main;min-width:0;padding:1.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.5rem;min-height:120px;padding:1rem;display:flex}.card-head{align-items:center;gap:.75rem;display:flex}.card-icon{border:1px solid var(--border);color:var(--accent);border-radius:6px;place-items:center;padding:6px;display:grid}.targa{letter-spacing:.08em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.05rem;font-weight:600}a.card{color:inherit;height:100%;text-decoration:none}a.card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000f}.page-head{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.page-head h1{margin:0}.add-button{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.6rem;line-height:1;text-decoration:none;display:grid;box-shadow:0 2px 6px #1f4fbf59}.add-button:hover{filter:brightness(1.1)}button.add-button{cursor:pointer;border:0;font-family:inherit}.add-button.small{width:30px;height:30px;font-size:1.25rem}.section-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.section-head h2{margin:0}.subtitle{margin:-.75rem 0 1.25rem}.breadcrumb{color:var(--muted);margin-bottom:.75rem;font-size:.9rem}.breadcrumb a{color:var(--accent);text-decoration:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:960px;margin-bottom:1rem;padding:1.25rem}.panel h2{margin:0 0 .75rem;font-size:1rem}.count{background:var(--bg);min-width:1.5em;color:var(--muted);text-align:center;border-radius:999px;padding:0 .4em;font-size:.8rem;display:inline-block}.detail-head{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.detail-head h1{margin:0;font-size:1.6rem}.fields{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1.5rem;margin:0;display:grid}.fields dt{color:var(--muted);font-size:.8rem}.fields dd{white-space:pre-wrap;margin:.15rem 0 0}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .5rem}th{color:var(--muted);font-size:.8rem;font-weight:600}.form{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem 1.25rem;max-width:720px;display:grid}.form .full{grid-column:1/-1}.form.compact{border:1px dashed var(--accent);background:#fafbfe;border-radius:8px;max-width:none;margin-bottom:1rem;padding:1rem}.form label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.form input,.form textarea,.form select{font:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:.5rem .6rem}.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--accent-bg);border-color:var(--accent)}.form [aria-invalid=true]{border-color:#b3261e}.targa-input{text-transform:uppercase;letter-spacing:.08em;font-family:ui-monospace,SF Mono,Menlo,monospace}.actions{justify-content:flex-end;gap:.5rem;display:flex}.error.full{margin:0}.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:.5rem 1.1rem;text-decoration:none}.button:disabled{opacity:.6;cursor:default}.button.secondary{background:var(--surface);color:var(--accent)}.panel.wide{max-width:none}.table-wrap{overflow-x:auto}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--bg)}td a,.fields a{color:var(--accent);text-decoration:none}td a:hover,.fields a:hover{text-decoration:underline}.targa.small{font-size:.85rem}.card-icon.big{width:64px;height:64px}.card-icon.big svg{width:36px;height:36px}.tappe{margin:0;padding-left:1.25rem}.badge{border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge.incidente{color:#b3261e;background:#fdecea}.badge.multa{color:#9a5b00;background:#fff4e0}.segmented{border:1px solid var(--border);border-radius:8px;justify-self:start;width:fit-content;display:inline-flex;overflow:hidden}.segmented button{font:inherit;background:var(--surface);color:var(--muted);cursor:pointer;border:0;padding:.4rem 1rem}.segmented button+button{border-left:1px solid var(--border)}.segmented button[aria-checked=true]{background:var(--accent);color:#fff}.targhe{flex-wrap:wrap;gap:.25rem .6rem;display:flex}.checklist{border:0;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;display:flex}.checklist legend{color:var(--muted);margin-bottom:.4rem;padding:0;font-size:.85rem}.checklist .group{width:100%;color:var(--muted);margin-top:.25rem;font-size:.75rem}.form .checklist label.chip{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;flex-direction:row;align-items:center;gap:.4rem;padding:.3rem .6rem}.form .checklist label.chip:has(input:checked){border-color:var(--accent);background:var(--accent-bg)}.form .checklist label.chip:has(input:disabled){cursor:default}.head-actions{align-self:flex-start;gap:.5rem;margin-left:auto;display:flex}.detail-head p{margin:0}.button.danger{background:var(--surface);color:#b3261e;border-color:#d9443a}.button.danger:hover:not(:disabled){background:#fdecea}.icon-button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.icon-button.danger:hover:not(:disabled){color:#b3261e;background:#fdecea}td.row-actions{text-align:right;width:1%;padding-block:0}.card .nome{font-size:1.05rem;font-weight:600}.cqc.scaduta{color:#b3261e;margin:0;font-weight:600}.cqc.in-scadenza{color:#9a5b00;margin:0;font-weight:600}.card-icon.incidente,.card-icon.multa{color:#b3261e}.veicoli-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.veicoli-list a{color:var(--accent);text-decoration:none}
