:root{--navy:#10151c;--navy2:#171d26;--wine:#992b35;--red:#b73a43;--gold:#c5a572;--gold-light:#edddb9;--ink:#202530;--muted:#78818c;--line:#e8e8e6;--bg:#f7f8fa;--white:#fff;--radius:14px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg)}a{color:#8b3038;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;min-height:42px;border:1px solid #dfe2e6;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink);outline:none;transition:border .14s,box-shadow .14s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#a8585f;box-shadow:0 0 0 3px #b73a431c}label{font-weight:700;font-size:12px;color:#48515c;display:flex;flex-direction:column;gap:7px}label small{font-weight:400}h1,h2,h3,p{margin-top:0}h1{font-family:Manrope,sans-serif;font-size:31px;letter-spacing:-1.1px;margin-bottom:7px;font-weight:800}h2{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.4px;margin:0}h3{font-family:Manrope,sans-serif}.shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:255px;flex:none;background:var(--navy);color:#dee2e9;padding:27px 15px 22px;display:flex;flex-direction:column;box-shadow:6px 0 20px #10151c10}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 30px;color:white;text-decoration:none}.brand:hover{text-decoration:none}.brand img{height:52px;width:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #c9a36a66}.brand strong{font-family:Manrope,sans-serif;font-size:18px;letter-spacing:1px;white-space:nowrap}.brand strong em{font-style:normal;color:var(--gold)}.brand small{display:block;font-size:8.5px;color:#a2a8b3;letter-spacing:1px;margin-top:3px;white-space:nowrap}.nav-heading{color:#78808c;font-size:10px;font-weight:800;letter-spacing:1.8px;margin:5px 15px 16px}.navigation{display:flex;flex-direction:column;gap:6px}.navigation a{padding:12px 14px;border-radius:8px;color:#c4c9d2;font-size:13px;font-weight:600;display:flex;align-items:center;gap:12px;text-decoration:none}.navigation a:hover{background:#ffffff10;color:white}.navigation a.active{background:#922b3560;border-left:3px solid #c84b53;padding-left:11px;color:white}.nav-icon{font-size:20px;width:21px;text-align:center;line-height:17px}.side-footer{margin-top:auto;border-top:1px solid #ffffff1b;padding:18px 7px 0}.user-badge{display:flex;gap:10px;align-items:center}.avatar{height:36px;width:36px;border:1px solid #c7aa7b66;background:#aa39462e;color:#f2c6c9;border-radius:100px;display:grid;place-items:center;font-weight:800}.user-badge strong{font-size:13px;display:block}.user-badge small{font-size:11px;color:#9ba4b2;display:block;margin-top:2px}.user-links{display:flex;gap:22px;margin:15px 0 2px}.user-links a,.link-button{color:#b8bfca;background:none;border:0;font-size:12px;padding:0;font-weight:600}.workspace{min-width:0;flex:1}.topbar{height:66px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;color:#98a0ab;font-size:10px;letter-spacing:1.3px;font-weight:700}.topbar b{color:#444b54}.top-sep{color:#d3d4d6;padding:0 10px}.secure-mark{letter-spacing:normal;color:#609481;font-size:11px;background:#ecf6f2;border-radius:100px;padding:7px 12px}.main{max-width:1460px;margin:0 auto;padding:36px 42px 72px}.footer{padding:10px 42px 20px;color:#a9adb5;font-size:11px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.pagehead p{font-size:13px;color:var(--muted);margin-bottom:0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#b17c43;display:block;margin-bottom:9px}.btn{border:1px solid transparent;border-radius:8px;min-height:40px;padding:10px 17px;display:inline-flex;gap:14px;align-items:center;justify-content:center;text-decoration:none!important;font-weight:700;font-size:12px;white-space:nowrap;transition:.15s}.btn.primary{background:#9e303a;color:white;box-shadow:0 3px 6px #9e303a1c}.btn.primary:hover{background:#81242d}.btn.secondary{background:white;border-color:#dfe2e6;color:#39414b}.btn.secondary:hover{border-color:#9e303a;color:#8c2f39}.btn.small{min-height:32px;padding:7px 10px}.button-row{display:flex;gap:9px;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{padding:24px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:0 4px 15px #18232f04}.stat-card.red{background:linear-gradient(130deg,#9c303a,#70252d);color:white;border-color:#9c303a}.stat-label{font-size:12px;font-weight:700;color:#6e7987;display:flex;justify-content:space-between;align-items:center}.stat-card.red .stat-label{color:#f0d6d8}.stat-label span{font-size:22px;color:#c8a66e}.stat-value{font-family:Manrope,sans-serif;font-size:28px;font-weight:800;letter-spacing:-1.3px;margin:13px 0;overflow-wrap:anywhere}.stat-sub{font-size:11px;color:#9199a2}.stat-card.red .stat-sub{color:#ebcdd0}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 22px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:22px;min-width:0;box-shadow:0 5px 16px #1b283006}.panel-grid .panel{margin:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-heading p{font-size:11px;color:#8d95a0;margin:5px 0 0}.panel-heading>a{font-size:12px;font-weight:700;white-space:nowrap}.events,.movements{display:flex;flex-direction:column}.event{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #eff0f1}.event-date{background:#fcf3f0;border:1px solid #f6e5df;color:#8c4141;border-radius:9px;min-width:51px;text-align:center;padding:6px 8px}.event-date b{display:block;font-size:18px;line-height:23px}.event-date small{font-size:9px;letter-spacing:1px;font-weight:800}.event-content strong,.movement strong{display:block;font-size:12px}.event-content small,.movement small{display:block;font-size:10.5px;color:#9aa1a8;margin-top:5px}.movement{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-top:1px solid #eff0f1}.movement>strong{white-space:nowrap;font-size:13px}.positive{color:#218668!important}.negative{color:#b43c46!important}.subtle-panel{background:#fff}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-grid a{border:1px solid #e9ebef;border-radius:8px;padding:17px 13px;display:flex;justify-content:space-between;gap:10px;font-size:11.5px;font-weight:700;color:#3b4552}.quick-grid a:hover{border-color:#dba9aa;text-decoration:none}.quick-grid span{color:#9e303a}.activity-panel{padding:20px 23px}.activity-row{display:flex;gap:10px;flex-wrap:wrap}.activity-row span{font-size:10px;background:#f7f8fa;border:1px solid #edeff1;border-radius:6px;padding:8px 10px;color:#808a97}.flash{padding:14px 17px;border-radius:8px;margin:0 0 18px;font-size:13px;font-weight:600;background:#eff8f1;color:#26724b;border:1px solid #c9e7d1}.flash.error{background:#fff1f0;color:#a83a41;border-color:#f2d7d8}.form-panel{max-width:960px;padding:30px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:1.1px;font-weight:800;color:#9f6f46;margin:9px 0 19px;padding-bottom:11px;border-bottom:1px solid #f0eeeb}.section-title:not(:first-child){margin-top:31px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.span-2{grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #efefef;padding-top:22px;margin-top:26px}.panel .filterbar{display:flex;align-items:end;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filterbar>input{max-width:340px}.filterbar>input[name=q]{flex:1;min-width:180px}.filterbar input[type=month]{width:170px}.filterbar.multi label{flex:1;min-width:170px}.filterbar.multi button{margin-bottom:1px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#8d95a0;padding:12px 13px;background:#fafafa;border-bottom:1px solid #eeefef}td{padding:15px 13px;border-bottom:1px solid #eeefef;vertical-align:middle;color:#5c6470}tr:last-child td{border-bottom:0}.table-strong,td strong{color:#262e38;font-weight:800}td a{font-weight:700;font-size:12px}.nowrap{white-space:nowrap}.pill{border-radius:100px;display:inline-block;padding:5px 11px;background:#f0f1f3;font-size:10px;font-weight:800;color:#8d929e;white-space:nowrap}.pill.good{background:#e6f4ed;color:#2e8d64}.pill.muted{background:#f3f1ef;color:#877e76}.empty{text-align:center;padding:32px;color:#a1a6ae;font-size:12px}.under{display:block;margin-top:5px;color:#a0a5ae;font-size:10px}.inline{display:inline-block;margin-left:10px}.danger-link{padding:0;background:none;border:0;color:#bc4247;font-size:11px;font-weight:700;white-space:nowrap}.danger-link:hover{text-decoration:underline}.muted-text{color:#8b929d;font-size:12px}.muted-text.tiny{font-size:11px;margin:14px 0 0}.duo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.duo-stats .stat-value{font-size:23px;margin-bottom:0}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.detail-grid>div{min-width:0}.detail-grid small,.notes-box small{display:block;color:#9099a4;text-transform:uppercase;letter-spacing:.9px;font-size:10px;font-weight:700;margin-bottom:7px}.detail-grid strong{display:block;white-space:pre-line;overflow-wrap:anywhere;font-size:13px}.notes-box{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.notes-box p{white-space:pre-wrap;font-size:13px;color:#56616d;margin:0}.field-hint{font-size:11px;color:#8b929d}.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.board-tile{border:1px solid #e9ebed;border-radius:11px;padding:24px 20px;display:flex;flex-direction:column;min-height:206px;color:#404850;transition:.14s}.board-tile:hover{border-color:#d7a39c;transform:translateY(-2px);text-decoration:none}.board-tag{font-size:10px;letter-spacing:.9px;color:#a57650;font-weight:800}.board-tile h3{font-size:15px;line-height:1.5;margin:17px 0 8px;color:#222c34}.board-tile p{font-size:11.5px;line-height:1.6;color:#8a909a;flex:1;overflow-wrap:anywhere}.board-bottom{border-top:1px solid #efefef;padding-top:14px;display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#939ba5}.board-bottom strong{white-space:nowrap;color:#94333c}.reading-panel{max-width:950px}.reading-body{font-size:14px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;color:#37424e;margin-bottom:28px}.reading-actions{margin-top:26px;border-top:1px solid #eaeaea;padding-top:20px}.stack-form{display:flex;flex-direction:column;gap:17px}.stack-form .btn{align-self:flex-start}.inline-details{position:relative}.inline-details>summary{font-size:11px;color:#8c3139;font-weight:800;cursor:pointer}.due-form{display:flex;flex-direction:column;gap:7px;margin-top:9px;min-width:160px}.due-form input,.due-form select{min-height:33px;padding:6px}.login-page{background:#121720}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.login-showcase{background:radial-gradient(ellipse at 50% 35%,#61262e88,transparent 55%),linear-gradient(140deg,#131720,#221b22 68%,#14181d);padding:55px 38px;color:#e9e7e2;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;border-right:1px solid #4c394040}.login-emblem{width:250px;height:250px;border-radius:50%;display:grid;place-items:center;background:#0e1319;box-shadow:0 0 70px #a73b3830,0 0 0 1px #b6955a55;overflow:hidden;margin-bottom:37px}.login-emblem img{width:100%;height:100%;object-fit:cover}.accent-rule{width:38px;height:2px;background:var(--gold);margin-bottom:26px}.login-showcase h1{font-size:54px;letter-spacing:5px;margin:0 0 9px;color:#fff}.login-showcase h1 span{color:var(--gold)}.login-showcase p{font-size:13px;color:#bdb4b5;letter-spacing:.6px}.showcase-caption{font-size:10px;color:#9a8384;letter-spacing:2.2px;margin-top:55px}.login-panel{background:#f8f9fa;display:grid;place-items:center;padding:50px}.login-card{width:min(410px,100%)}.login-card h2{font-size:31px;margin:0 0 12px}.login-card>p{font-size:13px;line-height:1.75;color:#87909b;margin-bottom:28px}.login-card form{display:flex;flex-direction:column;gap:19px}.login-card input{min-height:50px}.btn.large{min-height:50px;font-size:13px}.btn.full{width:100%;justify-content:space-between;padding-left:20px;padding-right:20px}.login-note{border-top:1px solid #e4e6e8;margin-top:31px;padding-top:24px;font-size:11px;color:#a0a6af}.center-error{text-align:center;max-width:650px;margin:10vh auto;padding:50px 20px}.center-error p{color:#818a96}
@media(max-width:1180px){.stat-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.board-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.shell{display:block}.sidebar{width:auto;position:relative;height:auto;display:block;padding:14px 18px}.brand{padding:0 0 10px}.brand img{width:41px;height:41px}.nav-heading{display:none}.navigation{flex-direction:row;overflow-x:auto;gap:3px;padding:7px 0}.navigation a{white-space:nowrap;padding:9px;font-size:11px}.navigation a.active{border-left:none;padding-left:9px;border-bottom:2px solid #c84b53}.nav-icon{display:none}.side-footer{display:none}.topbar{display:none}.main{padding:25px 22px 55px}.footer{padding:10px 22px 20px}.panel-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-showcase{min-height:320px;padding:35px}.login-emblem{width:125px;height:125px;margin-bottom:15px}.login-showcase h1{font-size:33px}.login-showcase .showcase-caption{margin-top:12px}.login-showcase .accent-rule,.login-showcase .eyebrow{display:none}.login-panel{padding:42px 24px}}
@media(max-width:570px){.pagehead{align-items:flex-start;flex-direction:column}.pagehead h1{font-size:26px}.main{padding:20px 14px 45px}.stat-grid,.duo-stats,.board-grid,.quick-grid,.detail-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.stat-card{padding:20px}.panel{padding:17px}.filterbar>*{width:100%;max-width:none!important}.button-row{width:100%}.button-row>*{flex:1}.login-showcase{min-height:260px}.login-showcase .showcase-caption{display:none}}

/* Acessibilidade e utilitarios para uso em celulares */
.mobile-account-nav{display:none}
@media(max-width:880px){
  .mobile-account-nav{display:flex;justify-content:flex-end;align-items:center;gap:16px;border-top:1px solid #ffffff1a;padding-top:10px}
  .mobile-account-nav a,.mobile-account-nav button{font:inherit;font-size:12px;font-weight:700;color:#e9d1bc;text-decoration:none}
  .mobile-account-nav form{margin:0}.mobile-account-nav button{border:0;background:transparent;cursor:pointer;padding:4px 0}
}
@media(max-width:570px){input,select,textarea{font-size:16px}}

/* Novas telas: livro de presença e votação */
.preserve-newlines{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:900px){.navigation{overflow-y:auto}.pagehead{align-items:flex-start}.pagehead>.button-row{justify-content:flex-start}}
@media(max-width:640px){.pagehead{flex-direction:column}.button-row{width:100%}.button-row .btn{flex:1 1 auto}.table-wrap{overflow-x:auto}.main{padding-bottom:90px}}


/* =========================================================
   HÓRUS 357 — acabamento premium: ônix, rubi e ouro
   Complemento visual responsivo; preserva rotas e formulários.
   ========================================================= */
:root{
  --navy:#0b0c0f;
  --navy2:#14151a;
  --wine:#8d1825;
  --red:#b21f2d;
  --gold:#c8a45d;
  --gold-light:#ead7a7;
  --ink:#191a1e;
  --muted:#777b84;
  --line:#e7e3dc;
  --bg:#f5f4f1;
  --white:#fff;
  --radius:13px;
}
html,body{background:var(--bg)}
.sidebar{
  background:
    radial-gradient(ellipse at 15% 0%,#7f1d2b35,transparent 34%),
    linear-gradient(180deg,#101115 0%,#090a0c 100%);
  border-right:1px solid #c8a45d28;
}
.brand{padding-bottom:27px;position:relative}
.brand:after{
  content:"";position:absolute;left:7px;right:7px;bottom:12px;height:1px;
  background:linear-gradient(90deg,#c8a45d80,transparent);
}
.brand img{
  border-radius:50%;box-shadow:0 0 0 1px #c8a45d80,0 5px 20px #0008;
}
.brand strong{letter-spacing:1.5px}
.brand small{letter-spacing:1.15px}
.navigation{gap:5px}
.navigation a{
  border:1px solid transparent;transition:background .18s,border-color .18s,color .18s;
}
.navigation a:hover{background:#ffffff0a;border-color:#c8a45d24}
.navigation a.active{
  background:linear-gradient(100deg,#8d182536,#b21f2d12);
  border:1px solid #c8a45d30;border-left:3px solid var(--gold);
  padding-left:11px;color:#fff;
}
.nav-icon{color:#d0b77f}
.topbar{
  background:#fffdfa;
  border-bottom:1px solid #d9c9a5;
  box-shadow:0 3px 15px #17120b05;
}
.secure-mark{
  color:#7e1d28;background:#f8eceb;border:1px solid #ecd0cc;
}
.main{padding-top:39px}
.eyebrow{color:#96723a;letter-spacing:2.15px}
h1{color:#17181c}
.pagehead{margin-bottom:30px}
.stat-card,.panel,.table-card,.content-card{
  box-shadow:0 7px 24px #17120b08;
  border-color:#e8e3da;
}
.stat-card{position:relative;overflow:hidden}
.stat-card:not(.red):before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#c8a45d,transparent 72%);
}
.stat-card.red{
  background:
    radial-gradient(ellipse at 100% 0%,#d14b5535,transparent 45%),
    linear-gradient(135deg,#871724,#4b1018);
  border-color:#8d1825;
  box-shadow:0 8px 22px #6d15251c;
}
.btn{transition:transform .15s,box-shadow .15s,background .15s}
.btn.primary{
  background:linear-gradient(135deg,#a51e2c,#7e1420);
  box-shadow:0 4px 11px #8d182522;
}
.btn.primary:hover{
  background:linear-gradient(135deg,#b52837,#8d1825);
  box-shadow:0 6px 15px #8d182530;transform:translateY(-1px);
}
.btn.secondary{background:#fffdfa;border-color:#ded5c5}
input,select,textarea{
  border-color:#dedbd4;background:#fffdfa;border-radius:9px;
}
input:focus,select:focus,textarea:focus{
  border-color:#b99a5b;box-shadow:0 0 0 3px #c8a45d25;
}
label{color:#45434a}
a{color:#8d1825}
.footer{color:#99948b}
.login-page{background:#0b0c0f}
.login-showcase{
  background:
    radial-gradient(ellipse at 50% 34%,#8d18253d,transparent 54%),
    radial-gradient(ellipse at 50% 100%,#c8a45d10,transparent 42%),
    linear-gradient(140deg,#0a0b0e,#171317 68%,#0b0c0f);
  border-right:1px solid #c8a45d35;
}
.login-emblem{
  background:#0b0c0f;
  box-shadow:0 0 65px #a51e2c2b,0 0 0 1px #c8a45d85,0 0 0 8px #c8a45d0b;
}
.accent-rule{background:linear-gradient(90deg,#c8a45d,#f0dfb5)}
.login-showcase h1{letter-spacing:4px}
.login-panel{background:#f5f4f1}
.login-card{
  background:#fffdfa;border:1px solid #e7e0d3;border-radius:18px;
  padding:34px;box-shadow:0 18px 60px #17120b0c;
}
.login-card h2{color:#17181c}
.login-card .btn.primary{width:100%}
.login-note{border-color:#e8e1d5}
@media(max-width:880px){
  .sidebar{background:linear-gradient(180deg,#101115,#090a0c);border-bottom:1px solid #c8a45d35}
  .brand:after{bottom:5px}
  .navigation a.active{border:1px solid #c8a45d30;border-bottom:2px solid var(--gold)}
  .login-card{padding:28px}
}
@media(max-width:570px){
  .login-card{padding:24px 20px}
  .main{padding-top:24px}
}

/* Administração de usuários, auditoria e visualização de PDF */
.table-wrap{width:100%;overflow-x:auto}
.table-wrap table{width:100%;border-collapse:collapse}
.table-wrap th,.table-wrap td{padding:12px 14px;border-bottom:1px solid #ece7df;text-align:left;vertical-align:middle}
.table-wrap th{font-size:.78rem;text-transform:uppercase;letter-spacing:.7px;color:#826c47}
.inline-form{display:flex;gap:8px;min-width:230px}
.inline-form input{min-width:120px}
.danger{background:#8d1825;color:#fff;border:1px solid #8d1825}
.board-preview{margin-top:28px}
@media(max-width:700px){.inline-form{flex-direction:column}.table-wrap table{min-width:680px}}

.table-wrap{width:100%;overflow-x:auto}
.table-wrap table{width:100%;border-collapse:collapse}
.table-wrap th,.table-wrap td{padding:12px 14px;border-bottom:1px solid #ece7df;text-align:left;vertical-align:middle}
.table-wrap th{font-size:.78rem;text-transform:uppercase;letter-spacing:.7px;color:#826c47}
.inline-form{display:flex;gap:8px;min-width:230px}
.inline-form input{min-width:120px}
.danger{background:#8d1825;color:#fff;border:1px solid #8d1825}
.board-preview{margin-top:28px}
@media(max-width:700px){.inline-form{flex-direction:column}.table-wrap table{min-width:680px}}
