:root{--g:#365f3a;--g2:#274b2c;--bg:#f3f6f3;--card:#fff;--line:#dce4dd;--txt:#243128;--muted:#68756c;--ok:#147a4b;--warn:#9a6700;--bad:#b42318;--blue:#245ea8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:14px Arial,Helvetica,sans-serif}
header{background:linear-gradient(135deg,var(--g2),var(--g));color:#fff;padding:22px 28px}header h1{margin:0 0 5px;font-size:24px}header p{margin:0;opacity:.86}
.wrap{max-width:1450px;margin:18px auto;padding:0 18px}.top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 8px #00000008;margin-bottom:15px}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kpi{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fff}.kpi b{font-size:24px;display:block}.kpi span{font-size:12px;color:var(--muted)}
button{border:0;border-radius:8px;padding:9px 13px;font-weight:700;cursor:pointer;background:var(--g);color:#fff}button.alt{background:#e9efea;color:var(--g)}button.red{background:#fff0ee;color:var(--bad)}button.blue{background:#eaf2ff;color:var(--blue)}
input,select,textarea{font:inherit;border:1px solid #ccd7ce;border-radius:8px;padding:9px;background:#fff;width:100%}
label{font-size:12px;font-weight:700;color:var(--muted);display:block;margin:0 0 5px}
.toolbar{display:grid;grid-template-columns:180px 1fr 170px 150px;gap:10px;align-items:end}
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.tabs button.active{background:var(--g);color:#fff}.tabs button{background:#e9efea;color:var(--g)}
.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1100px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#f6f8f6;color:#536158}
.badge{padding:5px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.pendente{background:#ecefed;color:#59645d}.andamento{background:#fff2ce;color:var(--warn)}.concluido{background:#dff6e9;color:var(--ok)}.atrasado{background:#ffe1de;color:var(--bad)}.financeiro{background:#e7f0ff;color:var(--blue)}.aprovacao{background:#f0e8ff;color:#7042a5}
.progress{height:10px;border-radius:10px;background:#e7ece8;overflow:hidden}.progress i{display:block;height:100%;background:var(--g);width:0}
.modal{position:fixed;inset:0;background:#0008;display:none;align-items:center;justify-content:center;padding:18px;z-index:20}.modal.show{display:flex}.box{background:#fff;width:min(850px,100%);max-height:92vh;overflow:auto;border-radius:14px;padding:20px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}
.files{border:1px dashed #bcc9bf;border-radius:9px;padding:10px;margin-top:8px}.file{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0;font-size:12px}
.notice{padding:11px 13px;background:#f7faf7;border:1px dashed #cbd8ce;border-radius:9px;color:#556258;margin-bottom:13px}
.login{position:fixed;inset:0;background:linear-gradient(135deg,#203d24,#365f3a);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.loginbox{background:#fff;width:min(430px,100%);padding:26px;border-radius:16px}.loginbox h2{margin-top:0;color:var(--g)}
.small{font-size:12px;color:var(--muted)}h2{font-size:18px;margin:0 0 13px}
footer{text-align:center;color:var(--muted);padding:20px;font-size:12px}
@media(max-width:950px){.grid{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr}}
@media(max-width:600px){.grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}}
