*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --gold:#c9a84c;--gold-l:#e8c96e;--gold-d:#8a6e2c;
  --bg:#0d0c0a;--bg2:#141210;--bg3:#1c1a15;--card:#181610;
  --border:#2a2520;--border-g:#3a3020;
  --text:#e8e0d0;--text-dim:#7a7060;--text-mid:#b8a890;
  --green:#4caf7d;--red:#e05555;--blue:#6a9ec4;
  --font-d:'Cormorant Garamond',serif;--font-b:'Nunito',sans-serif;
}
html[data-theme="emerald"]{
  --gold:#54d6a2;--gold-l:#8ff0c4;--gold-d:#237b5c;
  --bg:#07100d;--bg2:#0d1915;--bg3:#14241e;--card:#101d18;
  --border:#1d342b;--border-g:#285544;
  --text:#e7f5ed;--text-dim:#789287;--text-mid:#a7c8ba;
  --green:#78d9a7;--red:#ef7777;--blue:#7cc4dc;
}
html[data-theme="graphite"]{
  --gold:#d7dce4;--gold-l:#ffffff;--gold-d:#818b98;
  --bg:#08090b;--bg2:#101216;--bg3:#181b21;--card:#13161b;
  --border:#262b34;--border-g:#343b47;
  --text:#eef1f6;--text-dim:#7d8592;--text-mid:#b0b8c4;
  --green:#8ad3a7;--red:#ee8585;--blue:#8fbde8;
}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{background:radial-gradient(circle at 50% -8%,rgba(201,168,76,.08),transparent 34%),var(--bg);color:var(--text);font-family:var(--font-b);min-height:100vh;overflow-x:hidden;padding-bottom:142px}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--gold-d);border-radius:2px}

/* HEADER */
.header{position:sticky;top:0;z-index:100;background:var(--bg2);border-bottom:1px solid var(--border-g);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(10px)}
.logo{font-family:var(--font-d);font-size:1.5rem;font-weight:600;color:var(--gold);letter-spacing:.06em}
.logo span{color:var(--text-dim);font-weight:400;font-size:1.1rem}
.logo-ai{font-family:var(--font-b);font-size:.6rem;font-weight:700;letter-spacing:.08em;color:var(--text-dim);vertical-align:super;margin-left:2px;opacity:.7}
.header-r{display:flex;align-items:center;gap:8px}
.online-dot{width:7px;height:7px;border-radius:50%;background:var(--text-dim);flex-shrink:0}
.online-dot.on{background:var(--green);box-shadow:0 0 6px rgba(76,175,125,.5);animation:blink 2.5s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
.hbtn{background:none;border:1px solid var(--border-g);border-radius:8px;color:var(--text-dim);padding:5px 10px;font-size:.72rem;font-family:var(--font-b);cursor:pointer;transition:all .2s}
.hbtn:hover{border-color:var(--gold);color:var(--gold)}
.hbtn.primary{border-color:var(--gold-d);color:var(--gold)}
.profile-hbtn{border-color:rgba(76,175,125,.45);color:#79d7a5;background:linear-gradient(135deg,rgba(76,175,125,.12),rgba(201,168,76,.06))}
.profile-hbtn:hover{border-color:#79d7a5;color:#9af0c0}
.settings-hbtn{color:#141006;border:none;background:linear-gradient(135deg,#f0d77a,var(--gold),#8a6e2c);box-shadow:0 8px 18px rgba(201,168,76,.12)}
.settings-hbtn:hover{color:#141006;filter:brightness(1.08)}
.settings-label{font-size:.66rem;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}
.api-settings{display:flex;flex-direction:column;gap:8px}
.api-url-hint{font-size:.68rem;color:var(--text-dim);line-height:1.45;word-break:break-all}
.billing-status{border:1px solid var(--border-g);border-radius:10px;padding:10px 12px;color:var(--text-mid);background:rgba(255,255,255,.02);font-size:.78rem}
.billing-status.active{border-color:rgba(76,175,125,.45);color:var(--green)}
.billing-status.inactive{border-color:rgba(201,168,76,.35);color:var(--gold)}
.billing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:9px 0}
.billing-grid>div{border:1px solid var(--border);border-radius:9px;padding:8px;background:rgba(255,255,255,.015)}
.billing-grid b{display:block;font-size:.58rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.billing-grid span{font-size:.75rem;color:var(--text)}
.settings-toggle-row{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:rgba(255,255,255,.015);cursor:pointer}
.settings-toggle-row input{margin-top:3px;accent-color:var(--gold)}
.settings-toggle-row b{display:block;font-size:.78rem;color:var(--text)}
.settings-toggle-row small{display:block;font-size:.68rem;color:var(--text-dim);line-height:1.45;margin-top:2px}
.theme-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.theme-choice{border:1px solid var(--border-g);border-radius:13px;background:rgba(255,255,255,.025);color:var(--text);padding:11px 10px;text-align:left;cursor:pointer;font-family:var(--font-b);transition:border-color .18s,transform .18s,background .18s}
.theme-choice:hover,.theme-choice.active{border-color:var(--gold);background:rgba(201,168,76,.08)}
.theme-choice:active{transform:scale(.98)}
.theme-choice span{display:block;width:100%;height:28px;border-radius:9px;margin-bottom:8px;background:linear-gradient(135deg,#0d0c0a,#c9a84c)}
.theme-choice[data-theme="emerald"] span{background:linear-gradient(135deg,#07100d,#54d6a2)}
.theme-choice[data-theme="graphite"] span{background:linear-gradient(135deg,#08090b,#d7dce4)}
.theme-choice b{display:block;font-size:.78rem;color:var(--text)}
.theme-choice small{display:block;margin-top:3px;font-size:.64rem;color:var(--text-dim);line-height:1.25}
.builder-design{border:1px solid var(--border-g);border-radius:14px;background:rgba(255,255,255,.025);padding:12px;margin-bottom:14px}
.premium-gate-text{font-size:.86rem;line-height:1.55;color:var(--text-mid);margin:8px 0 14px}
.premium-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.security-status{border:1px solid var(--border-g);border-radius:10px;padding:10px 12px;color:var(--text-mid);background:rgba(255,255,255,.02);font-size:.78rem}
.security-form{display:flex;flex-direction:column;gap:8px;margin-top:9px}
.desktop-sidebar,.desktop-overview{display:none}

/* DATE */
.datebar{padding:8px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}
.date-main{font-size:.7rem;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase}
.date-ctl{display:flex;align-items:center;gap:6px;flex-shrink:0}
.date-btn{background:none;border:1px solid var(--border-g);border-radius:7px;color:var(--text-dim);padding:4px 8px;font-size:.7rem;cursor:pointer;transition:all .2s}
.date-btn:hover{border-color:var(--gold);color:var(--gold)}
.date-pick{background:var(--bg3);border:1px solid var(--border-g);border-radius:7px;color:var(--text-mid);font-family:var(--font-b);font-size:.72rem;padding:5px 8px;outline:none}
.date-pick:focus{border-color:var(--gold);color:var(--text)}

/* GOALS */
.goals{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gcard{background:var(--card);border:1px solid var(--border-g);border-radius:14px;padding:13px 13px 11px;position:relative;overflow:hidden;cursor:pointer;transition:border-color .2s}
.gcard:hover{border-color:var(--gold-d)}
.gcard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold-d),var(--gold),var(--gold-d))}
.glabel{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px}
.gamount{font-family:var(--font-d);font-size:1.45rem;font-weight:600;color:var(--gold);line-height:1.1}
.gprog{margin-top:9px;height:3px;background:var(--border);border-radius:2px;overflow:hidden}
.gprog-fill{height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold));border-radius:2px;transition:width .6s ease}
.gedit{position:absolute;top:9px;right:9px;background:none;border:none;color:var(--text-dim);font-size:.85rem;cursor:pointer;padding:3px 5px;border-radius:5px;transition:color .2s}
.gedit:hover{color:var(--gold)}
.gpct{font-size:.62rem;color:var(--text-dim);margin-top:4px}

/* STATS BAR */
.statsbar{margin:0 16px;background:var(--card);border:1px solid var(--border-g);border-radius:14px;padding:13px 10px;display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center}
.sdiv{background:var(--border);height:28px}
.sitem{text-align:center;padding:0 6px}
.sval{font-family:var(--font-d);font-size:1.15rem;font-weight:600;color:var(--text)}
.sval.pos{color:var(--green)}.sval.neg{color:var(--red)}
.slabel{font-size:.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:1px}
.sedit{font-size:.62rem;color:var(--gold-d);cursor:pointer;margin-top:2px;transition:color .2s}
.sedit:hover{color:var(--gold)}

/* ACTIONS */
.actions{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.abtn{border:none;border-radius:14px;padding:15px;font-family:var(--font-b);font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:7px}
.abtn-i{background:linear-gradient(135deg,#1a3320,#0d1f14);color:var(--green);border:1px solid #2a5535}
.abtn-i:hover{background:linear-gradient(135deg,#1f3d27,#122519)}
.abtn-e{background:linear-gradient(135deg,#3a1515,#1f0d0d);color:var(--red);border:1px solid #5a2020}
.abtn-e:hover{background:linear-gradient(135deg,#451a1a,#250f0f)}
.abtn:active{transform:scale(.97)}

/* SECTION */
.section{padding:0 16px;margin-top:22px}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.sec-title{font-family:var(--font-d);font-size:1.15rem;font-weight:600;color:var(--gold);letter-spacing:.05em}
.sec-title-row{display:flex;align-items:center;gap:8px}
.sec-acts{display:flex;gap:6px;align-items:center}
.sec-act{font-size:.68rem;color:var(--gold-d);cursor:pointer;border:1px solid var(--border-g);border-radius:6px;padding:3px 8px;transition:all .2s;background:none}
.sec-act:hover{border-color:var(--gold);color:var(--gold)}
.collapse-btn{background:none;border:none;color:var(--text-dim);font-size:.85rem;cursor:pointer;padding:3px 6px;transition:transform .2s, color .2s}
.collapse-btn:hover{color:var(--gold)}
.collapse-btn.open{transform:rotate(180deg)}

/* TASK SECTION */
.task-prog-wrap{margin-bottom:10px}
.task-prog-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:4px}
.task-prog-fill{height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold));border-radius:2px;transition:width .5s ease}
.task-prog-label{font-size:.62rem;color:var(--text-dim)}
.task-list{display:flex;flex-direction:column;gap:5px}
.task-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:9px 12px;display:flex;align-items:center;gap:10px;transition:all .2s}
.task-item.done-item{opacity:.55;border-color:transparent}
.task-cb{width:18px;height:18px;border-radius:5px;border:2px solid var(--border-g);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;background:none}
.task-cb:hover{border-color:var(--gold)}
.task-cb.checked{background:var(--gold);border-color:var(--gold)}
.task-cb.checked::after{content:'✓';color:var(--bg);font-size:.75rem;font-weight:700}
.task-text{font-size:.82rem;flex:1;color:var(--text-mid)}
.task-text.done{text-decoration:line-through;color:var(--text-dim)}
.task-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.8rem;padding:2px 5px;border-radius:4px;transition:color .2s;flex-shrink:0}
.task-del:hover{color:var(--red)}
.task-add-row{display:flex;gap:8px;margin-top:8px}
.task-add-input{flex:1;background:var(--bg3);border:1px solid var(--border-g);border-radius:9px;color:var(--text);font-family:var(--font-b);font-size:.82rem;padding:8px 11px;outline:none;transition:border-color .2s}
.task-add-input:focus{border-color:var(--gold)}
.task-add-input::placeholder{color:var(--text-dim)}
.task-add-btn{background:rgba(201,168,76,.12);border:1px solid var(--gold-d);border-radius:9px;color:var(--gold);font-size:.82rem;padding:8px 13px;cursor:pointer;font-family:var(--font-b);transition:all .2s;white-space:nowrap}
.task-add-btn:hover{background:rgba(201,168,76,.2)}

/* DEBTS */
.debt-body{overflow:hidden;transition:max-height .35s ease;max-height:1000px}
.debt-body.collapsed{max-height:0}
.debt-list{display:flex;flex-direction:column;gap:9px}
.dcard{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:11px 13px}
.dcard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.dname{font-size:.83rem;font-weight:700;color:var(--text)}
.dtag{font-size:.58rem;letter-spacing:.08em;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}
.dtag.high{background:rgba(224,85,85,.15);color:var(--red)}
.dtag.med{background:rgba(201,168,76,.12);color:var(--gold)}
.damounts{font-size:.72rem;color:var(--text-dim)}
.damounts b{color:var(--text);font-weight:600}
.dtrack{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:1px}
.dfill{height:100%;border-radius:3px;transition:width .7s ease}
.dpct-text{font-size:.62rem;color:var(--text-dim);margin-top:4px}
.debt-total{background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;padding:10px 14px;margin-top:9px;display:flex;align-items:center;justify-content:space-between}
.dt-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}
.dt-val{font-family:var(--font-d);font-size:1.1rem;color:var(--gold);font-weight:600}

/* DEBT EDITOR */
.debt-editor-card{background:var(--bg3);border:1px solid var(--border-g);border-radius:11px;padding:11px 12px;margin-bottom:9px;position:relative}
.debt-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.debt-editor-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:8px}
.debt-editor-actions{display:flex;align-items:center;gap:6px;margin-top:5px}
.debt-order-btn{background:none;border:1px solid var(--border-g);border-radius:6px;color:var(--text-dim);padding:4px 8px;font-size:.75rem;cursor:pointer;transition:all .2s}
.debt-order-btn:hover{border-color:var(--gold);color:var(--gold)}
.debt-del-btn{background:none;border:1px solid rgba(224,85,85,.3);border-radius:6px;color:var(--red);padding:4px 8px;font-size:.72rem;cursor:pointer;margin-left:auto;transition:all .2s}
.debt-del-btn:hover{background:rgba(224,85,85,.1)}
.debt-num{font-size:.62rem;color:var(--text-dim);position:absolute;top:8px;right:10px}
.priority-toggle{display:flex;gap:4px}
.ptog{padding:4px 10px;border:1px solid var(--border-g);border-radius:7px;font-size:.68rem;cursor:pointer;font-family:var(--font-b);background:none;color:var(--text-dim);transition:all .2s}
.ptog.high.active{background:rgba(224,85,85,.15);border-color:var(--red);color:var(--red)}
.ptog.med.active{background:rgba(201,168,76,.12);border-color:var(--gold);color:var(--gold)}

/* CATEGORIES */
.ptoggle{display:flex;gap:3px;background:var(--bg3);border-radius:8px;padding:3px}
.pbtn{padding:4px 10px;border:none;border-radius:6px;font-size:.68rem;cursor:pointer;font-family:var(--font-b);background:none;color:var(--text-dim);transition:all .2s}
.pbtn.active{background:var(--gold);color:var(--bg);font-weight:700}
.cat-list{display:flex;flex-direction:column;gap:7px}
.crow{display:flex;align-items:center;gap:9px}
.cname{font-size:.78rem;color:var(--text-mid);min-width:110px}
.cbar-wrap{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden}
.cbar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gold-d),var(--gold));transition:width .5s ease}
.camount{font-size:.75rem;color:var(--gold);min-width:72px;text-align:right;font-weight:600}

/* TRANSACTIONS */
.tx-list{display:flex;flex-direction:column;gap:6px}
.txitem{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 13px;display:flex;align-items:center;gap:9px;transition:border-color .2s}
.txicon{width:35px;height:35px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.txicon.income{background:rgba(76,175,125,.13)}
.txicon.expense{background:rgba(224,85,85,.1)}
.txinfo{flex:1;min-width:0}
.txcat{font-size:.78rem;color:var(--text-mid)}
.txnote{font-size:.68rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txright{text-align:right;flex-shrink:0}
.txamt{font-family:var(--font-d);font-size:1rem;font-weight:600}
.txamt.income{color:var(--green)}.txamt.expense{color:var(--red)}
.txtime{font-size:.62rem;color:var(--text-dim)}

/* DRIVE CARD */
.drive-card{margin:22px 16px 0;background:var(--card);border:1px solid var(--border-g);border-radius:14px;padding:13px 15px;display:flex;align-items:center;gap:12px}
.drive-ico{font-size:1.4rem}
.drive-info{flex:1}
.drive-title{font-size:.82rem;font-weight:700;color:var(--text)}
.drive-status{font-size:.68rem;color:var(--text-dim);margin-top:2px}
.drive-btns{display:flex;gap:6px;flex-shrink:0}
.drive-btn{background:none;border:1px solid var(--border-g);border-radius:8px;color:var(--gold);padding:7px 10px;font-size:.72rem;font-family:var(--font-b);cursor:pointer;transition:all .2s}
.drive-btn:hover{background:rgba(201,168,76,.1);border-color:var(--gold)}
.drive-btn.restore{color:var(--blue);border-color:rgba(106,158,196,.4)}
.drive-btn.restore:hover{background:rgba(106,158,196,.1);border-color:var(--blue)}

/* AI CHAT FAB */
.chat-fab{position:fixed;bottom:92px;right:16px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--gold-d),var(--gold));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 4px 18px rgba(201,168,76,.35);z-index:150;transition:all .25s}
.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(201,168,76,.5)}
.chat-fab:active{transform:scale(.95)}

/* CHAT MODAL */
.chat-body{display:flex;flex-direction:column;height:55vh;min-height:280px}
.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 0 8px;scroll-behavior:smooth}
.chat-msg{max-width:85%;padding:9px 13px;border-radius:13px;font-size:.82rem;line-height:1.5;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.chat-msg.user{align-self:flex-end;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.25);color:var(--text)}
.chat-msg.ai{align-self:flex-start;background:var(--bg3);border:1px solid var(--border-g);color:var(--text-mid)}
.chat-msg.ai b{color:var(--gold)}
.chat-typing{align-self:flex-start;padding:9px 13px;background:var(--bg3);border:1px solid var(--border-g);border-radius:13px;font-size:.82rem;color:var(--text-dim)}
.chat-typing-dots span{animation:tdot 1.2s infinite}
.chat-typing-dots span:nth-child(2){animation-delay:.2s}
.chat-typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes tdot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chat-input-row{display:flex;gap:8px;margin-top:10px}
.chat-input{flex:1;background:var(--bg3);border:1px solid var(--border-g);border-radius:11px;color:var(--text);font-family:var(--font-b);font-size:.85rem;padding:10px 13px;outline:none;transition:border-color .2s;resize:none;height:42px}
.chat-input:focus{border-color:var(--gold)}
.chat-send-btn{background:linear-gradient(135deg,var(--gold-d),var(--gold));border:none;border-radius:11px;color:var(--bg);font-size:1rem;padding:0 14px;cursor:pointer;font-weight:700;flex-shrink:0;transition:opacity .2s}
.chat-send-btn:disabled{opacity:.4;cursor:default}
.chat-key-row{margin-bottom:10px;display:flex;gap:8px}
.chat-key-hint{font-size:.65rem;color:var(--text-dim);margin-top:5px;line-height:1.5}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.chat-sug{background:var(--bg3);border:1px solid var(--border-g);border-radius:20px;padding:5px 11px;font-size:.7rem;color:var(--text-dim);cursor:pointer;transition:all .2s}
.chat-sug:hover{border-color:var(--gold);color:var(--gold)}

/* SETTINGS */
.settings-modal{max-height:86vh;overflow-y:auto}
.settings-hero{position:relative;overflow:hidden;border:1px solid rgba(201,168,76,.28);border-radius:16px;padding:14px 14px 13px;margin-bottom:14px;background:linear-gradient(135deg,rgba(201,168,76,.13),rgba(106,158,196,.06),rgba(76,175,125,.04))}
.settings-hero::after{content:'';position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.22),transparent 65%);pointer-events:none}
.settings-hero-kicker{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#79d7a5;font-weight:800;margin-bottom:4px}
.settings-hero-title{font-family:var(--font-d);font-size:1.45rem;color:var(--gold);font-weight:700;line-height:1.05}
.settings-hero-text{font-size:.74rem;color:var(--text-mid);line-height:1.45;margin-top:5px;max-width:560px}
.settings-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.settings-summary-item{background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;padding:10px 8px;text-align:center}
.settings-summary-item b{display:block;font-family:var(--font-d);font-size:1.2rem;color:var(--gold);line-height:1}
.settings-summary-item span{display:block;font-size:.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-top:5px}
.settings-group{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.settings-group-title{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-weight:800}
.settings-row{width:100%;background:var(--bg3);border:1px solid var(--border-g);border-radius:11px;color:var(--text);font-family:var(--font-b);padding:11px 12px;text-align:left;display:grid;grid-template-columns:32px 1fr;gap:2px 10px;cursor:pointer;transition:all .2s;margin-bottom:8px}
.settings-row:hover{border-color:var(--gold-d);background:rgba(201,168,76,.08)}
.settings-row span{grid-row:1/3;width:32px;height:32px;border-radius:9px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.25);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.settings-row b{font-size:.86rem;color:var(--text)}
.settings-row small{font-size:.69rem;color:var(--text-dim);line-height:1.35}
.settings-row.passive{cursor:default;opacity:.82}
.settings-row.passive:hover{border-color:var(--border-g);background:var(--bg3)}
.account-status{background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.24);border-radius:10px;color:var(--text-mid);font-size:.78rem;line-height:1.45;padding:10px 12px;margin-bottom:10px}
.account-form{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.settings-note{font-size:.68rem;color:var(--text-dim);line-height:1.45;margin-top:8px}

/* PROFILE */
.profile-modal{max-height:92vh;overflow-y:auto;background:linear-gradient(180deg,#17130d 0%,var(--bg2) 34%,#0b0a08 100%)}
.profile-hero{position:relative;overflow:hidden;border:1px solid rgba(201,168,76,.28);border-radius:18px;padding:16px;display:flex;gap:14px;align-items:center;background:
  radial-gradient(circle at 18% 12%,rgba(201,168,76,.22),transparent 34%),
  linear-gradient(135deg,rgba(201,168,76,.12),rgba(76,175,125,.06) 48%,rgba(106,158,196,.06))}
.profile-hero::after{content:'';position:absolute;inset:auto -20% -60% 18%;height:120px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.18),transparent);transform:rotate(-7deg);pointer-events:none}
.profile-orbit{width:74px;height:74px;border-radius:22px;padding:1px;background:linear-gradient(135deg,var(--gold),rgba(76,175,125,.9),rgba(106,158,196,.7));box-shadow:0 14px 36px rgba(201,168,76,.16);flex-shrink:0}
.profile-avatar{width:100%;height:100%;border-radius:21px;background:#0e0d0a;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-size:2rem;font-weight:700;color:var(--gold);text-transform:uppercase}
.profile-hero-copy{position:relative;z-index:1;min-width:0}
.profile-kicker{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#79d7a5;font-weight:800;margin-bottom:5px}
.profile-title{font-family:var(--font-d);font-size:1.65rem;line-height:1.05;color:var(--gold);font-weight:700}
.profile-subtitle{font-size:.76rem;line-height:1.45;color:var(--text-mid);margin-top:6px;max-width:520px}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.profile-stat{border:1px solid var(--border-g);border-radius:13px;background:rgba(255,255,255,.025);padding:10px;text-align:center;min-width:0}
.profile-stat span{display:block;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px}
.profile-stat b{display:block;font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-grid{display:grid;grid-template-columns:1fr;gap:10px}
.profile-card{position:relative;border:1px solid var(--border-g);border-radius:15px;background:rgba(255,255,255,.025);padding:13px;overflow:hidden}
.profile-card::before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}
.profile-auth-card{background:linear-gradient(135deg,rgba(201,168,76,.08),rgba(255,255,255,.02))}
.profile-pay-card{background:linear-gradient(135deg,rgba(76,175,125,.08),rgba(201,168,76,.05))}
.profile-history-card{background:linear-gradient(135deg,rgba(201,168,76,.06),rgba(106,158,196,.07))}
.profile-builder-card{background:linear-gradient(135deg,rgba(201,168,76,.08),rgba(76,175,125,.05))}
.profile-security-card{background:linear-gradient(135deg,rgba(106,158,196,.09),rgba(201,168,76,.04))}
.profile-card-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.profile-card-icon{width:34px;height:34px;border-radius:11px;border:1px solid rgba(201,168,76,.35);background:rgba(201,168,76,.1);display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:800;flex-shrink:0}
.profile-card-head b{display:block;color:var(--text);font-size:.92rem;margin-top:1px}
.profile-card-head small{display:block;color:var(--text-dim);font-size:.69rem;line-height:1.38;margin-top:3px}
.profile-form{display:flex;flex-direction:column;gap:8px}
.profile-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.profile-btn{width:100%;border:1px solid var(--border-g);border-radius:12px;padding:11px 10px;font-family:var(--font-b);font-size:.78rem;font-weight:800;cursor:pointer;color:var(--text);background:var(--bg3);transition:transform .18s,border-color .18s,filter .18s;min-height:42px}
.profile-btn:hover{border-color:var(--gold);filter:brightness(1.08)}
.profile-btn:active{transform:scale(.98)}
.profile-btn.primary{border:none;color:#141006;background:linear-gradient(135deg,#f0d77a,var(--gold),#9f7f2d);box-shadow:0 10px 24px rgba(201,168,76,.16)}
.profile-btn.secondary{color:var(--gold);background:linear-gradient(135deg,rgba(201,168,76,.12),rgba(255,255,255,.02))}
.profile-btn.pay{border:none;color:#07130d;background:linear-gradient(135deg,#79d7a5,#4caf7d,#c9a84c);box-shadow:0 10px 24px rgba(76,175,125,.14)}
.profile-btn.bio{border:none;color:#071018;background:linear-gradient(135deg,#a8d4f2,#6a9ec4,#c9a84c);box-shadow:0 10px 24px rgba(106,158,196,.14)}
.profile-btn.subtle{color:var(--text-mid);background:rgba(255,255,255,.025)}
.profile-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 2px}
.profile-mini-grid>div{border:1px solid var(--border);border-radius:11px;padding:9px;background:rgba(0,0,0,.12)}
.profile-mini-grid span{display:block;color:var(--text-dim);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.profile-mini-grid b{display:block;color:var(--text);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-billing-note{margin-top:8px;border:1px solid rgba(201,168,76,.24);border-radius:11px;background:rgba(201,168,76,.07);color:var(--text-mid);font-size:.7rem;line-height:1.35;padding:9px 10px}
.profile-billing-note.ok{border-color:rgba(76,175,125,.38);background:rgba(76,175,125,.08);color:#79d7a5}
.profile-billing-note.warn{border-color:rgba(224,85,85,.32);background:rgba(224,85,85,.07);color:#e99a9a}
.profile-payment-list{display:flex;flex-direction:column;gap:7px}
.profile-empty{border:1px dashed var(--border-g);border-radius:11px;padding:12px;color:var(--text-dim);font-size:.74rem;text-align:center}
.profile-payment-row{border:1px solid var(--border);border-radius:11px;padding:9px 10px;background:rgba(0,0,0,.14);display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center}
.profile-payment-row b{font-size:.78rem;color:var(--text)}
.profile-payment-row small{font-size:.64rem;color:var(--text-dim)}
.profile-payment-row span{font-size:.72rem;color:var(--gold);font-weight:800;text-align:right}
.profile-payment-status{grid-column:1/-1;display:inline-flex;width:max-content;max-width:100%;border:1px solid var(--border-g);border-radius:999px;padding:3px 8px;color:var(--text-dim);font-size:.62rem}
.profile-payment-status.paid{border-color:rgba(76,175,125,.45);color:#79d7a5}
.profile-payment-status.pending{border-color:rgba(201,168,76,.45);color:var(--gold)}
.profile-payment-status.failed{border-color:rgba(224,85,85,.45);color:#e99a9a}
.profile-modal .profile-builder-card,.profile-modal .profile-security-card{display:none}
#homeLayout{display:contents}

/* BOTTOM DOCK */
.bottom-dock{position:fixed;left:12px;right:12px;bottom:12px;z-index:145;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;border:1px solid rgba(201,168,76,.22);border-radius:20px;background:rgba(20,18,16,.88);backdrop-filter:blur(12px);box-shadow:0 12px 36px rgba(0,0,0,.38)}
.dock-btn{border:none;border-radius:15px;min-height:54px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(201,168,76,.06));color:var(--text-mid);font-family:var(--font-b);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:transform .18s,filter .18s,color .18s}
.dock-btn:hover{filter:brightness(1.08);color:var(--gold)}
.dock-btn:active{transform:scale(.97)}
.dock-btn-icon{font-size:1.12rem;line-height:1}
.dock-btn-label{font-size:.62rem;font-weight:800;letter-spacing:.02em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.dock-btn.primary{background:linear-gradient(135deg,rgba(201,168,76,.2),rgba(76,175,125,.09));color:var(--gold)}
.dock-editor-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
.dock-option{border:1px solid var(--border-g);border-radius:13px;background:rgba(255,255,255,.025);color:var(--text-mid);padding:10px;display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;cursor:pointer}
.dock-option input{accent-color:var(--gold)}
.dock-option b{font-size:.8rem;color:var(--text)}
.dock-option small{display:block;font-size:.64rem;color:var(--text-dim);margin-top:2px}
.dock-editor-list{display:flex;flex-direction:column}
.dock-editor-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid transparent;border-radius:14px}
.dock-editor-row.on{border-color:rgba(201,168,76,.22);background:rgba(201,168,76,.035)}
.dock-editor-row .dock-option{border-color:transparent;background:transparent}
.dock-order-actions{display:flex;gap:6px;padding-right:8px}
.home-editor-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.home-editor-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid var(--border-g);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(201,168,76,.035));padding:10px}
.home-editor-rank{width:38px;height:38px;border-radius:13px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,168,76,.28);background:rgba(201,168,76,.1);color:var(--gold);font-weight:900}
.home-editor-copy b{display:block;font-size:.84rem;color:var(--text)}
.home-editor-copy small{display:block;font-size:.66rem;color:var(--text-dim);line-height:1.32;margin-top:3px}
.home-editor-actions{display:flex;gap:6px}
.home-order-btn{width:38px;height:38px;border:1px solid var(--border-g);border-radius:12px;background:rgba(255,255,255,.025);color:var(--gold);font-family:var(--font-b);font-size:1rem;font-weight:900;cursor:pointer}
.home-order-btn:hover:not(:disabled){border-color:var(--gold);filter:brightness(1.08)}
.home-order-btn:disabled{opacity:.35;cursor:not-allowed}

/* MODULE BUILDER */
[data-module].module-hidden{display:none!important}
.builder-card{max-width:780px}
.builder-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 9px}
.builder-preset{border:1px solid var(--border-g);border-radius:12px;background:rgba(255,255,255,.025);color:var(--text-mid);font-family:var(--font-b);font-weight:800;padding:11px 10px;cursor:pointer}
.builder-preset.primary{border:none;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--bg)}
.builder-template-note{border:1px solid rgba(201,168,76,.24);border-radius:12px;background:rgba(201,168,76,.07);color:var(--text-mid);font-size:.72rem;line-height:1.4;padding:10px 12px;margin-bottom:12px}
.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0 14px}
.module-tile{position:relative;border:1px solid var(--border-g);border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(201,168,76,.035));padding:12px;display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;cursor:pointer;text-align:left;color:var(--text);font-family:var(--font-b);min-height:76px;transition:border-color .18s,transform .18s,background .18s}
.module-tile:hover{border-color:var(--gold);transform:translateY(-1px)}
.module-tile.on{border-color:rgba(201,168,76,.72);background:linear-gradient(135deg,rgba(201,168,76,.13),rgba(76,175,125,.06))}
.module-ico{width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.24);font-size:1.2rem}
.module-copy b{display:block;font-size:.86rem;color:var(--text)}
.module-copy small{display:block;font-size:.67rem;color:var(--text-dim);line-height:1.32;margin-top:3px}
.module-switch{width:42px;height:24px;border-radius:999px;border:1px solid var(--border-g);background:#0f0e0c;padding:2px;transition:all .18s}
.module-switch::after{content:'';display:block;width:18px;height:18px;border-radius:50%;background:var(--text-dim);transition:transform .18s,background .18s}
.module-tile.on .module-switch{border-color:rgba(76,175,125,.6);background:rgba(76,175,125,.12)}
.module-tile.on .module-switch::after{transform:translateX(17px);background:#79d7a5}
.builder-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.first-run-card .builder-actions,.first-run-card .template-editor-actions{position:sticky;bottom:-24px;z-index:5;margin:12px -4px -8px;padding:10px 4px 8px;background:linear-gradient(180deg,rgba(13,12,10,0),var(--bg3) 26%,var(--bg3))}
.template-editor-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:9px;margin:14px 0 10px}
.template-field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.template-field span{font-size:.64rem;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.template-textarea{width:100%;min-height:116px;background:var(--bg3);border:1px solid var(--border-g);border-radius:12px;color:var(--text);font-family:var(--font-b);font-size:.86rem;line-height:1.45;padding:11px 13px;outline:none;resize:vertical}
.template-textarea:focus{border-color:var(--gold)}
.template-editor-actions{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:8px}

@media (max-width:560px){
  .header{gap:8px;align-items:flex-start}
  .header-r{gap:5px;flex-wrap:wrap;justify-content:flex-end}
  .hbtn{padding:5px 7px;font-size:.66rem}
  .profile-hero{align-items:flex-start}
  .profile-orbit{width:58px;height:58px;border-radius:18px}
  .profile-avatar{border-radius:17px;font-size:1.55rem}
  .profile-title{font-size:1.35rem}
  .profile-stats{grid-template-columns:1fr}
  .profile-action-grid{grid-template-columns:1fr}
  .profile-mini-grid{grid-template-columns:1fr}
  .profile-payment-row{grid-template-columns:1fr}
  .profile-payment-row span{text-align:left}
  .builder-presets,.module-grid,.builder-actions,.dock-editor-list{grid-template-columns:1fr}
  .template-editor-grid,.template-editor-actions{grid-template-columns:1fr}
  .module-tile{grid-template-columns:36px 1fr auto}
  .bottom-dock{left:8px;right:8px;bottom:8px;gap:5px;padding:6px;border-radius:17px}
  .dock-btn{min-height:50px;border-radius:13px}
  .dock-btn-label{font-size:.58rem}
}

/* MODAL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:200;display:flex;align-items:flex-end;backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .25s}
.overlay.vis{opacity:1;pointer-events:all}
.modal{background:var(--bg2);border:1px solid var(--border-g);border-top:1px solid var(--gold-d);border-radius:20px 20px 0 0;padding:22px 18px 40px;width:100%;max-height:90vh;overflow-y:auto;transform:translateY(100%);transition:transform .32s cubic-bezier(.34,1.56,.64,1)}
.overlay.vis .modal{transform:translateY(0)}
.mhandle{width:38px;height:4px;background:var(--border-g);border-radius:2px;margin:0 auto 18px}
.mtitle{font-family:var(--font-d);font-size:1.3rem;font-weight:600;color:var(--gold);margin-bottom:18px;text-align:center;letter-spacing:.04em}
.fgroup{margin-bottom:14px}
.flabel{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px}
.finput{width:100%;background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;color:var(--text);font-family:var(--font-b);font-size:1rem;padding:11px 13px;outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.finput:focus{border-color:var(--gold)}
.finput::placeholder{color:var(--text-dim)}
.catgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.copt{background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;padding:10px 5px;text-align:center;cursor:pointer;font-size:.72rem;color:var(--text-mid);transition:all .2s;line-height:1.3}
.copt.sel{border-color:var(--gold);background:rgba(201,168,76,.1);color:var(--gold)}
.sbtn{width:100%;padding:15px;border:none;border-radius:13px;font-family:var(--font-b);font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:.04em;transition:all .2s;margin-top:6px}
.sbtn.inc{background:linear-gradient(135deg,var(--green),#2d8a5c);color:#fff}
.sbtn.exp{background:linear-gradient(135deg,var(--red),#a03333);color:#fff}
.sbtn.neu{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--bg)}
.sbtn.can{background:var(--bg3);color:var(--text-dim);margin-top:8px}
.sbtn:active{transform:scale(.98)}
.export-actions{display:grid;grid-template-columns:1fr;gap:9px}
.export-range{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.profile-social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.profile-btn.google{background:#fff;color:#191919;border-color:#fff}
.profile-btn.yandex{background:linear-gradient(135deg,#ffdb4d,#f4bd16);color:#16120a;border-color:#ffdb4d}
.profile-btn.vk{background:linear-gradient(135deg,#2787f5,#0b67c2);color:#fff;border-color:#2787f5}
@media(max-width:460px){.profile-social-grid{grid-template-columns:1fr}}
.range-chip{background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;padding:11px 10px;text-align:center;color:var(--text-mid);font-size:.78rem;cursor:pointer;transition:all .2s}
.range-chip:hover,.range-chip.active{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.1)}

/* TOAST */
.toast{position:fixed;bottom:82px;left:50%;transform:translateX(-50%) translateY(200px);background:var(--card);border:1px solid var(--border-g);color:var(--text);padding:9px 20px;border-radius:30px;font-size:.82rem;z-index:300;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;white-space:nowrap;pointer-events:none;opacity:0}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
.empty{text-align:center;padding:22px;color:var(--text-dim);font-size:.82rem}

/* PIN SCREEN */
.pin-screen{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}
.pin-screen.hidden{display:none}
.pin-logo{font-family:var(--font-d);font-size:2.8rem;font-weight:600;color:var(--gold);letter-spacing:.08em;margin-bottom:8px}
.pin-logo span{color:var(--text-dim);font-weight:400;font-size:2rem}
.pin-subtitle{font-size:.78rem;color:var(--text-dim);margin-bottom:40px;letter-spacing:.1em;text-transform:uppercase}
.pin-dots{display:flex;gap:14px;margin-bottom:36px}
.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-g);transition:all .2s}
.pin-dot.filled{background:var(--gold);border-color:var(--gold);box-shadow:0 0 8px rgba(201,168,76,.4)}
.pin-dot.error{background:var(--red);border-color:var(--red)}
.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:240px}
.pin-btn{background:var(--card);border:1px solid var(--border-g);border-radius:14px;color:var(--text);font-family:var(--font-d);font-size:1.6rem;font-weight:600;padding:18px;cursor:pointer;transition:all .15s;text-align:center}
.pin-btn:hover{border-color:var(--gold-d);background:var(--bg3)}
.pin-btn:active{transform:scale(.93);background:rgba(201,168,76,.1);border-color:var(--gold)}
.pin-btn.del{font-family:var(--font-b);font-size:1.1rem;color:var(--text-dim)}
.pin-btn.empty{background:none;border:none;cursor:default}
.pin-bio-btn{margin-top:16px;background:rgba(201,168,76,.12);border:1px solid var(--gold-d);border-radius:12px;color:var(--gold);font-family:var(--font-b);font-size:.78rem;padding:10px 14px;cursor:pointer}
.pin-bio-btn:hover{background:rgba(201,168,76,.2)}
.pin-error{font-size:.75rem;color:var(--red);margin-top:16px;height:18px;text-align:center;transition:opacity .2s}
.pin-shake{animation:shake .4s ease}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}

/* FIRST RUN */
.first-run{position:fixed;inset:0;z-index:9990;background:rgba(13,12,10,.96);display:flex;align-items:flex-start;justify-content:center;padding:22px;backdrop-filter:blur(8px);overflow-y:auto;overscroll-behavior:contain}
.first-run.hidden{display:none}
.first-run-card{width:min(560px,100%);max-height:calc(100vh - 44px);overflow-y:auto;background:linear-gradient(180deg,var(--card),var(--bg3));border:1px solid var(--border-g);border-radius:16px;padding:24px 20px;box-shadow:0 20px 70px rgba(0,0,0,.45)}
.first-run-welcome{position:relative;overflow:hidden}
.first-run-welcome::after{content:'';position:absolute;right:-80px;top:-90px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.2),transparent 64%);pointer-events:none}
.onboarding-stepper{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 18px;padding:6px;border:1px solid rgba(201,168,76,.16);border-radius:16px;background:rgba(255,255,255,.035)}
.onboarding-step{min-width:0;border-radius:12px;padding:8px 6px;text-align:center;color:var(--text-dim);font-size:.62rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.onboarding-step.done{color:var(--gold-l);background:rgba(201,168,76,.08)}
.onboarding-step.active{color:var(--bg);background:linear-gradient(135deg,var(--gold),var(--gold-d));box-shadow:0 8px 22px rgba(201,168,76,.16)}
.first-run-brand{position:relative;z-index:1;display:grid;grid-template-columns:86px 1fr;gap:16px;align-items:center;margin-bottom:18px}
.first-run-brand img{width:86px;height:86px;border-radius:24px;box-shadow:0 16px 36px rgba(0,0,0,.35),0 0 24px rgba(201,168,76,.18)}
.first-run-preview{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}
.first-run-preview div{border:1px solid rgba(201,168,76,.16);border-radius:16px;background:rgba(255,255,255,.04);padding:11px}
.first-run-preview b{display:block;color:var(--gold-l);font-size:.86rem}
.first-run-preview span{display:block;color:var(--text-dim);font-size:.68rem;line-height:1.25;margin-top:3px}
.first-run-account{margin-top:16px;border:1px solid rgba(201,168,76,.16);border-radius:18px;background:rgba(255,255,255,.035);padding:13px}
.first-run-kicker{font-size:.68rem;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:8px}
.first-run-card h1{font-family:var(--font-d);font-size:2rem;line-height:1.05;color:var(--text);margin:0 0 8px;letter-spacing:0}
.first-run-lead{font-size:.9rem;color:var(--text-mid);line-height:1.55;margin:0 0 16px}
.first-run-actions{display:flex;flex-direction:column;gap:9px}
.first-run-action{width:100%;background:rgba(13,12,10,.55);border:1px solid var(--border-g);border-radius:12px;color:var(--text);font-family:var(--font-b);padding:13px 14px;text-align:left;display:grid;grid-template-columns:34px 1fr;gap:2px 11px;cursor:pointer;transition:all .2s}
.first-run-action:hover{border-color:var(--gold-d);background:rgba(201,168,76,.08);transform:translateY(-1px)}
.first-run-action.primary{border-color:rgba(201,168,76,.45);background:rgba(201,168,76,.1)}
.first-run-action span{grid-row:1/3;width:34px;height:34px;border-radius:10px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.28);display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:800}
.first-run-action b{font-size:.9rem;color:var(--text)}
.first-run-action small{font-size:.72rem;color:var(--text-dim);line-height:1.35}
.first-run-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:.72rem;color:var(--text-dim);line-height:1.45}
.security-onboard-form{margin-bottom:10px}

/* SETUP BANNER */
.setup-banner{margin:0 16px;background:rgba(201,168,76,.07);border:1px solid var(--gold-d);border-radius:12px;padding:12px 14px;font-size:.75rem;color:var(--text-mid);line-height:1.6;display:none}
.setup-banner.show{display:block}
.setup-banner b{color:var(--gold)}

/* ADD DEBT BTN */
.add-debt-btn{width:100%;padding:11px;border:1px dashed var(--border-g);border-radius:10px;background:none;color:var(--text-dim);font-family:var(--font-b);font-size:.82rem;cursor:pointer;transition:all .2s;margin-top:6px}
.add-debt-btn:hover{border-color:var(--gold);color:var(--gold)}

/* COLOR SWATCH */
.color-swatches{display:flex;gap:7px;flex-wrap:wrap}
.color-sw{width:24px;height:24px;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:all .2s}
.color-sw.active{border-color:var(--text);transform:scale(1.15)}

/* TAXI SESSIONS */
.taxi-session{background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;padding:10px 12px;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.taxi-session-num{font-size:.7rem;color:var(--gold-d);min-width:20px;font-weight:700}
.taxi-time-row{display:flex;align-items:center;gap:6px;flex:1;flex-wrap:wrap}
.taxi-time-lbl{font-size:.66rem;color:var(--text-dim)}
.taxi-time-inp{background:var(--bg2);border:1px solid var(--border-g);border-radius:8px;color:var(--text);font-family:var(--font-b);font-size:.85rem;padding:7px 8px;outline:none;transition:border-color .2s;width:90px;-webkit-appearance:none}
.taxi-time-inp:focus{border-color:var(--gold)}
.taxi-arrow{color:var(--text-dim);font-size:.8rem}
.taxi-del{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.9rem;padding:3px 6px;border-radius:6px;transition:color .2s;flex-shrink:0}
.taxi-del:hover{color:var(--red)}
.taxi-total{background:var(--bg3);border:1px solid var(--gold-d);border-radius:10px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px}
.taxi-total-lbl{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}
.taxi-total-val{font-family:var(--font-d);font-size:1.2rem;color:var(--gold);font-weight:600}
.taxi-hint{font-size:.68rem;color:var(--text-dim);text-align:center;margin-bottom:10px;line-height:1.5}
.taxi-add-btn{width:100%;padding:11px;border:1px dashed var(--gold-d);border-radius:10px;background:none;color:var(--gold);font-family:var(--font-b);font-size:.82rem;cursor:pointer;transition:all .2s;margin-bottom:10px}
.taxi-add-btn:hover{background:rgba(201,168,76,.08)}

/* DESKTOP ADAPTATION */
@media(min-width:900px){
  body{padding:0 24px 34px 292px;background:
    radial-gradient(circle at 12% 8%,rgba(201,168,76,.12),transparent 24%),
    radial-gradient(circle at 82% 0%,rgba(76,175,125,.08),transparent 28%),
    var(--bg)}
  .desktop-sidebar{position:fixed;display:flex;flex-direction:column;gap:7px;left:20px;top:20px;bottom:20px;width:244px;z-index:210;border:1px solid var(--border-g);border-radius:22px;background:linear-gradient(180deg,rgba(24,22,17,.94),rgba(10,9,7,.92));backdrop-filter:blur(16px);padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
  html[data-theme="emerald"] .desktop-sidebar{background:linear-gradient(180deg,rgba(13,25,21,.94),rgba(5,12,10,.92))}
  html[data-theme="graphite"] .desktop-sidebar{background:linear-gradient(180deg,rgba(18,20,25,.94),rgba(8,9,11,.92))}
  .desktop-brand{display:flex;gap:10px;align-items:center;padding:6px 6px 14px;border-bottom:1px solid var(--border);margin-bottom:6px}
  .desktop-brand img{width:42px;height:42px;border-radius:13px;box-shadow:0 10px 22px rgba(0,0,0,.28)}
  .desktop-brand b{display:block;font-family:var(--font-d);font-size:1.2rem;color:var(--gold);line-height:1}
  .desktop-brand span{display:block;font-size:.65rem;color:var(--text-dim);margin-top:3px}
  .desktop-sidebar button{border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text-mid);font-family:var(--font-b);font-weight:800;text-align:left;padding:11px 10px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
  .desktop-sidebar button:hover{background:rgba(201,168,76,.08);border-color:var(--border-g);color:var(--gold)}
  .desktop-sidebar button span{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(201,168,76,.09);border:1px solid rgba(201,168,76,.16);font-size:.8rem;color:var(--gold)}
  .header,.datebar,#homeLayout,.setup-banner,.desktop-overview{max-width:1240px;margin-left:auto;margin-right:auto}
  .header{top:14px;border:1px solid var(--border-g);border-radius:20px;margin-top:14px;padding:12px 16px;background:rgba(20,18,16,.86)}
  html[data-theme="emerald"] .header{background:rgba(13,25,21,.86)}
  html[data-theme="graphite"] .header{background:rgba(16,18,22,.86)}
  .header .logo{font-size:1.8rem}
  .datebar{border:1px solid var(--border);border-radius:16px;margin-top:12px;background:rgba(255,255,255,.018)}
  .desktop-overview{display:grid;grid-template-columns:minmax(320px,1.4fr) repeat(3,minmax(160px,1fr));gap:14px;margin-top:14px}
  .desktop-hero-card,.desktop-metric{position:relative;overflow:hidden;border:1px solid var(--border-g);border-radius:18px;background:linear-gradient(135deg,rgba(201,168,76,.12),rgba(255,255,255,.025));padding:16px;min-height:116px}
  .desktop-hero-card::after{content:'';position:absolute;right:-30px;top:-45px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.2),transparent 65%)}
  .desktop-hero-kicker,.desktop-metric span{display:block;font-size:.62rem;color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;font-weight:900;margin-bottom:6px}
  .desktop-hero-card h2{position:relative;margin:0;font-family:var(--font-d);font-size:2rem;color:var(--gold);line-height:1}
  .desktop-hero-card p{position:relative;margin:8px 0 0;color:var(--text-mid);font-size:.86rem;line-height:1.45;max-width:620px}
  .desktop-metric b{display:block;font-family:var(--font-d);font-size:1.8rem;color:var(--text);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktop-metric small{display:block;margin-top:8px;color:var(--text-dim);font-size:.72rem;line-height:1.35}
  #homeLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.62fr);gap:14px;align-items:start;padding:0;margin-top:14px}
  #homeLayout>.goals,#homeLayout>.statsbar,#homeLayout>.actions,#homeLayout>.gami-widget,#homeLayout>.menu-grid,#homeLayout>.sunday-card{grid-column:1}
  #homeLayout>.section{grid-column:2;margin-top:0;padding:0}
  #homeLayout>.section:nth-of-type(n+3){grid-column:1/-1;margin-top:0}
  .goals,.actions{padding-left:0;padding-right:0}
  .statsbar{margin-left:0;margin-right:0}
  .menu-grid{padding-left:0;padding-right:0}
  .sunday-card{margin-left:0;margin-right:0}
  .bottom-dock{left:50%;right:auto;transform:translateX(-50%);width:min(520px,calc(100vw - 48px));bottom:18px}
  .chat-fab{right:28px;bottom:28px;width:60px;height:60px}
  .modal{max-width:760px}
  .profile-modal,.settings-modal{max-width:860px}
  .profile-grid{grid-template-columns:1fr 1fr}
  .profile-auth-card{grid-column:1}
  .profile-pay-card,.profile-history-card{grid-column:2}
  .settings-modal{padding:22px}
.settings-summary{grid-template-columns:repeat(3,1fr)}
}

.ai-diag-panel{display:flex;flex-direction:column;gap:10px}
.ai-diag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.ai-diag-card{border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(201,168,76,.035));padding:10px}
.ai-diag-card b{display:block;font-family:var(--font-d);font-size:1.35rem;color:var(--gold);line-height:1}
.ai-diag-card span{display:block;margin-top:5px;color:var(--text-mid);font-size:.75rem;font-weight:800}
.ai-diag-card small{display:block;margin-top:4px;color:var(--text-dim);font-size:.65rem;line-height:1.35}
.ai-diag-note{border:1px solid rgba(76,175,125,.25);border-radius:12px;background:rgba(76,175,125,.07);color:var(--text-mid);font-size:.72rem;line-height:1.45;padding:10px}
.ai-diag-list{border:1px solid var(--border);border-radius:12px;overflow:hidden}
.ai-diag-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.75rem;color:var(--text-mid)}
.ai-diag-row:last-child{border-bottom:0}
.ai-diag-row b{color:var(--text)}
.ai-diag-row span{color:var(--gold);font-weight:900}

@media(max-width:560px){
  .theme-picker{grid-template-columns:1fr}
  .first-run-brand{grid-template-columns:66px 1fr;gap:12px}
  .first-run-brand img{width:66px;height:66px;border-radius:18px}
  .first-run-preview{grid-template-columns:1fr}
  .onboarding-stepper{gap:4px;padding:5px;border-radius:14px}
  .onboarding-step{font-size:.5rem;padding:7px 3px}
  .header-r{gap:6px}
  .hbtn{padding:5px 8px}
}

