:root{--ink:#14281f;--muted:#68766f;--paper:#f7f8f5;--green:#0c6a4a;--green-soft:#dff6e8;--red:#b23b3b;--red-soft:#fce6e4;--line:#d9e0dc;--navy:#163a54}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,760px);min-height:100vh;margin:auto;padding:20px 18px 48px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:15px;display:flex}.brand-mark{background:var(--green);color:#fff;place-items:center;width:32px;height:32px;margin-right:8px;font-weight:800;display:inline-grid}.brand-name{letter-spacing:.08em;vertical-align:middle;font-size:20px;font-weight:800}.sync-state{color:#58665f;font-size:12px}.hero{padding:40px 0 26px}.eyebrow{color:var(--green);letter-spacing:.12em;margin:0 0 8px;font-size:11px;font-weight:800}h1{letter-spacing:-.045em;max-width:600px;margin:0;font-size:clamp(32px,8vw,50px);line-height:1.03}.hero>p:not(.eyebrow){color:var(--muted);margin:14px 0 22px;font-size:17px;line-height:1.45}.quick-actions{flex-wrap:wrap;gap:10px;display:flex}.primary,.secondary{border:1px solid #0000;border-radius:0;padding:13px 16px;font-weight:700}.primary{background:var(--green);color:#fff}.primary:hover{background:#09593e}.secondary{color:var(--green);background:0 0;border-color:#8bbca4}.compact{padding:10px 13px;font-size:14px}.tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:26px;display:grid}.tabs button{text-transform:capitalize;color:#607067;background:0 0;border:0;padding:13px 10px 11px;font-weight:700}.tabs button.active{color:var(--green);border-bottom:3px solid var(--green)}.summary-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:34px;display:grid}.summary-card{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:90px;padding:17px 13px;display:flex}.summary-card:last-child{border-right:0}.summary-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.summary-card strong{letter-spacing:-.04em;font-size:clamp(18px,4.5vw,26px)}.summary-card.balance{color:var(--navy);background:0 0}.summary-card.balance span{color:var(--muted)}.summary-card.income strong{color:var(--green)}.summary-card.expense strong{color:var(--red)}.panel{border-top:2px solid var(--ink);padding:0}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.panel-heading h2,.modal h2{letter-spacing:-.035em;margin:0;font-size:21px}.text-button,.void-button,.close-button{color:var(--green);background:0 0;border:0;font-weight:700}.field-list{display:grid}.field-card{border-bottom:1px solid var(--line);padding:17px 0}.field-card-top{justify-content:space-between;gap:12px;display:flex}.field-card h3{margin:7px 0 3px;font-size:18px}.field-card p{color:var(--muted);margin:0;font-size:13px}.status{text-transform:uppercase;letter-spacing:.06em;padding:3px 0;font-size:10px;font-weight:800;display:inline-block}.status.programada{color:#526170}.status.realizada{color:#126744}.status.cancelada{color:var(--red)}.amount-positive{color:var(--green)}.amount-negative{color:var(--red)}.field-stats{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;gap:7px 14px;margin-top:14px;padding-top:11px;font-size:12px;display:flex}.field-stats b{color:var(--ink)}.field-stats .pending,.field-stats .pending b{color:var(--red)}.muted{color:var(--muted);font-size:12px}.history-list{display:grid}.history-row{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto auto;align-items:center;gap:10px;padding:14px 0;display:grid}.history-row:last-child{border-bottom:0}.movement-icon{place-items:center;width:30px;height:30px;font-size:18px;font-weight:800;display:grid}.movement-icon.positive{color:var(--green)}.movement-icon.negative{color:var(--red)}.history-copy{gap:3px;display:grid}.history-copy strong{font-size:14px}.history-copy span{color:var(--muted);font-size:12px}.void-button{color:var(--red);padding:5px;font-size:12px}.modal-backdrop{z-index:5;background:#0d201799;place-items:end center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:0;width:min(100%,580px);max-height:92vh;padding:20px;overflow:auto;box-shadow:0 18px 50px #08150f66}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.close-button{color:var(--ink);padding:3px;font-size:30px;line-height:20px}.form-grid{gap:13px;display:grid}.input-group{color:#425049;gap:6px;font-size:13px;font-weight:700;display:grid}.input-group input,.input-group select{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd8d1;border-radius:0;outline:none;padding:12px}.input-group input:focus,.input-group select:focus{border-color:var(--green);box-shadow:0 0 0 3px #0c6a4a1a}.form-submit{width:100%;margin-top:3px}@media (max-width:520px){.app-shell{padding:16px 13px 36px}.topbar{align-items:flex-start}.sync-state{font-size:10px}.summary-grid{margin-bottom:28px}.summary-card{min-height:84px;padding:13px 9px}.summary-card strong{font-size:18px}.history-row{grid-template-columns:32px 1fr auto}.history-row .void-button{grid-column:2/4;justify-self:start;padding-left:0}}
.field-accordion{border-bottom:1px solid var(--line)}.field-accordion>summary{cursor:pointer;padding:17px 0;list-style:none}.field-accordion>summary::-webkit-details-marker{display:none}.field-accordion>summary:after{content:"+";color:var(--green);text-align:right;margin-top:-22px;font-size:20px;font-weight:400;display:block}.field-accordion[open]>summary:after{content:"−"}.field-balance{justify-items:end;gap:4px;display:grid}.field-balance span{color:var(--green);font-size:11px;font-weight:700}.field-detail{border-top:1px solid var(--line);padding:0 0 15px}.ledger-section{border-bottom:1px solid var(--line);padding:14px 0}.ledger-section:last-child{border-bottom:0}.ledger-section h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:12px}.detail-row{justify-content:space-between;gap:10px;padding:10px 0 0;font-size:12px;display:flex}.detail-row span{color:var(--muted)}.detail-row small{color:var(--muted);margin-top:3px;display:block}
.summary-grid{border:0;gap:12px}.summary-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:102px;padding:15px 14px}.summary-card.balance{background:var(--navy);color:#fff;border-color:var(--navy)}.summary-card.balance span{color:#d9e7f0}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:0 16px}.field-list{gap:12px;padding:14px 0 18px}.field-accordion{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #1734280a}.field-accordion>summary{padding:9px 12px}.field-accordion>summary:hover{background:#f7faf8}.field-accordion>summary:after{content:"⌄";margin:-22px 0 0;font-size:20px}.field-accordion[open]>summary:after{content:"⌃"}.field-accordion:not([open]) .field-stats,.field-accordion:not([open]) .status{display:none}.field-accordion h3{margin:0 0 2px;font-size:16px}.field-accordion .status{font-size:9px}.field-stats{margin-top:14px}.field-detail{border-top:1px solid var(--line);background:#f7faf8;padding:0 16px}.ledger-section{padding:15px 0}.detail-row{background:#fff;border:1px solid #e4ece7;border-radius:9px;margin-top:8px;padding:10px}.tabs{background:#e7ede9;border:0;border-radius:12px;grid-template-columns:repeat(6,1fr);padding:4px;overflow-x:auto}.tabs button{border-radius:9px}.tabs button.active{background:#fff;border-bottom:0;box-shadow:0 1px 5px #17342812}.capital-note{border-bottom:1px solid var(--line);margin:0;padding:14px 0}.owner-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px 0;display:grid}.owner-card{border:1px solid var(--line);border-radius:12px;padding:14px}.owner-card h3{margin:0 0 12px;font-size:18px}.owner-card>div{border-top:1px solid #edf1ee;justify-content:space-between;gap:8px;padding:8px 0;font-size:12px;display:flex}.owner-card span{color:var(--muted)}.owner-card .capital-total{margin-top:7px;padding-top:11px}.owner-card .capital-total strong{color:var(--green);font-size:17px}.settlement-card{background:#fbf7e9;border:1px solid #d8c78d;border-radius:12px;margin-top:16px;padding:14px}.settlement-card h3{margin:0 0 7px;font-size:17px}.settlement-card p:not(.eyebrow){color:#4c493f;margin:0;font-size:13px;line-height:1.45}.settlement-card>div{border-top:1px solid #e6dbb8;justify-content:space-between;gap:12px;margin-top:13px;padding-top:11px;font-size:12px;display:flex}.settlement-card small{color:#6c6555;margin-top:11px;font-size:11px;line-height:1.35;display:block}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px 0;display:grid}.stat-card{border:1px solid var(--line);border-radius:12px;gap:8px;padding:14px;display:grid}.stat-card span{color:var(--muted);font-size:12px}.stat-card strong{font-size:17px}.empty-state{color:var(--muted);padding:18px 0}.toast{z-index:20;color:#fff;text-align:left;background:#171613;border:0;border-radius:10px;max-width:320px;padding:13px 15px;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 22px #1114}.movement-actions{align-items:center;gap:4px;display:flex}.edit-button{color:#176244;background:0 0;border:0;padding:5px;font-size:12px;font-weight:700}.attachment-links{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.attachment-links a{color:#176244;text-overflow:ellipsis;white-space:nowrap;border:1px solid #b9d8c7;border-radius:999px;max-width:210px;padding:3px 7px;font-size:11px;font-weight:700;text-decoration:none;overflow:hidden}.attachment-links a:hover{background:#e7f5ec}.filter-bar{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:9px;padding:14px 0;display:grid}.filter-bar label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;gap:4px;font-size:10px;font-weight:700;display:grid}.filter-bar input,.filter-bar select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:8px;font:12px Arial,sans-serif}.clear-filter{border:1px solid var(--line);color:#176244;background:#fff;border-radius:8px;align-self:end;padding:8px;font-size:12px;font-weight:700}@media (max-width:520px){.summary-grid{gap:8px}.summary-card{min-height:90px;padding:13px 10px}.panel{padding:0 13px}.tabs{grid-template-columns:repeat(6,105px);justify-content:start}.tabs button{padding:9px 4px;font-size:12px}.owner-grid,.stats-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:repeat(2,1fr)}}
.access-page{background:#f5f7f4;place-items:center;min-height:100vh;padding:24px;display:grid}.access-box{background:#fff;border:1px solid #dce5df;border-radius:18px;width:min(100%,420px);padding:28px}.access-logo{object-fit:cover;border-radius:50%;width:66px;height:66px;margin-bottom:15px;display:block}.access-box h1{margin:0;font-size:30px}.access-box>p:not(.eyebrow):not(.access-message){color:#68766f;line-height:1.45}.access-box form{gap:14px;margin-top:24px;display:grid}.access-box label{color:#425049;gap:6px;font-size:13px;font-weight:700;display:grid}.access-box input,.access-box select{font:inherit;border:1px solid #ccd8d1;border-radius:8px;padding:12px}.password-control{display:block;position:relative}.password-control input{width:100%;padding-right:48px}.password-toggle{color:#29453a;background:0 0;border:0;border-radius:6px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{outline-offset:1px;background:#e5eee7;outline:2px solid #174d35}.password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.access-message{color:#0c6a4a;margin-top:16px;font-size:13px}.access-link{color:#176244;background:0 0;border:0;margin:16px auto 0;font:700 13px Arial,sans-serif;text-decoration:underline;display:block}
:root{--ink:#171613;--muted:#6d675b;--paper:#f7f6f2;--green:#171613;--green-soft:#f2eddf;--red:#a33a2b;--red-soft:#f4e0db;--line:#ddd6c5;--navy:#171613}body{background:var(--paper)}h1,h2,h3,.brand-name,.primary,.secondary,.tabs button,.eyebrow,.status,.panel-heading h2{letter-spacing:.025em;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.topbar{border-bottom:2px solid var(--ink)}.brand-lockup{align-items:center;gap:8px;display:flex}.brand-logo{object-fit:cover;border-radius:50%;width:38px;height:38px}.brand-mark{display:none}.brand-name{letter-spacing:.05em;font-size:25px}.sync-state{color:var(--ink);font-weight:700;text-decoration:underline}.hero{border-bottom:2px solid var(--ink)}.hero h1{text-transform:uppercase;letter-spacing:.025em;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.eyebrow{color:var(--ink)}.primary{background:var(--ink);border-radius:0}.secondary{color:var(--ink);border-color:var(--ink);border-radius:0}.tabs{border:1px solid var(--ink);background:#b7a064;border-radius:0}.tabs button.active{color:var(--ink);box-shadow:none}.summary-card.balance{background:var(--ink)}.panel,.field-accordion,.summary-card,.owner-card,.access-box{border-color:var(--ink);box-shadow:none}.field-detail{background:#eee3bf}.detail-row{border-color:#c4b683}.amount-positive,.owner-card .capital-total strong{color:#174d35}
.screen-content{animation:.32s ease-out both screen-enter}@keyframes screen-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tabs button{transition:background-color .2s,color .2s,transform .2s}.tabs button:hover{transform:translateY(-1px)}.field-accordion{transition:transform .18s,box-shadow .18s,background-color .18s}.field-accordion:hover{transform:translateY(-2px);box-shadow:0 7px 16px #11100d24}.field-detail{animation:.24s ease-out both detail-open}@keyframes detail-open{0%{opacity:0;max-height:0}to{opacity:1;max-height:900px}}.primary,.secondary{transition:transform .18s,background-color .18s,color .18s}.primary:hover,.secondary:hover{transform:translateY(-2px)}.brand-logo{transition:transform .35s}.brand-logo:hover{transform:rotate(18deg)scale(1.06)}.access-box{animation:.38s ease-out both screen-enter}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.tabs{border-color:var(--line);background:#eee9dc}.tabs button.active{color:var(--ink);box-shadow:none;background:#cbb472}.panel,.field-accordion,.summary-card,.owner-card,.access-box{border-color:var(--line)}.field-detail{background:#fbfaf6}.detail-row{border-color:#e5dfd0}.amount-positive,.owner-card .capital-total strong{color:#176244}.primary,.secondary,.tabs button{letter-spacing:0;font-family:Arial,Helvetica,sans-serif}.primary{color:#fff;font-weight:800}.secondary{color:var(--ink);font-weight:800}.topbar-actions{align-items:center;gap:.55rem;display:flex}.export-button{border:1px solid var(--ink,#171717);color:var(--ink,#171717);cursor:pointer;background:#fff;border-radius:999px;padding:.5rem .75rem;font:700 .74rem/1 Arial,sans-serif}.export-button:hover{background:#f5f1e6}.user-name{color:#625a47;white-space:nowrap;font:700 .74rem/1 Arial,sans-serif}.logout-button{color:#625a47;cursor:pointer;background:0 0;border:0;padding:.5rem .25rem;font:700 .74rem/1 Arial,sans-serif}.logout-button:hover{color:#171717;text-decoration:underline}@media (max-width:500px){.export-button{padding:.44rem .6rem;font-size:.68rem}.logout-button{font-size:.68rem}}
