:root{
  --blue-950:#061d59;--blue-900:#082d8c;--blue-800:#0b43b9;--blue-700:#0c63d9;--blue-600:#1688f1;--blue-500:#2b9bf4;
  --orange-700:#ea2d06;--orange-600:#ff4a08;--orange-500:#ff7513;--orange-400:#ffa11a;
  --green-600:#2da83f;--green-500:#59c934;--ink:#152238;--muted:#6e7b8f;--line:#e7ecf4;--bg:#f5f8fc;
  --white:#fff;--danger:#df3434;--warn:#e8a11b;--shadow:0 12px 35px rgba(19,47,94,.09);--radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.auth-body{min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(21,122,238,.18),transparent 34%),radial-gradient(circle at 80% 80%,rgba(255,87,8,.17),transparent 30%),linear-gradient(135deg,#03194f,#06349b 52%,#082b7c);display:grid;place-items:center;padding:28px}.auth-shell{width:min(1050px,100%);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:54px}.auth-brand{text-align:center}.auth-brand img{width:min(560px,100%);filter:drop-shadow(0 18px 24px rgba(0,0,0,.3))}.auth-tagline{color:#dbe9ff;font-size:17px;margin-top:12px}.auth-card{background:#fff;padding:36px;border-radius:26px;box-shadow:0 28px 90px rgba(0,0,0,.28)}.auth-card.wide{max-width:760px}.auth-card h1{font-size:30px;margin:4px 0 8px}.auth-card p{color:var(--muted);margin:0 0 24px}.eyebrow{font-size:12px;font-weight:800;color:var(--orange-600);letter-spacing:.14em}.login-note{margin-top:18px;color:var(--muted);font-size:13px;text-align:center}
label{display:block;font-size:13px;font-weight:700;color:#46536a;margin-bottom:14px}input,select,textarea{display:block;width:100%;border:1px solid #dfe6f0;background:#fff;border-radius:12px;padding:12px 13px;margin-top:6px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(22,136,241,.12)}textarea{min-height:94px;resize:vertical}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.btn.primary{background:linear-gradient(135deg,var(--blue-700),var(--blue-500));color:#fff;box-shadow:0 9px 20px rgba(12,99,217,.22)}.btn.orange{background:linear-gradient(135deg,var(--orange-700),var(--orange-500));color:#fff}.btn.ghost{background:#eef4fb;color:var(--blue-800)}.btn.danger{background:#fff0f0;color:var(--danger)}.btn.small{padding:8px 10px;font-size:12px}.btn.full{width:100%}.btn:hover{transform:translateY(-1px)}
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--blue-950),var(--blue-900) 62%,#0a3cb0);color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand-mini{padding:10px 8px 20px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px;text-align:center}.brand-mini img{max-width:205px;max-height:92px;object-fit:contain}.nav-title{font-size:10px;letter-spacing:.12em;color:#9bb9ef;padding:14px 10px 7px;font-weight:800}.nav a{display:flex;gap:11px;align-items:center;padding:11px 12px;border-radius:12px;color:#dbe8ff;margin:3px 0;font-size:14px;font-weight:650}.nav a:hover,.nav a.active{background:linear-gradient(90deg,rgba(255,112,10,.96),rgba(255,65,5,.88));color:#fff}.nav .ico{width:23px;text-align:center;font-size:16px}.sidebar-footer{margin-top:18px;padding:14px;border-top:1px solid rgba(255,255,255,.12);color:#b9cff5;font-size:12px}.content{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.page-title{font-size:20px;font-weight:850}.top-user{display:flex;align-items:center;gap:11px}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--orange-600),var(--orange-400));color:#fff;display:grid;place-items:center;font-weight:900}.main{padding:24px;max-width:1600px;margin:auto}.mobile-toggle{display:none;border:0;background:#eef4fb;border-radius:10px;padding:9px}.muted{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.card{background:#fff;border:1px solid #edf1f7;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.metric{position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:75px;height:75px;border-radius:50%;right:-24px;top:-24px;background:rgba(12,99,217,.08)}.metric .label{color:var(--muted);font-size:12px;font-weight:750}.metric .value{font-size:23px;font-weight:900;margin-top:8px;letter-spacing:-.03em}.metric .sub{font-size:11px;color:#91a0b6;margin-top:5px}.metric.orange .value{color:var(--orange-600)}.metric.green .value{color:var(--green-600)}.metric.red .value{color:var(--danger)}.metric.blue .value{color:var(--blue-700)}.metric.net{background:linear-gradient(135deg,#082e8e,#0b64d8);color:#fff}.metric.net .label,.metric.net .sub{color:#cfe0ff}.metric.net .value{color:#fff}
.grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title h2{font-size:17px;margin:0}.section-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:700px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8491a5;border-bottom:1px solid var(--line);padding:11px 10px}.table td{padding:12px 10px;border-bottom:1px solid #eef2f7;font-size:13px;vertical-align:middle}.table tr:hover td{background:#fbfdff}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.badge.success{background:#eaf8ed;color:#278637}.badge.warning{background:#fff5df;color:#a56a00}.badge.danger{background:#ffeded;color:#c72727}.badge.info{background:#eaf3ff;color:#1764c4}.badge.muted{background:#eef0f3;color:#6c7480}.actions{display:flex;gap:6px;flex-wrap:wrap}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.toolbar .filters{display:flex;gap:9px;flex-wrap:wrap}.toolbar input,.toolbar select{margin:0;min-width:150px}.search{max-width:320px}
.alert{padding:12px 14px;border-radius:12px;margin:0 0 16px;font-size:13px;font-weight:650}.alert.success{background:#e8f8ec;color:#247e34}.alert.danger{background:#ffeded;color:#b71f1f}.alert.warning{background:#fff5dd;color:#996100}.empty{text-align:center;padding:38px;color:var(--muted)}.empty .emoji{font-size:34px;margin-bottom:8px}.divider{height:1px;background:var(--line);margin:18px 0}.stat-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px}.stat-row strong{font-size:14px}.hero-client{background:linear-gradient(135deg,#06266e,#0b64d8 65%,#1688f1);color:#fff;border-radius:22px;padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden;position:relative}.hero-client:after{content:"";position:absolute;width:220px;height:220px;border:38px solid rgba(255,255,255,.06);border-radius:50%;right:-80px;top:-120px}.hero-client h1{margin:0 0 5px;font-size:28px}.hero-client p{margin:0;color:#cee0ff}.boat-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:10px 14px;border-radius:13px;position:relative;z-index:2}.pix-box{text-align:center}.pix-qr{max-width:270px;width:100%;background:#fff;padding:12px;border-radius:16px;border:1px solid var(--line)}.copy-box{display:flex;gap:8px;margin-top:10px}.copy-box input{margin:0;font-family:monospace;font-size:11px}.chart-holder{height:280px}.footer-note{text-align:center;color:#93a0b2;font-size:11px;padding:20px}
.modal{position:fixed;inset:0;background:rgba(3,16,44,.58);display:none;place-items:center;padding:18px;z-index:100}.modal.open{display:grid}.modal-card{background:#fff;border-radius:20px;padding:22px;width:min(720px,100%);max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h3{margin:0}.close-modal{border:0;background:#eef2f7;border-radius:10px;width:36px;height:36px}.kpi-line{display:flex;gap:10px;flex-wrap:wrap}.kpi-pill{background:#f1f6fc;padding:9px 11px;border-radius:11px;font-size:12px}.logo-watermark{height:42px;object-fit:contain}
@media(max-width:1250px){.cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;z-index:80;width:260px;transition:.25s}.sidebar.open{left:0}.mobile-toggle{display:block}.topbar{padding:0 14px}.main{padding:16px}.grid-2,.grid-3{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-brand img{max-height:240px}.auth-tagline{display:none}.auth-card{max-width:520px;margin:auto;width:100%}}
@media(max-width:640px){.cards{grid-template-columns:1fr 1fr;gap:10px}.metric .value{font-size:19px}.card{padding:14px}.form-grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.toolbar{align-items:stretch;flex-direction:column}.toolbar .filters{width:100%}.toolbar .filters>*{flex:1}.top-user .user-copy{display:none}.hero-client{align-items:flex-start;flex-direction:column}.auth-body{padding:15px}.auth-card{padding:24px}.auth-brand img{max-height:170px}.page-title{font-size:17px}}

/* ===== V1.3 - Mensalidades do cliente / Pix em modal ===== */
html,body{max-width:100%;overflow-x:hidden}.app,.content,.main{max-width:100%}.modal-lock{overflow:hidden}
.client-invoice-page{width:100%;max-width:100%;min-width:0}.invoice-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:2px 0 14px}.invoice-section-heading h2{font-size:24px;margin:3px 0 4px;letter-spacing:-.03em}.invoice-section-heading p{margin:0;color:var(--muted);font-size:13px}
.invoice-open-list{display:grid;gap:14px;margin-bottom:22px}.invoice-open-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:stretch;background:linear-gradient(135deg,#fff 0%,#f7fbff 68%,#edf5ff 100%);border:1px solid #dce9fb;border-left:6px solid var(--blue-700);border-radius:22px;box-shadow:0 14px 34px rgba(22,67,137,.10);padding:22px;overflow:hidden}.invoice-open-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-80px;top:-90px;background:rgba(19,113,224,.07);pointer-events:none}.invoice-open-card.overdue{border-left-color:var(--danger);background:linear-gradient(135deg,#fff 0%,#fff9f8 68%,#fff1ee 100%)}.invoice-open-card.today{border-left-color:var(--orange-500)}.invoice-open-main,.invoice-open-pay{position:relative;z-index:1}.invoice-open-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.invoice-open-kicker{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.11em;color:var(--blue-700);margin-bottom:5px}.invoice-open-title-row h3{font-size:23px;margin:0;letter-spacing:-.025em}.invoice-open-meta{display:flex;gap:32px;flex-wrap:wrap;margin-top:22px}.invoice-open-meta>div{display:grid;gap:3px}.invoice-open-meta span,.invoice-amount-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8391a6;font-weight:800}.invoice-open-meta strong{font-size:13px;color:#31425b}.invoice-open-pay{min-width:210px;padding-left:24px;border-left:1px solid #dde7f3;display:flex;flex-direction:column;align-items:flex-end;justify-content:center}.invoice-open-amount{font-size:31px;line-height:1.1;font-weight:950;letter-spacing:-.04em;color:var(--blue-900);margin:5px 0 14px}.invoice-pay-button{min-width:170px}.invoice-all-paid{display:flex;gap:15px;align-items:center;margin-bottom:22px;border-left:5px solid var(--green-500)}.invoice-all-paid-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e7f8eb;color:var(--green-600);font-size:26px;font-weight:950;flex:0 0 auto}.invoice-all-paid h2{margin:0 0 4px;font-size:19px}.invoice-all-paid p{margin:0;color:var(--muted);font-size:13px}.invoice-history-card{min-width:0}.invoice-history-wrap{max-width:100%;overflow:visible}.invoice-history-table{min-width:0}.history-paid-date{font-weight:650;color:#33445d;margin-bottom:2px}
.pix-modal-card{width:min(510px,calc(100vw - 28px));padding:24px;overflow:hidden}.pix-modal-card .modal-head{align-items:flex-start}.pix-modal-card .modal-head h3{margin-top:4px;font-size:20px}.pix-loading-state{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#263a56}.pix-loading-state span{font-size:13px;color:var(--muted)}.pix-spinner{width:48px;height:48px;border:4px solid #e4edf8;border-top-color:var(--blue-600);border-radius:50%;animation:pixSpin .85s linear infinite;margin-bottom:7px}@keyframes pixSpin{to{transform:rotate(360deg)}}.pix-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f3f7fc;border:1px solid #e4ebf5;border-radius:14px;padding:12px 14px;margin-bottom:15px}.pix-summary span{color:#5e6f87;font-size:13px;font-weight:750}.pix-summary strong{font-size:22px;color:var(--blue-900);white-space:nowrap}.pix-qr-shell{text-align:center}.pix-qr-shell .pix-qr{width:min(250px,78vw);max-width:250px}.pix-instruction{text-align:center;color:#607087;font-size:12px;line-height:1.5;max-width:390px;margin:10px auto 13px}.pix-copy-label{margin:0 0 7px;font-size:12px}.pix-copy-box{width:100%}.pix-copy-box input{min-width:0;overflow:hidden;text-overflow:ellipsis}.pix-waiting{display:flex;gap:11px;align-items:center;background:#eef6ff;border:1px solid #dbeafb;border-radius:14px;padding:12px 14px;margin-top:14px;text-align:left}.pix-status-dot{width:11px;height:11px;flex:0 0 auto;border-radius:50%;background:var(--orange-500);box-shadow:0 0 0 0 rgba(255,117,19,.45);animation:pixPulse 1.7s infinite}@keyframes pixPulse{70%{box-shadow:0 0 0 10px rgba(255,117,19,0)}100%{box-shadow:0 0 0 0 rgba(255,117,19,0)}}.pix-waiting strong{display:block;font-size:13px}.pix-waiting small{display:block;color:#66768c;font-size:11px;line-height:1.45;margin-top:2px}.payment-success-card{width:min(390px,calc(100vw - 28px));text-align:center;padding:34px 26px}.payment-success-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e5f8ea;color:var(--green-600);font-size:42px;font-weight:950;margin:0 auto 14px}.payment-success-card h3{font-size:23px;margin:0 0 7px}.payment-success-card p{margin:0 0 7px;color:#40516a;font-weight:650}.payment-success-card span{font-size:12px;color:var(--muted)}
@media(max-width:700px){.pix-check-now{display:flex;width:min(220px,100%);margin-left:auto;margin-right:auto}.main{width:100%;padding:14px 12px}.invoice-section-heading{margin-top:0}.invoice-section-heading h2{font-size:21px}.invoice-open-card{grid-template-columns:1fr;gap:17px;padding:17px;border-radius:18px}.invoice-open-title-row{gap:10px}.invoice-open-title-row h3{font-size:20px}.invoice-open-meta{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px}.invoice-open-pay{min-width:0;padding:16px 0 0;border-left:0;border-top:1px solid #dde7f3;align-items:stretch}.invoice-amount-label{text-align:left}.invoice-open-amount{font-size:28px;margin-bottom:12px}.invoice-pay-button{width:100%;min-width:0}.invoice-history-card{padding:13px}.invoice-history-wrap{overflow:visible}.invoice-history-table,.invoice-history-table tbody,.invoice-history-table tr,.invoice-history-table td{display:block;width:100%}.invoice-history-table thead{display:none}.invoice-history-table tr{border:1px solid #e6edf6;border-radius:15px;padding:5px 12px;margin-bottom:10px;background:#fff}.invoice-history-table tr:last-child{margin-bottom:0}.invoice-history-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #edf2f7;text-align:right;min-width:0;overflow-wrap:anywhere}.invoice-history-table td:last-child{border-bottom:0}.invoice-history-table td:before{content:attr(data-label);flex:0 0 92px;text-align:left;color:#8491a5;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:850}.invoice-history-table td>*{max-width:calc(100% - 106px)}.history-paid-date{font-size:12px}.pix-modal-card{padding:18px 15px;max-height:94vh}.pix-modal-card .modal-head h3{font-size:18px}.pix-summary{padding:10px 12px}.pix-summary strong{font-size:19px}.copy-box.pix-copy-box{flex-direction:column}.pix-copy-box .btn{width:100%}.pix-copy-box input{width:100%;font-size:10px}.pix-waiting{padding:11px}.modal{padding:10px}.topbar{width:100%;max-width:100%}.content{overflow-x:hidden}}

/* V1.5 - conferência manual do Pix */
.pix-check-now{display:flex;width:min(100%,220px);margin:14px auto 0;justify-content:center;padding:12px 22px;border-radius:14px;box-shadow:0 12px 28px rgba(12,99,217,.22)}
.pix-check-now:hover{box-shadow:0 14px 30px rgba(12,99,217,.28)}
.pix-check-now:disabled{opacity:.65;cursor:wait}
