.gm-overlay{z-index:260;padding:24px;background:rgba(6,12,25,.86)}
.gm-modal{width:100%;max-width:1040px;max-height:92dvh;padding:0;background:var(--bg);border-radius:18px;overscroll-behavior:contain;color:var(--fg)}
.gm-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 26px;background:var(--card);border-bottom:1px solid var(--border)}
.gm-head h2{font-size:21px;line-height:1.35;margin:4px 0}
.gm-eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.gm-body{padding:24px 26px}
.gm-sub,.gm-note{color:var(--dim);font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.gm-note{padding:13px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);background:rgba(126,200,227,.05);border-radius:8px;margin:12px 0;color:var(--fg)}
.gm-warning{border-left-color:var(--amber);background:rgba(245,166,35,.05)}
.gm-identity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 24px}
.gm-identity dt,.gm-fields dt{color:var(--dim);font-size:11px;margin-bottom:5px}
.gm-identity dd,.gm-fields dd{font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}
.gm-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.gm-total{padding:18px;background:var(--card);border:1px solid var(--border);border-radius:12px}
.gm-total span{display:block;font-size:12px;color:var(--dim);line-height:1.6}
.gm-total strong{display:block;font-size:24px;font-variant-numeric:tabular-nums;color:var(--accent);margin:4px 0}
.gm-total small{color:var(--dim);font-size:12px;line-height:1.5}
.gm-section{margin-top:30px}
.gm-section>h3{font-size:17px;margin-bottom:8px}
.gm-row{padding:16px;margin-top:10px;border:1px solid var(--border);border-radius:12px;background:var(--card);overflow-wrap:anywhere}
.gm-row h4{font-size:14px;line-height:1.6;white-space:pre-wrap;margin-bottom:8px}
.gm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.gm-empty{padding:24px;border:1px dashed var(--border);border-radius:12px;margin-top:12px}
.gm-empty strong{display:block;font-size:14px;margin-bottom:5px}
.gm-error{color:var(--red);margin:12px 0;line-height:1.6}
.gm-loading{padding:12px 0}
.gm-loading div{height:15px;background:rgba(126,200,227,.12);border-radius:6px;margin:16px 0;width:76%}
.gm-loading div:first-child{height:30px;width:46%}
.gm-loading div:last-child{width:92%;height:120px}
.gm-open{margin-top:10px;font-size:12px;padding:8px 12px;white-space:normal;text-align:left}
#fleetList>.card{flex-wrap:wrap}
#fleetList>.card>.gm-open{flex-basis:100%;width:fit-content}
.gm-modal button:focus-visible,.gm-modal summary:focus-visible,.gm-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.gm-modal .garage-dossier .section{white-space:pre-wrap}
.gm-modal .garage-card{margin-top:14px}
body.gm-locked{overflow:hidden}
@media(max-width:767px){.gm-overlay{padding:8px}.gm-modal{max-height:96dvh;border-radius:12px}.gm-head{padding:16px}.gm-head h2{font-size:18px}.gm-body{padding:16px}.gm-identity,.gm-totals,.gm-fields{grid-template-columns:1fr}.gm-head .btn{padding:8px 12px}.gm-modal .garage-meta,.gm-modal .garage-dossier{grid-template-columns:1fr}}
