:root{--azul:#0b2a4a;--dest:#f5a623;--fundo:#f4f6f9;font-family:system-ui,sans-serif}body{background:var(--fundo);color:#1b1b1b;margin:0}.card{box-sizing:border-box;background:#fff;border-radius:12px;width:calc(100% - 32px);max-width:420px;margin:24px auto;padding:24px 16px;box-shadow:0 1px 4px #0002}h1{color:var(--azul);margin-top:0;font-size:1.3rem}form{gap:12px;display:grid}label{gap:4px;font-size:.9rem;display:grid}input{border:1px solid #bbb;border-radius:8px;padding:12px;font-size:1rem}button{background:var(--azul);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:12px;font-size:1rem}.erro{color:#b00020;margin:0}.links{flex-wrap:wrap;gap:16px;font-size:.9rem;display:flex}.card.larga{max-width:760px}.topo{justify-content:space-between;align-items:center;gap:8px;display:flex}.topo h1{margin:0}button.sec{color:var(--azul);background:#e6e9ee}.abas{gap:6px;margin:12px 0;display:flex}.abas button{color:var(--azul);background:#e6e9ee;flex:1}.abas button.on{background:var(--azul);color:#fff}.grade{grid-template-columns:1fr 1fr;gap:8px;display:grid}.kpi{background:var(--fundo);border-radius:10px;gap:2px;padding:10px;display:grid}.kpi strong{font-size:1.15rem}.kpi small,.nota{color:#555;font-size:.8rem}.neg{color:#b00020}.pos{color:#0a7a3d}.alerta{border-radius:8px;margin:8px 0;padding:10px;font-size:.9rem}.alerta.critico{background:#fde7ea}.alerta.atencao{background:#fff3d6}.alerta.info{background:#e6eefb}.aviso{background:#fff3d6;border-radius:8px;padding:10px}.proj,.lista{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.proj li{grid-template-columns:44px 1fr auto;align-items:center;gap:8px;font-size:.8rem;display:grid}.barra{background:var(--fundo);border-radius:4px;height:8px;overflow:hidden}.barra i{background:var(--azul);height:100%;display:block}.barra i.neg{background:#b00020}.lista li{border-bottom:1px solid #eee;justify-content:space-between;gap:8px;padding:8px 0;font-size:.9rem;display:flex}.acoes{flex-shrink:0;gap:4px;display:flex}.acoes button,.lista button{padding:8px;font-size:.8rem}.card-form{gap:8px;margin-bottom:12px;display:grid}select{border:1px solid #bbb;border-radius:8px;padding:12px;font-size:1rem}.st{font-style:normal;font-weight:600}.st.vencido{color:#b00020}.st.realizado{color:#0a7a3d}
