:root{--bg: #0b1020;--panel: #111a2e;--panel2: #16213a;--line: #24314d;--text: #e8edf7;--muted: #8d9bb8;--accent: #6c8cff;--accent2: #8b5cf6;--green: #34d399;--red: #f87171;--radius: 16px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(1200px 600px at 80% -10%,#1a2550 0%,transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--line);background:#0b1020cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:4}.brand{display:flex;align-items:center;gap:12px}.brand b{display:block;font-size:16px;letter-spacing:.2px}.brand small{display:block;color:var(--muted);font-size:12px}.logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 6px 20px #6c8cff55}.top-right{display:flex;align-items:center;gap:12px}.today{color:var(--muted);font-size:13px}.today:first-letter{text-transform:uppercase}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line)}.layout{flex:1;display:grid;grid-template-columns:220px minmax(0,1fr) 340px;gap:20px;padding:20px 24px;max-width:1440px;width:100%;margin:0 auto}.sidebar{display:flex;flex-direction:column;gap:4px;position:sticky;top:88px;align-self:start;height:calc(100vh - 108px)}.nav-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:8px 10px 6px}.nav{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:none;color:var(--muted);transition:background .15s,color .15s}.nav:hover{background:var(--panel);color:var(--text)}.nav.active{background:var(--panel2);color:var(--text);border-color:var(--line)}.ico{width:20px;text-align:center}.nav-spacer{flex:1}.side-foot{margin-top:10px;padding:14px;border-radius:12px;font-size:12px;color:var(--muted);background:linear-gradient(135deg,#6c8cff22,#8b5cf622);border:1px solid var(--line)}.side-foot b{display:block;color:var(--text);margin-bottom:4px}.main{display:flex;flex-direction:column;gap:18px;min-width:0}.welcome{padding:8px 2px 0;scroll-margin-top:90px}.eyebrow{color:var(--accent);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.welcome h1{margin:6px 0 4px;font-size:28px}.welcome p{margin:0;color:var(--muted)}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);transition:transform .15s,border-color .15s}.quick button:hover{transform:translateY(-2px);border-color:var(--accent)}.quick i{font-style:normal;font-size:18px;color:var(--accent);margin-bottom:4px}.quick small{color:var(--muted);font-size:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;scroll-margin-top:90px}.card h2{margin:0;font-size:15px}.card-head,.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.online{font-size:12px;color:var(--green);background:#34d39914;border:1px solid #34d39933;padding:3px 9px;border-radius:999px}.link{background:none;border:0;color:var(--accent);font-size:13px;padding:4px}.link:hover{text-decoration:underline}.chat{display:flex;flex-direction:column;min-height:460px}.messages{flex:1;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:52vh;min-height:280px;padding:4px 4px 12px}.msg{max-width:82%;padding:10px 14px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word}.msg.bot{align-self:flex-start;background:var(--panel2);border:1px solid var(--line);border-top-left-radius:4px}.msg.user{align-self:flex-end;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-top-right-radius:4px}.composer{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.composer input{flex:1;min-width:0;padding:11px 14px;border-radius:12px;border:1px solid #2b3952;background:#0c1423}.iconbtn{width:44px;flex:none;border-radius:12px;border:1px solid #2b3952;background:#0c1423;font-size:16px}.iconbtn:hover{border-color:var(--accent)}.iconbtn.listening{border-color:var(--red);background:#f8717122;animation:pulse 1.2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #f8717166}50%{box-shadow:0 0 0 6px #f8717100}}.send{padding:0 18px;border:0;border-radius:12px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}.send:hover{filter:brightness(1.1)}.right{display:flex;flex-direction:column;gap:18px;min-width:0}.balance{font-size:30px;font-weight:700;letter-spacing:-.5px}.balance.neg{color:var(--red)}.balance small{font-size:14px;color:var(--muted);font-weight:500}.subtext{font-size:11px;color:var(--muted)}.finance-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.pill{padding:10px;border-radius:12px;background:#34d39912;border:1px solid #34d39930;color:var(--muted);font-size:12px}.pill b{display:block;color:var(--green);font-size:13px;margin-top:2px}.pill.out{background:#f8717112;border-color:#f8717130}.pill.out b{color:var(--red)}.tx-form{display:flex;flex-direction:column;gap:6px;margin-top:12px}.tx-form input,.add-row input{min-width:0;background:#0c1423;border:1px solid #2b3952;border-radius:9px;padding:9px 10px;color:var(--text);font-size:13px}.tx-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tx-buttons button{padding:9px;border-radius:9px;font-weight:600;font-size:13px}.tx-in{border:1px solid #34d39955;background:#34d3991a;color:var(--green)}.tx-out{border:1px solid #f8717155;background:#f871711a;color:var(--red)}.tx-list{margin-top:10px;display:flex;flex-direction:column}.tx{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.tx span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.tx b.in{color:var(--green)}.tx b.out{color:var(--red)}.micro{margin-top:10px;font-size:11px;color:var(--muted)}.del{flex:none;width:24px;height:24px;border-radius:6px;border:0;background:none;color:var(--muted);font-size:16px;line-height:1}.del:hover{background:#f8717122;color:var(--red)}.reminders{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.reminder{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}.rem-body{flex:1;min-width:0}.rem-body span{display:block;overflow-wrap:anywhere}.rem-body small{display:block;color:var(--muted);font-size:11px}.reminder.done .rem-body span{text-decoration:line-through;color:var(--muted)}.check{flex:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;border:1.5px solid #3a4a6b;background:none;color:#fff;font-size:12px;padding:0}.check.checked{background:var(--green);border-color:var(--green);color:#06281c}.empty{color:var(--muted);font-size:13px;padding:10px 0}.add-row{display:flex;gap:6px;margin-top:12px}.add-row input{flex:1}.add-rem{padding:0 14px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);font-size:13px}.add-rem:hover{border-color:var(--accent)}.add-form{display:flex;flex-direction:column;gap:6px;margin-top:12px}.add-form>input{min-width:0;background:#0c1423;border:1px solid #2b3952;border-radius:9px;padding:9px 10px;color:var(--text);font-size:13px}.add-form .add-row{margin-top:0}.add-row input[type=datetime-local]{color:var(--muted);color-scheme:dark}.cal{flex:none;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:none;font-size:15px;padding:0}.cal:hover{border-color:var(--accent)}.push-box{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;border-radius:12px;border:1px solid #6c8cff55;background:#6c8cff14}.push-box.on{border-color:#34d39955;background:#34d39912}.push-box>div{flex:1;min-width:0}.push-box b{display:block;font-size:13px}.push-box small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.push-box button{flex:none;padding:8px 14px;border-radius:10px;border:0;font-weight:600;font-size:13px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}.push-box.on button{background:var(--panel2);border:1px solid var(--line);color:var(--text)}.push-box button:disabled{opacity:.6}@media(max-width:760px){.push-box button{min-height:44px;font-size:15px}}.avatar{color:var(--text);font-weight:700;font-size:15px;padding:0;cursor:pointer}.avatar:hover{border-color:var(--accent)}.onboard{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:16px;background:radial-gradient(900px 500px at 70% -10%,#1f2b5c 0%,transparent 60%),var(--bg)}.name-card{width:min(380px,100%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:28px 22px;border-radius:24px;background:var(--panel);border:1px solid var(--line);box-shadow:0 20px 60px #0008}.logo.big{width:64px;height:64px;border-radius:18px;font-size:30px;margin-bottom:6px}.name-card h1{margin:0;font-size:22px}.name-card p{margin:0 0 6px;color:var(--muted)}.name-card input{width:100%;padding:14px;border-radius:12px;border:1px solid #2b3952;background:#0c1423;color:var(--text);font-size:17px;text-align:center}.name-error{color:var(--red);font-size:13px}.name-save{width:100%;min-height:50px;border:0;border-radius:14px;font-weight:700;font-size:16px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));margin-top:4px}.name-cancel{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--line);background:none}.name-card small{color:var(--muted);font-size:11px;margin-top:4px}.splash{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(700px 500px at 50% 40%,#1c2a63,#0b1020 65%);overflow:hidden;cursor:pointer;transition:opacity .55s ease,transform .55s ease,filter .55s ease}.splash.leaving{opacity:0;transform:scale(1.12);filter:blur(6px);pointer-events:none}.splash-glow{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,#6c8cff55 0%,#8b5cf622 45%,transparent 70%);animation:glow 2.4s ease-in-out infinite;top:calc(50% - 230px)}@keyframes glow{0%,to{transform:scale(.85);opacity:.7}50%{transform:scale(1.1);opacity:1}}.splash-logo{position:relative;width:96px;height:96px;border-radius:28px;display:grid;place-items:center;font-size:50px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 18px 50px #6c8cff66,inset 0 1px #ffffff40;animation:logoIn .8s cubic-bezier(.2,1.4,.4,1) both}@keyframes logoIn{0%{transform:scale(.2) rotate(-25deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.splash-title{position:relative;display:flex;align-items:baseline;font-size:40px;font-weight:800;letter-spacing:.5px;color:var(--text)}.splash-title span{display:inline-block;opacity:0;animation:letterIn .5s ease-out forwards}@keyframes letterIn{0%{opacity:0;transform:translateY(18px) scale(.8)}to{opacity:1;transform:none}}.splash-sub{margin-left:10px;font-size:22px;font-weight:700;letter-spacing:3px;background:linear-gradient(90deg,#8fa6ff,#c4a8ff);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;animation:subIn .6s ease-out 1.05s forwards}@keyframes subIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.splash-tagline{position:relative;color:var(--muted);font-size:14px;opacity:0;animation:subIn .6s ease-out 1.3s forwards}.splash-bar{position:relative;width:140px;height:4px;border-radius:4px;background:#ffffff14;overflow:hidden;margin-top:14px}.splash-bar i{position:absolute;inset:0;width:0;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--accent2));animation:barFill 2s ease-in-out .2s forwards}@keyframes barFill{to{width:100%}}@media(prefers-reduced-motion:reduce){.splash-logo,.splash-title span,.splash-sub,.splash-tagline{opacity:1!important;transform:none!important}.splash-bar i{width:100%}}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%;padding:4px;border-radius:12px;background:#0c1423;border:1px solid var(--line);margin:6px 0 4px}.auth-tabs button{min-height:40px;border:0;border-radius:9px;background:none;color:var(--muted);font-size:14px;font-weight:600}.auth-tabs button.on{background:var(--panel2);color:var(--text);box-shadow:0 1px #ffffff10 inset}.pass-row{position:relative;width:100%}.pass-row input{padding-right:48px}.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:none;font-size:18px}.name-save:disabled{opacity:.6}.logout{width:100%;min-height:44px;border-radius:12px;border:1px solid #f8717155;background:#f8717112;color:var(--red);font-weight:600}.sync-line{font-size:12px}.alarm-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:#050812e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.alarm{width:min(360px,100%);text-align:center;padding:28px 22px 22px;border-radius:24px;background:linear-gradient(160deg,#1b2547,#121a31);border:1px solid #3a4a7a;box-shadow:0 20px 60px #000a}.alarm-bell{font-size:56px;animation:shake .5s ease-in-out infinite;display:inline-block}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}.alarm-time{font-size:44px;font-weight:700;letter-spacing:-1px;margin-top:4px}.alarm-text{font-size:19px;margin:6px 0 22px;overflow-wrap:anywhere}.alarm-done{width:100%;min-height:54px;border:0;border-radius:16px;font-size:17px;font-weight:700;color:#06281c;background:var(--green)}.alarm-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.alarm-row button{min-height:48px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);font-size:14px}.agent{background:linear-gradient(135deg,#6c8cff1f,#8b5cf61f),var(--panel)}.agent p{margin:0 0 12px;color:var(--muted)}.agent>button{width:100%;padding:11px;border:0;border-radius:12px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}.agent>button:hover{filter:brightness(1.1)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);width:max-content;padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);box-shadow:0 10px 35px #0008;font-size:13px;z-index:5}.toast button{margin-left:12px;border:0;background:none;color:var(--text);cursor:pointer;font-size:16px}@media(max-width:1100px){.layout{grid-template-columns:200px minmax(0,1fr)}.right{grid-column:2}}.bottom-nav{display:none}@media(max-width:760px){body{font-size:15px}.top{padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}.today{display:none}.layout{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px 16px calc(84px + env(safe-area-inset-bottom))}.right{grid-column:auto}.sidebar{display:none}.layout:not([data-tab=home]) .main{display:none}.layout[data-tab=home] .right{display:none}.right>.card{display:none}.layout[data-tab=finance] #finance,.layout[data-tab=reminders] #reminders,.layout[data-tab=agent] #agent{display:block}.card,.welcome{scroll-margin-top:70px}.welcome h1{font-size:23px}.quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick button{padding:12px 10px;align-items:center;text-align:center;min-height:84px;justify-content:center}.quick button b{font-size:13px;line-height:1.25}.quick small{display:none}.chat{min-height:0;padding:14px}.messages{min-height:46dvh;max-height:60dvh}.msg{max-width:88%}.composer{position:sticky;bottom:calc(68px + env(safe-area-inset-bottom));background:var(--panel);margin:0 -14px -14px;padding:10px 14px 14px;border-radius:0 0 var(--radius) var(--radius)}.iconbtn{width:48px}.send{padding:0 14px}input,.composer input,.tx-form input,.add-row input{font-size:16px}.composer input,.iconbtn,.send{min-height:48px}.tx-form input,.add-row input{padding:12px}.tx-buttons button,.add-rem,.agent>button{min-height:48px;font-size:15px}.check{width:28px;height:28px}.del{width:36px;height:36px;font-size:20px}.reminder{padding:11px 12px}.reminders{max-height:none}.balance{font-size:34px}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:6;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#0e1528f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:54px;justify-content:center;border:0;border-radius:12px;background:none;color:var(--muted);font-size:11px;-webkit-tap-highlight-color:transparent}.bottom-nav button.active{color:var(--text);background:var(--panel2)}.bottom-nav button.active .bn-ico{color:var(--accent)}.bn-ico{font-size:19px;line-height:1}.badge{position:absolute;top:4px;left:calc(50% + 8px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.toast{bottom:calc(84px + env(safe-area-inset-bottom))}}@media(max-width:360px){.quick button b{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
