/* Visual FinFlow: tokens compartilhados pelos temas e preferências de perfil. */
:root{--green:#00cf9b;--blue:#4f7dff;--purple:#b287ff;--red:#ff707e;--bg:#090d16;--surface:#101723;--raised:#151f30;--ink:#e9eef8;--muted:#8597b1;--line:#223048;--primary:#2860f6;--soft:#182749;--shadow:0 10px 35px #00000012;color-scheme:dark}
:root[data-theme=light]{--green:#009f7b;--blue:#3869eb;--purple:#8b54db;--red:#df4a63;--bg:#f2f5fc;--surface:#fff;--raised:#f5f7fc;--ink:#18243b;--muted:#697d98;--line:#e1e7f2;--primary:#285ff5;--soft:#e9efff;--shadow:0 8px 28px #28466d08;color-scheme:light}
body{background:var(--bg);color:var(--ink);font-size:15px;font-family:Inter,'Segoe UI',sans-serif;transition:background .2s,color .2s}button,input,select{font-family:inherit}button{background:var(--raised);border-color:var(--line);color:var(--ink);font-size:13px;border-radius:10px;padding:11px 15px;transition:background .15s,transform .15s}button:hover{filter:brightness(1.13);transform:translateY(-1px)}input,select{background:var(--raised);border-color:var(--line);color:var(--ink);font-size:14px;padding:12px;border-radius:9px}input::placeholder{color:var(--muted);opacity:.75}input:focus,select:focus{outline:2px solid #4b7cff80;border-color:var(--blue)}.primary{background:var(--primary);border-color:var(--primary);box-shadow:0 5px 20px #2860f62b;font-weight:600;font-size:14px;padding:13px 20px}.danger{background:#d84962;border-color:#d84962;color:white}
aside{width:235px;background:var(--surface);border-color:var(--line);padding:34px 20px}.brand{color:var(--ink);font-size:27px;font-family:Inter,'Segoe UI',sans-serif;letter-spacing:-1px;white-space:nowrap}.brand b{background:linear-gradient(140deg,#2975ff,#9463ed);width:38px;height:38px;border-radius:11px;box-shadow:0 4px 18px #496bff40;font-size:31px;margin-right:8px}.brand .brandaccent{display:inline;color:#8ca8ff;font:inherit;letter-spacing:inherit;margin:0}.brand small{display:block;font:11px 'Segoe UI';color:var(--muted);letter-spacing:0;margin:10px 0 0 3px}.navlabel{font-size:11px;color:var(--muted);margin:48px 12px 18px;letter-spacing:1.6px}nav a{color:var(--muted);padding:14px;margin-bottom:8px;border-radius:10px;gap:12px}nav a span{font-size:14px}nav a.active{color:#91acff;background:var(--soft);box-shadow:inset 3px 0 #5283ff}nav a:hover{background:var(--raised)}.sidebottom{color:var(--muted);font-size:12px;line-height:1.6}.sidebottom small{font-size:10px;color:var(--muted)}.shell{margin-left:235px}header{background:var(--surface);border-color:var(--line);height:90px;padding:0 36px;font-size:14px}header b{color:var(--ink)}.headeractions{display:flex;align-items:center;gap:19px}.localbadge{font-size:11px;color:var(--green);background:#00c69310;border:1px solid #00c69325;padding:6px 9px;border-radius:6px}.identity{display:flex;align-items:center;gap:11px}.identity img{height:42px;width:42px;border-radius:50%;object-fit:cover;border:2px solid #4e7cff60}.identity strong{display:block;font-size:14px;font-weight:600}.identity small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.rolebadge{background:var(--soft);color:var(--blue);border-radius:6px;padding:5px 8px;font-size:11px;white-space:nowrap}#themeToggle{width:42px;height:42px;padding:0;font-size:23px;color:#ffc762}.slash{color:var(--muted)}
main{padding:34px 36px;max-width:1680px}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:2px}.pagehead{margin-bottom:25px}h1{font-family:Inter,'Segoe UI',sans-serif;font-size:32px;letter-spacing:-.9px;line-height:1.25;margin:10px 0}p{color:var(--muted);font-size:14px;line-height:1.6}.periodbar{font-size:13px;color:var(--muted);margin-bottom:23px}.periodcontrols select{font-size:13px;padding:10px}.periodcontrols label{font-size:12px}.cards{gap:17px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;padding:23px;position:relative;overflow:hidden}.card:first-child{background:linear-gradient(125deg,#1d49bc,#4533a4);border-color:#4b6ce4;color:white}.card:first-child .cardtop,.card:first-child small{color:#c0d0ff}.card:after{content:'';position:absolute;width:90px;height:90px;border:16px solid #ffffff04;border-radius:50%;right:-30px;bottom:-40px}.cardtop{font-size:14px;color:var(--muted);gap:8px}.cardicon{background:#4e7dff18;color:var(--blue);font-size:21px;padding:8px;border-radius:10px}.card:first-child .cardicon{background:#ffffff18;color:white}.card:nth-child(3) .cardicon{color:var(--purple);background:#9e78ff15}.card:nth-child(4) .cardicon{color:var(--red);background:#ff708015}.value{font:750 clamp(21px,1.85vw,31px) Inter,'Segoe UI',sans-serif;letter-spacing:-.9px;margin:21px 0 12px;white-space:nowrap}.card small{font-size:12px;color:var(--muted)}
.chartgrid{gap:24px;margin-bottom:24px;grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr)}.panel{background:var(--surface);border-color:var(--line);padding:24px;border-radius:15px;box-shadow:var(--shadow)}h2{font:650 18px Inter,'Segoe UI',sans-serif;letter-spacing:-.3px}.panelhead{gap:12px;align-items:flex-start;margin-bottom:22px}.panelhead p{font-size:13px;line-height:1.6;margin-top:7px}.chartSelect{font-size:12px;padding:8px;max-width:100px;flex-shrink:0}.legend{color:var(--muted);font-size:12px;margin:0 0 14px;gap:22px}.legend span:before{width:8px;height:8px}.chart text{fill:var(--muted);font-family:Inter,'Segoe UI',sans-serif;font-size:12px}.chart svg{max-height:none}.donut{width:185px;height:185px;margin:18px auto 24px;box-shadow:0 0 35px #4b7fff0a}.donut:before{background:var(--surface);inset:22px}.donut small{color:var(--muted);font-size:12px}.donut strong{font:700 18px Inter,'Segoe UI',sans-serif;letter-spacing:-.5px;margin-top:8px}.mixrow{border-color:var(--line);font-size:13px;padding:13px 0;gap:12px}.mixrow span{display:flex;gap:8px;align-items:center}.mixrow i{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.mixrow b{font-weight:600;white-space:nowrap}.mixrow em{font-size:11px;color:var(--muted)}.progress{height:6px;background:var(--raised);border-radius:10px;margin:0 0 20px;overflow:hidden}.progress>div{height:100%;border-radius:10px}.empty{font-size:14px;color:var(--muted);padding:40px 12px;line-height:1.9}.empty .emptyicon{font-size:32px;color:var(--blue);background:var(--soft);width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 18px}.source{font-size:12px;line-height:1.8;color:var(--muted);margin-top:7px}.tag{border-color:var(--line);background:var(--raised);color:var(--muted);font-size:11px;white-space:nowrap}
form{grid-template-columns:1fr 1fr 1.7fr;gap:19px}form label{font-size:13px;color:var(--muted);gap:9px}form .description{grid-column:auto}.formactions{margin-top:4px}.formnote{font-size:12px;color:var(--muted);margin:14px 0 0;line-height:1.7}.entry{margin-bottom:24px}.filters{gap:12px;flex-wrap:wrap}.filters>*{font-size:13px}.filters input{min-width:220px}.filters select{max-width:200px}.chipbar{display:flex;gap:8px;overflow-x:auto;padding:18px 0 15px;border-bottom:1px solid var(--line);scrollbar-color:#3b5283 transparent;scrollbar-width:thin}.chip{white-space:nowrap;padding:8px 12px;background:var(--raised);font-size:12px;border:1px solid transparent;color:var(--muted);border-radius:8px}.chip.selected{color:white;background:var(--primary);box-shadow:0 3px 14px #2860f633}.chip:hover{border-color:var(--blue);color:var(--ink)}.filteredtotals{color:var(--muted);font-size:12px;padding:20px 0;gap:22px}.filteredtotals strong{color:var(--ink)}th{font-size:12px;background:var(--raised);color:var(--muted);padding:15px 13px}td{font-size:14px;border-color:var(--line);padding:18px 13px}td small{font-size:11px;color:var(--muted);margin-top:7px}td button{font-size:12px;background:transparent;color:var(--blue);padding:6px}td button[data-delete]{color:var(--red)}.badge{font-size:12px;padding:6px 10px;background:#4e7dff18;color:var(--blue)}.badge.servico{background:#b58aff18;color:var(--purple)}.badge.despesa{background:#ff718218;color:var(--red)}.pagination{font-size:12px;margin-top:20px;color:var(--muted)}.pagination button{font-size:12px;padding:10px}footer{border-color:var(--line);font-family:Inter,'Segoe UI',sans-serif;color:var(--muted);font-size:15px}footer span{font-size:12px}footer button{color:var(--muted);font-size:12px}#toast{background:#2857b4;box-shadow:0 8px 30px #0005;max-width:90vw;font-size:14px;line-height:1.5}dialog{background:var(--surface);color:var(--ink);border-color:var(--line);padding:30px}dialog::backdrop{background:#030812b8}
.notice{display:flex;align-items:center;gap:18px;background:linear-gradient(110deg,#477dff18,#9966ff0a);border:1px solid #527dff32;border-radius:14px;padding:22px 24px;margin-bottom:24px;font-size:28px;color:var(--blue)}.notice strong{font-size:15px;color:var(--ink)}.notice p{font-size:13px;margin:6px 0 0}.servicegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.servicecard{border:1px solid var(--line);border-radius:12px;padding:19px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;background:var(--raised)}.serviceicon{color:var(--purple);background:#b58aff18;border-radius:11px;height:40px;display:grid;place-items:center;font-size:25px}.serviceinfo{min-width:0}.serviceinfo strong{font-size:14px;display:block;line-height:1.5}.serviceinfo span{font-size:11px;color:var(--muted);display:block;margin-top:5px}.serviceprice{font-size:15px;font-weight:650;white-space:nowrap}.pendingprice{font-size:12px;color:#e5af5d}.serviceactions{grid-column:2/-1;display:flex;gap:8px}.serviceactions button{font-size:12px;padding:7px 10px}.inactive{opacity:.6}#serviceForm{grid-template-columns:2fr 1fr}#serviceSearch{max-width:210px}.profilelayout{display:grid;grid-template-columns:1fr 1fr;gap:24px}#profileForm{grid-template-columns:1fr}.photoedit{display:flex;align-items:center;gap:22px;margin-bottom:10px}.photoedit img{width:80px;height:80px;object-fit:cover;border-radius:50%;border:3px solid var(--soft)}.photoedit label{font-size:13px;color:var(--blue);cursor:pointer}.photoedit input{max-width:240px;font-size:11px;margin-top:10px}.settingrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;font-size:14px;border-bottom:1px solid var(--line)}.settingrow p{font-size:13px;margin:0}.settingrow select{max-width:260px;font-size:13px}hr{border:0;border-top:1px solid var(--line);margin:8px 0}.googlepreview{border:1px solid var(--line);padding:18px;border-radius:12px;display:flex;align-items:center;gap:14px;margin-top:26px}.googlepreview strong{font-size:14px}.googlepreview p{font-size:12px}.googleG{font-size:28px;font-weight:750;color:#699bff}.personrow{display:flex;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.personrow img{width:44px;height:44px;object-fit:cover;border-radius:50%}.personrow div{flex:1;min-width:160px}.personrow strong{font-size:14px}.personrow small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.statuspill{color:var(--green);font-size:11px;background:#00ca9112;padding:6px 9px;border-radius:6px}.inviteicon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--blue);background:var(--soft);font-size:23px}.personrow button{font-size:12px;padding:8px 12px}body[data-role=viewer] td button{display:none}body[data-role=viewer] #form{opacity:.6}
@media(min-width:1700px){main{padding:42px 48px}.value{font-size:33px}.card{padding:27px}}@media(max-width:1200px){aside{width:210px;padding:28px 14px}.shell{margin-left:210px}main{padding:28px 24px}header{padding:0 24px}.cards{grid-template-columns:repeat(2,1fr)}.value{font-size:29px}.chartgrid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:18px}.panel{padding:20px}.identity .rolebadge{display:none}.servicegrid{grid-template-columns:1fr}.profilelayout{grid-template-columns:1fr}.headeractions{gap:12px}.localbadge{display:none}}
@media(max-width:860px){aside{position:static;width:100%;display:block;padding:20px;border-bottom:1px solid var(--line)}.brand small,.navlabel,.sidebottom{display:none}.brand{font-size:25px}.brand b{width:32px;height:32px;font-size:26px}nav{display:flex;overflow-x:auto;margin-top:20px;gap:4px}nav a{white-space:nowrap;margin:0;padding:11px 13px;gap:8px}nav a span{font-size:13px}.shell{margin:0}header{height:82px;padding:0 22px;font-size:12px}.identity small{font-size:11px}.identity strong{font-size:13px}.identity img{width:36px;height:36px}h1{font-size:28px}.chartgrid{grid-template-columns:1fr}.chart svg{max-height:310px}.donut{width:185px;height:185px}.pagehead .primary{padding:12px 15px;font-size:12px}.periodcontrols label{font-size:12px}.periodbar>div:first-child{max-width:none}form{grid-template-columns:1fr 1fr}.servicegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.servicecard{grid-template-columns:36px 1fr}.serviceprice{grid-column:2}.panelhead p{font-size:13px}}
@media(max-width:580px){main{padding:26px 16px}header{padding:0 16px}header>span{font-size:0}header>span b{font-size:12px}.slash{display:none}.headeractions{gap:12px}.identity img{width:34px;height:34px}.identity small{font-size:10px}.identity strong{font-size:12px}.cards{gap:11px}.card{padding:17px}.cardtop{font-size:12px;gap:3px}.cardicon{padding:5px;font-size:18px}.card small{font-size:11px}.value{font-size:21px;letter-spacing:-.6px}.pagehead{gap:12px;align-items:flex-start}h1{font-size:25px}.pagehead p{font-size:12px}.eyebrow{font-size:9px}.pagehead .primary{font-size:11px;padding:11px 12px;white-space:nowrap}.periodbar{font-size:11px;align-items:center;gap:10px}.periodbar>div:first-child{max-width:105px}.periodcontrols{gap:7px}.periodcontrols label{font-size:0;gap:0}.periodcontrols select{font-size:12px;padding:9px}.panel{padding:18px}h2{font-size:17px}.panelhead p{font-size:12px}.legend{font-size:11px}.chartSelect{font-size:11px;padding:7px;max-width:84px}form{grid-template-columns:1fr 1fr;gap:15px}form .description{grid-column:1/-1}.formactions .primary{font-size:13px}.servicegrid{grid-template-columns:1fr}.servicecard{grid-template-columns:40px 1fr auto}.serviceprice{grid-column:auto}.serviceactions{grid-column:2/-1}.notice{padding:18px}.notice strong{font-size:14px}.notice p{font-size:12px}.panelhead{flex-wrap:wrap}.servicegrid .serviceinfo strong{font-size:14px}.filters input{min-width:100%;width:100%}.filters select{max-width:calc(50% - 6px);flex:1}.pagination{font-size:11px;flex-wrap:wrap;gap:13px}.pagination button{font-size:11px}.photoedit{flex-wrap:wrap}.photoedit input{max-width:225px}.settingrow{align-items:flex-start;flex-direction:column}.settingrow select{width:100%;max-width:100%}footer span{display:none}.identity .rolebadge{display:none}.googlepreview{flex-wrap:wrap}}

@media(max-width:580px){header>span{display:none}.headeractions{margin-left:auto}.identity small{font-size:12px}.identity strong{font-size:14px}.cardtop{font-size:13px}nav{scrollbar-width:thin;scrollbar-color:#334b75 transparent}}

/* Navegação em cápsulas, com acabamento neutro e sem trilho lateral. */
aside{background:linear-gradient(175deg,#17171d,#101014);border-right:1px solid #ffffff09;padding:32px 18px;color:#f4f4f7}
aside .brand{color:#fafafa}aside .brand b{background:linear-gradient(145deg,#f4f4f7,#bfc0ca);color:#1c1c22;box-shadow:0 3px 14px #0002}aside .brand .brandaccent{color:#c4c5d0}aside .brand small{color:#8f909f}
aside .navlabel{color:#777884;letter-spacing:1.4px;font-size:10px;margin:43px 15px 20px}
nav{display:flex;flex-direction:column;gap:7px}nav a{display:flex;align-items:center;gap:13px;color:#92939f;padding:14px 16px;margin:0;border:1px solid transparent;border-radius:15px;transition:background .2s,color .2s,box-shadow .2s}
nav a svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
nav a span{font-size:14px;font-weight:500}nav a.active{color:#fff;background:linear-gradient(140deg,#ffffff15,#ffffff09);border-color:#ffffff0e;box-shadow:0 4px 15px #00000012,inset 0 1px #ffffff08;font-weight:600}nav a.active svg{color:#fff}nav a:hover{color:#f4f4f7;background:#ffffff08}nav a.active:hover{background:#ffffff15}
aside .sidebottom{color:#a0a0ac;padding:15px;font-size:11px}aside .sidebottom small{color:#777884}aside .sidebottom .dot{background:#ababbb}
[data-theme=light] aside{background:linear-gradient(160deg,#fcfcfe,#f2f2f7);border-color:#e6e6ee;color:#22232b}[data-theme=light] aside .brand{color:#24252d}[data-theme=light] aside .brand .brandaccent{color:#787985}[data-theme=light] aside .brand b{background:linear-gradient(140deg,#34353e,#191a22);color:white}[data-theme=light] aside .brand small{color:#90919d}[data-theme=light] nav a{color:#737480}[data-theme=light] nav a.active{color:#282932;background:#fff;border-color:#e8e8ef;box-shadow:0 3px 12px #29293a0a,inset 0 1px white}[data-theme=light] nav a.active svg{color:#282932}[data-theme=light] nav a:hover{background:#e9e9f0;color:#353640}[data-theme=light] aside .sidebottom{color:#858691}
@media(max-width:860px){aside{padding:20px;border-right:0;border-bottom:1px solid #ffffff09}nav{flex-direction:row;gap:6px;padding-bottom:5px}nav a{padding:11px 14px;border-radius:13px}nav a span{font-size:13px}nav a svg{width:18px;height:18px}.profilelayout{grid-template-columns:1fr}}
