@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#202033;font-synthesis:none;--bg:#f6f5fa;--panel:#fff;--text:#202033;--muted:#777589;--line:#eae8f0;--violet:#6d4aff;--soft:#f0ecff;--shadow:0 10px 35px #342b5612;background:#f6f5fa;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}[data-theme=dark]{--bg:#12111a;--panel:#1b1a25;--text:#f2f0f8;--muted:#a5a2b3;--line:#2c2a38;--soft:#2a2447;--shadow:0 12px 35px #0003}.app{min-height:100vh;display:flex}aside{background:var(--panel);border-right:1px solid var(--line);z-index:20;flex-direction:column;width:244px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 10px 24px;font:800 21px Manrope;display:flex}.brand>span{color:#fff;background:linear-gradient(145deg,#7653ff,#5233d6);border-radius:12px;place-items:center;width:37px;height:37px;display:grid}.brand small{color:var(--muted);letter-spacing:.04em;font:500 10px DM Sans;display:block}.mobile-close{display:none}nav{gap:5px;display:grid}nav button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;padding:12px 14px;font-weight:600;display:flex}nav button:hover,nav button.active{background:var(--soft);color:var(--violet)}.side-tip{background:linear-gradient(150deg,var(--soft),transparent);border:1px solid var(--line);color:var(--violet);border-radius:14px;margin-top:auto;padding:15px}.side-tip b{color:var(--text);margin:8px 0 4px;font-size:13px;display:block}.side-tip p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}main{flex:1;min-width:0;margin-left:244px}header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;height:94px;padding:22px clamp(22px,4vw,56px);display:flex;position:sticky;top:0}header h1{margin:0;font:700 22px Manrope}header p{color:var(--muted);margin:3px 0 0;font-size:13px}header .icon-btn{margin-left:auto}.icon-btn,.record-top button,.menu,.mobile-close{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.menu{margin-right:12px;display:none}section{max-width:1500px;margin:auto;padding:34px clamp(22px,4vw,56px) 70px}.welcome{color:#fff;background:linear-gradient(120deg,#1d1837,#36265f);border-radius:22px;justify-content:space-between;align-items:center;min-height:230px;padding:38px 44px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 45px #261b4c29}.welcome:after{content:"";border:55px solid #977bff17;border-radius:50%;width:330px;height:330px;position:absolute;top:-120px;right:-80px}.eyebrow{letter-spacing:.14em;color:#b9a9ff;font-size:10px;font-weight:700}.welcome h2{margin:10px 0;font:800 clamp(30px,4vw,44px)/1.08 Manrope}.welcome h2 em{color:#bcaaff;font-style:normal}.welcome p{color:#d5cfeb;margin:0}.orb{z-index:1;color:#c7b8ff;background:#ffffff14;border:1px solid #fff3;border-radius:32px;place-items:center;width:112px;height:112px;margin-right:7%;display:grid;transform:rotate(7deg)}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0;display:grid}.stat{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;align-items:center;gap:12px;padding:18px;display:flex}.stat>span{background:var(--soft);width:39px;height:39px;color:var(--violet);border-radius:11px;place-items:center;display:grid}.stat strong{font:700 23px Manrope;display:block}.stat small{color:var(--muted)}.grid,.settings-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px;padding:22px}.span2{grid-column:span 2}.span3{grid-column:span 3}.card-head{justify-content:space-between;align-items:flex-start;display:flex}.card h3,.card-head h3{margin:0;font:700 16px Manrope}.card p,.card-head p{color:var(--muted);margin:4px 0;font-size:13px}.link{color:var(--violet);background:0 0;border:0;align-items:center;gap:3px;font-weight:700;display:flex}.mini-empty{text-align:center;color:var(--muted);padding:30px 10px}.mini-empty svg{color:#bab6c6}.mini-empty p{margin:8px}.mini-empty .link{margin:auto}.mini-list{margin-top:12px}.mini-list>div{border-bottom:1px solid var(--line);grid-template-columns:12px 1fr auto;align-items:center;gap:9px;padding:10px 4px;font-size:13px;display:grid}.mini-list small{color:var(--muted)}.dot{background:#999;border-radius:50%;width:7px;height:7px}.dot.alta{background:#ef5d79}.dot.média{background:#f0ae44}.dot.baixa{background:#51b98d}.finance{margin-top:20px}.finance small,.finance strong{display:block}.finance strong{margin:4px 0 15px;font:700 24px Manrope}.bar{background:var(--soft);border-radius:9px;height:7px;overflow:hidden}.bar i{background:linear-gradient(90deg,#7352ff,#9b85ff);border-radius:9px;height:100%;display:block}.finance span{color:var(--muted);margin-top:9px;font-size:12px;display:block}.finance span b{color:var(--text)}.goal-bars{grid-template-columns:1fr 1fr;gap:22px;margin-top:20px;display:grid}.goal-bars span{justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.goal-bars strong{color:var(--violet)}.toolbar{gap:12px;margin-bottom:24px;display:flex}.search{flex:1;max-width:450px;position:relative}.search svg{color:var(--muted);position:absolute;top:12px;left:14px}input,select,textarea{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;outline:none;width:100%;padding:11px 12px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--soft);border-color:#8e75ff}.search input{padding-left:42px}.toolbar select{width:170px}.primary,.secondary,.delete{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:700;display:flex}.primary{background:var(--violet);color:#fff;box-shadow:0 6px 16px #6d4aff38}.secondary{background:var(--soft);color:var(--text)}.delete{color:#d94665;background:#fff0f3}.record-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.record{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:20px;transition:all .2s}.record:hover{border-color:#cfc6f7;transform:translateY(-2px)}.record-top{justify-content:space-between;display:flex}.record-top>div{gap:5px;display:flex}.record-top button{border:0;width:31px;height:31px}.tag,.status{text-transform:uppercase;letter-spacing:.06em;background:var(--soft);color:var(--violet);border-radius:7px;padding:5px 8px;font-size:10px;font-weight:700}.record h3{margin:18px 0 8px;font:700 16px Manrope}.parent,.next{color:var(--muted);min-height:18px;font-size:12px}.record .bar{margin:17px 0 7px}.spread{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.money-row{justify-content:space-between;align-items:end;margin:18px 0;display:flex}.money-row strong{font:700 19px Manrope}.money-row span{color:var(--muted);font-size:11px}.record footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;display:flex}.record footer>span:last-child{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.status.done{color:#21855e;background:#e8f8f0}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:460px;display:flex}.empty>div{background:var(--soft);width:74px;height:74px;color:var(--violet);border-radius:24px;place-items:center;display:grid}.empty h2{margin:18px 0 5px;font:700 20px Manrope}.empty p{color:var(--muted);max-width:420px;margin:0 0 20px}.modal-bg{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#110e1c8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:18px;width:min(620px,100%);max-height:92vh;padding:26px;overflow:auto;box-shadow:0 24px 70px #00000040}.modal-head{justify-content:space-between;align-items:start;margin-bottom:22px;display:flex}.modal-head h2{margin:5px 0;font:700 22px Manrope}.modal label{gap:7px;margin-bottom:15px;font-size:12px;font-weight:700;display:grid}.fields{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.fields.three{grid-template-columns:repeat(3,1fr)}textarea{resize:vertical;min-height:80px}.hint{color:#e18436;font-weight:500}.error{color:#d94665;background:#fff0f3;border-radius:8px;padding:9px 11px;font-size:12px}.actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.theme-pick{gap:12px;margin-top:18px;display:flex}.theme-pick button{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:13px;flex:1;place-items:center;gap:8px;padding:20px;display:grid}.theme-pick button.selected{border-color:var(--violet);color:var(--violet);background:var(--soft)}.danger .delete{margin-top:20px}.version{color:var(--muted);margin-top:14px;font-size:11px;display:inline-block}.shade{display:none}@media (width<=1050px){.record-grid,.stats,.grid{grid-template-columns:1fr 1fr}.span3{grid-column:span 2}.card:not(.span2):not(.span3){grid-column:span 1}}@media (width<=760px){aside{transition:all .25s;transform:translate(-100%);box-shadow:10px 0 40px #0003}aside.open{transform:none}.mobile-close{margin-left:auto;display:grid}.shade{z-index:19;background:#00000059;display:block;position:fixed;inset:0}main{margin-left:0}header{height:82px;padding:16px 18px}.menu{display:grid}header p{display:none}section{padding:22px 16px 50px}.welcome{min-height:220px;padding:28px}.welcome p{max-width:260px}.orb{display:none}.stats{gap:10px}.stat{padding:14px}.stat strong{font-size:19px}.grid,.settings-grid,.record-grid{grid-template-columns:1fr}.span2,.span3,.card:not(.span2):not(.span3){grid-column:span 1}.goal-bars{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.search{flex-basis:100%;width:100%;max-width:none}.toolbar select{flex:1;width:auto}.toolbar .primary{flex:1}.fields,.fields.three{grid-template-columns:1fr}.modal{padding:20px}.record-grid{gap:12px}}.save-state{color:#2d9a6c;background:#e9f8f1;border-radius:7px;margin-left:auto;padding:6px 9px;font-size:11px}.save-state.saving{color:var(--muted);background:var(--soft)}.save-state.error{color:#d94665;background:#fff0f3}.loading{min-height:400px;color:var(--muted);place-items:center;display:grid}header .save-state+.icon-btn{margin-left:12px}.boot{min-height:100vh;color:var(--violet);justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.login-page{background:var(--panel);grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-art{color:#fff;background:radial-gradient(circle at 75% 30%,#8a69ff52,#0000 32%),linear-gradient(145deg,#1b1634,#362261);flex-direction:column;justify-content:space-between;padding:clamp(35px,7vw,90px);display:flex}.login-brand{align-items:center;gap:11px;font:800 23px Manrope;display:flex}.login-brand span{background:#7653ff;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.login-art h1{margin:14px 0;font:800 clamp(42px,6vw,72px)/1.05 Manrope}.login-art h1 em{color:#b9a7ff;font-style:normal}.login-art p{color:#d4cde8;font-size:17px}.login-card{width:min(390px,100% - 40px);margin:auto}.login-icon{background:var(--soft);width:52px;height:52px;color:var(--violet);border-radius:16px;place-items:center;display:grid}.login-card h2{margin:20px 0 5px;font:800 28px Manrope}.login-card>p{color:var(--muted);margin:0 0 28px}.login-card label{gap:8px;margin:16px 0;font-size:12px;font-weight:700;display:grid}.login-submit{width:100%;margin-top:18px;padding:13px}.side-user{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:17px 5px 0;display:flex}.side-user>div{color:#fff;background:var(--violet);border-radius:11px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.side-user span{flex:1;display:grid}.side-user small{color:var(--muted);font-size:10px}.side-user button{color:var(--muted);background:0 0;border:0;padding:7px}.record.with-image{padding:0;overflow:hidden}.record-body{padding:20px}.record:not(.with-image)>.record-body{padding:0}.purchase-image{object-fit:cover;background:var(--soft);width:100%;height:180px;display:block}.image-upload{color:var(--violet);border:1px dashed #a99af0;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;padding:15px!important}.image-upload input{grid-column:1/3}.image-upload small{color:var(--muted);grid-column:1/3;font-weight:400}.users-card{grid-column:span 2}.users-layout{grid-template-columns:1fr 1fr;gap:25px;margin-top:18px;display:grid}.user-list{gap:8px;display:grid}.user-list>div{background:var(--bg);border-radius:11px;align-items:center;gap:10px;padding:10px;display:flex}.user-list>div>span{background:var(--soft);width:32px;height:32px;color:var(--violet);border-radius:9px;place-items:center;font-weight:700;display:grid}.user-list b{flex:1;font-size:13px}.user-list b small{color:var(--violet);background:var(--soft);border-radius:5px;margin-left:7px;padding:3px 6px}.user-list button{color:#d94665;background:0 0;border:0;padding:7px}.user-list button:disabled{opacity:.25;cursor:not-allowed}.new-user label{gap:5px;margin-bottom:10px;font-size:11px;font-weight:700;display:grid}.new-user small{color:var(--muted);margin-top:8px;display:block}@media (width<=760px){.login-page{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:45px 0}.save-state{display:none}.users-layout{grid-template-columns:1fr}.users-card{grid-column:span 1}.purchase-image{height:210px}}


/* Responsividade reforçada e perfis */
.trial-badge{color:var(--violet);background:var(--soft);border-radius:7px;padding:6px 9px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
img{max-width:100%}.card,.record,.modal{min-width:0}.toolbar>*{min-width:0}
@media (min-width:761px) and (max-width:1180px){
  aside{width:210px;padding:20px 12px}main{margin-left:210px}header{padding-inline:28px}section{padding-inline:28px}
  .brand{font-size:19px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span3{grid-column:span 2}.users-card{grid-column:span 2}
}
@media (max-width:760px){
  html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.app,main,section{width:100%;max-width:100%}
  aside{width:min(86vw,310px)}header{gap:8px}header>div{min-width:0}header h1{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  section{padding:18px 14px 44px}.welcome{border-radius:18px;min-height:190px;padding:25px 22px}.welcome h2{font-size:30px}.welcome p{font-size:13px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{min-width:0;gap:8px;padding:12px}.stat>span{width:34px;height:34px}.stat strong{font-size:18px}.stat small{font-size:10px}
  .toolbar{display:grid;grid-template-columns:1fr 1fr;gap:9px}.toolbar .search{grid-column:1/-1}.toolbar select,.toolbar .primary{width:100%}
  .record-grid{grid-template-columns:minmax(0,1fr)}.record{padding:16px}.record-body{padding:16px}.record h3{overflow-wrap:anywhere}
  .modal-bg{align-items:end;padding:0}.modal{width:100%;max-height:94dvh;border-radius:20px 20px 0 0;padding:20px 16px}.actions{position:sticky;bottom:-20px;background:var(--panel);margin-inline:-16px;padding:14px 16px 4px}.actions button{flex:1}
  .login-card{width:min(100% - 28px,420px)}.login-page{min-height:100dvh}.users-layout{gap:16px}.user-list b{min-width:0;overflow-wrap:anywhere}
}
@media (max-width:420px){
  .stats{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.toolbar .search{grid-column:auto}.welcome h2{font-size:27px}
  header .icon-btn{width:38px;height:38px}.menu{margin-right:2px}.record-top{gap:8px}.record-top>div{flex-shrink:0}
}
@media (hover:none){button,.record{transition:none}.record:hover{transform:none}}

/* Correção viewport móvel v3 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
#root{min-height:100dvh}
@supports(padding:max(0px)){
  @media(max-width:760px){
    header{padding-top:max(16px,env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
    section{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(44px,env(safe-area-inset-bottom))}
    aside{padding-left:max(16px,env(safe-area-inset-left));padding-bottom:max(24px,env(safe-area-inset-bottom))}
  }
}

/* Nexo v5: imagens completas, backup e ajustes de segurança */
.purchase-image{object-fit:contain!important;object-position:center;background:#fff;height:220px;padding:10px}
.backup-link{text-decoration:none;margin-top:16px;width:max-content;max-width:100%}
@media (width<=760px){.purchase-image{height:auto;max-height:360px;aspect-ratio:auto;padding:8px}}

.task-progress{margin:16px 0 7px}.user-list .transfer-btn{width:auto;height:auto;padding:7px 9px;border-radius:8px;background:var(--soft);color:var(--violet);font-size:11px;font-weight:700}.user-list .transfer-btn:disabled{opacity:.25}.user-list>div{flex-wrap:wrap}.user-list>div>b{min-width:150px}
/* Nexo v7 - cadastro Trial por e-mail e administração dedicada de usuários */
.trial-link{border:0;background:transparent;color:var(--violet);font-weight:700;width:100%;padding:12px;margin-top:8px}.trial-link:hover{text-decoration:underline}.signup-card{padding-top:28px;padding-bottom:28px}.verify-code{text-align:center;font-size:28px;letter-spacing:.35em;font-weight:800}.success-note,.admin-message{color:#21855e;background:#e8f8f0;border-radius:8px;padding:10px 12px;font-size:12px}.legacy-users-card{display:none!important}.users-page{display:grid;gap:20px}.user-create-card{max-width:1100px}.admin-user-form{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 180px auto;gap:12px;align-items:end;margin-top:18px}.admin-user-form label{display:grid;gap:6px;font-size:11px;font-weight:700}.user-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.user-admin-card{display:grid;gap:16px}.user-admin-head{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center}.user-admin-head>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--violet);font-weight:800}.user-admin-head h3,.user-admin-head p{margin:0}.user-admin-head p{color:var(--muted);font-size:12px;margin-top:3px}.user-status{font-size:10px;text-transform:uppercase;padding:5px 8px;border-radius:7px}.user-status.active{color:#21855e;background:#e8f8f0}.user-status.blocked{color:#d94665;background:#fff0f3}.user-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.user-meta-grid>div{background:var(--bg);padding:10px;border-radius:9px;display:grid;gap:3px}.user-meta-grid small{color:var(--muted)}.user-meta-grid strong{font-size:12px}.user-stats{display:flex;flex-wrap:wrap;gap:7px}.user-stats span{background:var(--soft);color:var(--violet);padding:5px 8px;border-radius:7px;font-size:10px;font-weight:700}.user-actions{display:flex;flex-wrap:wrap;gap:8px}.user-actions select{width:auto;min-width:120px}.user-actions button{padding:9px 11px;font-size:11px}
@media (max-width:1100px){.admin-user-form{grid-template-columns:1fr 1fr}.admin-user-form .primary{align-self:end}.user-admin-grid{grid-template-columns:1fr}}
@media (max-width:760px){.signup-card{padding:32px 0}.admin-user-form{grid-template-columns:1fr}.user-meta-grid{grid-template-columns:1fr}.user-actions{display:grid;grid-template-columns:1fr 1fr}.user-actions select,.user-actions button{width:100%}}
