:root{--color-paper: #f3e7d3;--color-moss: #3e4b3a;--color-brown: #54432a;--color-gold: #c8a45a;--color-danger: #8b2e2e;--radius-sm: 12px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 22px;--radius-pill: 999px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}html{background:var(--color-paper)}body{margin:0;min-width:320px;min-height:100vh;min-height:100svh;min-height:100dvh;color:var(--color-brown);background-color:var(--color-paper);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}.app-page{min-height:100vh;min-height:100svh;min-height:100dvh;padding:calc(18px + var(--safe-top)) calc(14px + var(--safe-right)) calc(26px + var(--safe-bottom)) calc(14px + var(--safe-left));color:var(--color-brown);background:var(--color-paper);position:relative}.app-topbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:14px}.app-titlewrap{display:flex;flex-direction:column;gap:2px}.app-title{font-size:18px;font-weight:800;letter-spacing:.3px}.app-subtitle{font-size:12px;opacity:.8}.icon-btn{width:44px;height:44px;border-radius:var(--radius-md);border:2px solid rgba(84,67,42,.35);background:#ffffff4d;color:var(--color-brown);cursor:pointer;font-size:18px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12px;font-weight:800;letter-spacing:.2px;color:#3e4b3af2}.field-input{min-height:44px;border-radius:var(--radius-md);border:2px solid rgba(84,67,42,.25);background:#f3e7d3cc;padding:0 12px;outline:none;color:var(--color-brown);font-weight:650}.field-input:focus{border-color:#c8a45abf;box-shadow:0 0 0 3px #c8a45a40}.primary-btn,.ghost-btn,.danger-btn{min-height:44px;border-radius:var(--radius-md);cursor:pointer;font-weight:900}.primary-btn{border:2px solid rgba(200,164,90,.7);background:#c8a45a38;color:var(--color-brown);padding:0 14px}.ghost-btn{border:2px solid rgba(84,67,42,.25);background:#ffffff38;color:var(--color-brown);padding:0 14px}.danger-btn{border:0;background:var(--color-danger);color:#fff;padding:10px 14px;font-weight:700}.login-page{min-height:100vh;min-height:100svh;min-height:100dvh;width:100%;padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));background-image:url(/assets/login_background-Dbf2n5Al.png);background-size:cover;background-position:center top;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;position:relative}.login-page:before{content:"";position:absolute;inset:0;background:#00000026}.login-card{width:100%;max-width:420px;background:#ffffff2e;border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:2rem;box-shadow:0 10px 24px #0003;z-index:1}.input-group-custom{position:relative;margin-bottom:1.2rem}.input-group-first{margin-top:3rem}.input-custom{width:100%;padding:12px 40px 12px 14px;border-radius:25px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#081b1b;outline:none}.input-custom::placeholder{color:#081b1b}.input-custom:focus{border-color:#081b1b;background:#ffffff1f}.input-icon{width:16px;height:16px;opacity:.85}.input-icon-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;border-radius:999px;background:transparent;color:#081b1b;display:grid;place-items:center;cursor:pointer;padding:0}.input-icon-button:disabled{cursor:not-allowed;opacity:.7}.input-icon-button:focus-visible{outline:2px solid #081b1b;outline-offset:1px}.input-group-first .input-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none}.login-submit{border-radius:25px;width:100%;margin-bottom:3rem}.main-title{color:#081b1b;margin-bottom:1.8rem;text-align:center;letter-spacing:1px}.app-menu-wrap{position:relative}.app-menu{position:absolute;right:0;top:52px;width:210px;border-radius:16px;border:2px solid rgba(62,75,58,.35);background:#f3e7d3fa;box-shadow:0 18px 40px #0000002e;overflow:hidden;z-index:20}.app-menu-item{width:100%;text-align:left;padding:12px;border:0;background:transparent;color:var(--color-brown);cursor:pointer;font-weight:650}@media(hover:hover){.app-menu-item:hover{background:#c8a45a29}}.toast-stack{position:fixed;right:calc(14px + var(--safe-right));bottom:calc(14px + var(--safe-bottom));z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 28px))}.toast{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);border:2px solid rgba(84,67,42,.28);background:#f3e7d3fa;color:var(--color-brown);box-shadow:0 12px 26px #00000029}.toast-error{border-color:#8b2e2e73}.toast-success{border-color:#2a703573}.toast-info{border-color:#3a5a7e73}.toast-message{font-weight:700;font-size:13px;line-height:1.3}.toast-close{border:0;background:transparent;color:inherit;font-size:14px;font-weight:900;cursor:pointer;line-height:1;padding:2px}.home-page{position:relative}.home-topbar{margin-bottom:10px}.home-topbar-title{font-size:18px;font-weight:800;letter-spacing:.2px}.home-content{display:flex;flex-direction:column}.home-title{font-weight:900;letter-spacing:.2px;font-size:22px;margin:0 0 2px;color:var(--color-brown)}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.home-card{aspect-ratio:1 / 1;width:100%;border-radius:20px;border:2px solid rgba(84,67,42,.22);background:#ffffff40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer}.home-icon{height:clamp(64px,15vw,100px);width:auto;object-fit:contain}.home-card-title{font-weight:900;font-size:1.05rem;color:var(--color-brown);text-align:center}.home-divider{display:block;margin:8px auto 14px;max-width:500px;width:80%;height:auto;opacity:.9}@media(hover:hover){.home-card:hover{background:#3e4b3a14;border-color:#54432a59}}.desp-content{display:flex;flex-direction:column;gap:12px}.confirm-backdrop{position:fixed;inset:0;z-index:10001;background:#00000059;display:grid;place-items:center;padding:16px}.confirm-card{width:min(420px,100%);border-radius:16px;background:#f3e7d3fa;border:2px solid rgba(84,67,42,.22);box-shadow:0 18px 40px #0003;padding:14px}.confirm-title{margin:0 0 8px;font-size:16px;font-weight:800;color:var(--color-brown)}.confirm-message{margin:0;font-size:14px;color:var(--color-brown)}.confirm-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.desp-filters{margin-bottom:14px;padding:14px;border-radius:var(--radius-lg);border:2px solid rgba(62,75,58,.25);background:#ffffff42}.filters-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.segmented{display:flex;gap:10px}.seg-btn{flex:1;min-height:40px;border-radius:var(--radius-pill);border:2px solid rgba(84,67,42,.25);background:#fff3;color:var(--color-brown);font-weight:800;cursor:pointer}.seg-btn.active{background:#3e4b3a29;border-color:#3e4b3a73;box-shadow:inset 0 0 0 1px #c8a45a59}.desp-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 14px;border:0;background:transparent;color:var(--color-brown);cursor:pointer;text-align:left}.desp-row+.desp-row{border-top:1px solid rgba(84,67,42,.14)}.desp-row-title{font-weight:900;letter-spacing:.2px}.desp-row-sub{margin-top:4px;font-size:12px;opacity:.8;font-weight:700}.desp-row-right{display:flex;align-items:center;gap:10px}.desp-row-amounts{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.desp-row-value{font-weight:950}.desp-row-value-missing{color:#3e4b3af2;font-weight:950;padding:6px 10px;border-radius:var(--radius-pill);border:2px solid rgba(200,164,90,.55);background:#c8a45a2e}.desp-row-total{font-size:11px;font-weight:750;opacity:.75}.desp-row-chevron{font-size:20px;opacity:.7}@media(hover:hover){.desp-row:hover{background:#3e4b3a14}}.desp-list-card{border-radius:26px;border:2px solid rgba(84,67,42,.22);background:#ffffff40;overflow:hidden}.desp-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid rgba(84,67,42,.18)}.desp-list-title{font-weight:950;letter-spacing:.2px}.desp-list-meta{font-size:12px;opacity:.8;font-weight:700}.desp-list{display:flex;flex-direction:column}.desp-list-empty{padding:18px 14px;font-weight:750;opacity:.85}.desp-settle-card{border-radius:22px;border:2px solid rgba(84,67,42,.22);background:#fff3;padding:12px 14px}.desp-settle-title{font-weight:900;margin-bottom:10px}.desp-settle-list{display:flex;flex-direction:column;gap:8px}.desp-settle-row{font-weight:700;line-height:1.35;border-radius:12px;background:#ffffff8c;padding:10px 12px}.desp-settle-empty{opacity:.82;font-weight:700}.dg-backdrop{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;padding:18px;z-index:9999}.dg-modal{position:relative;width:min(520px,100%);border-radius:var(--radius-xl);border:2px solid rgba(62,75,58,.35);background:#f3e7d3fa;box-shadow:0 18px 50px #00000040;overflow:hidden}.dg-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 10px;border-bottom:1px solid rgba(84,67,42,.18)}.dg-modal-title{font-weight:950;letter-spacing:.2px;color:var(--color-brown)}.dg-modal-close{width:40px;height:40px;border-radius:var(--radius-md)}.dg-modal-body{padding:14px}.modal-desc{display:flex;flex-direction:column;gap:2px}.modal-name{font-weight:950;color:var(--color-brown)}.modal-sub{font-size:12px;font-weight:750;opacity:.85}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.modal-actions-between{justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.modal-actions-right{display:flex;gap:8px}.summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-kicker{font-size:12px;font-weight:800;color:#3e4b3af2}.summary-value{font-size:20px;font-weight:900;letter-spacing:.2px}.nova-desp-page{color:var(--color-brown);padding-right:var(--safe-right);padding-left:var(--safe-left);padding-bottom:var(--safe-bottom)}.nova-desp-topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:40px 1fr 44px;align-items:center;gap:10px;padding:calc(16px + var(--safe-top)) 16px 16px;background:var(--color-paper);border-bottom:1px solid rgba(84,67,42,.12)}.nova-desp-titlewrap{display:flex;flex-direction:column}.nova-desp-title{font-size:1.2rem;font-weight:700}.nova-desp-subtitle{font-size:.9rem;opacity:.7}.nova-desp-content{padding:16px}.nova-desp-card{max-width:720px;margin:0 auto;background:#ffffff73;border:1px solid rgba(84,67,42,.12);border-radius:var(--radius-lg);padding:20px;display:grid;gap:14px;box-shadow:0 8px 24px #54432a14}.field-input{width:100%;border:2px solid rgba(84,67,42,.25);border-radius:var(--radius-md);padding:10px 12px;background:#fffdf9;color:var(--color-brown);font-size:.95rem}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.date-input-row{display:flex;gap:8px}.date-clear-btn{min-width:86px;padding:0 12px}.icon-btn{width:40px;height:40px;font-size:1.2rem}.nova-desp-loading{min-height:100vh;min-height:100svh;min-height:100dvh;display:grid;place-items:center;color:var(--color-brown);font-size:1rem}.perfil-card{border-radius:var(--radius-lg);border:2px solid rgba(84,67,42,.2);background:#ffffff59;padding:14px;display:grid;gap:12px}.perfil-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.perfil-page{position:relative}.perfil-topbar{margin-bottom:14px}.perfil-content{display:flex;flex-direction:column}.perfil-loading{min-height:100vh;min-height:100svh;min-height:100dvh;display:grid;place-items:center;font-weight:700;background:var(--color-paper);color:var(--color-brown)}.settings-content{display:grid;gap:14px}.settings-card{border:2px solid rgba(84,67,42,.25);border-radius:16px;background:#ffffff61;padding:14px}.settings-card-title{margin:0 0 6px;font-size:16px;font-weight:800}.settings-card-help{margin:0 0 12px;font-size:13px;opacity:.8}.settings-options{display:grid;gap:8px}.settings-option{display:flex;align-items:center;gap:8px;font-weight:650}.settings-option input{width:16px;height:16px}
