:root {
  --bg:#fffaf6;--surface:#fff;--glass:rgba(255,255,255,.88);--soft:#f8f2ee;--text:#252331;--muted:#777384;--line:#eee7e3;
  --violet:#7565de;--violet-soft:#ebe7ff;--pink:#e96f9f;--pink-soft:#ffe5ef;--mint:#3fac96;--mint-soft:#dff7ef;
  --coral:#eb8364;--coral-soft:#ffe8df;--yellow:#db9d24;--yellow-soft:#fff2ce;--blue:#4f92d8;--blue-soft:#e4f2ff;
  --shadow:0 18px 55px rgba(77,55,48,.09);--small-shadow:0 8px 26px rgba(77,55,48,.08);
  color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:root[data-theme="dark"] {
  --bg:#17151e;--surface:#262230;--glass:rgba(38,34,48,.9);--soft:#302a3a;--text:#f8f2ff;--muted:#b7afc1;--line:#40394b;
  --violet-soft:#3b3358;--pink-soft:#4a2e40;--mint-soft:#263f3a;--coral-soft:#49332f;--yellow-soft:#49402b;--blue-soft:#293b50;
  --shadow:0 22px 65px rgba(0,0,0,.28);--small-shadow:0 10px 30px rgba(0,0,0,.2);color-scheme:dark;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg);scroll-behavior:smooth}body{min-height:100vh;margin:0;color:var(--text);background:var(--bg);transition:background .28s,color .28s}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(117,101,222,.3);outline-offset:2px}[hidden]{display:none!important}
.setup-banner{position:fixed;z-index:200;top:0;left:0;right:0;padding:11px 18px;color:#47350c;background:#fff0ad;text-align:center;font-size:12px}.setup-banner~.auth-shell{padding-top:40px}
.brand{display:inline-flex;align-items:center;gap:11px;border:0;background:transparent;font-family:ui-rounded,"Segoe UI",system-ui,sans-serif;font-size:18px;cursor:pointer}.brand>span{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;color:#5644bf;background:linear-gradient(135deg,#cfc7ff,#ffd4e3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);animation:pulse 3s ease-in-out infinite}.eyebrow{color:var(--violet);font-size:10px;font-weight:800;letter-spacing:.16em}.primary,.outline{min-height:44px;padding:0 18px;border-radius:14px;border:0;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary{color:#fff;background:linear-gradient(135deg,#7d6ce7,#a875ce);box-shadow:0 10px 25px rgba(117,101,222,.25)}.outline{border:1px solid var(--line);background:var(--surface)}.primary:hover,.outline:hover{transform:translateY(-2px)}.primary:disabled{opacity:.55;cursor:wait;transform:none}.wide{width:100%}.danger{color:#df5f75}
/* Auth */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}.auth-visual{position:relative;min-height:100vh;padding:42px clamp(38px,7vw,110px);overflow:hidden;background:linear-gradient(145deg,#fff4eb,#f3efff 48%,#e9fbf5)}:root[data-theme="dark"] .auth-visual{background:linear-gradient(145deg,#2f2630,#29243c 50%,#1f3733)}.auth-copy{position:relative;z-index:2;max-width:650px;margin-top:clamp(100px,19vh,220px)}.auth-copy>small{color:var(--violet);font-weight:900;letter-spacing:.16em}.auth-copy h1{margin:15px 0 20px;font:800 clamp(42px,6vw,78px)/1.03 ui-rounded,"Segoe UI",system-ui,sans-serif;letter-spacing:-.055em}.auth-copy h1 em{color:var(--violet);font-style:normal}.auth-copy p{max-width:520px;color:var(--muted);font-size:17px;line-height:1.75}.float-card{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;padding:16px 19px;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:rgba(255,255,255,.73);box-shadow:var(--shadow);backdrop-filter:blur(14px);font-size:25px;animation:float 4.5s ease-in-out infinite}:root[data-theme="dark"] .float-card{border-color:rgba(255,255,255,.08);background:rgba(40,35,49,.78)}.float-card div{display:grid;gap:2px;font-size:13px}.float-card small{color:var(--muted)}.float-a{right:8%;top:24%}.float-b{right:19%;bottom:15%;animation-delay:-2s}.blob{position:absolute;border-radius:50%;animation:blob 8s ease-in-out infinite alternate}.blob.a{width:340px;height:340px;right:-100px;top:-80px;background:rgba(255,184,208,.45)}.blob.b{width:280px;height:280px;left:-100px;bottom:-80px;background:rgba(152,225,204,.42)}.auth-panel{display:grid;place-items:center;padding:35px}.auth-card{width:min(100%,450px);padding:34px;border:1px solid var(--line);border-radius:30px;background:var(--surface);box-shadow:var(--shadow)}.mobile-brand{display:none;margin-bottom:25px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-bottom:30px;border-radius:15px;background:var(--soft)}.tabs button{height:42px;border:0;border-radius:11px;color:var(--muted);font-weight:800;background:transparent;cursor:pointer}.tabs button.active{color:var(--text);background:var(--surface);box-shadow:var(--small-shadow)}.auth-card h2{margin:8px 0;font:800 28px/1.2 ui-rounded,"Segoe UI",system-ui,sans-serif}.auth-card>p{margin:0 0 21px;color:var(--muted);font-size:13px;line-height:1.6}label{display:grid;gap:8px;margin:14px 0;font-size:12px;font-weight:800}input,select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:13px;color:var(--text);background:var(--soft)}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:48px}.password-wrap button{position:absolute;right:6px;top:6px;width:36px;height:36px;border:0;background:transparent;cursor:pointer}.form-message{min-height:20px;margin:12px 0 0!important;color:#d95770!important;text-align:center}.form-message.success{color:var(--mint)!important}
/* App shell */
.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:245px;display:flex;flex-direction:column;padding:28px 18px 20px;border-right:1px solid var(--line);background:var(--surface)}.sidebar>.brand{padding:0 10px 26px}.sidebar nav{display:grid;gap:4px}.nav-item{width:100%;min-height:45px;display:flex;align-items:center;gap:12px;padding:0 12px;border:0;border-radius:14px;color:var(--muted);background:transparent;text-align:left;cursor:pointer}.nav-item>span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--soft);transition:transform .2s}.nav-item b{font-size:13px}.nav-item:hover span{transform:rotate(-6deg) scale(1.08)}.nav-item.active{color:var(--text);background:var(--item-soft,var(--violet-soft))}.nav-item.active span{color:var(--item-color,var(--violet));background:var(--surface);box-shadow:var(--small-shadow)}.side-bottom{display:grid;gap:4px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.nav-item.logout{color:#df5f75}.content{min-height:100vh;margin-left:245px;padding:34px clamp(24px,4vw,64px) 75px}.mobile-header{display:none}.page-head{max-width:1280px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto 24px}.page-head h1{margin:6px 0 4px;font:800 clamp(25px,3vw,34px)/1.15 ui-rounded,"Segoe UI",system-ui,sans-serif;letter-spacing:-.035em}.page-head p{margin:0;color:var(--muted);font-size:13px}.period{height:46px;min-width:136px;display:grid;align-content:center;padding:0 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.period small{color:var(--muted);font-size:8px;letter-spacing:.1em}.period b{font-size:12px}.view{display:none;max-width:1280px;margin:auto;animation:view .38s ease both}.view.active{display:block}.card{border:1px solid var(--line);border-radius:25px;background:var(--glass);box-shadow:var(--small-shadow);backdrop-filter:blur(12px)}.padded{padding:24px}
.dashboard{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:20px}.balance-card{position:relative;min-height:284px;grid-column:1/-1;overflow:hidden;padding:30px;border-radius:28px;color:#fff;background:linear-gradient(125deg,#2f2940,#1d2930 65%,#273a35);box-shadow:0 22px 55px rgba(31,27,42,.25)}.glow{position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(60px);opacity:.26}.glow.one{right:5%;top:-80px;background:#ca86da}.glow.two{left:22%;bottom:-160px;background:#6fd2b7}.balance-head{position:relative;display:flex;justify-content:space-between;color:#d9d2e6;font-size:10px;font-weight:800;letter-spacing:.16em}.balance-head button{border:0;color:inherit;background:transparent}.balance-card>small{position:relative;display:block;margin-top:28px;color:#aaa2b8;font-size:9px;letter-spacing:.14em}.balance-card h2{position:relative;margin:6px 0 8px;font:800 clamp(34px,5vw,52px)/1 ui-rounded,"Segoe UI",system-ui,sans-serif;letter-spacing:-.06em}.balance-card>p{position:relative;margin:0;color:#bbb5c5;font-size:13px}.balance-card>p b{color:#fff}.balance-stats{position:absolute;right:32px;top:108px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.balance-stats div{display:grid;gap:7px}.balance-stats small{color:#aaa2b8;font-size:9px;letter-spacing:.12em}.balance-stats b{font-size:17px}.balance-stats div:first-child b{color:#77dfbe}.balance-stats div:last-child b{color:#ff8cae}.track{position:absolute;left:30px;right:30px;bottom:27px;height:7px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.11)}.track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d2c9ff,#79dfc1);transition:width .55s}
.quick-card{padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-head h2{margin:4px 0 0;font:800 18px/1.2 ui-rounded,"Segoe UI",system-ui,sans-serif}.section-head>button{border:0;color:var(--violet);background:transparent;font-size:11px;font-weight:800;cursor:pointer}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-grid button,.drawer-grid button{min-height:92px;display:grid;place-items:center;align-content:center;gap:8px;padding:8px;border:0;border-radius:18px;background:var(--item-soft);cursor:pointer;transition:transform .2s}.quick-grid button:hover{transform:translateY(-4px)}.quick-grid span,.drawer-grid span{font-size:23px;animation:icon 3.5s ease-in-out infinite}.quick-grid b,.drawer-grid b{font-size:11px}.budget-row{margin:18px 0}.budget-row>div{display:flex;justify-content:space-between;margin-bottom:8px;font-size:11px}.budget-row>i,.report-bars i{display:block;height:8px;overflow:hidden;border-radius:99px;background:var(--soft)}.budget-row>i span,.report-bars i span{display:block;height:100%;border-radius:inherit}.tx-list{display:grid}.tx-row{min-height:62px;display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);animation:row .35s ease both}.tx-row:last-child{border-bottom:0}.tx-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:14px;background:var(--icon-soft);font-size:19px}.tx-copy{min-width:0;display:grid;gap:3px}.tx-copy b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tx-copy small{color:var(--muted);font-size:10px}.tx-row strong{font-size:12px}.tx-row strong.expense{color:var(--pink)}.tx-row strong.income{color:var(--mint)}.tx-row strong.transfer{color:var(--blue)}.soft-add{width:100%;height:39px;margin-top:10px;border:1px dashed #c5baeb;border-radius:12px;color:var(--violet);background:var(--violet-soft);font-weight:800;cursor:pointer}.search{margin-bottom:14px}.roomy .tx-row{min-height:72px}
.pastel-hero{min-height:180px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding:30px;border-radius:27px;background:linear-gradient(120deg,#ece8ff,#fff0e8,#e3f8f1);box-shadow:var(--small-shadow)}:root[data-theme="dark"] .pastel-hero{background:linear-gradient(120deg,#3b3454,#493631,#28443d)}.pastel-hero h2{margin:10px 0 6px;font:800 31px ui-rounded,"Segoe UI",system-ui,sans-serif}.pastel-hero p{color:var(--muted)}.pastel-hero>span{width:96px;height:96px;display:grid;place-items:center;border:14px solid rgba(117,101,222,.24);border-radius:50%;font-size:37px;background:rgba(255,255,255,.45);animation:pulse 3s infinite}.budget-grid,.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.budget-item,.goal-item,.report-item{padding:22px}.budget-item>span{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:var(--item-soft);font-size:23px}.budget-item h3,.goal-item h3{margin:15px 0 6px}.budget-item p,.goal-item p{margin:0 0 15px;color:var(--muted);font-size:11px}.budget-item>i,.goal-item>i{display:block;height:8px;overflow:hidden;border-radius:99px;background:var(--soft)}.budget-item>i span,.goal-item>i span{display:block;height:100%;border-radius:inherit;background:var(--item-color)}.budget-item small,.goal-item small{display:block;margin-top:8px;color:var(--muted);font-size:10px}.goal-item>div{display:flex;align-items:center;justify-content:space-between}.goal-item>div span{font-size:31px}.goal-item>div b{color:var(--violet)}.report-grid{margin-bottom:16px}.report-item{display:flex;align-items:center;gap:13px}.report-item>span{width:47px;height:47px;display:grid;place-items:center;border-radius:16px;background:var(--item-soft);font-size:22px}.report-item small{color:var(--muted)}.report-item h3{margin:4px 0}.report-item p{margin:0;color:var(--mint);font-size:10px}.report-bars{display:grid;gap:19px;margin-top:24px}.report-bars>div>div{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px}
.profile-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px}.profile-card{min-height:350px;display:grid;place-items:center;align-content:center;padding:26px;text-align:center}.avatar{width:90px;height:90px;display:grid;place-items:center;border:8px solid var(--surface);border-radius:50%;color:#5747bd;background:linear-gradient(135deg,#d1caff,#ffd4e3);box-shadow:var(--small-shadow);font-size:32px;font-weight:800}.profile-card h2{margin:17px 0 5px}.profile-card p{margin:0 0 18px;color:var(--muted);font-size:12px}.settings>button{width:100%;min-height:70px;display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent;cursor:pointer}.settings>button>span{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:var(--violet-soft)}.settings>button div{display:grid;gap:4px}.settings>button b{font-size:13px}.settings>button small,.settings>button i{color:var(--muted);font-size:10px;font-style:normal}
/* Modal, navigation and feedback */
.icon-btn{width:43px;height:43px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:14px;color:var(--muted);background:var(--surface);cursor:pointer}.bottom-nav{display:none}.drawer{position:fixed;inset:0;z-index:60}.backdrop{position:absolute;inset:0;width:100%;border:0;background:rgba(25,21,31,.45);backdrop-filter:blur(4px)}.drawer aside{position:absolute;inset:auto 0 0;max-height:86vh;overflow:auto;padding:24px 20px calc(25px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:var(--surface);animation:sheet .3s ease}.drawer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}dialog{width:min(92vw,500px);padding:0;border:0;border-radius:26px;color:var(--text);background:var(--surface);box-shadow:0 30px 100px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(25,21,31,.5);backdrop-filter:blur(5px)}.modal{padding:25px}.type-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.type-picker button{min-height:42px;padding:7px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--soft);font-size:10px;font-weight:800}.type-picker button.active{color:var(--violet);border-color:#bdb4f0;background:var(--violet-soft)}.toast{position:fixed;z-index:100;left:50%;bottom:25px;min-width:220px;max-width:90vw;padding:13px 18px;border-radius:14px;color:#fff;background:#2d2937;box-shadow:0 13px 40px rgba(0,0,0,.25);font-size:12px;font-weight:800;text-align:center;transform:translate(-50%,130px);opacity:0;transition:.3s}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:1020px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh}.mobile-brand{display:inline-flex}.sidebar{display:none}.content{margin-left:0;padding:0 20px 105px}.mobile-header{height:78px;display:flex;align-items:center;justify-content:space-between;margin:0 -20px 25px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--surface)}.mobile-header>div{display:flex;gap:8px}.period{display:none}.bottom-nav{position:fixed;z-index:35;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));height:70px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:7px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 16px 45px rgba(45,38,51,.18);backdrop-filter:blur(18px)}:root[data-theme="dark"] .bottom-nav{background:rgba(38,34,48,.92)}.bottom-nav button{height:55px;display:grid;place-items:center;align-content:center;gap:3px;border:0;border-radius:16px;color:var(--muted);background:transparent}.bottom-nav button span{font-size:18px}.bottom-nav button small{font-size:8px;font-weight:800}.bottom-nav button.active{color:var(--violet);background:var(--violet-soft)}.bottom-nav .nav-add{width:58px;height:58px;place-self:end center;margin-bottom:19px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#7d6ce7,#e481a7);box-shadow:0 12px 25px rgba(117,101,222,.35);font-size:27px;animation:pulse 2.8s infinite}}
@media(max-width:760px){.content{padding-inline:14px}.mobile-header{margin-inline:-14px;padding-inline:14px}.brand{font-size:16px}.brand>span{width:36px;height:36px;border-radius:12px}.page-head h1{font-size:26px}.page-head p{font-size:12px}.dashboard{grid-template-columns:1fr;gap:14px}.balance-card{min-height:370px;grid-column:auto;padding:24px}.balance-card h2{font-size:40px}.balance-stats{left:24px;right:24px;top:auto;bottom:71px;gap:25px}.track{left:24px;right:24px;bottom:29px}.padded,.quick-card{padding:20px}.quick-grid{gap:8px}.quick-grid button{min-height:82px}.quick-grid b{font-size:9px}.budget-grid,.report-grid,.profile-grid{grid-template-columns:1fr}.pastel-hero{min-height:150px;padding:23px}.pastel-hero h2{font-size:23px}.pastel-hero>span{width:70px;height:70px;border-width:10px;font-size:28px}.profile-card{min-height:280px}.toast{bottom:100px}}
@media(max-width:430px){.auth-panel{padding:15px}.auth-card{padding:24px 19px;border-radius:25px}.quick-grid{grid-template-columns:repeat(2,1fr)}.balance-card h2{font-size:34px}.balance-stats b{font-size:14px}.pastel-hero>span{display:none}.bottom-nav{left:8px;right:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes blob{to{transform:translate(35px,22px) scale(1.12)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}@keyframes icon{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-5deg)}}@keyframes view{from{opacity:0;transform:translateY(8px)}}@keyframes row{from{opacity:0;transform:translateX(8px)}}@keyframes sheet{from{transform:translateY(100%)}}

/* Wanda Pocket Financial Planning Workspace */
.onboarding-card {
  grid-column: 1 / -1;
  padding: 1.65rem;
  overflow: hidden;
  background:
    radial-gradient(circle at 96% 0%, rgba(255, 204, 222, .48), transparent 31%),
    radial-gradient(circle at 4% 100%, rgba(183, 228, 216, .42), transparent 32%),
    var(--glass);
}
.onboarding-card > p,
.form-intro {
  max-width: 48rem;
  margin: -.25rem 0 1.25rem;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.65;
}
.onboarding-icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  background: var(--violet-soft);
  font-size: 1.35rem;
  animation: icon 3.6s ease-in-out infinite;
}
.onboarding-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}
.onboarding-steps button {
  min-height: 5.25rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  color: var(--text);
  text-align: left;
  background: var(--surface);
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.onboarding-steps button:hover {
  transform: translateY(-3px);
  border-color: rgba(117, 101, 222, .35);
  box-shadow: var(--small-shadow);
}
.onboarding-steps button > span {
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  display: grid;
  place-items: center;
  border-radius: .7rem;
  color: var(--violet);
  background: var(--violet-soft);
  font-weight: 900;
}
.onboarding-steps button div { display: grid; gap: .22rem; }
.onboarding-steps b { font-size: .82rem; }
.onboarding-steps small { color: var(--muted); font-size: .7rem; line-height: 1.35; }

.filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 12rem;
  gap: .75rem;
  margin-bottom: .85rem;
}
.filter-row .search { margin: 0; }
.filter-row select { min-height: 3rem; }
.tx-row.has-action { grid-template-columns: 2.7rem minmax(0, 1fr) auto 2rem; }
.row-action {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: .65rem;
  color: var(--muted);
  background: var(--surface);
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, transform .2s ease;
}
.row-action:hover { color: #df5f75; border-color: rgba(223, 95, 117, .38); transform: rotate(5deg); }

.hero-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .65rem;
}
.hero-actions > span {
  width: 4.6rem;
  height: 4.6rem;
  display: grid;
  place-items: center;
  border: .65rem solid rgba(117, 101, 222, .2);
  border-radius: 50%;
  font-size: 1.65rem;
  background: rgba(255, 255, 255, .45);
  animation: pulse 3s ease-in-out infinite;
}
.goals-hero-new > div:first-child { max-width: 42rem; }
.goals-hero-new p { margin: .5rem 0 0; }
.item-card-head { display: flex; align-items: center; justify-content: space-between; }
.item-card-head > span {
  width: 2.9rem;
  height: 2.9rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  background: var(--item-soft, var(--violet-soft));
  font-size: 1.35rem;
}
.goal-insight {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-top: 1rem;
  padding: .7rem .8rem;
  border-radius: .8rem;
  background: var(--soft);
  font-size: .7rem;
}
.goal-insight span { color: var(--muted); }
.goal-insight b { color: var(--item-color); }
.contribution-button {
  width: 100%;
  min-height: 2.5rem;
  margin-top: .65rem;
  border: 1px dashed color-mix(in srgb, var(--item-color) 45%, transparent);
  border-radius: .8rem;
  color: var(--item-color);
  background: transparent;
  font-size: .75rem;
  font-weight: 800;
  cursor: pointer;
}

.empty-state {
  min-height: 8.5rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .35rem;
  padding: 1.25rem;
  color: var(--muted);
  text-align: center;
}
.empty-state > span {
  width: 2.85rem;
  height: 2.85rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  background: var(--violet-soft);
  font-size: 1.35rem;
}
.empty-state b { color: var(--text); font-size: .88rem; }
.empty-state p { max-width: 26rem; margin: 0; font-size: .76rem; line-height: 1.5; }
.large-empty { grid-column: 1 / -1; min-height: 17rem; border: 1px dashed var(--line); border-radius: 1.5rem; background: var(--glass); }
.report-empty { grid-column: 1 / -1; border: 1px dashed var(--line); border-radius: 1.5rem; background: var(--glass); }

.consultant-hero {
  min-height: 14rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1rem;
  padding: 2rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.75rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(255, 214, 151, .48), transparent 28%),
    linear-gradient(125deg, var(--surface), var(--yellow-soft));
  box-shadow: var(--small-shadow);
}
.consultant-hero > div { max-width: 47rem; }
.consultant-hero h2 {
  margin: .55rem 0;
  font: 800 clamp(1.8rem, 4vw, 2.7rem)/1.1 ui-rounded, "Segoe UI", system-ui, sans-serif;
  letter-spacing: -.04em;
}
.consultant-hero p { margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.65; }
.consultant-orb {
  width: 7rem;
  height: 7rem;
  flex: 0 0 7rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 2.2rem;
  background: rgba(255, 255, 255, .5);
  box-shadow: var(--small-shadow);
  font-size: 3rem;
  animation: float 4.5s ease-in-out infinite;
}
:root[data-theme="dark"] .consultant-orb { background: rgba(38, 34, 48, .55); }

.consultant-layout {
  display: grid;
  grid-template-columns: minmax(27rem, .95fr) minmax(0, 1.05fr);
  gap: 1rem;
  align-items: start;
}
.consultant-form .section-head > button,
.goal-calculator .section-head > button {
  min-height: 2.25rem;
  padding: 0 .75rem;
  border: 1px solid var(--line);
  border-radius: .75rem;
  color: var(--violet);
  background: var(--surface);
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 .75rem;
}
.form-grid label { margin-top: .45rem; }
.analysis-panel { display: grid; gap: 1rem; }
.analysis-empty {
  min-height: 23rem;
  border: 1px dashed var(--line);
  border-radius: 1.5rem;
  background: var(--glass);
}
.health-score-card {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  align-items: center;
  gap: 1.15rem;
  padding: 1.3rem;
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  background: var(--glass);
  box-shadow: var(--small-shadow);
}
.score-ring {
  width: 6.8rem;
  height: 6.8rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--mint) var(--score), var(--soft) 0);
  animation: pulse 3.2s ease-in-out infinite;
}
.score-ring > div {
  width: 5rem;
  height: 5rem;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 50%;
  background: var(--surface);
}
.score-ring b { font-size: 1.65rem; line-height: 1; }
.score-ring small { color: var(--muted); font-size: .65rem; }
.health-score-card h2 { margin: .35rem 0; font-size: 1.25rem; }
.health-score-card p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.analysis-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.analysis-kpis article {
  display: grid;
  gap: .2rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1.1rem;
  background: var(--glass);
}
.analysis-kpis article > span { font-size: 1.2rem; }
.analysis-kpis small { color: var(--muted); font-size: .68rem; }
.analysis-kpis b { font-size: 1rem; }
.analysis-kpis p { margin: 0; color: var(--muted); font-size: .65rem; }
.freedom-card,
.action-plan-card {
  padding: 1.3rem;
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  background: var(--glass);
  box-shadow: var(--small-shadow);
}
.freedom-card h2 { margin: .45rem 0; font-size: clamp(1.55rem, 3vw, 2rem); color: var(--violet); }
.freedom-card > div > p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.freedom-card dl { display: grid; gap: .5rem; margin: 1rem 0 0; }
.freedom-card dl div { display: flex; justify-content: space-between; gap: 1rem; padding-top: .5rem; border-top: 1px solid var(--line); font-size: .72rem; }
.freedom-card dt { color: var(--muted); }.freedom-card dd { margin: 0; font-weight: 800; text-align: right; }
.action-plan-card h2 { margin: .35rem 0 .8rem; font-size: 1.05rem; }
.action-plan-card ol { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.action-plan-card li { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); gap: .7rem; }
.action-plan-card li > span { width: 1.8rem; height: 1.8rem; display: grid; place-items: center; border-radius: .65rem; color: var(--violet); background: var(--violet-soft); font-size: .7rem; font-weight: 900; }
.action-plan-card li b { font-size: .78rem; }.action-plan-card li p { margin: .2rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }

.formula-section,
.goal-calculator { margin-top: 1rem; }
.educational-badge {
  padding: .45rem .65rem;
  border-radius: 999px;
  color: #8a6417;
  background: var(--yellow-soft);
  font-size: .65rem;
  font-weight: 800;
}
.formula-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.formula-grid article {
  min-height: 13rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1.1rem;
  background: var(--soft);
}
.formula-grid article > span { color: var(--violet); font-size: .65rem; font-weight: 900; letter-spacing: .12em; }
.formula-grid h3 { margin: .7rem 0; font-size: .95rem; }
.formula-grid code {
  display: block;
  min-height: 3.65rem;
  padding: .7rem;
  border-radius: .75rem;
  color: var(--violet);
  background: var(--surface);
  font-size: .68rem;
  line-height: 1.45;
  white-space: normal;
}
.formula-grid p { margin: .7rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.calculator-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(20rem, 1.1fr); gap: 1rem; }
.calculator-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .75rem; }
.calculator-form .primary { grid-column: 1 / -1; margin-top: .4rem; }
.calculator-result {
  min-height: 22rem;
  display: grid;
  align-content: center;
  padding: 1.4rem;
  border: 1px solid rgba(117, 101, 222, .18);
  border-radius: 1.35rem;
  background: linear-gradient(145deg, var(--violet-soft), var(--surface));
}
.calculator-result.empty-result { place-items: center; text-align: center; }
.calculator-result.empty-result > span { font-size: 2.2rem; }
.calculator-result h3 { margin: .4rem 0; }
.calculator-result > p { max-width: 30rem; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.calculator-result > strong { margin: .55rem 0; color: var(--violet); font-size: clamp(1.8rem, 4vw, 2.45rem); }
.calculator-result > strong span { color: var(--muted); font-size: .8rem; }
.calculation-breakdown { display: grid; gap: .45rem; margin: .6rem 0; }
.calculation-breakdown p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding-bottom: .4rem; border-bottom: 1px solid rgba(117, 101, 222, .12); font-size: .72rem; }
.calculation-breakdown span { color: var(--muted); }
.calculator-result code { display: block; margin: .6rem 0; padding: .7rem; border-radius: .75rem; color: var(--violet); background: var(--surface); font-size: .65rem; white-space: normal; }

input[type="color"] { min-height: 3rem; padding: .35rem; cursor: pointer; }
.field-hint {
  margin-top: -.2rem;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 500;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .consultant-layout { grid-template-columns: 1fr; }
  .analysis-panel { grid-template-columns: 1fr 1fr; }
  .health-score-card, .freedom-card, .action-plan-card { min-height: 100%; }
  .analysis-kpis { grid-template-columns: repeat(4, 1fr); grid-column: 1 / -1; }
  .formula-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .onboarding-steps { grid-template-columns: 1fr 1fr; }
  .analysis-panel { grid-template-columns: 1fr; }
  .analysis-kpis { grid-template-columns: 1fr 1fr; grid-column: auto; }
  .calculator-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .filter-row,
  .form-grid,
  .calculator-form { grid-template-columns: 1fr; }
  .consultant-hero { min-height: auto; padding: 1.4rem; }
  .consultant-orb { width: 4.5rem; height: 4.5rem; flex-basis: 4.5rem; border-radius: 1.4rem; font-size: 2rem; }
  .formula-grid { grid-template-columns: 1fr; }
  .formula-grid article { min-height: auto; }
  .calculator-form .primary { grid-column: auto; }
  .hero-actions > span { display: none; }
  .tx-row.has-action { grid-template-columns: 2.7rem minmax(0, 1fr) 2rem; }
  .tx-row.has-action strong { grid-column: 2; }
  .tx-row.has-action .row-action { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 480px) {
  .onboarding-steps { grid-template-columns: 1fr; }
  .onboarding-card { padding: 1.2rem; }
  .analysis-kpis { grid-template-columns: 1fr; }
  .health-score-card { grid-template-columns: 1fr; text-align: center; }
  .score-ring { margin: auto; }
  .consultant-hero { align-items: flex-start; }
  .consultant-orb { display: none; }
  .educational-badge { display: none; }
  .goal-calculator .section-head { align-items: flex-start; flex-direction: column; }
}

/* Wanda Pocket: yellow, blue and pink pastel system */
:root {
  --bg: #fffdf4;
  --surface: #ffffff;
  --glass: rgba(255, 255, 255, .9);
  --soft: #f3f7ff;
  --text: #26324a;
  --muted: #6f7890;
  --line: #e4eaf3;
  --violet: #527fc2;
  --violet-soft: #e4efff;
  --blue: #527fc2;
  --blue-soft: #dfefff;
  --pink: #dd6f9e;
  --pink-soft: #ffe2ed;
  --coral: #e47ea7;
  --coral-soft: #ffe7f0;
  --yellow: #d49a20;
  --yellow-soft: #fff1b9;
  --mint: #5b94cf;
  --mint-soft: #e3f2ff;
  --shadow: 0 18px 55px rgba(72, 92, 132, .11);
  --small-shadow: 0 8px 26px rgba(72, 92, 132, .09);
}

:root[data-theme="dark"] {
  --bg: #151c2b;
  --surface: #202a3d;
  --glass: rgba(32, 42, 61, .92);
  --soft: #2a3650;
  --text: #f8faff;
  --muted: #b8c2d8;
  --line: #37455f;
  --violet-soft: #2d4468;
  --blue-soft: #283f61;
  --pink-soft: #553247;
  --coral-soft: #543247;
  --yellow-soft: #504527;
  --mint-soft: #2b425e;
}

body {
  background:
    radial-gradient(circle at 4% 8%, rgba(255, 230, 126, .22), transparent 24rem),
    radial-gradient(circle at 95% 18%, rgba(177, 215, 255, .25), transparent 27rem),
    radial-gradient(circle at 75% 90%, rgba(255, 190, 215, .2), transparent 25rem),
    var(--bg);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline-color: rgba(82, 127, 194, .35); }

.brand > span,
.avatar {
  color: #334f7d;
  background: linear-gradient(135deg, #ffeb8b 0 32%, #baddff 34% 67%, #ffc4da 69% 100%);
}

.primary {
  color: #26324a;
  background: linear-gradient(135deg, #a9d3ff, #ffd0df 58%, #ffe680);
  box-shadow: 0 11px 28px rgba(91, 130, 187, .22);
}

.auth-visual { background: linear-gradient(145deg, #fff5bd, #e0f0ff 49%, #ffe2ed); }
:root[data-theme="dark"] .auth-visual { background: linear-gradient(145deg, #473f27, #233957 49%, #4c2b40); }
.blob.a { background: rgba(255, 172, 206, .46); }
.blob.b { background: rgba(142, 196, 255, .44); }

.balance-card {
  color: #26324a;
  background: linear-gradient(125deg, #fff0a8, #cce7ff 50%, #ffd4e4);
  box-shadow: 0 22px 55px rgba(75, 104, 151, .2);
}
.balance-head,
.balance-card > small,
.balance-card > p,
.balance-stats small { color: #596781; }
.balance-card > p b { color: #26324a; }
.balance-stats div:first-child b { color: #376fae; }
.balance-stats div:last-child b { color: #bf4f7d; }
.glow.one { background: #f48db8; }
.glow.two { background: #72afe9; }
.track { background: rgba(55, 78, 113, .14); }
.track span { background: linear-gradient(90deg, #5f96d4, #ee8eb5, #e9c33e); }

:root[data-theme="dark"] .balance-card {
  color: #ffffff;
  background: linear-gradient(125deg, #2e4468, #263952 52%, #573047);
}
:root[data-theme="dark"] .balance-head,
:root[data-theme="dark"] .balance-card > small,
:root[data-theme="dark"] .balance-card > p,
:root[data-theme="dark"] .balance-stats small { color: #cbd7eb; }
:root[data-theme="dark"] .balance-card > p b { color: #ffffff; }

.pastel-hero { background: linear-gradient(120deg, #fff1ae, #dcebff 50%, #ffddeb); }
:root[data-theme="dark"] .pastel-hero { background: linear-gradient(120deg, #4b4124, #2b4161 50%, #503047); }

.onboarding-card {
  background:
    radial-gradient(circle at 96% 0%, rgba(255, 195, 217, .5), transparent 31%),
    radial-gradient(circle at 4% 100%, rgba(178, 216, 255, .5), transparent 32%),
    radial-gradient(circle at 52% 0%, rgba(255, 231, 133, .28), transparent 28%),
    var(--glass);
}

.bottom-nav .nav-add {
  color: #26324a;
  background: linear-gradient(135deg, #a9d3ff, #ffc6dc 58%, #ffe57b);
  box-shadow: 0 12px 25px rgba(82, 127, 194, .28);
}

.captcha-group {
  display: grid;
  gap: .55rem;
  margin: 1rem 0;
  color: var(--text);
  font-size: .75rem;
  font-weight: 800;
}
.captcha-group > small { color: var(--muted); font-size: .68rem; font-weight: 500; }
#turnstileWidget { min-height: 65px; overflow: hidden; border-radius: .75rem; }
.duration-copy { margin: -.15rem 0 .75rem; color: var(--muted); font-size: .78rem; line-height: 1.55; }

/* Wanda AI */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ai-teaser {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.25rem;
  padding: 1.4rem;
  overflow: hidden;
  border: 1px solid rgba(82, 127, 194, .16);
  border-radius: 1.55rem;
  background:
    radial-gradient(circle at 10% 120%, rgba(255, 210, 224, .9), transparent 30%),
    linear-gradient(120deg, #fff3b5, #dceeff 52%, #ffe1ec);
  box-shadow: var(--small-shadow);
}
:root[data-theme="dark"] .ai-teaser {
  background:
    radial-gradient(circle at 10% 120%, rgba(98, 48, 72, .75), transparent 30%),
    linear-gradient(120deg, #4b4227, #283f5f 52%, #503047);
}
.ai-teaser h2 { margin: .35rem 0; font-size: clamp(1.05rem, 2vw, 1.35rem); }
.ai-teaser p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.ai-orbit {
  position: relative;
  width: 4.4rem;
  height: 4.4rem;
  display: grid;
  place-items: center;
  border-radius: 1.4rem;
  color: #365b8f;
  background: rgba(255, 255, 255, .58);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65);
  font-size: 1.55rem;
}
.ai-orbit span { animation: pulse 2.7s ease-in-out infinite; }
.ai-orbit i,
.ai-orbit b {
  position: absolute;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #e16f9d;
  animation: aiOrbit 4s linear infinite;
}
.ai-orbit b { width: .38rem; height: .38rem; background: #d8a429; animation-duration: 2.9s; animation-direction: reverse; }
.assistant-layout { max-width: 68rem; display: grid; gap: 1rem; margin: 0 auto; }
.assistant-intro {
  min-height: 12rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.8rem 2rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.75rem;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 193, 216, .75), transparent 31%),
    linear-gradient(125deg, #fff4bd, #ddecff 58%, #ffe4ed);
  box-shadow: var(--small-shadow);
}
:root[data-theme="dark"] .assistant-intro { background: linear-gradient(125deg, #4c4228, #293f5f 58%, #503047); }
.assistant-intro > div { max-width: 46rem; }
.assistant-intro h2 { margin: .5rem 0; font: 800 clamp(1.75rem, 4vw, 2.65rem)/1.08 ui-rounded, "Segoe UI", system-ui, sans-serif; letter-spacing: -.04em; }
.assistant-intro p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.assistant-spark {
  width: 6.2rem;
  height: 6.2rem;
  flex: 0 0 6.2rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 2rem;
  color: #426fa9;
  background: rgba(255, 255, 255, .48);
  box-shadow: var(--small-shadow);
  font-size: 2.7rem;
  animation: float 4s ease-in-out infinite;
}
.assistant-card { overflow: hidden; }
.assistant-toolbar {
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--line);
}
.assistant-identity { display: flex; align-items: center; gap: .75rem; }
.assistant-identity > div { display: grid; gap: .18rem; }
.assistant-identity b { font-size: .95rem; }
.assistant-identity small { display: flex; align-items: center; gap: .4rem; color: var(--muted); font-size: .72rem; }
.assistant-identity small i { width: .5rem; height: .5rem; border-radius: 50%; background: #4f9d7e; box-shadow: 0 0 0 .22rem rgba(79, 157, 126, .12); }
.assistant-avatar {
  width: 2.8rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
  border-radius: .95rem;
  color: #355c90;
  background: linear-gradient(135deg, #ffeb8b, #baddff 52%, #ffc4da);
  box-shadow: var(--small-shadow);
}
.compact { min-height: 2.4rem; padding-inline: .8rem; font-size: .72rem; }
.ai-prompts { display: flex; gap: .55rem; padding: 1rem 1.25rem .35rem; overflow-x: auto; scrollbar-width: thin; }
.ai-prompts button {
  min-height: 2.45rem;
  flex: 0 0 auto;
  padding: 0 .8rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text);
  background: var(--soft);
  font-size: .72rem;
  font-weight: 750;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.ai-prompts button:hover { transform: translateY(-2px); border-color: rgba(82, 127, 194, .38); background: var(--blue-soft); }
.ai-prompts button:disabled { opacity: .55; cursor: wait; transform: none; }
.ai-messages {
  min-height: 24rem;
  max-height: min(54vh, 38rem);
  display: flex;
  flex-direction: column;
  gap: .9rem;
  margin: .7rem 1.25rem;
  padding: 1.15rem;
  overflow-y: auto;
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at 100% 0%, rgba(185, 218, 255, .22), transparent 23rem),
    var(--soft);
}
.ai-message { max-width: min(82%, 44rem); display: grid; gap: .3rem; animation: row .3s ease both; }
.ai-message.user { align-self: flex-end; justify-items: end; }
.ai-message.assistant { align-self: flex-start; }
.ai-message small { padding-inline: .35rem; color: var(--muted); font-size: .67rem; font-weight: 800; }
.ai-bubble {
  padding: .85rem 1rem;
  border: 1px solid var(--line);
  border-radius: .45rem 1.1rem 1.1rem 1.1rem;
  background: var(--surface);
  box-shadow: 0 7px 18px rgba(72, 92, 132, .06);
  font-size: .87rem;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.ai-message.user .ai-bubble {
  border-color: transparent;
  border-radius: 1.1rem .45rem 1.1rem 1.1rem;
  background: linear-gradient(135deg, var(--blue-soft), var(--pink-soft));
}
.ai-message.error .ai-bubble { color: #b74969; background: var(--pink-soft); }
.ai-typing { display: inline-flex; gap: .25rem; align-items: center; min-height: 1.4rem; }
.ai-typing i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--blue); animation: typing 1s ease-in-out infinite; }
.ai-typing i:nth-child(2) { animation-delay: .16s; background: var(--pink); }
.ai-typing i:nth-child(3) { animation-delay: .32s; background: var(--yellow); }
.ai-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.15rem;
  align-items: end;
  gap: .7rem;
  margin: 0 1.25rem;
}
.ai-composer textarea {
  width: 100%;
  min-height: 3.15rem;
  max-height: 10rem;
  resize: vertical;
  padding: .82rem 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  color: var(--text);
  background: var(--surface);
  line-height: 1.45;
}
.ai-send {
  width: 3.15rem;
  height: 3.15rem;
  border: 0;
  border-radius: 1rem;
  color: #26324a;
  background: linear-gradient(135deg, #a9d3ff, #ffc6dc 58%, #ffe57b);
  box-shadow: 0 9px 22px rgba(82, 127, 194, .2);
  cursor: pointer;
}
.ai-send:disabled { opacity: .5; cursor: wait; }
.ai-privacy { padding: .8rem 1.25rem 1.2rem; }
.ai-privacy label { display: flex; align-items: flex-start; gap: .55rem; margin: 0; font-size: .72rem; line-height: 1.4; cursor: pointer; }
.ai-privacy input { width: 1rem; min-height: 1rem; flex: 0 0 1rem; margin: .05rem 0 0; accent-color: var(--blue); }
.ai-privacy small { display: block; margin-top: .45rem; color: var(--muted); font-size: .68rem; line-height: 1.5; }

@media (max-width: 760px) {
  .ai-teaser { grid-template-columns: auto minmax(0, 1fr); }
  .ai-teaser > button { grid-column: 1 / -1; width: 100%; }
  .assistant-intro { min-height: auto; padding: 1.35rem; }
  .assistant-spark { width: 4rem; height: 4rem; flex-basis: 4rem; border-radius: 1.3rem; font-size: 1.8rem; }
  .ai-messages { min-height: 23rem; max-height: 55vh; margin-inline: .75rem; padding: .8rem; }
  .ai-prompts { padding-inline: .75rem; }
  .ai-composer { margin-inline: .75rem; }
  .ai-privacy { padding-inline: .75rem; }
  .ai-message { max-width: 91%; }
}
@media (max-width: 430px) {
  .ai-teaser { grid-template-columns: 1fr; text-align: left; }
  .ai-orbit { width: 3.6rem; height: 3.6rem; }
  .assistant-intro { align-items: flex-start; }
  .assistant-spark { display: none; }
  .assistant-toolbar { align-items: flex-start; }
  .assistant-toolbar .compact { padding-inline: .65rem; }
  .ai-bubble { font-size: .82rem; }
}

@keyframes aiOrbit {
  from { transform: rotate(0deg) translateX(1.65rem) rotate(0deg); }
  to { transform: rotate(360deg) translateX(1.65rem) rotate(-360deg); }
}
@keyframes typing {
  0%, 70%, 100% { transform: translateY(0); opacity: .45; }
  35% { transform: translateY(-.28rem); opacity: 1; }
}
