@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@500&display=swap";:root{--color-brand-primary: #003b8e;--color-brand-secondary: #e4002b;--color-brand-accent: #00a651;--color-text-primary: #1a1a1a;--color-text-secondary: #525252;--color-text-muted: #737373;--color-bg-page: #f7f7f5;--color-bg-subtle: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--color-border-default: #e5e5e5;--color-border-hover: #d4d4d4;--color-border-active: var(--color-brand-primary);--color-surface-card: #ffffff;--color-surface-elevated: #ffffff;--color-status-good: #15803d;--color-status-good-bg: #dcfce7;--color-status-warn: #b45309;--color-status-warn-bg: #fef3c7;--color-status-bad: #b91c1c;--color-status-bad-bg: #fee2e2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-lg: .9375rem;--text-xl: 1.125rem;--text-2xl: 1.5rem;--pill-edge-alpha: 24%;--pill-brand-fill-alpha: 10%;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 999px;--transition-fast: .1s ease;--transition-default: .15s ease}@media(prefers-color-scheme:dark){:root{--color-brand-primary: #5b9aff;--color-brand-secondary: #ff6b7a;--color-brand-accent: #4ade80;--color-text-primary: #fafafa;--color-text-secondary: #a3a3a3;--color-text-muted: #8f8f8f;--color-bg-page: #0c0c0c;--color-bg-subtle: #171717;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .5);--color-border-default: #262626;--color-border-hover: #404040;--color-border-active: var(--color-brand-primary);--color-surface-card: #171717;--color-surface-elevated: #1f1f1f;--color-status-good: #4ade80;--color-status-good-bg: rgba(74, 222, 128, .22);--color-status-warn: #fbbf24;--color-status-warn-bg: rgba(251, 191, 36, .22);--color-status-bad: #f87171;--color-status-bad-bg: rgba(248, 113, 113, .22);--pill-edge-alpha: 36%;--pill-brand-fill-alpha: 22%}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-page);color:var(--color-text-primary)}#root{min-height:100%}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.commute-refresh-banner{position:fixed;top:0;left:0;right:0;z-index:190;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-top:max(var(--space-2),env(safe-area-inset-top));background-color:var(--color-status-good-bg);border-bottom:1px solid var(--color-status-good)}.commute-refresh-banner-message{flex:1;font-size:var(--text-sm);font-weight:600;color:var(--color-status-good)}.commute-refresh-banner-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.commute-refresh-banner-reload{border:1px solid var(--color-status-good);background:none;border-radius:var(--radius-sm);padding:2px 10px;font-family:inherit;font-size:var(--text-sm);font-weight:600;color:var(--color-status-good);cursor:pointer}.commute-refresh-banner-reload:hover{opacity:.85}.commute-refresh-banner-dismiss{border:none;background:none;padding:4px;font-size:var(--text-lg);line-height:1;color:var(--color-status-good);cursor:pointer}.auth-gate-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background-color:var(--color-bg-page);font-family:var(--font-sans)}.auth-gate-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%;max-width:320px;padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);background-color:var(--color-surface-card);border:1px solid var(--color-border-default);box-shadow:var(--shadow-md);text-align:center}.auth-gate-app-name{margin:0;font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary)}.auth-gate-signin-button{width:100%;padding:10px 16px;border:none;border-radius:var(--radius-md);background-color:var(--color-brand-primary);color:#fff;font-family:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.auth-gate-signin-button:hover{opacity:.9}.auth-gate-signin-button:active{opacity:.8}.auth-gate-signin-secondary{margin-top:8px;background-color:transparent;border:1px solid var(--color-border-default);color:var(--color-text-primary)}.auth-gate-signin-secondary:hover{border-color:var(--color-border-hover)}.auth-gate-invite-note{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.auth-expired-banner{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-top:max(var(--space-2),env(safe-area-inset-top));background-color:var(--color-status-warn-bg);border-bottom:1px solid var(--color-status-warn)}.auth-expired-banner-message{flex:1;border:none;background:none;padding:0;font-family:inherit;font-size:var(--text-sm);font-weight:600;color:var(--color-status-warn);text-align:left;cursor:pointer}.auth-expired-banner-dismiss{flex-shrink:0;border:none;background:none;padding:4px;font-size:var(--text-lg);line-height:1;color:var(--color-status-warn);cursor:pointer}.auth-status-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%}.auth-status-info{display:flex;flex-direction:column;gap:2px;min-width:0}.auth-status-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-status-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.auth-status-signout{flex-shrink:0;padding:4px 14px;border-radius:14px;border:1px solid var(--color-border-default);background:transparent;color:inherit;font:inherit;cursor:pointer}.auth-status-signout:hover{border-color:var(--color-border-hover)}
