:root{--bg:#101112;--panel:#191b1e;--panel2:#202327;--line:#2c3035;--text:#f4f5f6;--muted:#9ba2aa;--accent:#f2c94c;--green:#58d6a2;--red:#ff7878;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:36px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.lock-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:22px;background:radial-gradient(ellipse at top,#2b281b 0,#101112 52%)}.lock-card{width:min(420px,100%);background:#191b1e;border:1px solid #34363a;border-radius:24px;padding:28px 23px;text-align:center;box-shadow:0 24px 90px #0007}.brand-mark{margin:0 auto 18px;width:68px;height:68px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:20px;color:var(--accent);font-size:22px;font-weight:950;letter-spacing:2px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:850}.lock-card h1{margin:8px 0 9px;font-size:30px}.lock-card h1 span,.topbar h1 span{color:var(--accent)}.muted{color:var(--muted);font-size:13px;margin:0 0 6px}.lock-card form{text-align:left;margin-top:24px}.lock-card label,form label{display:block;color:#c7ccd1;font-size:12px;font-weight:700;margin-bottom:15px}.lock-card input,form input,form select,form textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;background:#101112;border:1px solid #35393e;border-radius:11px;color:var(--text);outline:none}.primary,.secondary,.text-btn{border-radius:12px;padding:12px 15px;font-size:13px;font-weight:750;border:1px solid transparent}.primary{background:var(--accent);color:#1b1b1b}.secondary{background:var(--panel2);border-color:var(--line);color:var(--text)}.full{width:100%}.text-btn{margin-top:10px;background:transparent;color:var(--accent)}.footnote{font-size:11px;line-height:1.55;color:var(--muted);margin-top:18px}.topbar{padding:calc(18px + env(safe-area-inset-top)) 20px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#141516}.topbar h1{margin:5px 0 0;font-size:25px;letter-spacing:-.8px}.top-actions{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border-radius:13px;background:var(--panel2);border:1px solid var(--line);color:var(--accent);font-size:21px}.tabs{display:flex;gap:4px;padding:10px 12px;overflow:auto;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(16,17,18,.96);z-index:2}.tab{white-space:nowrap;border:0;background:transparent;color:var(--muted);padding:11px 14px;border-radius:12px;font-weight:650;font-size:13px}.tab.active{background:var(--accent);color:#171717}main{max-width:1050px;margin:0 auto;padding:24px 18px}.view{display:none}.view.active{display:block}.welcome,.section-head,.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.welcome{margin-bottom:18px}.welcome h2,.section-head h2,main h2{margin:0;font-size:24px;letter-spacing:-.5px}.section-head{margin:24px 0 15px}.section-head h3{margin:0 0 5px;font-size:18px}.offline-pill{font-size:11px;color:var(--green);background:#153026;padding:8px 10px;border-radius:20px;white-space:nowrap}.offline-pill i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat{background:linear-gradient(145deg,#1d2023,#17191b);border:1px solid var(--line);border-radius:18px;padding:17px 15px;min-width:0}.stat span{display:block;color:var(--muted);font-size:12px;margin-bottom:12px}.stat strong{font-size:clamp(19px,4vw,26px);display:block;overflow-wrap:anywhere;letter-spacing:-.7px}.stat small{display:block;color:#777f87;font-size:11px;margin-top:7px}.list-card{display:flex;flex-direction:column;gap:9px}.empty{padding:26px 16px;border:1px dashed #393d42;border-radius:15px;text-align:center;color:var(--muted);font-size:13px}.row-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);border:1px solid var(--line);padding:15px;border-radius:15px}.row-main{min-width:0;flex:1}.row-title{font-weight:750;font-size:14px;overflow-wrap:anywhere}.row-sub{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}.row-right{text-align:right;flex-shrink:0}.money{font-weight:800;font-size:14px}.badge{display:inline-block;font-size:10px;font-weight:800;padding:5px 8px;border-radius:20px;margin-top:6px;background:#292d31;color:#c8cdd2}.badge.late{background:#3a2020;color:var(--red)}.badge.paid{background:#163529;color:var(--green)}.badge.open{background:#3a321b;color:var(--accent)}.row-actions{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.mini-btn{background:#272a2e;color:var(--text);border:1px solid #373b40;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:700}.mini-btn.pay{color:var(--green)}.notice{margin-top:18px;padding:15px 16px;border-radius:14px;background:#282419;border:1px solid #51462b;font-size:12px;color:#ddd1a8;line-height:1.6}.notice p{margin:5px 0 0}.search{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);margin-bottom:14px;outline:none}.filters{display:flex;gap:7px;overflow:auto;margin-bottom:14px}.filter{border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:9px 13px;border-radius:20px;white-space:nowrap;font-size:12px}.filter.active{background:#39321d;color:var(--accent);border-color:#6d5b26}.text-btn{padding:8px 0;background:transparent;color:var(--accent)}.action-stack{display:flex;flex-direction:column;gap:10px;margin-top:14px}.action-stack>*{width:100%;text-align:center}.file-label{display:block;cursor:pointer}.file-label input{display:none}.report-stats{margin-top:20px}dialog{width:min(520px,calc(100% - 24px));max-height:90vh;overflow:auto;background:#17191b;color:var(--text);border:1px solid #3a3e43;border-radius:20px;padding:21px;box-shadow:0 25px 100px #000b}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-head{margin-bottom:22px}.dialog-head h2{font-size:22px;margin:0}.close{background:var(--panel2);border:1px solid var(--line);color:var(--muted);font-size:24px;width:36px;height:36px;border-radius:10px;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:22px}.form-actions button{flex:1}.preview{padding:13px;border-radius:12px;background:#252318;color:#f2d77c;font-size:12px;line-height:1.6}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#f2c94c;color:#161616;padding:12px 18px;border-radius:12px;font-size:13px;font-weight:800;transition:.2s;z-index:10;max-width:calc(100% - 30px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:720px){main{padding:32px 28px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.topbar{padding-left:max(28px,calc((100% - 994px)/2));padding-right:max(28px,calc((100% - 994px)/2))}.tabs{justify-content:center}.tab{padding-left:22px;padding-right:22px}}@media(max-width:420px){.welcome{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.row-card{align-items:flex-start}.section-head{align-items:flex-start}.section-head .primary{padding:10px;font-size:12px}}
.feature-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin:18px 0}.feature-card label{display:block;color:var(--muted);font-size:12px;margin-bottom:12px}.feature-card input,.feature-card select{display:block;width:100%;margin-top:7px;background:#101112;color:#fff;border:1px solid #393939;border-radius:10px;padding:12px}#receipts .list-card{margin:12px 0 24px}

.cc-extra-stats{margin:14px 0}.cc-extra-stats .stat strong{overflow-wrap:anywhere}#clientHistory{margin-top:18px}#dueAlerts{line-height:1.9;margin-bottom:14px}

/* Conta Certa: painel visual de vencimentos */
#dueAlerts.feature-card{padding:0;background:transparent;border:0;margin:12px 0 14px}
.alert-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.alert-summary{min-width:0;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-radius:19px;padding:15px 12px;background:linear-gradient(155deg,#25282b,#191b1e);border:1px solid #36393e;color:var(--text);box-shadow:0 8px 22px #0002;transition:transform .15s,border-color .15s}
.alert-summary:active{transform:scale(.98)}.alert-summary.selected{border-color:var(--accent);box-shadow:0 0 0 1px #f2c94c44}
.alert-summary.late{background:linear-gradient(155deg,#382326,#1b1b1d);border-color:#63363c}.alert-summary.today{background:linear-gradient(155deg,#382e20,#1b1b1d);border-color:#695333}.alert-summary.tomorrow{background:linear-gradient(155deg,#342f1d,#1b1b1d);border-color:#65572c}
.alert-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#ffffff12;font-size:18px;font-weight:900;color:var(--accent)}.late .alert-icon{color:#ff9299}.today .alert-icon{color:#ffb96b}
.alert-summary strong{font-size:clamp(26px,5vw,36px);line-height:1.1;letter-spacing:-1px}.alert-label{font-weight:800;font-size:12px;line-height:1.25}.alert-summary small{font-size:10px;color:#adb0b5;line-height:1.35}
.alert-hint{color:var(--muted);font-size:11px;padding:12px 3px 0;line-height:1.5}
.alert-list-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;color:var(--accent);padding:7px 2px 4px}.alert-list-head span:last-child{color:var(--muted);font-weight:600}
.alert-entry{background:linear-gradient(145deg,#1e2023,#191b1e);border:1px solid var(--line);border-radius:16px;padding:15px}.alert-entry.is-late{border-left:3px solid var(--red)}.alert-entry-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.alert-entry-top strong{white-space:nowrap;font-size:14px;color:var(--accent)}.alert-entry-name{font-size:14px;font-weight:800}.alert-entry-date{color:var(--muted);font-size:12px;margin-top:6px;line-height:1.5}.alert-open{margin-top:12px;background:#292a25;color:var(--accent);border:1px solid #4d452b;border-radius:10px;padding:9px 12px;font-weight:750;font-size:12px;width:100%;display:flex;justify-content:space-between}
@media(max-width:390px){.alert-overview{gap:7px}.alert-summary{padding:12px 9px}.alert-summary small{font-size:9px}.alert-label{font-size:11px}}

/* Conta Certa 2.2 — painel premium dos detalhes de contrato */
#detailDialog{width:min(600px,calc(100% - 18px));padding:18px;max-height:92dvh}
#detailDialog .dialog-head{margin-bottom:14px}
#detailDialog .form-actions{position:sticky;bottom:-18px;background:#17191b;padding:13px 0 18px;margin-top:14px;border-top:1px solid var(--line)}
.contract-hero{padding:20px;border-radius:20px;background:linear-gradient(140deg,#303023,#191b1e 60%,#151618);border:1px solid #65532b;margin-bottom:13px}
.contract-hero-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.contract-eyebrow,.contract-inst-kicker{font-size:10px;letter-spacing:1.3px;color:var(--accent);font-weight:850}
.contract-hero h3{font-size:22px;margin:14px 0 4px;overflow-wrap:anywhere}.contract-hero p{font-size:12px;color:var(--muted);margin:0}
.contract-status{padding:6px 9px;border-radius:99px;font-size:11px;font-weight:800}.contract-status.ongoing{background:#4b3c1d;color:#f6d77a}.contract-status.overdue{background:#4d2424;color:#ff9c9c}.contract-status.success{background:#173e31;color:#79e3b4}
.contract-hero-balance{margin-top:22px;padding-top:14px;border-top:1px solid #ffffff20}.contract-hero-balance span{display:block;color:#d0c6a9;font-size:12px}.contract-hero-balance strong{display:block;color:var(--accent);font-size:clamp(25px,6vw,33px);margin-top:5px;overflow-wrap:anywhere}
.contract-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.contract-metric{background:#202327;border:1px solid #35393e;border-radius:15px;padding:14px 12px;min-width:0}.contract-metric span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.contract-metric strong{font-size:clamp(15px,3.8vw,19px);overflow-wrap:anywhere}.contract-metric.green strong{color:var(--green)}
.contract-progress{background:#202327;border:1px solid var(--line);padding:15px;border-radius:15px;margin-top:10px}.contract-progress-head{display:flex;justify-content:space-between;gap:8px;font-size:12px}.contract-progress-head span,.contract-progress small{color:var(--muted)}.contract-track{height:8px;border-radius:10px;background:#36393b;overflow:hidden;margin:12px 0 7px}.contract-track i{display:block;height:100%;background:linear-gradient(90deg,#a88225,var(--accent));border-radius:10px}
.contract-section-title{display:flex;align-items:center;justify-content:space-between;margin:23px 2px 12px;gap:10px}.contract-section-title h3{margin:0;font-size:17px}.contract-section-title>span{font-size:11px;color:var(--muted)}.contract-info{background:#202327;border:1px solid var(--line);border-radius:15px;padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.contract-info-full{grid-column:1/-1}.contract-info span,.contract-inst-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.contract-info strong,.contract-inst-grid strong{font-size:13px;overflow-wrap:anywhere}.contract-disclaimer{font-size:11px;line-height:1.5;color:var(--muted);margin:0 2px 12px}
.contract-installments{display:grid;gap:11px}.contract-installment{background:linear-gradient(150deg,#222529,#1a1c1f);border:1px solid #35393e;border-radius:17px;padding:15px}.contract-installment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.contract-installment h4{font-size:14px;margin:5px 0 0}.contract-inst-status{border-radius:30px;padding:6px 9px;font-size:10px;font-weight:800;background:#38301e;color:var(--accent);white-space:nowrap}.contract-inst-status.late{background:#472626;color:#ff9999}.contract-inst-status.paid{background:#173e31;color:#79e3b4}.contract-inst-amount{font-size:23px;font-weight:850;margin:16px 0}.contract-inst-amount small{font-size:11px;color:var(--muted);display:block;font-weight:500;margin-top:3px}.contract-inst-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #ffffff14;padding-top:12px}
.contract-actions{display:grid;gap:9px}.contract-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:43px;padding:11px 14px;border-radius:12px;font-weight:800;font-size:13px;border:1px solid #5a4b27;background:#30291c;color:var(--accent)}.contract-action span{margin-left:auto;font-size:19px}.contract-edit{background:var(--accent);color:#1b1b1b;border-color:var(--accent)}.contract-delete{background:#2d1b1d;border-color:#663237;color:#ff9898}.installment-edit{margin-top:15px;background:#30291c}.contract-locked{font-size:11px;color:var(--muted);padding-top:14px;margin-top:13px;border-top:1px solid #ffffff14}
@media(max-width:380px){#detailDialog{padding:13px}.contract-hero{padding:15px}.contract-installment{padding:12px}}

/* Cartão premium de crédito */
.credit-card{margin:12px 0;padding:16px;border:1px solid rgba(226,184,76,.42);border-radius:17px;background:linear-gradient(130deg,#24221d,#121212);color:#f5eee0;box-shadow:0 7px 22px #0002}.credit-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.credit-top span{font-size:10px;letter-spacing:1.3px;color:#e7c66c}.credit-top strong{font-size:19px;color:#f5d47b}.credit-track{height:8px;background:#4b463b;border-radius:12px;overflow:hidden;margin:14px 0 10px}.credit-track>div{height:100%;background:linear-gradient(90deg,#c99a35,#ffdf82);border-radius:12px}.credit-grid{display:flex;justify-content:space-between;gap:12px;font-size:12px}.credit-grid b{display:block;font-size:14px;margin-top:4px}.credit-card small{display:block;color:#c8bfae;font-size:10px;line-height:1.5;margin-top:12px}.credit-edit{margin-top:12px}

/* Conta Certa 2.4 — identidade premium nas telas de acesso e cadastro */
.lock-screen{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 8%,#4a3c1e 0%,#1b1b1b 35%,#0c0d0e 76%);padding:calc(24px + env(safe-area-inset-top)) 18px 30px}
.lock-screen:before,.lock-screen:after{content:"";position:absolute;width:330px;height:330px;border:1px solid #d4ae4b20;border-radius:50%;pointer-events:none}
.lock-screen:before{top:-230px;right:-90px;box-shadow:0 0 0 70px #d4ae4b06,0 0 0 135px #d4ae4b04}
.lock-screen:after{bottom:-260px;left:-130px;box-shadow:0 0 0 70px #d4ae4b05}
.lock-card{position:relative;z-index:1;overflow:hidden;border:1px solid #78632f;background:linear-gradient(155deg,#24221e,#161719 58%,#131415);border-radius:27px;padding:38px 25px 27px;box-shadow:0 25px 95px #000a,0 0 45px #d5aa3810}
.lock-shine{height:3px;position:absolute;top:0;left:18%;right:18%;background:linear-gradient(90deg,transparent,#f2c94c,transparent)}
.lock-card .brand-mark{width:83px;height:83px;border-radius:25px;background:linear-gradient(145deg,#5b4820,#201d17);box-shadow:0 10px 32px #0007,0 0 0 6px #d9b54a13;font-size:27px;margin-bottom:25px}
.lock-card .eyebrow{font-size:10px;letter-spacing:2.1px}.lock-card h1{font-size:38px;letter-spacing:-1.4px;margin:12px 0 5px}.lock-tagline{color:#d8d1bd;font-size:13px;margin:0 0 22px}.lock-security{border:1px solid #66532e;background:#3c321e60;color:#e4c875;font-size:10px;font-weight:800;letter-spacing:.5px;border-radius:30px;padding:10px 12px}.lock-security span{margin-right:5px}.lock-security-dot{margin:0 6px!important;color:#a88d4d}.lock-card form{margin-top:26px}.lock-card input{padding:15px;border-color:#4d4534;border-radius:13px;background:#101112}.lock-card input:focus,#clientDialog input:focus,#clientDialog textarea:focus{border-color:#e5be53;box-shadow:0 0 0 3px #f2c94c19}.lock-enter{margin-top:7px;min-height:49px;background:linear-gradient(110deg,#b88b2c,#f7d974 55%,#d3a73d);box-shadow:0 9px 25px #e6ba3b20}.lock-enter span{float:right;font-size:17px}.lock-card .footnote{margin-top:25px;font-size:10px;line-height:1.6}
#clientDialog{border:1px solid #5e4e2b;border-radius:23px;padding:0 0 18px;max-height:92dvh}#clientDialog #clientForm{padding:0 21px 10px}#clientDialog .client-dialog-head{margin:0 -21px 20px;padding:26px 21px 24px;background:linear-gradient(145deg,#3c3220,#1b1c1e 75%);border-bottom:1px solid #65512d;align-items:flex-start}#clientDialog .client-dialog-head h2{font-size:26px;letter-spacing:-.7px;margin:7px 0}.client-kicker{font-size:10px;color:#f2c94c;font-weight:850;letter-spacing:1.7px;margin:0}.client-subtitle{color:#bcb7a9;font-size:12px;line-height:1.5;margin:0}.client-section-title{display:flex;align-items:center;gap:10px;color:#f0d078;font-size:13px;font-weight:850;margin:23px 0 15px;padding-bottom:10px;border-bottom:1px solid #3d3a30}.client-section-title span{display:grid;place-items:center;border:1px solid #756033;border-radius:9px;width:30px;height:30px;background:#3b321f;font-size:11px}#clientDialog label{font-size:12px;color:#d9dce0}#clientDialog input,#clientDialog textarea{padding:14px;background:#111315;border-color:#424344;border-radius:12px}#clientDialog input::placeholder{color:#73777c}.client-credit-panel{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #65512b;border-radius:14px;background:linear-gradient(120deg,#342b1b,#1d1e20);margin-bottom:16px}.client-credit-icon{font-size:27px;color:#f2c94c;width:40px;text-align:center}.client-credit-panel strong{display:block;font-size:14px;color:#f3d477}.client-credit-panel small{display:block;color:#b6b1a7;font-size:11px;margin-top:5px;line-height:1.4}#clientDialog .form-actions{padding-top:14px;border-top:1px solid #393a3b}#clientDialog .client-save{background:linear-gradient(110deg,#bb8f31,#f5d471);box-shadow:0 6px 19px #d8b13b20}@media(max-width:390px){.lock-card{padding:33px 19px 23px}#clientDialog #clientForm{padding:0 15px 8px}#clientDialog .client-dialog-head{margin:0 -15px 20px;padding:22px 15px}}

/* Conta Certa 2.5 — Novo contrato premium */
#contractDialog.contract-create-dialog{border:1px solid #69562d;border-radius:24px;padding:0;max-height:92dvh;overflow:auto;background:#17191b}
#contractDialog .contract-create-head{margin:0;padding:27px 22px 25px;align-items:flex-start;background:linear-gradient(140deg,#41351e,#202022 65%,#18191b);border-bottom:1px solid #6d572c}
#contractDialog .contract-create-head h2{font-size:27px;letter-spacing:-.8px;margin:8px 0}
#contractDialog .contract-create-body{padding:0 22px 23px}
#contractDialog .client-section-title{margin:25px 0 16px}
#contractDialog label{color:#e1dfd9;font-size:12px}
#contractDialog input,#contractDialog select,#contractDialog textarea{padding:14px 12px;background:#111315;border:1px solid #454440;border-radius:12px;color:#f5f5f5;min-width:0}
#contractDialog input:focus,#contractDialog select:focus,#contractDialog textarea:focus{border-color:#f2c94c;box-shadow:0 0 0 3px #f2c94c1c}
#contractDialog .contract-create-tip{border:1px solid #4c4534;background:#29251b;border-radius:12px;padding:12px;color:#d6c79e;font-size:11px;line-height:1.55}
#contractDialog .contract-create-late{padding:17px 15px 4px;border:1px solid #65532e;border-radius:17px;background:linear-gradient(145deg,#30291d,#1c1d1f);margin-top:21px}
#contractDialog .contract-create-late-head{display:flex;gap:12px;align-items:center;margin-bottom:18px}
#contractDialog .contract-create-late-head strong{display:block;font-size:14px;color:#f2d47d}
#contractDialog .contract-create-late-head small{display:block;color:#bdb6a8;font-size:11px;margin-top:5px}
#contractDialog .contract-create-late-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:#5a4825;color:#f2c94c;font-size:23px}
#contractDialog .contract-create-late .footnote{margin:0 0 14px}
#contractDialog .contract-create-preview{padding:16px;border:1px solid #75602f;border-radius:17px;background:linear-gradient(135deg,#332b1c,#1d1e1f)}
#contractDialog .contract-create-preview-label{font-size:10px;letter-spacing:1.5px;color:#f2c94c;font-weight:850;margin-bottom:10px}
#contractDialog #contractPreview.preview{padding:0;background:transparent;color:#f3e1ae;font-size:13px;line-height:1.9}
#contractDialog .contract-create-actions{padding-top:17px;border-top:1px solid #393936}
#contractDialog .contract-create-actions .primary{background:linear-gradient(110deg,#b88b2c,#f7d974 55%,#d3a73d);box-shadow:0 8px 20px #e6ba3b22}
@media(max-width:390px){#contractDialog .contract-create-head{padding:22px 15px}#contractDialog .contract-create-body{padding:0 15px 18px}}

/* Conta Certa 2.6 — histórico financeiro */
.contract-timeline{display:grid;gap:10px;margin:12px 0 22px}.timeline-item{border:1px solid rgba(214,175,67,.25);border-left:3px solid #d7b65b;border-radius:12px;padding:12px 14px;background:rgba(214,175,67,.055)}.timeline-item span{display:block;font-size:11px;opacity:.7;margin-bottom:5px}.timeline-item strong{display:block;font-size:13px}.timeline-item p{font-size:12px;line-height:1.5;margin:5px 0 0;overflow-wrap:anywhere}

/* Conta Certa 2.8 — Análises Premium */
.gold{color:var(--accent)}.analytics-teaser{margin:20px 0 26px;padding:2px 16px 15px;border:1px solid #514529;border-radius:20px;background:linear-gradient(150deg,#24221a,#191b1e 65%)}.analytics-teaser .section-head{margin:16px 0 6px}.analytics-card{padding:19px 16px;margin:15px 0;background:linear-gradient(150deg,#202226,#17191b);border:1px solid #34383d;border-radius:19px}.analytics-card h3{margin:0 0 8px;font-size:17px}.analytics-filter{margin:18px 0}.analytics-filter label{display:block;font-size:12px;color:var(--muted)}.analytics-filter select{display:block;width:100%;margin-top:7px;background:#24272b;border:1px solid #514529;border-radius:12px;padding:12px;color:var(--accent)}.analytics-kpis{margin:15px 0 22px}.chart-shell{overflow:hidden;max-width:100%}.analytics-svg{width:100%;height:auto;display:block;overflow:visible;margin:5px 0}.chart-legend{display:flex;gap:17px;flex-wrap:wrap;color:#c7cbd0;font-size:11px;padding:9px 0}.chart-values{display:flex;gap:7px;overflow-x:auto;padding:5px 0 0;font-size:10px;color:var(--muted)}.chart-values span{white-space:nowrap}.chart-values b{color:var(--accent)}.analytics-bar-row{margin:17px 0}.analytics-bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:12px}.analytics-bar-row strong{color:var(--accent)}.analytics-track{height:9px;background:#33363a;border-radius:9px;margin-top:8px;overflow:hidden}.analytics-track i{display:block;height:100%;background:linear-gradient(90deg,#a77c24,#f2c94c);border-radius:9px}.analytics-status{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.analytics-status>div{border:1px solid #484032;border-radius:13px;padding:16px 8px;text-align:center;background:#25241e}.analytics-status b{display:block;font-size:26px;color:var(--accent)}.analytics-status span{display:block;color:var(--muted);font-size:11px;margin-top:5px}


/* Conta Certa 2.9 — Luxury Edition: refinamento visual sem alterar dados ou cálculos */
:root{--lux-gold:#f3d37a;--lux-border:rgba(226,185,88,.27)}
html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}
body{background:radial-gradient(ellipse 90% 350px at 50% -90px,rgba(182,138,47,.10),transparent),#111315}
.topbar{background:linear-gradient(110deg,#1d1c19,#141618 70%);border-bottom:1px solid var(--lux-border)}
.topbar h1{letter-spacing:-.7px}
.tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.tabs::-webkit-scrollbar{display:none}.tabs .tab{scroll-snap-align:start;white-space:nowrap;transition:color .18s ease,background .18s ease,border-color .18s ease}
.tab.active{position:relative}.tab.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,#f3d37a,transparent)}
.stat,.feature-card,.list-card,.analytics-card,.analytics-teaser{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.stat{position:relative;overflow:hidden;border-color:rgba(212,172,78,.20);background:linear-gradient(148deg,#252522,#1b1e20 80%)}
.stat:before{content:"";position:absolute;left:12px;right:12px;top:0;height:1px;background:linear-gradient(90deg,transparent,#e3c16b80,transparent)}
.stat strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.analytics-card,.analytics-teaser{box-shadow:0 12px 34px #0002;border-color:var(--lux-border)}
.primary{background:linear-gradient(115deg,#b68a2d,#f3d37a 55%,#c69b3e);color:#161616;border-color:#d4b159;box-shadow:0 4px 15px #d4b15917;font-weight:800}
.primary:active,.secondary:active,.icon-btn:active,.contract-action:active{transform:scale(.985)}
button,.file-label{touch-action:manipulation;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.file-label:focus-within{outline:2px solid #f3d37a;outline-offset:3px}
input,select,textarea{font-size:16px;max-width:100%;box-sizing:border-box}
button{min-height:40px}.icon-btn{min-width:42px;min-height:42px}
.view.active{animation:lux-enter .23s ease-out both}@keyframes lux-enter{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
dialog[open]{box-shadow:0 24px 85px #000b,0 0 0 1px #d5b05419;animation:lux-dialog .2s ease-out both}@keyframes lux-dialog{from{opacity:.5;transform:translateY(9px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}
dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(3px)}
.chart-shell svg{filter:drop-shadow(0 4px 10px #0002)}
.analytics-filter select{border-color:#796032;background:linear-gradient(120deg,#30291b,#202225)}
@media(hover:hover){.stat:hover,.analytics-card:hover,.analytics-teaser:hover{border-color:#a88a4c;box-shadow:0 12px 32px #0004}.primary:hover{filter:brightness(1.08)}}
@media(max-width:480px){.analytics-card{padding:17px 13px}.tabs .tab{min-height:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@supports(padding:env(safe-area-inset-bottom)){main{padding-bottom:calc(22px + env(safe-area-inset-bottom))}}

/* Conta Certa 3.0 — Etapa 1 */
.notice-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 4px;border-radius:12px;background:#b94b43;color:white;font-size:10px;margin-left:4px}.notice-badge[hidden]{display:none}.cc-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cc-cal-head h3{text-align:center;text-transform:capitalize;margin:0}.cc-legend{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0;color:#d2c9b6;font-size:12px}.cc-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cc-weekday{text-align:center;font-size:11px;color:#aaa;padding:7px 0}.cc-day{border:1px solid #504530;background:#1d1d1d;color:#f5ebd3;border-radius:10px;min-height:53px;padding:7px 2px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.cc-day.chosen{border-color:#f2c94c;background:#38301d}.cc-day.is-today b{color:#f2c94c}.cc-dots{display:flex;gap:3px;min-height:7px}.cc-dots i{width:6px;height:6px;border-radius:50%;background:#f2c94c}.cc-dots .late{background:#e46b67}.cc-dots .received{background:#65bf86}.cc-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.cc-profile-grid>div{border:1px solid #5b4b2c;border-radius:10px;padding:12px;min-width:0;overflow-wrap:anywhere}.cc-profile-grid small{display:block;color:#a9a9a9;margin-bottom:6px}.cc-profile-grid strong{color:#f2c94c}.cc-notice{gap:12px}.cc-notice>div:last-child{text-align:right}@media(max-width:380px){.cc-cal-grid{gap:3px}.cc-day{min-height:47px}}

/* Conta Certa 3.0 — atalhos do calendário e avisos no cabeçalho */
.top-actions{align-items:center;gap:7px;flex-shrink:0}
.top-actions .icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.top-actions .quick-nav{font-size:19px}
.top-actions .quick-nav.active{border-color:var(--accent);background:#3b321d;box-shadow:0 0 0 1px #b7953d55 inset}
.top-actions .notice-action .notice-badge{position:absolute;top:-7px;right:-6px;margin:0;min-width:18px;height:18px;border:2px solid #141516;padding:0 3px;font-size:9px}
@media(max-width:480px){.topbar{padding-left:12px;padding-right:12px;gap:8px}.topbar h1{font-size:22px}.topbar .eyebrow{font-size:8px;letter-spacing:1.2px}.top-actions{gap:5px}.top-actions .icon-btn{width:36px;height:38px;border-radius:10px;font-size:19px}.top-actions .quick-nav{font-size:17px}}
@media(max-width:355px){.topbar h1{font-size:20px}.topbar .eyebrow{font-size:7px}.top-actions .icon-btn{width:33px;height:36px}.top-actions{gap:4px}}

.receipt-actions{display:flex;align-items:flex-end;flex-direction:column;gap:7px}.receipt-actions .mini-btn{white-space:nowrap}@media(max-width:380px){.receipt-actions .mini-btn{font-size:11px;padding:7px}}

/* Conta Certa 3.0 — avisos premium e central de backups */
#toast{bottom:calc(20px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:11px;width:max-content;max-width:min(440px,calc(100vw - 28px));padding:14px 17px;background:linear-gradient(135deg,#29261c,#191b1e);color:#f8f2de;border:1px solid #b8964c;border-radius:16px;box-shadow:0 16px 48px #000b,0 0 0 1px #f2c94c15 inset;font-weight:650;line-height:1.4;text-align:left;z-index:30}
#toast .cc-toast-mark{flex:0 0 25px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#4a3c1b;color:#f4d478;font-weight:900}
#toast.cc-error{border-color:#ad5a52;background:linear-gradient(135deg,#302020,#191b1e)}
#toast.cc-error .cc-toast-mark{background:#572e2b;color:#ffc4bd}
.cc-backup-dialog{width:min(440px,calc(100% - 24px));border:1px solid #8d7137;background:linear-gradient(150deg,#24221c,#17191b 65%);padding:24px}
.cc-backup-dialog .dialog-head{margin-bottom:12px}.cc-backup-dialog h2{font-size:22px}.cc-backup-help{font-size:13px;color:#c7c0af;line-height:1.6}
.cc-import-label{min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #846a38;color:#f4d47d;font-weight:750;border-radius:12px}
#noticeList .cc-notice{border-left:3px solid #c49d42;background:linear-gradient(120deg,#24221c,#1b1d1f);align-items:center;box-shadow:0 8px 25px #0002}
#noticeList .cc-notice:has(.cc-notice-late){border-left-color:#dc756d}
#noticeList .cc-notice .row-title{color:#f2cf77;margin-bottom:5px}
#noticeList .cc-notice>div:last-child{text-align:right;min-width:100px}
#noticeList .cc-notice .mini-btn{margin-top:8px;border-color:#756039;color:#f0d185}
@media(max-width:380px){#noticeList .cc-notice{padding:12px 10px;gap:8px}#noticeList .cc-notice>div:last-child{min-width:90px;font-size:12px}}

/* Conta Certa 3.1: acesso à conta integrado ao painel */
.cc-cloud-dialog{width:min(530px,calc(100vw - 20px));max-width:100%;max-height:min(92dvh,900px);padding:18px;background:#151619;color:#f7e8c0;border:1px solid #a88a49;border-radius:20px;box-shadow:0 20px 90px #000b;overflow:auto}.cc-cloud-dialog::backdrop{background:#000c}.cc-cloud-dialog .dialog-head{display:flex;justify-content:space-between;align-items:center}.cc-cloud-dialog iframe{display:block;width:100%;height:min(660px,68dvh);border:0;background:#191a1e;border-radius:15px}.cc-cloud-dialog .footnote{margin:8px 0 12px;line-height:1.5}@media(max-width:430px){.cc-cloud-dialog{padding:12px}.cc-cloud-dialog iframe{height:67dvh}.top-actions{gap:4px}.top-actions .icon-btn{min-width:34px}}
