:root{--bg:#F4F6F3;--card:#fff;--line:#DCE3DF;--ink:#13201B;--muted:#55635D;--green:#10D885;--gt:#08744A;--dark:#0E1A15;--side:#C9D6CF;--soft:#EAEFEC;--hf:'Poppins',Arial,sans-serif;--bf:'Inter',Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--bf);font-size:15px;line-height:1.45}
a{color:var(--gt)}a:hover{color:#055C3A}
h1,h2,h3{font-family:var(--hf);margin:0;line-height:1.2}
h1{font-size:26px}h2{font-size:17px;font-weight:600}h3{font-size:15px;font-weight:600}
.carregando{padding:40px;text-align:center;color:var(--muted)}
.layout{display:flex;flex-wrap:wrap;min-height:100vh}
.side{flex:1 1 240px;max-width:100%;background:var(--dark);color:var(--side);padding:24px 14px;display:flex;flex-direction:column;gap:20px}
.side .grupo{display:flex;flex-direction:column;gap:2px}
.side .grupo p{margin:0 0 6px;padding:0 12px;font-size:11px;font-weight:600;letter-spacing:.06em;color:#8FA39A}
.side a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--side);text-decoration:none;font-size:14px}
.side a:hover{background:#15241C;color:#fff}
.side a.ativo{background:#18291F;color:var(--green);font-weight:600}
.side .usuario{margin-top:auto;border-top:1px solid #22362C;padding:14px 12px 0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.side .usuario b{color:#F4F6F3;font-size:14px}
.main{flex:999 1 560px;min-width:0;padding:28px 32px 48px;display:flex;flex-direction:column;gap:20px}
.topo{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.topo p{margin:4px 0 0;color:var(--muted)}
.acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;min-width:0}
.card>h2{margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.cols{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.cols>.c2{flex:2 1 460px;min-width:0;display:flex;flex-direction:column;gap:16px}
.cols>.c1{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px}
.kpi p{margin:0;color:var(--muted);font-size:13px}.kpi strong{display:block;font-family:var(--hf);font-size:26px;margin:6px 0}
.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:#E9EEEB;color:#3F4B45}
.pill.ok{background:#DDF7EA;color:#08744A}.pill.warn{background:#FFF1D6;color:#7A4F00}.pill.bad{background:#FDE2E0;color:#A12A1F}.pill.info{background:#E3ECF7;color:#23476E}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font:600 14px var(--bf);cursor:pointer;text-decoration:none}
.btn:hover{border-color:#B9C7C0}
.btn.pri{background:var(--green);border-color:var(--green);color:var(--dark)}
.btn.pri:hover{background:#0CC478}
.btn.pq{min-height:34px;padding:0 12px;font-size:13px}
.btn:disabled{opacity:.6;cursor:default}
.lnk{background:none;border:0;padding:0;color:var(--gt);font:600 13px var(--bf);cursor:pointer;text-decoration:underline}
table{width:100%;border-collapse:collapse}
.tabela{overflow-x:auto}
th{text-align:left;padding:10px;font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid #EDF1EE;font-size:14px;vertical-align:middle}
.lista>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #EDF1EE}
.lista>div:last-child{border-bottom:0}
.sub{color:var(--muted);font-size:13px}
.vazio{color:var(--muted);font-size:14px;padding:6px 0}
.barra{height:10px;border-radius:999px;background:#EDF1EE;overflow:hidden}.barra>i{display:block;height:100%;background:var(--green);border-radius:999px}
.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}
.coluna{flex:1 0 250px;min-width:250px;background:var(--soft);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px}
.coluna>header{display:flex;justify-content:space-between;padding:4px 4px 6px;font-weight:600;font-size:14px}
.kcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.kcard .valor{font-family:var(--hf);font-weight:700}
label{font-size:13px;font-weight:600}
input,select,textarea{font:14px var(--bf);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}
textarea{min-height:90px;resize:vertical}
input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:#08744A}
.campo{display:flex;flex-direction:column;gap:6px}
.chk{display:flex;align-items:center;gap:8px;font-weight:500}
.form{display:flex;flex-direction:column;gap:14px}
.fundo{position:fixed;inset:0;background:rgba(14,26,21,.55);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:20}
.modal{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:560px;display:flex;flex-direction:column;gap:16px}
.modal header{display:flex;justify-content:space-between;align-items:center}
.toast{position:fixed;bottom:20px;right:20px;background:var(--dark);color:#fff;padding:12px 18px;border-radius:12px;z-index:30;max-width:360px}
.toast.erro{background:#A12A1F}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:600 13px var(--bf);cursor:pointer}
.tabs button.on{background:var(--dark);color:#fff;border-color:var(--dark)}
.item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #EDF1EE}
.item:last-child{border-bottom:0}
.item .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.feito{color:var(--muted);text-decoration:line-through}
.cal{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;min-width:900px}
.cal .dia{background:var(--soft);border-radius:12px;padding:8px;min-height:120px;display:flex;flex-direction:column;gap:6px}
.cal .dia.fora{opacity:.45}
.cal .dia>span{font-size:12px;font-weight:600;color:var(--muted)}
.post{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:4px;font-size:13px;text-align:left;cursor:pointer}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo svg{width:34px;height:35px}
.logo b{font-family:var(--hf);font-weight:600;font-size:24px;color:#F4F6F3;letter-spacing:-.01em}
.logo.escuro b{color:var(--ink)}
.entrada{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--dark)}
.entrada .caixa{background:#fff;border-radius:20px;padding:32px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px}
.portal-topo{background:var(--dark);padding:16px 28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;color:#F4F6F3}
.portal{max-width:1100px;margin:0 auto;padding:28px 20px 48px;display:flex;flex-direction:column;gap:18px}
.publica{max-width:860px;margin:0 auto;padding:28px 20px 60px;display:flex;flex-direction:column;gap:18px}
.capa{background:var(--dark);color:#F4F6F3;border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:18px}
.capa h1{font-size:34px;color:#fff}
.capa .eyebrow{color:var(--green);font-weight:600;font-size:13px;letter-spacing:.08em}
.total{font-family:var(--hf);font-size:24px;font-weight:700}
@media (max-width:700px){.main{padding:20px 16px 40px}h1{font-size:22px}.capa h1{font-size:26px}}
@media (min-width:900px){.layout{flex-wrap:nowrap;align-items:flex-start}.side{flex:0 0 248px;position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain}}
.portal-abas{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:4px;overflow-x:auto;padding:0 20px;position:sticky;top:0;z-index:5}
.portal-abas a{padding:14px 14px;color:var(--muted);text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap;border-bottom:3px solid transparent}
.portal-abas a.on{color:var(--ink);border-bottom-color:var(--green)}
.portal-abas a:hover{color:var(--ink)}
details summary{list-style:revert}
.sanfona{all:unset;cursor:pointer;display:flex;justify-content:space-between;width:100%;align-items:center;border-radius:8px}
.sanfona:focus-visible{outline:2px solid var(--gt);outline-offset:4px}
.sanfona-t{font-family:var(--hf);font-size:17px;font-weight:600}
.post .pill{white-space:normal;line-height:1.2}
