:root{--ink:#24303a;--muted:#65737e;--brand:#d8545d;--brand-dark:#a63740;--paper:#fff;--wash:#f5f7f7;--line:#dce1e3;--green:#178451;--amber:#b87500;--red:#b52e38;font-family:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:7px;background:var(--brand);color:#fff;padding:10px 14px;font-weight:bold}button:hover{background:var(--brand-dark)}button.link{background:none;color:var(--brand);padding:2px}.login{min-height:100vh;display:grid;place-content:center;text-align:center;padding:24px;background:linear-gradient(135deg,#fff 0,#f7e9e9 100%)}.login img,header img{max-width:250px;height:auto}.login h1{margin:28px 0 4px}.login p{color:var(--brand);letter-spacing:1px;font-weight:bold}.login form{display:grid;gap:13px;text-align:left;width:min(100%,370px);margin:28px auto}.login label,.form label{display:grid;gap:5px;font-size:.9rem;font-weight:bold}.login small{color:var(--muted);font-family:system-ui,sans-serif}input,select,textarea{border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;width:100%}textarea{min-height:90px;resize:vertical}header{height:82px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px max(4vw,18px);border-bottom:3px solid var(--brand)}header img{max-height:57px;width:auto}header div{text-align:right;font-family:system-ui,sans-serif;font-size:.85rem}nav{display:flex;gap:6px;overflow:auto;padding:12px max(4vw,18px);background:#fff;border-bottom:1px solid var(--line)}nav button{background:transparent;color:var(--ink);white-space:nowrap}nav button:hover,nav button.active{background:#fbe8e9;color:var(--brand-dark)}#view{max-width:1120px;margin:26px auto;padding:0 18px}.heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px}.heading h1{margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;box-shadow:0 2px 8px #182b3310}.metric{font-size:2rem;color:var(--brand);font-weight:bold}.metric-label{color:var(--muted);font-family:system-ui,sans-serif;font-size:.85rem}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-family:system-ui,sans-serif;font-size:.88rem}.table td,.table th{padding:12px 9px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{color:var(--muted);font-size:.72rem;text-transform:uppercase}.status{font:700 .72rem system-ui,sans-serif;padding:5px 8px;border-radius:20px;background:#e8edf0;text-transform:uppercase}.status.em_execucao{background:#fff0d5;color:var(--amber)}.status.concluida{background:#dff4e9;color:var(--green)}.status.cancelada{background:#f9e0e2;color:var(--red)}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form .wide{grid-column:1/-1}.actions{display:flex;gap:8px;flex-wrap:wrap}.secondary{background:#e9edef;color:var(--ink)}.danger{background:var(--red)}.map{color:#0b65c2;font-family:system-ui,sans-serif;font-weight:bold}.details{display:grid;gap:18px}.details h2{margin:0;border-bottom:1px solid var(--line);padding-bottom:8px}.data{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;font-family:system-ui,sans-serif}.data div{padding:8px;background:#f7f9fa;border-radius:6px}.label{display:block;font-size:.68rem;color:var(--muted);font-weight:bold;text-transform:uppercase;margin-bottom:3px}.photos{display:flex;gap:8px;flex-wrap:wrap}.photos img{width:120px;height:90px;object-fit:cover;border-radius:7px}.signature{max-width:280px;border-bottom:1px solid #999}.modal{position:fixed;inset:0;background:#1b252a88;display:grid;place-items:center;padding:18px;z-index:10}.modal .panel{max-height:90vh;overflow:auto;width:min(700px,100%)}#toast{position:fixed;right:18px;bottom:18px;background:#24303a;color:#fff;padding:12px 16px;border-radius:7px;opacity:0;transform:translateY(10px);transition:.2s;font-family:system-ui,sans-serif}#toast.show{opacity:1;transform:none}@media(max-width:620px){.form{grid-template-columns:1fr}header{height:72px}header img{max-width:180px}.table td:nth-child(3),.table th:nth-child(3){display:none}.heading{align-items:flex-start;flex-direction:column}}
