:root{--bg:#08090a;--sidebar:#0d0f12;--panel:#12151a;--panel2:#181c22;--line:#2a3038;--text:#f2f0ea;--muted:#9299a3;--red:#a62828;--red2:#d54444;--gold:#c6a96b;--green:#3ecf78;--blue:#4ca6e8;--shadow:0 16px 40px #0008}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:.02em}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:11px;letter-spacing:.22em;font-weight:800}.subtitulo{color:var(--muted)}
.login-body{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 50% 20%,#2a1010 0,#0d0d0e 37%,#050505 75%)}.login-card{width:min(430px,calc(100% - 32px));padding:42px;border:1px solid #3b3030;background:#0d0f12ee;box-shadow:var(--shadow);text-align:center}.login-card h1{font-size:64px;margin:6px 0 0}.selo{margin:auto;display:grid;place-items:center;width:62px;height:62px;border:2px solid var(--red2);border-radius:50%;color:var(--gold);font-size:32px}.login-form{display:grid;gap:16px;text-align:left;margin:30px 0 18px}.login-card small{color:#747b85}
label{display:grid;gap:7px;color:#b8bec6;font-size:13px;font-weight:700}input,select,textarea{width:100%;color:var(--text);background:#0b0d10;border:1px solid #363c45;border-radius:4px;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--red2);box-shadow:0 0 0 2px #a628282d}textarea{min-height:115px;resize:vertical}select option{background:#111}
.correio-maiusculo{text-transform:uppercase}
.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--line);padding:22px 14px}.brand{display:flex;align-items:center;gap:12px;padding:3px 10px 23px;border-bottom:1px solid var(--line)}.brand-star{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--red2);color:var(--gold)}.brand small{display:block;color:#858c96;font-size:9px;letter-spacing:.2em}.brand strong{font-family:Georgia,serif;letter-spacing:.08em}.sidebar nav{display:grid;gap:7px;margin-top:20px}.sidebar nav button{display:flex;gap:13px;align-items:center;text-align:left;color:#aeb4bc;background:transparent;border:1px solid transparent;border-radius:5px;padding:12px 14px}.sidebar nav button:hover,.sidebar nav button.ativo{color:#fff;background:#1a1e24;border-color:#343a43}.sidebar nav button.ativo{box-shadow:inset 3px 0 var(--red2)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:18px 6px 0}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot small{color:var(--muted);margin:4px 0 10px;text-transform:capitalize}.link-button{border:0;background:transparent;color:#aeb4bc;padding:5px 0 13px;text-decoration:underline}.content{min-width:0;padding:28px 34px 50px}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.topbar h1{margin:0;font-size:34px}.estado-online{color:var(--green);border:1px solid #245b36;background:#0c2013;padding:8px 13px;font-size:11px;font-weight:800;letter-spacing:.08em}.page{display:none}.page.ativo{display:block}.panel{background:var(--panel);border:1px solid var(--line);padding:24px;margin-bottom:18px;box-shadow:0 8px 25px #0002}.panel-medio{max-width:1000px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:19px}.panel h2{margin-bottom:6px}.panel p{color:var(--muted)}
.btn{border:1px solid #3a414b;background:#252a31;color:#fff;border-radius:5px;padding:11px 15px;font-weight:750}.btn:hover{filter:brightness(1.15)}.btn-primary{background:var(--red);border-color:#c33}.btn-danger{background:#241316;border-color:#7b2933;color:#ff8896}.btn-green{background:#12331e;border-color:#267846;color:#75e59e}.btn-small{padding:7px 10px;font-size:12px}.btn-full{width:100%}.cards-resumo{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:15px;margin-bottom:18px}.resumo-card{border:1px solid var(--line);background:var(--panel);padding:19px}.resumo-card small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.resumo-card strong{display:block;font:700 29px Georgia,serif;margin-top:8px}.painel-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.search-row{display:flex;gap:10px;margin:15px 0}.search-row input{flex:1}.lista{display:grid;gap:9px;margin-top:16px}.lista-linha{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(120px,1fr)) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);background:#0e1115}.lista-linha:hover{border-color:#4a515d}.lista-linha strong,.lista-linha small{display:block}.lista-linha small{color:var(--muted);margin-top:4px}.lista-linha .estado{text-transform:capitalize}.tag{display:inline-block;border:1px solid #46505d;border-radius:20px;padding:4px 9px;color:#bec6d0;font-size:11px}.tag.red{border-color:#7b2f35;color:#f47f87}.tag.green{border-color:#29633d;color:#73d995}.tag.gold{border-color:#66552f;color:#e4c477}.alerta{position:sticky;top:12px;z-index:20;margin-bottom:15px;padding:13px 16px;border:1px solid #346544;background:#10261a;color:#80dda0}.alerta.erro{border-color:#7f3239;background:#2a1114;color:#ff9da5}
.ficha-top{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.ficha-identidade{display:flex;gap:18px;align-items:center}.avatar{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:#202731;border:1px solid #3d4652;font:700 28px Georgia,serif;color:var(--gold)}.ficha-numero{font-family:monospace;color:var(--gold);font-size:15px}.tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--line);margin:24px 0 18px}.tabs button{white-space:nowrap;background:transparent;color:#9fa6af;border:0;border-bottom:3px solid transparent;padding:12px 14px}.tabs button.ativo{color:#fff;border-color:var(--red2)}.tab-conteudo{display:none}.tab-conteudo.ativo{display:block}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px}.info{background:#0d1014;border:1px solid var(--line);padding:13px}.info small{display:block;color:var(--muted);margin-bottom:5px}.tabela{width:100%;border-collapse:collapse}.tabela th,.tabela td{text-align:left;border-bottom:1px solid var(--line);padding:11px 9px;vertical-align:top}.tabela th{color:#9da5ae;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.vazio{padding:28px;text-align:center;border:1px dashed #343b45;color:var(--muted)}
.ficha-acoes{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.resumo-identidade{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.2fr);gap:18px}.bi-cartao{border:1px solid var(--line);background:#0d1014;padding:14px}.bi-cartao small{display:block;color:var(--muted);margin-top:5px}.bi-imagem{display:block;width:100%;max-height:430px;object-fit:contain;background:#070809;border:1px solid #303640}.bi-vazio,.colar-bi{width:100%;min-height:170px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;color:#b8bec6;background:#0b0d10;border:2px dashed #3b434e;padding:20px}.bi-vazio{cursor:pointer}.colar-bi:focus{border-color:var(--red2);outline:none}.colar-bi small{color:var(--muted)}.colar-bi img{max-width:100%;max-height:360px;object-fit:contain;margin-top:12px}
.bloqueio-financeiro{margin:20px 0 0;padding:16px 18px;border:1px solid #a43b45;background:#321317;color:#ffd2d5}.bloqueio-financeiro strong{display:block;font-size:16px;margin-bottom:5px}.bloqueio-financeiro p{margin:0;color:#ffadb3}.situacao-regular{margin:20px 0 0;padding:12px 16px;border:1px solid #27603a;background:#0d2114;color:#83dea2}.divida-vencida{color:#ff8e97;font-weight:800}.btn[disabled]{cursor:not-allowed;opacity:.45;filter:none}
.modal{position:fixed;inset:0;z-index:100;background:#000c;display:grid;place-items:center;padding:25px}.modal[hidden]{display:none}.modal-box{position:relative;width:min(880px,100%);max-height:92vh;overflow:auto;background:#12151a;border:1px solid #3a414c;box-shadow:var(--shadow);padding:27px}.modal-close{position:absolute;right:13px;top:10px;background:transparent;border:0;color:#aaa;font-size:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.participante-linha{display:grid;grid-template-columns:minmax(300px,1fr) 150px auto;align-items:start;gap:8px;margin:10px 0;padding:10px;border:1px solid var(--line);background:#0e1115}.pessoa-pesquisa{display:grid;grid-template-columns:1fr auto;gap:7px}.pessoa-pesquisa .pessoa-busca,.pessoa-pesquisa .pessoa-ajuda,.pessoa-pesquisa .cadastro-rapido{grid-column:1/-1}.pessoa-ajuda{color:var(--muted)}.pessoa-criar{justify-self:start}.cadastro-rapido{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;padding:10px;border:1px solid #4a515d;background:#151a20}.cadastro-rapido[hidden]{display:none}.acesso-negado{color:#ff99a1}
@media(max-width:1050px){.cards-resumo{grid-template-columns:1fr 1fr}.painel-grid{grid-template-columns:1fr}.lista-linha{grid-template-columns:1fr 1fr}.lista-linha>*:last-child{justify-self:end}.info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar nav button{justify-content:center}.sidebar nav button span{display:none}.sidebar-foot{display:flex;align-items:center;gap:12px}.sidebar-foot form{margin-left:auto}.content{padding:20px 14px}.cards-resumo,.grid-2,.grid-3,.form-grid,.info-grid,.participante-linha,.cadastro-rapido,.resumo-identidade{grid-template-columns:1fr}.lista-linha{grid-template-columns:1fr}.topbar{align-items:flex-start}.estado-online{font-size:9px}.panel{padding:17px}.panel-head{display:block}.panel-head .btn{margin-top:10px}.search-row{flex-direction:column}}
