:root{--bg: #faf9f6;--bg-elev: #ffffff;--bg-sunken: #f2efe9;--surface: #f6f4ef;--border: #e5e1d8;--border-strong: #d4cfc2;--text: #1b1b19;--text-muted: #5b5a54;--text-subtle: #86847c;--accent: #c96442;--accent-hover: #b45636;--accent-soft: #f4e3db;--danger: #b3261e;--success: #2f7d4f;--shadow-sm: 0 1px 2px rgba(27, 27, 25, .04), 0 1px 1px rgba(27, 27, 25, .03);--shadow-md: 0 4px 14px rgba(27, 27, 25, .08), 0 1px 3px rgba(27, 27, 25, .04);--shadow-lg: 0 20px 40px rgba(27, 27, 25, .12), 0 2px 6px rgba(27, 27, 25, .06);--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-xl: 24px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, sans-serif;--font-serif: "Tiempos Text", "Charter", "Iowan Old Style", "Source Serif Pro", Georgia, serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--msg-font-size: 19px}[data-text-size=large]{--msg-font-size: 22px}[data-text-size=xlarge]{--msg-font-size: 26px}[data-theme=dark]{--bg: #141412;--bg-elev: #1c1b18;--bg-sunken: #0e0e0c;--surface: #1f1e1b;--border: #2a2925;--border-strong: #3b3a34;--text: #ece9e2;--text-muted: #a7a49b;--text-subtle: #7a7870;--accent: #e07757;--accent-hover: #ea8565;--accent-soft: #2d1e18;--danger: #e4685f;--success: #4fae78;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer}input,textarea,button{font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-soft);color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);padding:10px 16px;border-radius:var(--radius);font-weight:500;font-size:14px;transition:background .15s ease,border-color .15s ease,transform .05s ease;box-shadow:var(--shadow-sm)}.btn:hover{background:var(--surface)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:hover{background:var(--surface)}.btn.icon{width:40px;height:40px;padding:0;border-radius:10px}.input{width:100%;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);font-size:15px;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.label{font-size:13px;font-weight:500;color:var(--text-muted);display:block;margin-bottom:6px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.landing{min-height:100dvh;background:radial-gradient(1100px 520px at 8% -8%,var(--accent-soft) 0%,transparent 60%),radial-gradient(900px 450px at 100% 0%,color-mix(in srgb,var(--accent) 14%,transparent) 0%,transparent 55%),var(--bg);display:flex;flex-direction:column}.landing main{flex:1}.landing-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.landing-nav-actions{display:flex;align-items:center;gap:8px}.landing .btn.big{padding:14px 22px;font-size:15px;border-radius:14px}.landing-hero{max-width:1180px;margin:0 auto;padding:64px 32px 48px;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}.landing-hero-copy .eyebrow,.section-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;color:var(--accent);margin:0 0 14px}.landing-hero h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(40px,6vw,72px);line-height:1.05;letter-spacing:-.02em;margin:0 0 18px;color:var(--text)}.landing-hero .lead{font-size:19px;line-height:1.55;color:var(--text-muted);margin:0 0 28px;max-width:560px}.landing-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.landing-tagline{font-size:13px;color:var(--text-subtle);margin:0}.demo-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg);overflow:hidden;transform:rotate(-1.2deg);position:relative}.demo-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:22px;pointer-events:none;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,transparent),transparent 40%);opacity:.5;z-index:0}.demo-topbar{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-sunken) 60%,transparent);font-size:13px;color:var(--text-muted)}.demo-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 22%,transparent)}.demo-pin{font-size:13px;filter:grayscale(.2)}.demo-loc{font-weight:500;color:var(--text)}.demo-body{position:relative;z-index:1;padding:22px 22px 26px}.demo-role{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:8px}.demo-text{font-family:var(--font-serif);font-size:19px;line-height:1.55;color:var(--text);margin:0 0 18px}.demo-spoken{background:linear-gradient(180deg,transparent 60%,color-mix(in srgb,var(--accent) 35%,transparent) 60%);padding:0 2px;border-radius:2px}.demo-equalizer{display:inline-flex;align-items:flex-end;gap:3px;height:18px}.demo-equalizer span{display:inline-block;width:3px;background:var(--accent);border-radius:2px;animation:demo-eq 1.1s ease-in-out infinite}.demo-equalizer span:nth-child(1){animation-delay:0s;height:40%}.demo-equalizer span:nth-child(2){animation-delay:.15s;height:80%}.demo-equalizer span:nth-child(3){animation-delay:.3s;height:60%}.demo-equalizer span:nth-child(4){animation-delay:.45s;height:95%}.demo-equalizer span:nth-child(5){animation-delay:.6s;height:50%}@keyframes demo-eq{0%,to{transform:scaleY(1)}50%{transform:scaleY(.35)}}.landing-section{max-width:1180px;margin:0 auto;padding:80px 32px}.landing-section h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(28px,4vw,44px);letter-spacing:-.015em;line-height:1.1;margin:0 0 36px;color:var(--text)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:28px;grid-template-columns:repeat(3,1fr)}.step{display:flex;gap:18px}.step-num{font-family:var(--font-serif);font-size:28px;font-weight:500;color:var(--accent);letter-spacing:-.02em;min-width:42px}.step h3{margin:0 0 6px;font-size:17px;font-weight:600;color:var(--text)}.step p{margin:0;font-size:15px;line-height:1.55;color:var(--text-muted)}.feature-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.feature{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 22px 24px;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.feature:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:var(--shadow-md)}.feature h3{font-family:var(--font-serif);font-weight:500;font-size:20px;letter-spacing:-.01em;margin:0 0 8px;color:var(--text)}.feature p{margin:0;font-size:14.5px;line-height:1.55;color:var(--text-muted)}.landing-pricing .price-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.price-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm)}.price-card.featured{border-color:var(--accent);box-shadow:var(--shadow-md);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 70%,var(--bg-elev)) 0%,var(--bg-elev) 60%)}.price-card-name{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);font-weight:600}.price-card-amount{display:flex;align-items:baseline;gap:6px}.price-card-amount .amt{font-family:var(--font-serif);font-size:40px;font-weight:500;letter-spacing:-.02em;color:var(--text)}.price-card-amount .per{color:var(--text-subtle);font-size:14px}.price-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-muted)}.price-card ul li:before{content:"✓ ";color:var(--accent);font-weight:600}.btn.wide{width:100%;padding:12px 18px}.landing-final{text-align:center;padding-top:48px;padding-bottom:96px}.landing-final h2{margin-bottom:14px}.landing-final .lead{color:var(--text-muted);font-size:18px;margin:0 0 26px}.landing-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px 32px 28px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-sunken) 50%,transparent);font-size:13px;color:var(--text-subtle)}.landing-footer .muted{color:var(--text-subtle)}.landing-footer-links{display:flex;gap:14px}.landing-footer-links a{color:var(--text-muted)}.landing-footer-links a:hover{color:var(--accent)}@media (max-width: 900px){.landing-hero{grid-template-columns:1fr;padding:40px 22px 24px;gap:32px}.demo-card{transform:none}.landing-section{padding:56px 22px}.steps{grid-template-columns:1fr;gap:22px}.feature-grid,.landing-pricing .price-cards{grid-template-columns:1fr}.landing-nav{padding:12px 18px}}.auth{min-height:100%;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(1000px 500px at 10% -10%,var(--accent-soft) 0%,transparent 60%),var(--bg)}.auth-card{width:100%;max-width:420px;padding:32px;display:flex;flex-direction:column;gap:18px}.auth-card h1{font-family:var(--font-serif);font-weight:500;font-size:30px;margin:0;letter-spacing:-.01em}.auth-card p.lead{margin:-6px 0 6px;color:var(--text-muted);font-size:15px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:22px;letter-spacing:-.01em;font-weight:500}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);display:inline-block;position:relative}.brand-mark:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:3px;background:var(--bg);clip-path:polygon(50% 10%,95% 90%,5% 90%)}.error-msg{color:var(--danger);font-size:14px}.app{display:grid;grid-template-columns:280px 1fr;height:100%;min-height:100dvh;background:var(--bg)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40;opacity:0;pointer-events:none;transition:opacity .2s ease}.backdrop.open{opacity:1;pointer-events:auto}.sidebar{background:var(--bg-sunken);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.sidebar-top{padding:14px 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-top .brand{font-size:18px}.new-tour-btn{margin:0 10px 10px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--text);display:flex;align-items:center;gap:10px;font-size:14px;transition:background .15s ease,border-color .15s ease}.new-tour-btn:hover{background:var(--surface);border-color:var(--border-strong);border-style:solid}.sessions-list{flex:1;overflow-y:auto;padding:4px 10px 12px;display:flex;flex-direction:column;gap:2px}.sessions-list .heading{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);padding:10px 8px 4px}.session-item{display:flex;align-items:flex-start;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid transparent;text-align:left;background:transparent;color:var(--text);font-size:14px;cursor:pointer;transition:background .1s ease}.session-item:hover{background:var(--surface)}.session-item.active{background:var(--bg-elev);border-color:var(--border)}.session-item .title{font-weight:500;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.session-item .summary{font-size:12px;color:var(--text-subtle);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}.sidebar-settings{padding:10px 14px 12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-settings .settings-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle)}.text-size-selector{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--bg-elev)}.text-size-opt{width:32px;height:32px;display:grid;place-items:center;background:transparent;color:var(--text-muted);border:none;cursor:pointer;font-family:var(--font-serif);line-height:1;transition:background .15s ease,color .15s ease}.text-size-opt+.text-size-opt{border-left:1px solid var(--border)}.text-size-opt:hover{background:var(--surface);color:var(--text)}.text-size-opt.active{background:var(--accent);color:#fff}.sidebar-bottom{padding:12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.user-chip{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;color:var(--text-muted)}.user-chip.as-button{flex:1;background:transparent;border:1px solid transparent;padding:6px 8px;border-radius:10px;text-align:left;transition:background .15s ease}.user-chip.as-button:hover{background:var(--surface)}.user-chip .avatar{width:28px;height:28px;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:600;font-size:13px}.user-chip .email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{display:flex;flex-direction:column;min-height:0;position:relative}.topbar{padding:12px 32px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10;min-height:56px;display:flex;justify-content:center}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:760px}.menu-btn{display:none}.location-badge{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:13px;min-width:0;max-width:70vw}.location-badge .dot{width:8px;height:8px;border-radius:999px;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 20%,transparent);flex-shrink:0}.location-badge .dot.pending{background:var(--text-subtle);box-shadow:none}.location-badge .text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-area{flex:1;overflow-y:auto;padding:40px 32px 200px;display:flex;justify-content:center;position:relative;scroll-behavior:smooth}.stream-inner{width:100%;max-width:760px}.hero{text-align:center;padding:72px 8px 24px;max-width:620px;margin:0 auto}.hero h1{font-family:var(--font-serif);font-size:44px;letter-spacing:-.025em;margin:0 0 14px;font-weight:500;line-height:1.1}.hero p{color:var(--text-muted);margin:0 0 28px;font-size:17px;line-height:1.55}.hero-cta{padding:12px 20px;font-size:15px}.message{padding:18px 0}.message+.message{border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.message .role{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:8px}.message.assistant .role{color:var(--accent)}.message .bubble{font-family:var(--font-serif);font-size:var(--msg-font-size);line-height:1.7;white-space:pre-wrap;color:var(--text);letter-spacing:.005em}.message.user .bubble{font-family:var(--font-sans);font-size:calc(var(--msg-font-size) * .8);color:var(--text-muted);padding:10px 14px;background:var(--surface);border-radius:var(--radius);display:inline-block;white-space:pre-wrap}.spoken{background:color-mix(in srgb,var(--accent) 18%,transparent);border-radius:4px;padding:1px 2px;margin:0 -2px;box-shadow:inset 0 -2px color-mix(in srgb,var(--accent) 55%,transparent);transition:background .25s ease,box-shadow .25s ease}.jump-fab{position:absolute;bottom:120px;left:50%;transform:translate(-50%);padding:8px 14px;font-size:13px;font-weight:500;color:var(--text);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:999px;box-shadow:var(--shadow-md);z-index:5;animation:fab-in .2s ease}.jump-fab:hover{background:var(--surface)}@keyframes fab-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.reading-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:12px;font-weight:500;letter-spacing:.02em}.reading-dot{width:6px;height:6px;border-radius:999px;background:var(--accent);animation:reading-pulse 1.1s ease-in-out infinite}@keyframes reading-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.caret{display:inline-block;width:6px;height:18px;transform:translateY(3px);background:var(--accent);margin-left:2px;border-radius:1px;animation:blink 1s steps(2) infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.composer-wrap{position:sticky;bottom:0;left:0;right:0;padding:16px 18px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 0%,var(--bg) 60%,color-mix(in srgb,var(--bg) 0%,transparent) 100%);display:flex;justify-content:center}.composer{width:100%;max-width:760px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:20px;padding:10px 10px 10px 16px;display:flex;align-items:flex-end;gap:8px;box-shadow:var(--shadow-md);transition:border-color .15s ease}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-md)}.composer textarea{flex:1;border:none;outline:none;resize:none;background:transparent;color:var(--text);font-size:15px;line-height:1.5;padding:8px 0;max-height:180px}.composer .actions{display:flex;gap:6px;align-items:center}.mic-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elev);display:grid;place-items:center;transition:all .15s ease}.mic-btn:hover{background:var(--surface)}.mic-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-soft)}.mic-btn.listening{background:var(--danger);border-color:var(--danger);color:#fff;animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--danger) 40%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--danger) 0%,transparent)}}.stop-btn{width:40px;height:40px;border-radius:999px;border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);background:color-mix(in srgb,var(--danger) 14%,var(--surface-2));color:var(--danger);cursor:pointer;display:grid;place-items:center;transition:all .15s ease}.stop-btn:hover{background:var(--danger);color:#fff}.send-btn{width:40px;height:40px;border-radius:999px;border:none;background:var(--accent);color:#fff;display:grid;place-items:center}.send-btn:hover{background:var(--accent-hover)}.send-btn:disabled{background:var(--border-strong);color:var(--text-subtle);cursor:not-allowed}.banner{margin:8px 18px 0;padding:12px 14px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--border);font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.banner.danger{background:color-mix(in srgb,var(--danger) 14%,var(--bg));border-color:color-mix(in srgb,var(--danger) 30%,var(--border));color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:grid;place-items:center;padding:20px;animation:fade .15s ease}.modal{width:100%;max-width:480px;max-height:85dvh;overflow-y:auto;padding:0}.modal-head{padding:18px 20px 8px;display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-family:var(--font-serif);font-size:22px;font-weight:500;letter-spacing:-.01em}.modal-body{padding:8px 20px 20px;display:flex;flex-direction:column;gap:22px}.modal-body section{display:flex;flex-direction:column;gap:8px}.section-head{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle)}.danger-zone{border-top:1px solid var(--border);padding-top:16px}@keyframes fade{0%{opacity:0}to{opacity:1}}.shimmer{display:inline-block;width:20px;height:20px;border-radius:999px;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite;vertical-align:-4px}@keyframes spin{to{transform:rotate(360deg)}}.admin{min-height:100dvh;background:var(--bg-sunken);color:var(--text);display:flex;flex-direction:column}.admin-head{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:var(--bg);border-bottom:1px solid var(--border)}.admin-tag{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:2px 8px;border-radius:999px}.driver-pill{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);background:var(--surface);border:1px solid var(--border);padding:2px 8px;border-radius:999px;font-family:var(--font-mono)}.admin-tabs{display:flex;gap:4px;padding:10px 22px 0;border-bottom:1px solid var(--border);background:var(--bg)}.admin-tab{background:transparent;border:none;padding:10px 14px;font-size:14px;color:var(--text-muted);border-bottom:2px solid transparent;border-radius:0;transition:color .1s ease,border-color .1s ease}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--text);border-bottom-color:var(--accent)}.admin-main{padding:22px;max-width:1200px;width:100%;margin:0 auto}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.kpi{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.kpi-label{font-size:12px;color:var(--text-subtle);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.kpi-value{font-family:var(--font-serif);font-size:30px;margin-top:4px;letter-spacing:-.01em;font-weight:500}.kpi-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.chart-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;grid-column:span 2;box-shadow:var(--shadow-sm)}.chart-card .section-head{margin-bottom:14px}.model-field .label{margin-bottom:4px}.model-field .input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-subtle) 50%),linear-gradient(135deg,var(--text-subtle) 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.bars{display:flex;align-items:flex-end;gap:4px;height:140px;padding-bottom:18px;position:relative}.bar-wrap{flex:1;min-width:6px;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.bar{width:100%;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;transition:opacity .2s ease}.bar-label{position:absolute;bottom:-18px;font-size:10px;color:var(--text-subtle);white-space:nowrap}.city-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.city-list li{display:flex;flex-direction:column;gap:4px}.city-row{display:flex;justify-content:space-between;font-size:14px}.city-name{color:var(--text);font-weight:500}.city-count{color:var(--text-muted);font-variant-numeric:tabular-nums}.city-bar{background:var(--surface);border-radius:999px;height:6px;overflow:hidden}.city-bar-fill{background:var(--accent);height:100%;border-radius:999px}.table-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap}.admin-table thead th{background:var(--surface);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);font-weight:600;border-bottom:1px solid var(--border)}.admin-table tbody tr:hover{background:var(--surface)}.pager{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--border);background:var(--bg-sunken)}@media (max-width: 820px){.chart-card{grid-column:1 / -1}}@media (max-width: 820px){.app{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:84vw;max-width:320px;z-index:50;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.menu-btn{display:grid}.topbar{padding:12px 16px}.stream-area{padding:20px 16px 180px}.hero{padding:32px 8px 16px}.hero h1{font-size:30px}.hero p{font-size:15px}.message .bubble{font-size:calc(var(--msg-font-size) - 2px);line-height:1.65}}.topbar-right{display:flex;align-items:center;justify-content:flex-end;min-width:40px}.quota-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.quota-chip:hover{background:var(--surface-raised);color:var(--text)}.quota-chip.low{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.billing-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--border-subtle)}.billing-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.billing-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin:0 0 10px}.billing-meter{margin-bottom:14px}.billing-meter-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:14px;color:var(--text-muted)}.billing-meter-row strong{color:var(--text);font-weight:600}.billing-meter-row .subtle{color:var(--text-subtle);font-weight:400}.meter{height:6px;border-radius:999px;background:var(--border-subtle);overflow:hidden}.meter-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.billing-plan{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised)}.billing-plan-title{font-weight:600;color:var(--text)}.billing-plan-price{font-family:var(--font-serif, "Tiempos Text", Charter, serif);font-size:22px;color:var(--text)}.billing-history{list-style:none;margin:0;padding:0;font-size:13px}.billing-history li{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-subtle);color:var(--text-muted)}.billing-history li:last-child{border-bottom:none}.billing-history .subtle{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;font-size:11px}
