
:root{--bg:#f4f7fb;--card:#fff;--text:#071d35;--muted:#64748b;--line:#d7e1ed;--nav:#071d35;--accent:#1265ff;--ok:#10a05a;--warn:#d89b00;--bad:#c72b2b}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text)}
.top{background:linear-gradient(135deg,#071d35,#0f477a);color:white;padding:22px 32px;display:flex;justify-content:space-between;align-items:flex-end}
.top h1{margin:0;font-size:30px}.top p{margin:5px 0 0;color:#d9eaff}.version{font-size:13px;color:#d9eaff}
.userbar{background:#06182d;color:white;padding:10px 18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.userbar nav{display:flex;gap:14px;flex-wrap:wrap}.userbar a{color:white;text-decoration:none;font-weight:bold;font-size:14px}
.container{max-width:1280px;margin:20px auto;padding:0 14px}
.card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}
h1,h2{margin-top:0}.muted{color:var(--muted)}.small{font-size:12px}
button,.btn{background:var(--accent);border:0;color:white;border-radius:8px;padding:9px 13px;font-weight:bold;cursor:pointer;text-decoration:none;display:inline-block}
.btn.secondary{background:#64748b}
label{font-weight:bold;display:block;margin:8px 0 4px}
input,select,textarea{border:1px solid #c6d3e2;border-radius:7px;padding:9px;background:white;font-size:14px;width:100%}
textarea{min-height:85px}
table{border-collapse:collapse;width:100%;background:white}
th,td{border-bottom:1px solid var(--line);padding:9px;text-align:left;vertical-align:top}
th{background:#e9f1fb}
.gridform{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.wide{grid-column:1/-1}
.check{display:flex;align-items:center;gap:7px;font-weight:normal;margin-top:30px}.check input{width:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.kpi{background:white;border:1px solid var(--line);border-radius:14px;padding:16px}.kpi span{font-size:32px;font-weight:bold}.kpi p{margin:4px 0 0;color:var(--muted)}.kpi.danger span{color:var(--bad)}.kpi.warn span{color:var(--warn)}.kpi.ok span{color:var(--ok)}.kpi.money span{font-size:26px}
.search{display:flex;gap:8px;margin-bottom:12px}.search input{max-width:480px}
.vencida td{background:#fff0f0}.proxima td{background:#fff8e5}.cerrado td{background:#f0fdf4}
.machine-header{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.machine-header h1{margin:0}.machine-header p{margin:5px 0 0;color:var(--muted)}
.machine-header.vencida{border-left:8px solid var(--bad)}.machine-header.proxima{border-left:8px solid var(--warn)}.machine-header.futura{border-left:8px solid var(--ok)}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:14px}
.summary-grid div{background:white;border:1px solid var(--line);border-radius:12px;padding:12px}
.summary-grid strong{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}.summary-grid span{font-weight:bold}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
.event{display:grid;grid-template-columns:105px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}
.event-date{font-weight:bold;color:#0b56d6}
details summary{cursor:pointer;font-size:18px}
.flash{border-radius:12px;padding:12px;margin-bottom:12px}.flash.danger{background:#ffe8e8;border:1px solid #ffaaa8}.flash.ok{background:#e8f8ef;border:1px solid #9eddb9}
.login{max-width:430px;margin:40px auto}
code{display:block;background:#0f172a;color:#e2e8f0;padding:12px;border-radius:8px;white-space:pre-wrap}
footer{text-align:center;color:#708090;padding:25px}
@media(max-width:850px){.top{display:block}.two-col{grid-template-columns:1fr}.toolbar{display:block}.search{display:block}.userbar{display:block}.userbar nav{margin-top:8px}}
