:root,[data-theme=obsidian]{--bg-primary: #0b0f17;--bg-gradient: radial-gradient(circle at top right, #13233f 0%, #0b0f17 58%);--bg-header: rgba(19, 27, 46, .88);--bg-card: #131b2e;--bg-card-hover: #19233c;--bg-inset: #090d16;--bg-nav: rgba(11, 15, 23, .95);--border-subtle: rgba(148, 163, 184, .16);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent-emerald: #10b981;--accent-emerald-text: #34d399;--accent-blue: #3b82f6;--accent-sky: #38bdf8;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--accent-purple: #8b5cf6;--pill-bg: rgba(59, 130, 246, .14);--pill-text: #93c5fd;--pill-border: rgba(59, 130, 246, .35);--shadow-card: 0 8px 24px rgba(0, 0, 0, .28)}[data-theme=daylight]{--bg-primary: #f1f5f9;--bg-gradient: radial-gradient(circle at top right, #e0f2fe 0%, #f1f5f9 62%);--bg-header: rgba(255, 255, 255, .92);--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-inset: #f1f5f9;--bg-nav: rgba(255, 255, 255, .96);--border-subtle: rgba(15, 23, 42, .11);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--accent-emerald: #059669;--accent-emerald-text: #047857;--accent-blue: #2563eb;--accent-sky: #0284c7;--accent-amber: #d97706;--accent-rose: #e11d48;--accent-purple: #7c3aed;--pill-bg: rgba(37, 99, 235, .09);--pill-text: #1d4ed8;--pill-border: rgba(37, 99, 235, .26);--shadow-card: 0 4px 16px rgba(15, 23, 42, .06)}[data-theme=emerald]{--bg-primary: #07120e;--bg-gradient: radial-gradient(circle at top right, #0f291f 0%, #07120e 60%);--bg-header: rgba(13, 31, 24, .9);--bg-card: #0e211a;--bg-card-hover: #142e24;--bg-inset: #060e0b;--bg-nav: rgba(7, 18, 14, .95);--border-subtle: rgba(52, 211, 153, .18);--text-primary: #ecfdf5;--text-secondary: #d1fae5;--text-muted: #6ee7b7;--accent-emerald: #10b981;--accent-emerald-text: #34d399;--accent-blue: #14b8a6;--accent-sky: #2dd4bf;--accent-amber: #f59e0b;--accent-rose: #fb7185;--accent-purple: #a78bfa;--pill-bg: rgba(16, 185, 129, .15);--pill-text: #6ee7b7;--pill-border: rgba(16, 185, 129, .35);--shadow-card: 0 8px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;min-height:100vh;padding-bottom:86px;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}.app-shell{max-width:920px;margin:0 auto;padding:12px}.top-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--bg-header);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:16px;margin-bottom:12px;box-shadow:var(--shadow-card)}.brand-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.brand-sub{font-size:.75rem;color:var(--text-muted);margin-top:2px}.header-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pill-btn{background:var(--pill-bg);color:var(--pill-text);border:1px solid var(--pill-border);border-radius:999px;padding:6px 11px;font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:all .15s ease}.pill-btn:hover{filter:brightness(1.1)}.primary-btn{background:var(--accent-emerald);color:#fff;border:none;border-radius:12px;padding:9px 14px;font-weight:700;font-size:.82rem;cursor:pointer;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .12s ease,filter .15s ease}.primary-btn:hover{filter:brightness(1.08)}.primary-btn:active{transform:scale(.98)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow-card)}.inset-box{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:12px;padding:10px 12px}.safe-banner{background:linear-gradient(135deg,#10b98129,#3b82f61f);border:1px solid rgba(16,185,129,.35);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.safe-amount{font-size:1.55rem;font-weight:800;color:var(--accent-emerald-text);line-height:1.15;margin-top:2px}.macro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;margin-bottom:12px}.macro-box{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:12px;padding:10px 12px}.macro-label{font-size:.74rem;color:var(--text-muted);margin-bottom:4px;font-weight:600}.macro-val{font-size:1.02rem;font-weight:800;color:var(--text-primary)}.progress-track{height:6px;background:#94a3b833;border-radius:999px;overflow:hidden;margin-top:7px}.progress-fill{height:100%;border-radius:999px;transition:width .3s ease}.quick-input{flex:1;min-width:180px;background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:12px;padding:9px 12px;color:var(--text-primary);font-size:.86rem}.quick-chips{display:flex;gap:8px;flex-wrap:wrap}.voice-dock{background:linear-gradient(135deg,#10b98124,#38bdf81f);border:1px solid rgba(16,185,129,.4);border-radius:16px;padding:12px 14px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.voice-dock-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.voice-record-btn{flex:1;min-width:190px;background:var(--accent-emerald);color:#fff;border:none;border-radius:12px;padding:11px 16px;font-weight:800;font-size:.86rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #10b9814d}.voice-record-btn.recording{background:var(--accent-rose);animation:pulse-ring 1.4s infinite}@keyframes pulse-ring{0%{box-shadow:0 0 #f43f5e8c}70%{box-shadow:0 0 0 10px #f43f5e00}to{box-shadow:0 0 #f43f5e00}}.list-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 4px;border-bottom:1px solid var(--border-subtle);gap:10px;flex-wrap:wrap}.list-row:last-child{border-bottom:none}.stock-card-row{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.stock-card-row:last-child{border-bottom:none}.stock-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}.stock-card-title{font-weight:700;font-size:.92rem;color:var(--text-primary);line-height:1.3}.stock-card-meta{font-size:.78rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.stock-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:.71rem;font-weight:700;white-space:nowrap;flex-shrink:0}.badge-critical{background:#f43f5e2e;color:var(--accent-rose);border:1px solid rgba(244,63,94,.38)}.badge-warning{background:#f59e0b2e;color:var(--accent-amber);border:1px solid rgba(245,158,11,.38)}.badge-ok{background:#10b98129;color:var(--accent-emerald-text);border:1px solid rgba(16,185,129,.32)}.badge-frozen{background:#3b82f629;color:var(--pill-text);border:1px solid rgba(59,130,246,.32)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-nav);backdrop-filter:blur(14px);border-top:1px solid var(--border-subtle);display:flex;justify-content:center;gap:6px;padding:8px 10px;z-index:50}.nav-tab{flex:1;max-width:200px;height:40px;background:transparent;color:var(--text-muted);border:1px solid transparent;border-radius:12px;padding:0 8px;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:all .15s ease}.nav-tab.active{background:#10b98129;color:var(--accent-emerald-text);border-color:#10b98161}.table-clean{width:100%;border-collapse:collapse;font-size:.8rem}.table-clean th,.table-clean td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border-subtle)}.select-clean{background:var(--bg-inset);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;padding:6px 10px;font-size:.8rem}@media(max-width:440px){.app-shell{padding:10px}.top-header{padding:10px 12px}.safe-amount{font-size:1.38rem}.macro-grid{grid-template-columns:repeat(2,1fr)}.nav-tab{font-size:.74rem;padding:0 6px}}
