:root{--azul:#123c69;--azul2:#0b2b4d;--azul-claro:#eaf2f8;--dourado:#c99b3d;--fundo:#f4f7fa;--cartao:#fff;--texto:#17212b;--muted:#617080;--borda:#d6e0e8;--verde:#18794e;--vermelho:#b42318;--laranja:#9a6700;--sombra:0 8px 24px rgba(18,60,105,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Segoe UI",Arial,sans-serif;font-size:16px;color:var(--texto);background:var(--fundo)}a{color:var(--azul)}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid #b9c8d4;border-radius:7px;padding:.7rem .8rem;background:#fff;color:var(--texto)}textarea{min-height:110px;resize:vertical}label{display:block;font-weight:700;margin-bottom:.35rem}.ajuda{font-size:.875rem;color:var(--muted);margin-top:.3rem}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(165deg,var(--azul) 0%,var(--azul2) 100%);color:#fff;display:flex;flex-direction:column;z-index:30}.marca{padding:1.2rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.16)}.marca-linha{display:flex;align-items:center;gap:.8rem}.marca-logo{width:58px;height:58px;object-fit:contain;background:rgba(255,255,255,.96);border-radius:50%;padding:4px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.2))}.marca strong{display:block;font-size:1.55rem;letter-spacing:.08em}.marca span{display:block;color:rgba(255,255,255,.72);font-size:.85rem;margin-top:.45rem}.menu{padding:1rem 0;flex:1}.menu-titulo{padding:.75rem 1.4rem .35rem;color:rgba(255,255,255,.55);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.menu a{display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.9);text-decoration:none;padding:.72rem 1.35rem;border-left:4px solid transparent}.menu a:hover,.menu a.ativo{background:rgba(255,255,255,.11);border-left-color:var(--dourado);color:#fff}.sidebar-rodape{padding:1rem 1.4rem;border-top:1px solid rgba(255,255,255,.16);font-size:.75rem;color:rgba(255,255,255,.65)}.conteudo{margin-left:270px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--borda);display:flex;align-items:center;justify-content:space-between;padding:0 1.75rem;position:sticky;top:0;z-index:20}.topbar h1{font-size:1.35rem;color:var(--azul);margin:0}.utilizador{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.9rem}.utilizador strong{color:var(--azul)}main{padding:1.6rem;flex:1;max-width:1500px;width:100%;margin:0 auto}.rodape{padding:1rem 1.75rem;background:#fff;border-top:1px solid var(--borda);font-size:.8rem;color:var(--muted);text-align:center}.rodape a{font-weight:700;text-decoration:none}.rodape a:hover{text-decoration:underline}.card{background:var(--cartao);border:1px solid var(--borda);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--sombra)}.card h2,.card h3{color:var(--azul);margin-top:0}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin:1rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:7px;padding:.68rem 1rem;text-decoration:none;background:var(--azul);color:#fff!important;font-weight:700;cursor:pointer}.btn:hover{background:var(--azul2)}.btn-sec{background:#687a89}.btn-verde{background:var(--verde)}.btn-perigo{background:var(--vermelho)}.btn-claro{background:var(--azul-claro);color:var(--azul)!important;border:1px solid #c8dbe9}.btn-peq{padding:.43rem .7rem;font-size:.86rem}.btn[disabled]{opacity:.5;cursor:not-allowed}.tabela-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff}th,td{text-align:left;padding:.75rem .7rem;border-bottom:1px solid #e4ebf0;vertical-align:top}th{background:var(--azul-claro);color:var(--azul);font-size:.86rem}tbody tr:hover{background:#f8fbfd}.badge{display:inline-block;border-radius:999px;padding:.28rem .62rem;font-size:.78rem;font-weight:800;background:#e8edf1;color:#44525e}.badge-rascunho{background:#eef1f4;color:#50606c}.badge-em_aprovacao{background:#fff3cd;color:#7a5500}.badge-aprovada,.badge-encerrada{background:#dff5e9;color:#12633e}.msg{border-radius:8px;padding:.85rem 1rem;margin-bottom:1rem;border:1px solid}.msg-ok{background:#e6f7ed;border-color:#9ed7b6;color:#125c38}.msg-erro{background:#fff0ef;border-color:#f2b8b5;color:#8f1d16}.msg-info{background:#edf6fc;border-color:#b8d9ed;color:#174d70}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem}.kpi{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:1.1rem;box-shadow:var(--sombra)}.kpi span{display:block;color:var(--muted);font-size:.83rem;font-weight:700}.kpi strong{display:block;color:var(--azul);font-size:2rem;margin-top:.25rem}.vazio{text-align:center;padding:2.2rem;color:var(--muted)}.separador{border:0;border-top:1px solid var(--borda);margin:1.4rem 0}.linha-ponto{border-left:4px solid var(--dourado);padding-left:1rem;margin:1.25rem 0}.linha-ponto h3{margin-bottom:.35rem}.texto-pre{white-space:pre-wrap;line-height:1.6}.menu-mobile{display:none;background:none;border:0;font-size:1.6rem;color:var(--azul);padding:.25rem}.login-pagina{min-height:100vh;display:grid;grid-template-columns:44% 56%;background:#fff}.login-marca{background:linear-gradient(145deg,var(--azul),var(--azul2));color:#fff;display:flex;align-items:center;padding:4rem}.login-marca>div{max-width:520px;margin:auto}.login-titulo{display:flex;align-items:center;gap:1.2rem}.login-titulo img{width:94px;height:94px;object-fit:contain;background:rgba(255,255,255,.96);border-radius:50%;padding:6px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.25))}.login-marca h1{font-size:3rem;letter-spacing:.1em;margin:0}.login-marca p{font-size:1.15rem;line-height:1.6;color:rgba(255,255,255,.78)}.login-caixa{display:flex;align-items:center;justify-content:center;padding:3rem}.login-form{width:460px;max-width:100%}.login-form h2{font-size:2rem;color:var(--azul);margin-bottom:.4rem}.login-form>p{color:var(--muted);margin-top:0;margin-bottom:2rem}.login-form .campo{margin-bottom:1.1rem}.pesquisa{display:flex;gap:.6rem;max-width:620px}.estado-bloco{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#f7fafc;border:1px solid var(--borda);border-radius:8px;padding:.8rem 1rem}.texto-direita{text-align:right}.muted{color:var(--muted)}.oculto{display:none!important}
@media(max-width:950px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.aberta{transform:translateX(0)}.conteudo{margin-left:0}.menu-mobile{display:block}.topbar{padding:0 1rem}.topbar h1{font-size:1.1rem}.utilizador span{display:none}main{padding:1rem}.grid{grid-template-columns:1fr}.col-2,.col-3,.col-4,.col-6,.col-8,.col-12{grid-column:span 1}.kpis{grid-template-columns:repeat(2,1fr)}.login-pagina{grid-template-columns:1fr}.login-marca{display:none}.login-caixa{padding:1.5rem}.pesquisa{max-width:100%}}
@media(max-width:540px){.kpis{grid-template-columns:1fr}.acoes>.btn,.acoes>form,.acoes>form>.btn{width:100%}.estado-bloco{align-items:flex-start;flex-direction:column}.utilizador a:first-of-type{display:none}}
@media print{.sidebar,.topbar,.rodape,.nao-imprimir{display:none!important}.conteudo{margin:0}.card{box-shadow:none;border:0;padding:0}main{padding:0;max-width:none}}

