:root{--P: #184A4E;--PL: #235e65;--PD: #0d2e31;--S: #9FA488;--A: #CAB77D;--BG: #F9F6E8;--BW: #ECE4BB;--BWL: #F7F4E5;--OK: #2D7A4F;--ERR: #C0392B;--WARN: #E65100;--TX: #1A1A2E;--TM: #4A4A5A;--W: #FBFAF3;font-family:Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;color:var(--TX);background:var(--BG)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--BG)}a{color:var(--P);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:Tahoma,Geneva,Verdana,sans-serif}.app-footer{margin-top:auto;padding:.55rem 1rem;font-size:.72rem;color:var(--TM);background:var(--W);border-top:1px solid #e5e7eb;text-align:center;line-height:1.45;position:static}.shell{min-height:100vh;display:flex;flex-direction:column;background:var(--BG)}.shell-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--P);color:var(--W);position:sticky;top:0;z-index:40}.shell-header h1{margin:0;font-size:1.05rem;font-weight:700}.icon-btn{background:transparent;border:0;color:inherit;cursor:pointer;padding:.35rem;display:inline-flex;border-radius:6px}.icon-btn:hover{background:#ffffff1f}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:50}.drawer-backdrop--hover{background:transparent;pointer-events:none}.drawer-hotzone{display:none;position:fixed;left:0;top:0;z-index:45;width:12px;height:100%}@media(min-width:768px){.drawer-hotzone{display:block}}.drawer{position:fixed;top:0;left:0;bottom:0;width:min(300px,88vw);background:var(--P);color:var(--A);z-index:60;display:flex;flex-direction:column;padding:1rem 0 0;box-shadow:4px 0 24px #0003}.drawer-brand{padding:0 1rem .75rem;display:grid;gap:.55rem}.drawer-brand-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.drawer-brand-top .brand-lockup{flex:1;min-width:0}.drawer-close{color:var(--A);flex-shrink:0}.brand-lockup{display:grid;gap:.45rem;width:100%}.brand-lockup-row{display:flex;align-items:center;gap:.45rem}.brand-lockup-icon-wrap{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:var(--W);display:grid;place-items:center;overflow:hidden;box-shadow:0 1px #ffffff26}.brand-lockup-icon-wrap--app{width:44px;height:44px;border-radius:10px}.brand-lockup-pp-wrap{width:32px;height:32px;border-radius:8px;background:var(--BWL);padding:0}.brand-lockup-pp,.brand-lockup-icon{width:100%;height:100%;display:block;object-fit:contain;border-radius:inherit}.brand-lockup-icon{object-fit:cover}.brand-lockup-text{display:grid;gap:.05rem;min-width:0}.brand-lockup-name{font-size:1rem;font-weight:700;line-height:1.15;color:var(--A)}.brand-lockup-factory{font-size:.78rem;font-weight:600;line-height:1.2;color:#ece4bbeb}.brand-lockup-desc{font-size:.65rem;color:#ece4bbb3;text-transform:uppercase;letter-spacing:.03em}.brand-lockup-row--factory{padding-top:.2rem;border-top:1px solid rgba(202,183,125,.28);margin-top:.05rem}.brand-lockup--light .brand-lockup-icon-wrap{background:var(--W);border:1px solid #e2e0d4}.brand-lockup--light .brand-lockup-pp-wrap{background:var(--BWL)}.brand-lockup--light .brand-lockup-name{color:var(--P)}.brand-lockup--light .brand-lockup-factory{color:var(--S)}.brand-lockup--light .brand-lockup-desc{color:var(--TM)}.brand-lockup--light .brand-lockup-row--factory{border-top-color:#184a4e1f}.drawer-scroll{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.drawer nav{display:flex;flex-direction:column;gap:.15rem;padding:.5rem}.drawer a,.drawer button.nav-link{color:var(--A);background:transparent;border:0;text-align:left;padding:.7rem .9rem;border-radius:8px;cursor:pointer;font-size:.92rem;text-decoration:none;display:flex;align-items:center;gap:.55rem;width:100%}.drawer a:hover,.drawer button.nav-link:hover,.drawer a.active{background:#ece4bb1f;text-decoration:none;color:var(--BW)}.drawer .section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;opacity:.75;padding:.75rem .9rem .25rem;color:var(--BW)}.nav-badge{margin-left:auto;background:var(--A);color:var(--PD);font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:999px}.drawer-meta{margin-top:auto;padding:.75rem 1rem;font-size:.72rem;color:var(--BW);line-height:1.45;border-top:1px solid rgba(202,183,125,.18)}.drawer-footer{flex-shrink:0;border-top:1px solid rgba(202,183,125,.25);padding:.75rem 1rem 1rem;background:var(--P)}.btn-sair{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--A);color:var(--P);border:1px solid var(--A);border-radius:8px;padding:.7rem;cursor:pointer;font-weight:700}.btn-sair:hover{background:var(--BW);color:var(--PD)}.shell-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.25rem 1rem 2rem}.page-title{color:var(--P);margin:0 0 .35rem;font-size:1.45rem}.page-sub{color:var(--TM);margin:0 0 1.25rem;font-size:.95rem}.section-title{color:var(--P);margin:0 0 .75rem;font-size:1.05rem}.card{background:var(--W);border:1px solid #e8eae6;border-radius:10px;padding:1rem 1.1rem;margin-bottom:1rem}.badge-inicio{border-left:4px solid var(--A)}.steps{margin:.75rem 0 0;padding-left:1.2rem}.steps li{margin-bottom:.65rem;line-height:1.5}.steps ul{margin:.4rem 0 .2rem;padding-left:1.1rem}.steps ul li{margin-bottom:.2rem}.form-grid{display:grid;gap:.75rem}.form-grid label{display:grid;gap:.3rem;font-size:.9rem;color:var(--TM)}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #d5d8d0;border-radius:8px;padding:.55rem .7rem;font-size:.95rem;background:var(--W)}.grid-2{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}@media(max-width:700px){.grid-2{grid-template-columns:1fr}}.checkbox{display:flex!important;align-items:center;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:8px;padding:.65rem 1rem;border:0;cursor:pointer;font-weight:700;text-decoration:none}.btn-primary{background:var(--P);color:#fff}.btn-primary:hover{background:var(--PL);text-decoration:none;color:#fff}.btn-secondary{background:var(--S);color:#fff}.btn-ghost{background:transparent;color:var(--P);border:1px solid var(--P)}.cta-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}@media(max-width:900px){.kpi-grid{grid-template-columns:1fr 1fr}}.kpi{background:var(--W);border:1px solid #e8eae6;border-radius:10px;padding:.9rem 1rem;display:grid;gap:.25rem}.kpi span{color:var(--TM);font-size:.8rem}.kpi strong{color:var(--P);font-size:1.25rem}.kpi small{color:var(--TM);font-size:.72rem}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:900px){.chart-grid{grid-template-columns:1fr}}.chart-card{min-height:320px}.chart-card-wide{grid-column:1 / -1}.chart-card-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.chart-card-head .section-title{margin-bottom:0}.chart-filter{display:grid;gap:.25rem;font-size:.82rem;color:var(--TM)}.chart-filter select{border:1px solid #d5d8d0;border-radius:8px;padding:.4rem .55rem;background:var(--W);font-family:Tahoma,Geneva,Verdana,sans-serif}.dashboard-page .kpi-receita{border-color:#2d7a4f;background:linear-gradient(180deg,rgba(45,122,79,.12),var(--W))}.dashboard-page .kpi-despesa{border-color:#c0392b;background:linear-gradient(180deg,rgba(192,57,43,.14),var(--W))}.dashboard-page .fin-receita{color:var(--TX)!important;background:#2d7a4f38;box-shadow:inset 3px 0 #2d7a4f;padding:.12rem .5rem;border-radius:6px;display:inline-block}.dashboard-page .fin-despesa{color:var(--TX)!important;background:#c0392b38;box-shadow:inset 3px 0 #c0392b;padding:.12rem .5rem;border-radius:6px;display:inline-block}.pos{color:var(--OK)!important}.neg{color:var(--ERR)!important}.financeiro-page .fin-receita,.financeiro-page .fin-despesa{color:var(--TX)!important;font-weight:700;display:inline-block;padding:.12rem .5rem;border-radius:6px;line-height:1.35}.financeiro-page .fin-receita{background:#2d7a4f38;box-shadow:inset 3px 0 #2d7a4f}.financeiro-page .fin-despesa{background:#c0392b38;box-shadow:inset 3px 0 #c0392b}.financeiro-page .kpi span{color:var(--TM)}.financeiro-page .kpi strong{color:var(--TX)}.financeiro-page .kpi-receita{border-color:#2d7a4f;background:linear-gradient(180deg,rgba(45,122,79,.12),var(--W))}.financeiro-page .kpi-despesa{border-color:#c0392b;background:linear-gradient(180deg,rgba(192,57,43,.14),var(--W))}.financeiro-page .fin-select-receita{border-color:#2d7a4f!important;color:var(--TX)!important;font-weight:600;background:#2d7a4f1a!important}.financeiro-page .fin-select-despesa{border-color:#c0392b!important;color:var(--TX)!important;font-weight:600;background:#c0392b1f!important}.financeiro-page .btn-fin-receita{background:#2d7a4f29;color:var(--TX);border:1px solid #2D7A4F}.financeiro-page .btn-fin-receita:hover{background:#2d7a4f47;color:var(--TX);text-decoration:none}.financeiro-page .btn-fin-despesa{background:#c0392b29;color:var(--TX);border:1px solid #C0392B}.financeiro-page .btn-fin-despesa:hover{background:#c0392b47;color:var(--TX);text-decoration:none}.financeiro-page .fin-badge-receita,.financeiro-page .fin-badge-despesa{display:inline-block;padding:.15rem .55rem;border-radius:6px;font-size:.75rem;font-weight:700;color:var(--TX)}.financeiro-page .fin-badge-receita{background:#2d7a4f38;box-shadow:inset 3px 0 #2d7a4f}.financeiro-page .fin-badge-despesa{background:#c0392b38;box-shadow:inset 3px 0 #c0392b}.financeiro-page .fin-form-receita{border-left:4px solid #2D7A4F}.financeiro-page .fin-form-despesa{border-left:4px solid #C0392B}.financeiro-page .fin-entry-actions{display:flex;flex-wrap:wrap;gap:.5rem}.financeiro-page .fin-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.financeiro-page .btn-table,.btn-table{padding:.35rem .55rem;font-size:.78rem;font-weight:700}.fin-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.btn-table-del{background:#c0392b1f;color:var(--TX);border:1px solid #C0392B}.btn-table-del:hover{background:#c0392b38;text-decoration:none}.financeiro-page .btn-table-del{background:#c0392b1f;color:var(--TX);border:1px solid #C0392B}.financeiro-page .btn-table-del:hover{background:#c0392b38;text-decoration:none}.financeiro-page .fin-row-editing td{background:#cab77d2e!important}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{text-align:left;background:var(--P);color:var(--BW);padding:.55rem .65rem;font-weight:700}.data-table td{padding:.55rem .65rem;border-bottom:1px solid #e8eae6}.data-table tr:nth-child(2n) td{background:#f5f2e3}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:.55rem .4rem;border-bottom:1px solid #ecefe8;text-align:left}.table th{color:var(--P);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.alert{padding:.7rem .85rem;border-radius:8px;margin-bottom:.75rem;font-size:.9rem}.alert-error{background:#fdecea;color:var(--ERR)}.alert-ok{background:#e8f5ee;color:var(--OK)}.landing{min-height:100vh;display:flex;flex-direction:column}.landing-hero{background:linear-gradient(160deg,var(--P) 0%,#12383b 55%,#0d2e31 100%);color:var(--BW);padding:3rem 1.25rem 2.5rem;text-align:center}.landing-brand{max-width:420px;margin:0 auto 1rem;text-align:left}.landing-brand .brand-lockup-row{justify-content:center}.landing-hero h1{margin:0 0 .5rem;color:var(--A);font-size:2.2rem}.landing-hero p{max-width:640px;margin:0 auto 1.25rem;color:var(--BW)}.landing-features{max-width:800px;margin:0 auto;padding:2rem 1.25rem}.landing-features h2{color:var(--P)}.landing-features ul{padding-left:1.2rem}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--P);padding:1rem .75rem .5rem}.auth-page .app-footer{width:100%;background:transparent;border-top:1px solid rgba(202,183,125,.28);color:#ece4bbd9}.auth-page .app-footer a{color:var(--A)}.auth-layout{width:min(420px,96vw);margin:0 auto 1rem;display:grid;grid-template-columns:1fr;gap:0;align-items:stretch}.auth-card{width:min(400px,96vw);margin:0 auto 1rem;background:var(--PD);border:1px solid rgba(202,183,125,.35);border-radius:12px;padding:1.1rem 1.15rem;display:grid;gap:.65rem;color:var(--BW);box-shadow:0 10px 28px #00000038}.auth-card--compact{width:min(380px,96vw);padding:1rem 1.1rem;gap:.55rem}.auth-mascot{display:none}.auth-card label{color:var(--BW);display:grid;gap:.3rem;font-size:.9rem}.auth-card input{width:100%;box-sizing:border-box;font-size:16px;background:var(--W);color:var(--TX);border:1px solid rgba(202,183,125,.45);border-radius:8px;padding:.55rem .7rem}.auth-card input:focus{outline:2px solid var(--A);outline-offset:1px}.auth-card .brand-lockup{margin-bottom:.15rem}.auth-card .brand-lockup-row--factory{border-top-color:#cab77d59}.auth-card h1{text-align:left;color:var(--A);margin:0;font-size:1.2rem}.auth-card .btn-primary{background:var(--A);color:var(--P);font-weight:700}.auth-card .btn-primary:hover{background:var(--BW);color:var(--P)}.auth-card .alert-error{background:#c0392b2e;border:1px solid rgba(192,57,43,.45);color:#ffc9c2}.auth-links{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:.85rem}.auth-links a{color:var(--A)}.auth-links a:hover{color:var(--BW)}.center-page{min-height:60vh;display:grid;place-items:center}.prose h2{color:var(--P);margin-top:1.25rem}
