:root{font-family:system-ui,sans-serif;color:#16202a;background:#f4f7f9;line-height:1.5}
*{box-sizing:border-box}
body{margin:0}
header{background:#123b54;color:white;padding:.9rem max(1rem,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font-size:1.35rem;font-weight:800;color:white;text-decoration:none}
nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
nav a,nav button{color:white;background:none;border:0;text-decoration:none;padding:0;font:inherit}
nav .admin-link{background:#087e8b;padding:.4rem .7rem;border-radius:6px;font-weight:700}
nav form{margin:0}
main{max-width:1100px;margin:2rem auto;padding:0 1rem}
h1{margin-top:0}
.cards,.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1rem 0}
.cards article,.grid article,article,details,.auth{background:white;padding:1.2rem;border-radius:10px;box-shadow:0 2px 10px #1232}
.cards strong{display:block;font-size:2.2rem;color:#087e8b}
.admin-options article{display:flex;flex-direction:column;align-items:flex-start}
.admin-options article p{flex:1}
form{display:grid;gap:1rem;margin:1rem 0}
.form-grid,.filters{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end}
.wide{grid-column:1/-1}
label{display:grid;gap:.35rem;font-weight:600}
input,select,textarea,button,.button{font:inherit;padding:.7rem;border:1px solid #b6c3ca;border-radius:6px}
textarea{min-height:110px}
button,.button{background:#087e8b;color:white;border:0;font-weight:700;cursor:pointer;text-decoration:none;text-align:center}
.danger{background:#a4161a}.item-actions{display:flex;align-items:flex-start;gap:.6rem;flex-wrap:wrap}.item-actions details{box-shadow:none;padding:.65rem;margin:0;border:1px solid #d7e0e5}.item-actions details form{min-width:220px}
.secondary{background:#526875}
.table{overflow:auto;background:white;border-radius:10px}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:.8rem;border-bottom:1px solid #e3e8eb}
.status{background:#dceff1;padding:.2rem .5rem;border-radius:999px}
.flash{background:#d8f3dc;padding:.8rem;border-radius:6px;margin-bottom:1rem}
.error{color:#a4161a}
.auth{max-width:420px;margin:8vh auto}
summary{font-weight:700;cursor:pointer}
.title-actions,.report-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.title-actions h1{margin:0}
.maintenance-form{background:white;padding:1.2rem;border-radius:10px}
.check-option{display:flex;align-items:center;grid-template-columns:auto 1fr;margin:.6rem 0}
.check-option input{width:1.25rem;height:1.25rem}
.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.signature-pad{display:block;width:100%;height:150px;background:#fff;border:2px dashed #8ca0aa;border-radius:6px;touch-action:none;margin:.4rem 0}
.signature-status{margin:1.5rem 0}.signature-status .signature-grid>div{display:grid;gap:.65rem;padding:1rem;border:1px solid #d7e0e5;border-radius:8px}
.signature-state{font-weight:700}.signature-state.signed{color:#087e3d}.signature-state.pending{color:#9b4d00}
.signature-screen{min-height:calc(100dvh - 9rem);display:flex;flex-direction:column}.signature-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.signature-heading h1{margin:.15rem 0}.signature-heading small{color:#526875}
.signature-form{flex:1;min-height:0;margin:0;display:flex;flex-direction:column}.signature-canvas-wrap{position:relative;flex:1;min-height:50vh;display:flex;flex-direction:column}.signature-pad-full{flex:1;height:auto;min-height:45vh;margin:.4rem 0 0}.signature-hint{position:absolute;left:1rem;bottom:.5rem;margin:0;color:#526875;pointer-events:none}.signature-actions{display:grid;grid-template-columns:1fr 2fr;gap:1rem;margin-top:.75rem}.signature-existing{margin:.25rem 0;color:#526875;text-align:center}
.service-report{background:#fff;max-width:900px;margin:auto;padding:2rem;box-shadow:0 2px 10px #1232}
.report-header{display:flex;align-items:center;gap:2rem;background:#123b54;color:#fff;padding:1.2rem}
.report-header>strong{font-size:1.4rem;max-width:220px}
.report-header h1{font-size:1.35rem;margin:0}
.report-header p{margin:.25rem 0 0}
.service-report>h2{background:#dceff8;border-left:6px solid #123b54;font-size:1.15rem;padding:.55rem;margin:1.5rem 0 1rem}
.service-report>h3{font-size:1rem;margin-left:2rem;text-transform:uppercase}
.report-data p{margin:.35rem 0}
.report-checklist{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.5rem;margin-left:2rem}
.check-box{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border:2px solid #123b54;margin-right:.55rem;color:#078545;font-size:1.3rem;font-weight:900}
.technical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.signatures{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;text-align:center}
.signatures>div{display:flex;min-height:130px;flex-direction:column;justify-content:flex-end}
.signatures img{max-height:90px;max-width:100%;object-fit:contain}
.signatures span{border-top:1px solid #16202a;padding-top:.4rem}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.photo-grid figure{margin:0;text-align:center}
.photo-grid img{display:block;width:100%;max-height:420px;object-fit:contain;background:#edf2f4;border-radius:8px}
.photo-grid figcaption{font-weight:700;padding:.4rem}
@media(max-width:700px){
 header{align-items:flex-start;flex-direction:column}
 nav{gap:.7rem;font-size:.9rem}
 main{margin:1rem auto}
 .cards{grid-template-columns:repeat(3,1fr)}
 .cards article{padding:.7rem;font-size:.8rem}
 .cards strong{font-size:1.7rem}
 .signature-grid,.report-checklist,.technical-grid,.photo-grid{grid-template-columns:1fr}
 .signature-screen{min-height:calc(100dvh - 8rem)}.signature-heading{align-items:stretch;flex-direction:column}.signature-heading .button{width:100%}.signature-canvas-wrap{min-height:55vh}.signature-pad-full{min-height:50vh}
 .title-actions{align-items:stretch;flex-direction:column}
 .title-actions .button{width:100%}
 .service-report{padding:.75rem}
 .report-header{align-items:flex-start;flex-direction:column;gap:.5rem}
 .service-report>h3,.report-checklist{margin-left:0}
 .signatures{gap:1rem}
 .report-actions{position:sticky;top:0;z-index:2;background:#f4f7f9;padding:.5rem 0}
}
@media print{
 body{background:#fff}
 header,.report-actions{display:none!important}
 main{max-width:none;margin:0;padding:0}
 .service-report{box-shadow:none;max-width:none;padding:0}
 .service-report>h2,.report-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .report-photos{break-inside:avoid}
 .signatures{break-inside:avoid}
}
