
:root{font-family:'DM Sans',system-ui,sans-serif;color:#0a1a2f;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.shell{max-width:480px;min-height:100dvh;margin:auto;background:#f9fafb;box-shadow:0 0 50px #0a1a2f10;padding-bottom:88px}.top{padding:24px 18px 12px}.brand{font-family:Fraunces,serif;font-size:26px;font-weight:600;letter-spacing:-.05em}.brand span{color:#bd8d06}.eyebrow{font-size:12px;color:#687580;margin:0 0 4px}.top h1{font-family:Fraunces,serif;font-size:27px;margin:4px 0;font-weight:500}.sub{font-size:13px;color:#65717b;margin:3px 0 16px}.content{padding:0 16px 22px}.switch{display:flex;gap:4px;background:#edf1f3;border-radius:15px;padding:4px;margin-bottom:16px}.switch button{border:0;background:none;border-radius:11px;flex:1;padding:10px;color:#55616a}.switch button.on{background:white;color:#0a1a2f;box-shadow:0 2px 6px #0a1a2f18;font-weight:700}.card{background:#fff;border:1px solid #e6eaed;border-radius:17px;padding:17px;margin:11px 0;box-shadow:0 2px 5px #0a1a2f05}.hero{background:linear-gradient(120deg,#102a46,#0a1a2f);color:white;padding:22px;border:none}.hero .amount{font-size:34px;letter-spacing:-.04em;font-weight:700;margin:10px 0 3px}.hero small{color:#d0d9dd}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid .card{margin:0}.label{font-size:12px;color:#5b6770}.number{font-size:19px;font-weight:700;margin:8px 0 0}.income{color:#11745a}.expense{color:#b83e4d}.sectiontitle{font-weight:700;font-size:14px;margin:22px 0 10px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row+.row{border-top:1px solid #edf0f2;margin-top:12px;padding-top:12px}.muted{color:#69757d;font-size:12px}.pill{background:#eff3f4;border-radius:99px;padding:5px 9px;font-size:11px}.empty{text-align:center;padding:32px 17px;color:#687580}.empty strong{display:block;color:#0a1a2f;margin:10px}.empty .symbol{font-size:38px;color:#bd8d06}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);display:flex;background:white;border-top:1px solid #e5e9ec;padding:9px 3px max(9px,env(safe-area-inset-bottom));z-index:5}.nav button{border:0;background:none;color:#687580;flex:1;font-size:10px;display:grid;justify-items:center;gap:4px;padding:4px 1px}.nav button i{font-size:20px;font-style:normal}.nav button.active{color:#0a1a2f;font-weight:700}.fab{position:fixed;bottom:82px;left:calc(50% + min(192px, 40vw));border:0;background:#f2b705;color:#0a1a2f;width:54px;height:54px;border-radius:50%;font-size:30px;box-shadow:0 6px 20px #0a1a2f40;z-index:4}.btn{border:0;border-radius:12px;background:#0a1a2f;color:white;padding:12px 17px;font-weight:700}.btn.gold{background:#f2b705;color:#0a1a2f}.btn.light{background:#eff3f4;color:#0a1a2f}.btn.danger{background:#ffecef;color:#a02036}.btn.small{padding:8px 10px;font-size:12px}.full{width:100%}.field{display:grid;gap:6px;font-size:12px;color:#59666d;margin:14px 0}.field input,.field select,.field textarea,.search{width:100%;border:1px solid #dce2e6;border-radius:12px;padding:12px;background:white;color:#0a1a2f;outline-color:#f2b705}.field textarea{min-height:70px;resize:vertical}.search{margin-bottom:8px}.modalback{position:fixed;inset:0;background:#0a1a2f88;display:flex;align-items:end;justify-content:center;z-index:10}.modal{background:#f9fafb;border-radius:20px 20px 0 0;width:min(480px,100%);max-height:92dvh;overflow:auto;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}.modal h2{font-family:Fraunces,serif;margin:0;font-size:24px}.modal header{display:flex;justify-content:space-between;align-items:center}.close{border:0;background:#edf1f3;border-radius:9px;width:32px;height:32px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.chips button{border:1px solid #dce2e6;background:white;border-radius:99px;padding:8px 12px;font-size:12px}.chips button.on{background:#0a1a2f;color:white;border-color:#0a1a2f}.notice{border-radius:12px;background:#fff7df;padding:11px 13px;font-size:12px;color:#554514}.actionrow{display:flex;gap:8px}.actionrow .btn{flex:1}.kicker{font-size:11px;color:#8b6a05;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.link{border:0;background:none;color:#0a1a2f;text-decoration:underline;font-size:12px}.month{font-size:13px;color:#64717b}.progress{height:8px;background:#edf1f3;border-radius:9px;overflow:hidden;margin:10px 0}.progress b{display:block;height:100%;background:#f2b705}.footnote{font-size:11px;color:#69757d;line-height:1.5;margin-top:18px}@media(max-width:390px){.fab{left:auto;right:18px}.nav button{font-size:9px}}
.patient-mask{display:none}.report-content select{border:1px solid #dce2e6;border-radius:10px;padding:8px;background:white;color:#0a1a2f;max-width:100%}
@media print{body,.shell{background:white;box-shadow:none}.shell{max-width:none;padding:0}.nav,.top .brand,.report-content>.card:first-child,.report-content .export-section,.report-content .chips,.report-content .footnote{display:none!important}.top{padding:8px 0 0}.content{padding:0}.report-content .card{break-inside:avoid;box-shadow:none}.report-content .grid{break-inside:avoid}.print-hide-patients .patient-name{display:none}.print-hide-patients .patient-mask{display:inline}@page{size:A4;margin:14mm}}
/* V6: relatórios legíveis no celular e contraste das movimentações. */
.report-filter .field{margin:0 0 12px}.report-filter .muted{margin-top:2px}.report-secondary{margin-top:10px}.report-content .metric{min-width:0}.report-content .metric .number{font-size:clamp(16px,4.6vw,21px);overflow-wrap:anywhere}.income-card{background:#f1faf6;border-color:#cfe9dc}.expense-card{background:#fff3f4;border-color:#f1d2d8}.report-detail{padding:15px}.report-detail summary{cursor:pointer;font-weight:700;font-size:13px}.report-detail .row:first-of-type{margin-top:14px}.report-detail .row{font-size:12px}.report-detail .row strong{white-space:nowrap}.sectionhint{font-size:12px;color:#69757d;margin:-5px 0 10px}.chart-legend{display:flex;gap:18px;font-size:12px;margin-top:4px}.ranked .rank-row+.rank-row{border-top:1px solid #edf0f2;padding-top:13px}.ranked .rank-row{margin-bottom:13px}.ranked .rank-row:last-child{margin-bottom:0}.ranked .row{font-size:13px;align-items:flex-start}.ranked .row span{min-width:0}.ranked .row strong{white-space:nowrap}.ranked .muted{margin-top:3px}.ranked .progress{margin:7px 0 0}.ranked.income .progress b{background:#11745a}.ranked.expense .progress b{background:#b83e4d}.total-row{font-size:14px}.transaction-type button[data-entry-type="income"].on{background:#11745a;color:#fff}.transaction-type button[data-entry-type="expense"].on{background:#b83e4d;color:#fff}.field [data-money]{text-align:left;font-variant-numeric:tabular-nums}.report-content .card .row span{min-width:0}
@media print{.report-detail{display:block}.report-detail>summary{display:none}.report-detail:not([open])>*:not(summary){display:flex}.report-detail:not([open])>p{display:block!important}}
/* V7: contexto das contas e orientação de primeiro acesso. */
.context-tag{display:inline-block;vertical-align:middle;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;white-space:nowrap;margin-left:5px}.context-tag.personal{background:#eaf2fc;color:#275a89}.context-tag.professional{background:#e6f5ee;color:#116448}.account-kind{display:block;font-size:10px;color:#69757d;margin-top:2px}.setup-intro{background:#f5f9f7;border-color:#d6e8dd}.setup-intro h2{font-family:Fraunces,serif;font-weight:500;font-size:21px;margin:9px 0}.setup-intro p,.setup-section p{font-size:13px;line-height:1.5;color:#52616a}.setup-section .btn{margin-top:6px}.setup-checks{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.setup-checks div{background:white;border:1px solid #d6e8dd;border-radius:8px;padding:7px;font-size:12px}.entry-account-notice{margin:12px 0}.entry-account-notice p{margin:7px 0 10px}.entry-account-notice button{width:100%}.report-content .row>span{overflow-wrap:anywhere}
/* V9: contas de dinheiro físico e categorias com regra fixa. */
.account-create-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 7px}.account-create-actions .btn{font-size:12px;padding:12px 8px}.account-tip{margin:3px 0 17px}.account-kind-help{line-height:1.45}.account-kind-help p{margin:5px 0 0}.fixed-category{display:inline-block;border-radius:99px;background:#e7f1ed;color:#115640;font-size:11px;font-weight:700;padding:5px 9px;white-space:nowrap}.setup-section .muted{line-height:1.45}
/* V10: comparação e exportação coerente com o período. */
.comparison{font-size:12px}.comparison>.row:first-of-type{margin-top:13px}.comparison .row strong{white-space:nowrap}.report-print-head{display:none}.export-section .chips button{flex:1 1 46%;border-radius:10px;min-height:42px}
@media print{.report-print-head{display:block;border-bottom:2px solid #0a1a2f;padding:0 0 12px;margin-bottom:18px;font-size:12px;line-height:1.5}.report-print-head strong{font-size:18px}.top{display:none!important}.report-content>.card.report-filter{display:none!important}.report-content .card{break-inside:avoid}.report-content .sectiontitle{break-after:avoid}.report-content{font-size:11px}.report-content .grid{gap:8px}}

