:root{--bg: #1a1826;--bg-elevated: #211f30;--card: linear-gradient(165deg, #3c3856 0%, #322f48 100%);--card-flat: #322f48;--accent: #7c5cfa;--accent-soft: #ab8dff;--accent-glow: rgba(124, 92, 250, .35);--success: #4ade80;--success-glow: rgba(74, 222, 128, .25);--warning: #fbbf24;--warning-glow: rgba(251, 191, 36, .28);--danger: #fb7185;--danger-glow: rgba(251, 113, 133, .3);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .68);--text-muted: rgba(255, 255, 255, .42);--card-border: rgba(255, 255, 255, .09);--card-radius: 18px;--content-padding: clamp(16px, 3vw, 28px);--sidebar-width: 224px;--ease: cubic-bezier(.4, 0, .2, 1);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 900px 500px at 15% -10%,rgba(124,92,250,.16),transparent),radial-gradient(ellipse 700px 500px at 100% 0%,rgba(74,222,128,.06),transparent),var(--bg);background-attachment:fixed}h1,h2,h3{letter-spacing:-.01em}a{color:var(--accent-soft)}button{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:1fr}@media(min-width:1024px){.app-shell{grid-template-columns:var(--sidebar-width) 1fr}}.sidebar{display:none;flex-direction:column;gap:8px;padding:24px 16px;border-right:1px solid var(--card-border);background:#00000026;min-height:100vh}.sidebar-sign-out{margin-top:auto}@media(min-width:1024px){.sidebar{display:flex}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#1f1d31f5;border-top:1px solid var(--card-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20}@media(min-width:1024px){.bottom-nav,.mobile-sign-out{display:none}}.mobile-sign-out{position:fixed;bottom:calc(56px + env(safe-area-inset-bottom));left:0;right:0;padding:8px var(--content-padding);z-index:19}.mobile-sign-out .btn{width:100%}.main-content{padding:var(--content-padding);padding-bottom:calc(120px + var(--content-padding))}@media(min-width:1024px){.main-content{padding-bottom:var(--content-padding)}}.nav-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;color:var(--text-secondary);text-decoration:none;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;transition:background .15s var(--ease),color .15s var(--ease)}.nav-link:hover{background:#ffffff0d;color:var(--text-primary)}.nav-link.active,.bottom-nav .nav-link.active{background:linear-gradient(135deg,#7c5cfa47,#7c5cfa1f);color:var(--text-primary)}.dashboard-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:22px;box-shadow:0 1px 2px #0000001f,0 12px 32px -16px #00000073}.dashboard-card h2,.dashboard-card h3{margin:0 0 16px;font-size:.95rem;font-weight:650;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.metric-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:720px){.metric-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.metric-tile{background:#0000002e;border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:14px;transition:border-color .15s var(--ease)}.metric-tile .label{font-size:.75rem;color:var(--text-secondary)}.metric-tile .value{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:650;margin-top:6px;font-variant-numeric:tabular-nums}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#ffffff12;border:1px solid rgba(255,255,255,.06);font-size:.85rem}.status-dot{width:8px;height:8px;border-radius:50%}.btn{border:none;border-radius:12px;padding:12px 16px;cursor:pointer;font-weight:600;transition:transform .1s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease),opacity .15s var(--ease)}.btn:active:not(:disabled){transform:scale(.97)}.btn-accent{background:linear-gradient(135deg,var(--accent),#6947e8);color:#fff;box-shadow:0 4px 16px -4px var(--accent-glow)}.btn-accent:hover:not(:disabled){box-shadow:0 6px 20px -4px var(--accent-glow)}.btn-secondary{background:#ffffff14;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#ffffff21}.btn:disabled{opacity:.5;cursor:not-allowed}.hero-glucose{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.hero-glucose .value{font-size:clamp(2.5rem,8vw,4rem);font-weight:700;line-height:1}.hero-glucose .in-range{color:var(--success)}.hero-glucose .low,.hero-glucose .high{color:var(--danger)}.hero-glucose .warn{color:var(--warning)}.reading-verify-tag{display:inline-block;font-weight:600;vertical-align:middle;margin-left:10px}.reading-verify-tag-pending{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--warning);border:1px solid var(--warning);border-radius:999px;padding:2px 8px}.reading-verify-tag-done{font-size:1rem;color:var(--success)}.dashboard-grid,.dashboard-split{display:grid;gap:20px}@media(min-width:900px){.dashboard-split{grid-template-columns:1fr minmax(280px,360px)}}.error-banner{background:#f8717126;border:1px solid rgba(248,113,113,.35);color:#fecaca;padding:12px 16px;border-radius:12px}.live-indicator{display:inline-flex;align-items:center;gap:8px;color:var(--success);font-size:.85rem}.live-indicator .pulse{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.live-indicator .pulse{animation:none}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.timeline{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow-y:auto}.timeline-item{display:flex;gap:12px;align-items:flex-start}.timeline-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#633efa33;flex-shrink:0}.btn-secondary.active{background:var(--accent);border-color:var(--accent);color:#fff}.auth-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-mode-toggle .btn{width:100%}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-muted);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--card-border)}.form-field input,.form-field textarea,.form-field select{background:#0003;border:1px solid var(--card-border);border-radius:10px;padding:12px;color:var(--text-primary)}.security-notice{margin-top:12px;padding:12px 14px;border-radius:10px;border:1px solid rgba(251,191,36,.35);background:#fbbf241a;color:var(--text-secondary);font-size:.9rem;line-height:1.45}.pairing-code-panel{margin-top:16px;padding:20px;border-radius:var(--card-radius);border:1px solid rgba(99,62,250,.35);background:#633efa1f;text-align:center}.pairing-code-label{color:var(--text-secondary);font-size:.9rem;margin-bottom:8px}.pairing-code-value{font-size:clamp(2rem,6vw,2.75rem);font-weight:700;letter-spacing:.2em;font-variant-numeric:tabular-nums;color:var(--accent-soft);margin-bottom:16px}.debug-dl{display:grid;gap:10px;margin:0 0 16px}.debug-dl div{display:grid;grid-template-columns:minmax(120px,160px) 1fr;gap:8px 12px;align-items:start}.debug-dl dt{margin:0;color:var(--text-muted);font-size:.85rem}.debug-dl dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;word-break:break-all}.debug-log{margin-bottom:16px;padding:12px;border-radius:10px;background:#0003;border:1px solid var(--card-border)}.debug-log-title{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.debug-log ul{margin:0;padding-left:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:var(--text-secondary)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.page-header h1{margin:0;font-size:clamp(1.25rem,3vw,1.75rem)}.muted{color:var(--text-muted)}.install-gate-steps{margin:16px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.install-gate-steps li{line-height:1.5}.brand{font-weight:700;font-size:1.1rem;margin-bottom:24px;color:var(--accent-soft);letter-spacing:-.01em}.sender-switcher{background:#ffffff14;border:1px solid var(--card-border);border-radius:10px;padding:10px 14px;color:var(--text-primary);font:inherit;font-weight:600}.camper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.camper-tile{display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:18px;text-decoration:none;color:var(--text-primary);box-shadow:0 1px 2px #0000001f,0 12px 32px -18px #00000080;transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease)}.camper-tile:hover{transform:translateY(-2px);border-color:#ffffff2e;box-shadow:0 1px 2px #0000001f,0 18px 40px -16px #0000008c}.camper-tile-alert{border-color:var(--warning-glow);box-shadow:0 0 0 1px var(--warning-glow),0 12px 32px -18px #00000080}.camper-tile-alert:hover{border-color:var(--warning)}.camper-tile-stale{opacity:.6}.camper-tile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.camper-tile-name{font-weight:650;font-size:1.05rem}.camper-tile-flag{flex-shrink:0;font-size:.72rem;font-weight:650;padding:4px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.02em;background:var(--warning-glow);color:var(--warning)}.camper-tile-flag-discordance{background:var(--danger-glow);color:var(--danger)}.camper-tile-caution{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--warning-glow);color:var(--warning);font-size:.85rem;cursor:help}.camper-tile-value{display:flex;align-items:baseline;gap:6px}.camper-tile-glucose{font-size:2.25rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.camper-tile-glucose.in-range{color:var(--success)}.camper-tile-glucose.warn{color:var(--warning)}.camper-tile-glucose.high{color:var(--danger)}.camper-tile-empty{color:var(--text-muted)}.camper-tile-unit{font-size:.85rem;color:var(--text-muted)}.camper-tile-meta{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.camper-tile-stale-label{color:var(--warning)}.global-alert-banner{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--content-padding)}.global-alert-row{padding:12px 16px;border-radius:12px;font-size:.9rem;color:#fff}.global-alert-critical{background:var(--danger);animation:alert-flash 1.2s ease-in-out infinite}.global-alert-stale{background:var(--warning);color:#241a02}.global-alert-detail{opacity:.85;font-weight:400}.global-alert-connection{background:var(--card);border:1px solid var(--card-border);color:var(--text-secondary, var(--text-muted))}@media(prefers-reduced-motion:reduce){.global-alert-critical{animation:none}}@keyframes alert-flash{0%,to{background:var(--danger)}50%{background:color-mix(in srgb,var(--danger) 60%,black)}}
