:root{--navy:#0f2e4d;--blue:#123b67;--line:#dce3ea;--bg:#f5f7fa;--text:#172334;--muted:#657386;--green:#08785b;--red:#b42318}*{box-sizing:border-box}html{font:16px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0}button,input,select{font:inherit}button,.button{border:0;border-radius:.75rem;background:var(--blue);color:#fff;padding:.72rem 1rem;font-weight:700;cursor:pointer}.button.secondary,button.secondary{background:#fff;color:var(--blue);border:1px solid var(--line)}button:disabled{opacity:.45;cursor:not-allowed}.layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:1rem;z-index:20}.brand{display:flex;align-items:center;gap:.8rem;padding:.3rem 0 1rem;border-bottom:1px solid #ffffff20}.brand strong,.brand small{display:block}.brand small,.side-note span{color:#b9d8f5;font-size:.8rem}.brand-mark{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.8rem;background:#fff;color:var(--blue);font-size:1.35rem;font-weight:900}nav{margin-top:1rem;display:grid;gap:.25rem}nav button{width:100%;text-align:left;background:transparent;color:#d8eafb;font-weight:600}nav button.active,nav button:hover{background:#fff;color:var(--blue)}.side-note{position:absolute;left:1rem;right:1rem;bottom:1rem;border-top:1px solid #ffffff20;padding-top:1rem}.side-note strong,.side-note span{display:block}main{min-width:0}header{height:80px;position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.6rem;background:#fffffff5;border-bottom:1px solid var(--line);z-index:10}header h1{font-size:1.35rem;margin:0}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#1763a6;margin:0}.user{text-align:right}.user strong,.user small{display:block}.user small{color:var(--muted)}.user a{font-size:.8rem;color:var(--blue)}#menu{display:none;background:transparent;color:var(--text);padding:.5rem;font-size:1.35rem}#content{max-width:1450px;margin:auto;padding:1.5rem 1.6rem 6rem}.page-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem}.page-head h2{font-size:1.7rem;margin:0}.page-head p,.muted{color:var(--muted);margin:.2rem 0}.badge{display:inline-block;border-radius:999px;padding:.22rem .55rem;background:#eaf2ff;color:#194f85;font-size:.78rem;font-weight:700}.badge.red{background:#fff0ee;color:var(--red)}.badge.green{background:#e8f7f1;color:var(--green)}.grid{display:grid;gap:1rem}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.2rem;box-shadow:0 2px 10px #15283b0a}.kpi .value{font-size:1.65rem;font-weight:800;margin:.45rem 0}.kpi small{color:var(--muted)}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem}.toolbar input,.toolbar select,label input,label select{min-height:42px;border:1px solid var(--line);border-radius:.65rem;padding:.55rem .7rem;background:#fff}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:1rem}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:.85rem;text-align:left;border-bottom:1px solid var(--line)}th{background:#f1f5f9;font-size:.82rem;color:#526174}td.money{text-align:right;font-weight:800}.positive{color:var(--green)}.negative{color:var(--red)}#new-entry{position:fixed;right:1.4rem;bottom:1.4rem;box-shadow:0 10px 30px #0f2e4d44}dialog{width:min(92vw,520px);border:0;border-radius:1rem;padding:1.5rem;box-shadow:0 30px 100px #0f172a55}dialog::backdrop{background:#0f172a99}dialog h2{margin-top:0}.close{float:right;background:transparent;color:var(--text);font-size:1.5rem;padding:.2rem}form{display:grid;gap:.9rem}label{display:grid;gap:.3rem;font-weight:700}.alert{padding:.8rem;border-radius:.7rem}.alert.error{background:#fff0ee;color:var(--red)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(145deg,#eef4fa,#fff)}.login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-radius:1.25rem;padding:2rem;box-shadow:0 24px 70px #0f2e4d18}.login-card h1{margin:.6rem 0}.login-card .brand-mark{margin-bottom:1rem}.report-links{grid-template-columns:repeat(2,minmax(0,1fr))}.report-links a{text-decoration:none;color:inherit}.empty{padding:2rem;text-align:center;color:var(--muted)}.queue-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.queue-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-card{position:relative}.queue-first{border:2px solid #1763a6}.queue-card-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.queue-position{font-size:.78rem;font-weight:800;color:#1763a6;text-transform:uppercase;letter-spacing:.04em}.queue-amount{font-size:1.7rem;font-weight:800;margin:.9rem 0}.queue-reason{padding:.65rem .8rem;border-radius:.65rem;background:#f1f5f9;font-weight:700}.queue-actions{display:flex;gap:.6rem;flex-wrap:wrap}.summary-lines p{display:flex;justify-content:space-between;gap:1rem}.summary-lines span{color:var(--muted)}@media(max-width:980px){.layout{display:block}aside{display:none;position:fixed;inset:0;width:min(82vw,300px)}aside.open{display:block}#menu{display:block}.kpis{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.queue-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{padding:0 .9rem}.user strong{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user small{display:none}#content{padding:1rem .9rem 6rem}.page-head{align-items:start;flex-direction:column}.kpis,.cards,.report-links,.queue-kpis,.queue-cards{grid-template-columns:1fr}.card{padding:1rem}#new-entry{right:.9rem;bottom:.9rem}.login-card{padding:1.35rem}.queue-actions{display:grid}.queue-actions button{width:100%}}@media(max-width:600px){header{height:auto;min-height:80px;padding:.75rem .9rem}.user strong{max-width:116px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;font-size:.86rem}#content{padding-bottom:7.5rem}.table-wrap{overflow:visible;background:transparent;border:0;border-radius:0}table{display:block;min-width:0}thead{display:none}tbody{display:grid;gap:.8rem}tr{display:block;background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 2px 10px #15283b0a;overflow:hidden}td{display:grid;grid-template-columns:minmax(105px,38%) 1fr;gap:.75rem;align-items:start;padding:.75rem .9rem}td::before{content:attr(data-label);font-size:.78rem;font-weight:800;color:#526174}td:last-child{border-bottom:0}td[data-label=""]{display:block}td[data-label=""]::before{display:none}td[data-label=""] button{width:100%}#new-entry{right:.9rem;bottom:max(.75rem,env(safe-area-inset-bottom));max-width:calc(100vw - 1.8rem);padding:.7rem .9rem;font-size:.92rem}}
.closing-table th,.closing-table td{text-align:center}
.settings-rules{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.setting-value{font-size:1.05rem;font-weight:800;margin-top:.45rem}.audit-toolbar{align-items:end}.audit-toolbar .badge{margin-bottom:.55rem}@media(max-width:980px){.settings-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.settings-rules{grid-template-columns:1fr}.audit-toolbar{display:grid}.audit-toolbar label,.audit-toolbar input,.audit-toolbar select{width:100%}}
.report-filter{margin-bottom:1rem}.report-filter .toolbar{margin:0}.report-filter-row{display:flex;align-items:end;justify-content:space-between;gap:1rem}.report-actions{display:flex;gap:.7rem;flex-wrap:wrap}.report-actions a{text-decoration:none}.report-totals{margin:1rem 0}.disabled-link{opacity:.45;pointer-events:none}@media(max-width:600px){.report-filter-row{display:grid}.report-actions{display:grid;grid-template-columns:1fr 1fr}.report-actions a{text-align:center}}
.user .change-password-link{margin-right:.7rem}.alert.success{background:#e8f7f1;color:var(--green)}.password-back{display:block;text-align:center;text-decoration:none}.password-cancel{text-align:center;color:var(--blue)}
.loan-kpis{margin-bottom:1rem}.loan-card{border-left:6px solid #1763a6}.loan-paid-off{background:#f0fbf6;border-color:#9dd8c4;box-shadow:0 4px 18px #08785b18}.loan-paid-off .badge.green{background:#08785b;color:#fff}.loan-paid-message{margin:1rem 0 0;padding:.8rem;border-radius:.7rem;background:#d9f4e8;color:#08644d;text-align:center}
.ledger-actions{display:flex;gap:.45rem;flex-wrap:wrap}@media(max-width:600px){.ledger-actions{display:grid}.ledger-actions button{width:100%}}

/* advance-ui-compact */
.payment-method-dialog:has(#advance-monthly-form){width:min(440px,calc(100vw - 24px));max-width:440px}
#advance-monthly-form{padding:22px;gap:10px}
#advance-monthly-form fieldset{padding:8px 14px 10px;margin:2px 0}
#advance-competences{display:grid;gap:2px}
#advance-competences label{display:flex;align-items:center;gap:10px;min-height:34px;margin:0;padding:5px 0;cursor:pointer}
#advance-competences input[type=checkbox]{appearance:auto;width:18px!important;height:18px!important;min-width:18px;margin:0!important;padding:0!important;flex:0 0 18px}
#advance-monthly-form h2{margin-bottom:4px}
#advance-monthly-form p{margin:4px 0}
@media(max-width:600px){.payment-method-dialog:has(#advance-monthly-form){width:calc(100vw - 20px)}#advance-monthly-form{padding:18px 16px}}

/* Mensalidades organizadas por mÃªs */
.monthly-actions{display:flex;justify-content:flex-end;margin:-10px 0 16px}
.monthly-months{display:grid;gap:12px}
.monthly-month{background:#fff;border:1px solid #d8e0eb;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(15,39,71,.04)}
.monthly-month>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;font-size:16px}
.monthly-month>summary::-webkit-details-marker{display:none}
.monthly-month>summary:after{content:'â€º';font-size:27px;line-height:1;transform:rotate(90deg);transition:.2s;color:#164979}
.monthly-month[open]>summary:after{transform:rotate(-90deg)}
.monthly-month>summary>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:150px}
.monthly-month>summary small{font-weight:400;color:#677489}
.monthly-counts{display:flex;align-items:center;gap:8px;margin-left:auto}
.monthly-counts b{font-size:12px;padding:6px 9px;border-radius:999px;background:#edf3fa;white-space:nowrap}
.monthly-counts .paid{color:#087553;background:#e4f7ef}
.monthly-counts .pending{color:#aa2525;background:#feecec}
.monthly-month .table-wrap{margin:0;border:0;border-top:1px solid #e2e8f0;border-radius:0}
@media(max-width:720px){.monthly-month>summary{align-items:flex-start;padding:14px}.monthly-counts{flex-wrap:wrap}.monthly-actions{margin-top:0}.monthly-month .table-wrap{overflow-x:auto}}
/* Assinatura LMR Junior */
.lmr-signature{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;margin:28px auto 82px;color:#6c7788;font-size:11px;letter-spacing:.02em;text-align:center;opacity:.68}
.lmr-signature img{display:block;width:64px;height:64px;object-fit:contain;border-radius:8px}
.lmr-signature strong{font-weight:700;color:#465367}
.login-card .lmr-signature{margin:24px auto 0;opacity:.62}
.login-card .lmr-signature img{width:58px;height:58px}
@media(min-width:901px){body:not(.login-page) .lmr-signature{max-width:260px;margin:30px auto 24px}}
/* Assinatura LMR: selo pequeno e discreto */
.lmr-signature {
  flex-direction: row !important;
  gap: 6px !important;
  width: auto !important;
  margin: 14px auto 8px !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  letter-spacing: .01em !important;
  opacity: .55 !important;
}
.lmr-signature img,
.login-card .lmr-signature img {
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  flex: 0 0 34px !important;
  border-radius: 5px !important;
}
.lmr-signature strong { font-weight: 600 !important; }
.login-card .lmr-signature { margin: 12px auto 0 !important; }
/* Assinatura discreta no rodape do menu azul */
.sidebar-lmr {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  color: rgba(255,255,255,.48);
  font-size: 9px;
  line-height: 1.15;
}
.sidebar-lmr img {
  display: block;
  width: 26px !important;
  height: 26px !important;
  max-width: 26px !important;
  flex: 0 0 26px;
  object-fit: contain;
  border-radius: 4px;
  opacity: .52;
}
.sidebar-lmr small { font-size: 9px; color: inherit; }
.sidebar-lmr b { font-weight: 600; color: rgba(255,255,255,.62); }
.raffle-result-box{display:grid;gap:.3rem;margin:.8rem 0;padding:.85rem;border-radius:.75rem;background:#eef8f4;border:1px solid #b9e3d3}.raffle-result-box strong{color:var(--green)}.raffle-result-box span{font-size:.9rem}.raffle-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.8rem 0}.raffle-values .raffle-winner-field{grid-column:1/-1}.raffle-edit{margin-top:.75rem}.raffle-edit summary{cursor:pointer;color:var(--blue)}@media(max-width:600px){.raffle-values{grid-template-columns:1fr}}
/* Arquivos das cartelas organizados por rifa */
.raffle-attachments{margin-top:14px;border-top:1px solid #e2e8f0;padding-top:12px}
.raffle-attachments>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}
.raffle-attachments>summary::-webkit-details-marker{display:none}
.raffle-general{display:block;width:100%;margin:12px 0 8px;text-align:center;box-sizing:border-box}
.raffle-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
.raffle-file{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid #dbe4ee;border-radius:10px;background:#f8fafc;color:#173a59;text-decoration:none;font-size:12px}
.raffle-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.raffle-file span b{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:5px;border-radius:7px;background:#e5f0fa;color:#174a75}
.raffle-file strong{font-size:10px;white-space:nowrap;color:#25648f}
@media(max-width:600px){.raffle-file-list{grid-template-columns:1fr}.raffle-file{padding:8px 9px}}
/* Ajuste dos campos de edicao das rifas - 2026-09-14 */
.raffle-values,
.raffle-values > *,
.raffle-values label {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.raffle-values input,
.raffle-values select,
.raffle-values textarea {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  .raffle-values {
    grid-template-columns: 1fr;
  }
}

/* Rifas: quatro cartões por linha no desktop */
@media (min-width: 1180px) {
  .toolbar + .grid.cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .toolbar + .grid.cards > .card { min-width: 0; padding: 1rem; }
  .toolbar + .grid.cards .raffle-values { grid-template-columns: 1fr; }
}

/* Componentes: cartões compactos e grade mais densa */
@media (min-width: 1180px) {
  .grid.cards.component-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .component-summary > .card { min-width: 0; padding: 0.85rem; font-size: 0.88rem; }
  .component-summary > .card h3 { margin: 0.55rem 0 0.25rem; font-size: 1.05rem; }
  .component-summary > .card > .muted { margin: 0.25rem 0; }
  .component-summary .summary-lines { margin-top: 0.65rem; }
  .component-summary .summary-lines p { gap: 0.45rem; margin: 0.34rem 0; line-height: 1.25; }
  .component-summary details { margin-top: 0.65rem; padding-top: 0.55rem; }
}

/* Empréstimos: quatro cartões compactos por linha no desktop */
@media (min-width: 1180px) {
  .loan-kpis + .grid.cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .loan-kpis + .grid.cards > .loan-card { min-width: 0; padding: 0.85rem; font-size: 0.82rem; }
  .loan-kpis + .grid.cards > .loan-card h3 { margin: 0.65rem 0 0.45rem; font-size: 1.02rem; }
  .loan-kpis + .grid.cards > .loan-card h2 { margin: 0.55rem 0; font-size: 1.28rem; }
  .loan-kpis + .grid.cards > .loan-card p { margin: 0.5rem 0; line-height: 1.35; }
  .loan-kpis + .grid.cards > .loan-card label { margin-top: 0.38rem; }
  .loan-kpis + .grid.cards > .loan-card select,
  .loan-kpis + .grid.cards > .loan-card input { width: 100%; padding: 0.52rem 0.58rem; font-size: 0.84rem; }
  .loan-kpis + .grid.cards > .loan-card button { width: 100%; padding: 0.65rem 0.45rem; font-size: 0.82rem; }
}
