:root{--bg-base: #07070c;--bg-deep: #030305;--bg-panel: rgba(18, 19, 32, .55);--bg-panel-solid: #0e0f1a;--bg-elevated: rgba(255, 255, 255, .04);--bg-hover: rgba(255, 255, 255, .07);--bg-input: rgba(8, 9, 16, .6);--glass-bg: rgba(20, 21, 38, .45);--glass-border: rgba(255, 255, 255, .08);--glass-border-strong: rgba(255, 255, 255, .14);--glass-blur: 18px;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .72);--text-muted: rgba(255, 255, 255, .46);--text-faint: rgba(255, 255, 255, .3);--brand: #7289da;--brand-light: #93a4e8;--brand-dark: #3858a3;--brand-soft: rgba(114, 137, 218, .16);--brand-softer: rgba(114, 137, 218, .1);--accent-violet: #9b6dff;--accent-cyan: #5b9dff;--accent-pink: #f472b6;--earnings: #34d399;--earnings-soft: rgba(52, 211, 153, .14);--bonus: #fbbf24;--bonus-soft: rgba(251, 191, 36, .14);--active: #f87171;--active-soft: rgba(248, 113, 113, .12);--break: #fb923c;--break-soft: rgba(251, 146, 60, .12);--success: #34d399;--success-soft: rgba(52, 211, 153, .14);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--grad-primary: linear-gradient(135deg, #7289da 0%, #9b6dff 100%);--grad-primary-soft: linear-gradient(135deg, rgba(114, 137, 218, .2), rgba(155, 109, 255, .18));--grad-earnings: linear-gradient(135deg, #34d399 0%, #5b9dff 100%);--grad-aurora-1: radial-gradient(circle, rgba(114, 137, 218, .4) 0%, transparent 65%);--grad-aurora-2: radial-gradient(circle, rgba(155, 109, 255, .3) 0%, transparent 65%);--grad-aurora-3: radial-gradient(circle, rgba(56, 88, 163, .3) 0%, transparent 65%);--grad-text: linear-gradient(120deg, #ffffff 0%, #c7d0f5 55%, #b9a7ff 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 12px 32px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .6);--glow-brand: 0 0 24px rgba(114, 137, 218, .45);--glow-earnings: 0 0 24px rgba(52, 211, 153, .4);--glow-soft: 0 0 0 1px rgba(255, 255, 255, .04), 0 8px 30px rgba(0, 0, 0, .5);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, monospace;--sidebar-w: 256px;--topbar-h: 72px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);background-color:var(--bg-base);color:var(--text-primary);font-size:14px;line-height:1.5;min-height:100vh;overflow-x:hidden;letter-spacing:.01em}#root{min-height:100vh;isolation:isolate}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}ul,ol{list-style:none}svg{display:block}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff29;background-clip:content-box}::selection{background:var(--brand-soft);color:#fff}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px;border-radius:4px}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-gradient{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.accent-text{background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}@keyframes float-blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(4%,-6%) scale(1.08)}66%{transform:translate(-5%,4%) scale(.95)}}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 #34d39980}50%{opacity:.7;box-shadow:0 0 0 6px #34d39900}}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scan-line{0%{transform:translateY(-100%);opacity:0}50%{opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes count-blink{50%{opacity:.35}}.animate-in{animation:fade-in .5s var(--ease-out) both}.animate-scale{animation:fade-in-scale .4s var(--ease-out) both}.stagger>*{animation:slide-up .5s var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.06s}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.14s}.stagger>*:nth-child(5){animation-delay:.18s}.stagger>*:nth-child(6){animation-delay:.22s}.stagger>*:nth-child(7){animation-delay:.26s}.stagger>*:nth-child(8){animation-delay:.3s}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.card{position:relative;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glow-soft);padding:var(--space-6);transition:border-color .3s var(--ease-out),transform .3s var(--ease-out)}.card--hover:hover{border-color:var(--glass-border-strong);transform:translateY(-2px)}.card--flush{padding:0;overflow:hidden}.card--glow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--grad-primary-soft);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;pointer-events:none}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.card-title{font-size:15px;font-weight:600;display:flex;align-items:center;gap:var(--space-2)}.card-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:40px;border-radius:var(--radius-md);font-size:13px;font-weight:600;white-space:nowrap;border:1px solid transparent;transition:all .2s var(--ease-out);-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn--primary{background:var(--grad-primary);color:#04121b;box-shadow:0 6px 20px #22d3ee40}.btn--primary:hover:not(:disabled){box-shadow:0 8px 28px #a855f766;transform:translateY(-1px)}.btn--ghost{background:var(--bg-elevated);border-color:var(--glass-border);color:var(--text-primary)}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--glass-border-strong)}.btn--danger{background:var(--danger-soft);color:var(--danger);border-color:#fb71854d}.btn--danger:hover:not(:disabled){background:#fb718538}.btn--icon{width:40px;padding:0;flex-shrink:0}.btn--sm{height:32px;font-size:12px;padding:0 var(--space-3)}.btn--sm.btn--icon{width:32px}.btn--lg{height:48px;font-size:14px;padding:0 var(--space-6)}.btn--block{width:100%}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--bg-elevated);border:1px solid var(--glass-border);color:var(--text-secondary);white-space:nowrap}.badge--success{background:var(--success-soft);color:var(--success);border-color:transparent}.badge--warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}.badge--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge--brand,.badge--cyan{background:var(--brand-soft);color:var(--brand-light);border-color:transparent}.badge--violet{background:#9b6dff24;color:var(--accent-violet);border-color:transparent}.badge--earnings{background:var(--earnings-soft);color:var(--earnings);border-color:transparent}.badge--bonus{background:var(--bonus-soft);color:var(--bonus);border-color:transparent}.badge-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.input,.select,.textarea{width:100%;background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:0 var(--space-4);height:42px;color:var(--text-primary);font-size:13px;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.textarea{height:auto;padding:var(--space-3) var(--space-4);resize:vertical;min-height:84px}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:#7289da8c;box-shadow:0 0 0 3px var(--brand-soft)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2359617a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10);cursor:pointer}.select option{background:var(--bg-panel-solid);color:var(--text-primary)}.divider{height:1px;background:var(--glass-border);border:none;margin:var(--space-5) 0}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--glass-border)}.table td{padding:var(--space-4);border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}.table tbody tr{transition:background .15s var(--ease-out)}.table tbody tr:hover{background:var(--bg-elevated)}.table tbody tr:last-child td{border-bottom:none}.table--clickable tbody tr{cursor:pointer}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:var(--accent-cyan);animation:spin .7s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-muted);gap:var(--space-3)}.empty-state-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--glass-border);color:var(--text-secondary)}.kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--glass-border);color:var(--text-secondary)}.avatar{display:grid;place-items:center;border-radius:50%;font-weight:600;font-size:13px;color:#04121b;flex-shrink:0;background:var(--grad-primary)}.switch{position:relative;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--bg-input);border:1px solid var(--glass-border);transition:background .25s var(--ease-out);flex-shrink:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-secondary);transition:transform .25s var(--ease-spring),background .25s}.switch[data-on=true]{background:var(--grad-primary);border-color:transparent}.switch[data-on=true]:after{transform:translate(18px);background:#04121b}.progress{height:6px;border-radius:var(--radius-pill);background:var(--bg-input);overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background:var(--grad-primary);transition:width .6s var(--ease-out)}.segmented{display:inline-flex;gap:2px;padding:3px;background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.segmented button{padding:6px 14px;border-radius:9px;font-size:12px;font-weight:600;color:var(--text-secondary);transition:all .2s var(--ease-out)}.segmented button[data-active=true]{background:var(--bg-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.bg-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 120% at 50% -20%,#0a1030 0%,var(--bg-base) 55%,var(--bg-deep) 100%)}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 80%);-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 80%)}.bg-blob{position:absolute;border-radius:50%;filter:blur(60px);will-change:transform}.bg-blob--1{width:520px;height:520px;top:-160px;left:-120px;background:var(--grad-aurora-1);animation:float-blob 18s ease-in-out infinite}.bg-blob--2{width:600px;height:600px;top:10%;right:-180px;background:var(--grad-aurora-2);animation:float-blob 22s ease-in-out infinite reverse}.bg-blob--3{width:480px;height:480px;bottom:-180px;left:30%;background:var(--grad-aurora-3);animation:float-blob 26s ease-in-out infinite}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:var(--space-6) var(--space-4);border-right:1px solid var(--glass-border);background:linear-gradient(180deg,#0c1122b3,#06091280);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);gap:var(--space-6);z-index:20}.brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2)}.brand-mark{width:40px;height:40px;border-radius:var(--radius-md);background:var(--grad-primary);display:grid;place-items:center;color:#04121b;box-shadow:var(--glow-brand);flex-shrink:0;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.brand-name{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em}.brand-tag{font-size:10px;color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto}.nav-section{display:flex;flex-direction:column;gap:4px}.nav-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);padding:var(--space-4) var(--space-3) var(--space-2)}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;position:relative;transition:all .2s var(--ease-out)}.nav-link svg{width:18px;height:18px;flex-shrink:0}.nav-link:hover{background:var(--bg-elevated);color:var(--text-primary)}.nav-link.active{background:var(--grad-primary-soft);color:var(--text-primary)}.nav-link.active:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:var(--radius-pill);background:var(--grad-primary);box-shadow:var(--glow-brand)}.nav-link .nav-badge{margin-left:auto;font-size:10px;padding:1px 7px}@media (max-width: 760px){.experiment-item{grid-template-columns:1fr}}.sidebar-foot{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--glass-border)}.topbar{position:sticky;top:0;height:var(--topbar-h);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-8);border-bottom:1px solid var(--glass-border);background:#06091299;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:15}.topbar-search{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:0 var(--space-3);height:40px;width:320px;max-width:38vw;color:var(--text-muted)}.topbar-search input{background:none;border:none;outline:none;width:100%;font-size:13px;color:var(--text-primary)}.main-col{display:flex;flex-direction:column;min-width:0}.page{padding:var(--space-8);max-width:1320px;width:100%;margin:0 auto;animation:fade-in .4s var(--ease-out) both}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap}.page-title{font-size:26px;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:14px}.grid{display:grid;gap:var(--space-5)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-dashboard{grid-template-columns:2fr 1fr;align-items:start}.row{display:flex;align-items:center;gap:var(--space-3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.col{display:flex;flex-direction:column}.wrap{flex-wrap:wrap}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.flex-1{flex:1}.ml-auto{margin-left:auto}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.w-full{width:100%}@media (max-width: 1100px){.grid-dashboard{grid-template-columns:1fr}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);transform:translate(-110%);transition:transform .3s var(--ease-out)}.sidebar.open{transform:translate(0)}.topbar{padding:0 var(--space-4)}.page{padding:var(--space-5)}.topbar-search{width:auto;flex:1}}@media (max-width: 620px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.menu-toggle{display:none}@media (max-width: 860px){.menu-toggle{display:inline-flex}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:18}.stat-card{position:relative;overflow:hidden}.stat-card .stat-icon{width:38px;height:38px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--bg-elevated);border:1px solid var(--glass-border)}.stat-value{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1;margin:var(--space-3) 0 6px}.stat-label{font-size:12px;color:var(--text-muted)}.stat-delta{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:3px}.stat-delta.up{color:var(--success)}.stat-delta.down{color:var(--danger)}.timer-hero{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}.timer-display{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:56px;font-weight:700;letter-spacing:.02em;line-height:1}.timer-display.running{background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.timer-inputs{flex:1;min-width:240px;display:flex;flex-direction:column;gap:var(--space-3)}.timer-btn{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:all .2s var(--ease-out)}.timer-btn svg{width:28px;height:28px}.timer-btn--start{background:var(--grad-primary);color:#04121b;box-shadow:var(--glow-brand)}.timer-btn--start:hover{transform:scale(1.06);box-shadow:var(--glow-brand)}.timer-btn--stop{background:var(--danger);color:#1a0008;box-shadow:0 0 24px #fb718580;animation:pulse-glow 2s ease-in-out infinite}.timer-btn--stop:hover{transform:scale(1.06)}.mini-timer{display:flex;align-items:center;gap:var(--space-3);padding:6px 6px 6px var(--space-4);border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--glass-border)}.mini-timer .dot{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse-dot 1.4s ease-in-out infinite}.mini-timer-time{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.mini-timer-btn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--danger-soft);color:var(--danger)}.experiment-list{display:flex;flex-direction:column;gap:var(--space-4)}.experiment-item{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:var(--space-5);align-items:center;padding:var(--space-5);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-elevated)}.experiment-main{min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.experiment-title{font-size:17px;line-height:1.25;font-weight:700}.experiment-description{color:var(--text-secondary);font-size:13px;line-height:1.55;margin:0}.experiment-control{min-width:0}.entry-row{display:grid;grid-template-columns:4px 1fr auto auto auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);transition:background .15s var(--ease-out)}.entry-row:hover{background:var(--bg-elevated)}.entry-bar{width:4px;height:36px;border-radius:var(--radius-pill)}.entry-desc{font-weight:500}.entry-meta{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.entry-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:13px}.entry-dur{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}.entry-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.entry-row:hover .entry-actions{opacity:1}.entry-group-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.project-card{display:flex;flex-direction:column;gap:var(--space-4)}.project-card .proj-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.project-color{width:44px;height:44px;border-radius:var(--radius-md);display:grid;place-items:center;font-size:18px}.project-name{font-size:16px;font-weight:600}.project-client{font-size:12px;color:var(--text-muted)}.proj-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.proj-stat .v{font-family:var(--font-mono);font-weight:700;font-size:16px}.proj-stat .k{font-size:11px;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#03050cb3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:var(--space-5);z-index:100;animation:fade-in .2s ease both}.modal{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background:var(--bg-panel-solid);border:1px solid var(--glass-border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:fade-in-scale .25s var(--ease-out) both}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-4)}.modal-body{padding:0 var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-6)}.color-swatches{display:flex;flex-wrap:wrap;gap:var(--space-2)}.swatch{width:30px;height:30px;border-radius:var(--radius-sm);cursor:pointer;border:2px solid transparent;transition:transform .15s var(--ease-spring)}.swatch:hover{transform:scale(1.12)}.swatch[data-active=true]{border-color:#fff;transform:scale(1.12)}.calendar{display:grid;grid-template-columns:56px repeat(7,1fr);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--glass-bg)}.cal-corner{border-bottom:1px solid var(--glass-border)}.cal-day-head{padding:var(--space-3);text-align:center;border-bottom:1px solid var(--glass-border);border-left:1px solid var(--glass-border)}.cal-day-head .dow{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.cal-day-head .dnum{font-family:var(--font-display);font-size:18px;font-weight:600;margin-top:2px}.cal-day-head.today .dnum{color:var(--accent-cyan)}.cal-hours{display:flex;flex-direction:column}.cal-hour-label{height:52px;font-size:10px;color:var(--text-faint);text-align:right;padding-right:8px;padding-top:2px;font-family:var(--font-mono)}.cal-col{position:relative;border-left:1px solid var(--glass-border)}.cal-slot{height:52px;border-bottom:1px solid rgba(255,255,255,.03)}.cal-event{position:absolute;left:4px;right:4px;border-radius:8px;padding:6px 8px;font-size:11px;overflow:hidden;border-left:3px solid;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:transform .15s var(--ease-out)}.cal-event:hover{transform:scale(1.02);z-index:5}.cal-event .ev-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event .ev-time{font-family:var(--font-mono);opacity:.8;font-size:10px}.legend{display:flex;flex-direction:column;gap:var(--space-3)}.legend-item{display:flex;align-items:center;gap:var(--space-3);font-size:13px}.legend-item .lv{margin-left:auto;font-family:var(--font-mono);font-weight:600}.toast-stack{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);z-index:200;max-width:360px}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-panel-solid);border:1px solid var(--glass-border-strong);box-shadow:var(--shadow-md);animation:slide-up .3s var(--ease-out) both}.toast-icon{width:20px;height:20px;flex-shrink:0;margin-top:1px}.toast.success .toast-icon{color:var(--success)}.toast.error .toast-icon{color:var(--danger)}.toast.info .toast-icon{color:var(--accent-cyan)}.toast-title{font-weight:600;font-size:13px}.toast-msg{font-size:12px;color:var(--text-secondary);margin-top:2px}.heatmap{display:flex;gap:4px;flex-wrap:wrap}.heat-cell{width:14px;height:14px;border-radius:3px;background:var(--bg-input)}.ring-wrap{position:relative;display:grid;place-items:center}.ring-center{position:absolute;text-align:center}.ring-center .rv{font-family:var(--font-display);font-size:22px;font-weight:700}.ring-center .rk{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.active-shift.idle{border-color:#34d39947;background:#34d3990d}.active-shift.running{border-color:#f871714d}.as-pulse{width:56px;height:56px;border-radius:16px;flex-shrink:0;display:grid;place-items:center;background:#34d39924;color:var(--earnings);box-shadow:0 0 #34d39980;animation:pulse-glow 1.8s ease-in-out infinite}.as-earnings{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--radius-md);background:#34d39912;border:1px solid rgba(52,211,153,.16)}.live-metric{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--glass-border)}.mood-pick{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:10px 6px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--glass-border);transition:all .15s var(--ease-out)}.mood-pick:hover{background:var(--bg-hover);transform:translateY(-2px)}.mcal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.mcal-dow{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px}.mcal-cell{min-height:84px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--glass-border);padding:8px;display:flex;flex-direction:column;gap:4px;transition:border-color .2s var(--ease-out),transform .2s var(--ease-out)}.mcal-cell.has:hover{border-color:var(--glass-border-strong);transform:translateY(-2px);cursor:default}.mcal-cell.empty{background:transparent;border-color:transparent}.mcal-cell.today{border-color:#7289da80}.mcal-daynum{font-size:12px;font-weight:600;color:var(--text-secondary)}.mcal-cell.today .mcal-daynum{color:var(--brand-light)}.mcal-hours{font-family:var(--font-mono);font-weight:700;font-size:14px;margin-top:auto}.mcal-earn{font-family:var(--font-mono);font-size:11px;color:var(--earnings)}.mcal-pill{height:4px;border-radius:999px;background:var(--grad-primary)}.heatmap-scroll{overflow-x:auto;padding-bottom:6px}.heatmap-grid{display:inline-grid;grid-auto-flow:column;grid-template-rows:repeat(7,13px);gap:3px}.heat-cell{width:13px;height:13px;border-radius:3px;background:#ffffff0d}.heat-cell[data-level="1"]{background:#7289da59}.heat-cell[data-level="2"]{background:#7289da8c}.heat-cell[data-level="3"]{background:#7289dac7}.heat-cell[data-level="4"]{background:#9b6dff}.leader-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--glass-border)}.leader-row.me{border-color:#7289da73;background:var(--brand-softer)}.leader-rank{width:26px;text-align:center;font-family:var(--font-display);font-weight:800;font-size:16px;color:var(--text-muted)}.leader-bar-track{flex:1;height:8px;border-radius:999px;background:var(--bg-input);overflow:hidden}.leader-bar{height:100%;border-radius:999px;background:var(--grad-primary)}.rate-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.rate-row:last-child{border-bottom:none}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:var(--space-6)}.login-card{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-10) var(--space-8);gap:var(--space-3)}.login-mark{width:64px;height:64px;border-radius:var(--radius-lg);margin-bottom:var(--space-2)}.login-title{font-size:26px;font-weight:700}.login-tag{color:var(--text-secondary);font-size:13px;margin-bottom:var(--space-5)}.login-google{background:#fff;color:#1a1a22;border:none;font-weight:600}.login-google:hover:not(:disabled){background:#f0f0f5;transform:translateY(-1px)}.login-note{font-size:11px;color:var(--text-muted);margin-top:var(--space-4);line-height:1.5}.login-warn{display:flex;gap:var(--space-3);text-align:left;padding:var(--space-4);border-radius:var(--radius-md);background:var(--warning-soft);border:1px solid rgba(251,191,36,.25);color:var(--warning)}
