:root{--pink-50:#fff9fb;--pink-100:#fdf5f8;--pink-200:#f9e8f1;--pink-300:#f2d2e3;--pink-400:#e8a9c9;--pink-500:#dc8fb8;--pink-600:#c974a3;--pink-700:#b05c8a;--pink-muted:#d6c3ce;--rose-400:#e58aa8;--rose-500:#d96c8f;--rose-600:#c75a7e;--green-500:#22c55e;--green-600:#16a34a;--red-500:#ef4444;--red-600:#dc2626;--amber-500:#f59e0b;--amber-600:#d97706;--blue-500:#3b82f6;--blue-600:#2563eb;--gray-500:#6b7280;--gray-600:#4b5563;--color-bg-start:var(--pink-50);--color-bg-mid:var(--pink-100);--color-bg-end:var(--pink-200);--surface-glass:#ffffff8c;--surface-glass-hover:#ffffffb8;--surface-glass-strong:#ffffffad;--surface-pill:#ffffffa6;--surface-input:#ffffffbf;--surface-header:#fdf5f8b8;--text-primary:#1f2937;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-on-color:#fff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-icon:18px;--radius-pill:50px;--radius-lg:24px;--radius-card:20px;--radius-bar:10px;--radius-input:14px;--shadow-btn:0 4px 20px #00000014, 0 1px 4px #0000000a;--shadow-btn-active:0 2px 8px #0000001a;--shadow-card:0 4px 24px #0000000d, 0 1px 3px #00000008;--shadow-toast:0 8px 32px #0000001f;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.15s;--duration-med:.25s;--duration-view:.35s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;height:100%}body{min-height:100dvh;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow-x:hidden}.aurora-bg{z-index:0;background:linear-gradient(165deg, var(--color-bg-start) 0%, var(--color-bg-mid) 45%, var(--color-bg-end) 100%);position:fixed;inset:0}.view{z-index:1;-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.view--auth{padding:var(--space-lg) var(--space-md);padding-top:max(env(safe-area-inset-top,0px), var(--space-lg));padding-bottom:max(env(safe-area-inset-bottom,0px), var(--space-lg));justify-content:center;align-items:center}.auth-card{background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);width:100%;max-width:360px;padding:var(--space-xl) var(--space-lg);box-shadow:var(--shadow-card);gap:var(--space-lg);border:1px solid #ffffff80;flex-direction:column;display:flex}.auth-brand{text-align:center;align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.auth-brand__icon{border-radius:var(--radius-icon);background:linear-gradient(135deg, var(--pink-400), var(--pink-600));width:60px;height:60px;color:var(--text-on-color);margin-bottom:var(--space-xs);place-items:center;display:grid;box-shadow:0 8px 24px #dc8fb84d}.auth-brand__title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.25rem;font-weight:700}.auth-brand__subtitle{color:var(--text-secondary);font-size:.8125rem}.auth-tabs{border-radius:var(--radius-pill);background:#0000000d;gap:4px;padding:4px;display:flex}.auth-tab{padding:8px var(--space-md);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:0 0;border:none;flex:1;font-family:inherit;font-size:.8125rem;font-weight:500}.auth-tab.is-active{color:var(--text-primary);background:#ffffffe6;font-weight:600;box-shadow:0 2px 8px #0000000f}.auth-form{gap:var(--space-md);animation:fade-in .25s var(--ease-out);flex-direction:column;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--text-secondary);letter-spacing:.01em;font-size:.75rem;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-tertiary);pointer-events:none;place-items:center;display:grid;position:absolute;left:14px}.input-field{border-radius:var(--radius-input);background:var(--surface-input);width:100%;color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border:1px solid #00000014;outline:none;padding:12px 14px 12px 42px;font-family:inherit;font-size:.875rem}.input-wrapper:not(:has(.input-icon)) .input-field{padding-left:14px}.input-field:focus{border-color:var(--pink-500);background:#fff;box-shadow:0 0 0 3px #dc8fb82e}.input-field::placeholder{color:var(--text-tertiary)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-sm);padding:13px var(--space-lg);border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--pink-500), var(--pink-600));color:var(--text-on-color);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);border:none;font-family:inherit;font-size:.875rem;font-weight:600;display:flex;box-shadow:0 4px 16px #dc8fb84d}.btn-primary:hover{box-shadow:0 6px 20px #dc8fb866}.btn-primary:active{transform:scale(.97)}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-sm);padding:11px var(--space-lg);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:#fffc;border:1px solid #00000014;font-family:inherit;font-size:.8125rem;font-weight:600;display:flex}.btn-secondary:hover{background:#fff}.btn-secondary:active{transform:scale(.97)}.btn-danger{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:13px var(--space-lg);border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--rose-500), var(--rose-600));color:var(--text-on-color);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);border:none;font-family:inherit;font-size:.875rem;font-weight:600;display:flex;box-shadow:0 4px 16px #d96c8f40}.btn-danger:active{transform:scale(.97)}.btn-text-danger{color:var(--rose-500);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.75rem;font-weight:600}.btn-text-danger:hover{background:#d96c8f14}.view--home{padding:var(--space-xl) var(--space-md);padding-top:max(env(safe-area-inset-top,0px), var(--space-xl));padding-bottom:max(env(safe-area-inset-bottom,0px), var(--space-xl));justify-content:center;align-items:center}.app-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-3xl);display:flex}.app-title{letter-spacing:-.01em;color:var(--text-primary);font-size:1.125rem;font-weight:600}.status-dot{background-color:var(--gray-500);width:10px;height:10px;transition:background-color var(--duration-med) var(--ease-out), box-shadow var(--duration-med) var(--ease-out);border-radius:50%;flex-shrink:0}.status-dot.is-on{background-color:var(--green-500);box-shadow:0 0 8px #22c55e80}.status-dot.is-off{background-color:var(--gray-500)}.action-grid{align-items:center;gap:var(--space-xl);flex-direction:column;width:100%;max-width:280px;display:flex}.action-btn{align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-out);background:0 0;border:none;outline:none;flex-direction:column;display:flex}.action-btn:focus-visible .action-btn__icon{outline:3px solid var(--blue-500);outline-offset:3px}.action-btn:active{transform:scale(.92)}.action-btn__icon{border-radius:var(--radius-icon);width:64px;height:64px;color:var(--text-on-color);box-shadow:var(--shadow-btn);transition:transform var(--duration-med) var(--ease-out), box-shadow var(--duration-med) var(--ease-out);place-items:center;display:grid}.action-btn:hover .action-btn__icon{box-shadow:var(--shadow-btn), 0 8px 24px #0000000f;transform:translateY(-2px)}.action-btn:active .action-btn__icon{box-shadow:var(--shadow-btn-active);transform:translateY(0)}.action-btn__label{color:var(--text-primary);letter-spacing:.01em;font-size:.875rem;font-weight:500}.action-btn--on .action-btn__icon{background:linear-gradient(145deg, var(--green-500), var(--green-600))}.action-btn--off .action-btn__icon{background:linear-gradient(145deg, var(--red-500), var(--red-600))}.action-btn--restart .action-btn__icon{background:linear-gradient(145deg, var(--amber-500), var(--amber-600))}.action-btn--status .action-btn__icon{background:linear-gradient(145deg, var(--blue-500), var(--blue-600))}.action-btn__icon.pulse{animation:pulse-ring .5s var(--ease-out)}@keyframes pulse-ring{0%{box-shadow:var(--shadow-btn), 0 0 0 0 #22c55e59}70%{box-shadow:var(--shadow-btn), 0 0 0 14px #22c55e00}to{box-shadow:var(--shadow-btn)}}.action-btn--off .action-btn__icon.pulse{animation-name:pulse-ring-red}@keyframes pulse-ring-red{0%{box-shadow:var(--shadow-btn), 0 0 0 0 #ef444459}70%{box-shadow:var(--shadow-btn), 0 0 0 14px #ef444400}to{box-shadow:var(--shadow-btn)}}.action-btn--restart .action-btn__icon.pulse{animation-name:pulse-ring-amber}@keyframes pulse-ring-amber{0%{box-shadow:var(--shadow-btn), 0 0 0 0 #f59e0b59}70%{box-shadow:var(--shadow-btn), 0 0 0 14px #f59e0b00}to{box-shadow:var(--shadow-btn)}}.action-btn--status .action-btn__icon.pulse{animation-name:pulse-ring-blue}@keyframes pulse-ring-blue{0%{box-shadow:var(--shadow-btn), 0 0 0 0 #3b82f659}70%{box-shadow:var(--shadow-btn), 0 0 0 14px #3b82f600}to{box-shadow:var(--shadow-btn)}}.app-footer{margin-top:var(--space-3xl)}.settings-btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);background:var(--surface-pill);-webkit-backdrop-filter:blur(12px);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-btn);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:none;font-family:inherit;font-size:.875rem;font-weight:500;display:inline-flex}.settings-btn:hover{background:var(--surface-glass-hover);transform:translateY(-1px)}.settings-btn:active{transform:scale(.97)}.settings-btn:focus-visible{outline:3px solid var(--blue-500);outline-offset:3px}.view--dashboard{padding:0 var(--space-md) var(--space-lg);padding-top:max(env(safe-area-inset-top,0px), var(--space-md));padding-bottom:max(env(safe-area-inset-bottom,0px), 32px);gap:var(--space-md)}.dash-header{align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;z-index:10;background:var(--surface-header);-webkit-backdrop-filter:blur(20px);margin:0 calc(-1 * var(--space-md));padding-left:var(--space-md);padding-right:var(--space-md);display:flex;position:sticky;top:0}.dash-back{background:var(--surface-glass);-webkit-backdrop-filter:blur(8px);width:40px;height:40px;color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:none;border-radius:50%;place-items:center;display:grid}.dash-back:hover{background:var(--surface-glass-hover)}.dash-back:active{transform:scale(.9)}.dash-back:focus-visible{outline:3px solid var(--blue-500);outline-offset:2px}.dash-title{letter-spacing:-.01em;flex:1;font-size:1.125rem;font-weight:600}.dash-header__spacer{width:40px}.status-banner{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-card);background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-card);border:1px solid #fff6;display:flex}.status-banner__indicator{background:var(--pink-muted);width:14px;height:14px;transition:background-color var(--duration-med) var(--ease-out), box-shadow var(--duration-med) var(--ease-out);border-radius:50%;flex-shrink:0}.status-banner__indicator.is-running{background:var(--pink-500);animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 12px #dc8fb880}.status-banner__indicator.is-stopped{background:var(--pink-muted)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.status-banner__info{flex-direction:column;gap:2px;display:flex}.status-banner__label{color:var(--text-primary);font-size:1rem;font-weight:600}.status-banner__sub{color:var(--text-secondary);font-size:.75rem;font-weight:400}.metrics-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.metric-card{background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-card);padding:var(--space-md);box-shadow:var(--shadow-card);gap:var(--space-xs);transition:transform var(--duration-fast) var(--ease-out);border:1px solid #fff6;flex-direction:column;display:flex}.metric-card:active{transform:scale(.98)}.metric-card--wide{grid-column:1/-1}.metric-card__header{align-items:center;gap:var(--space-sm);display:flex}.metric-card__icon{color:var(--text-secondary);flex-shrink:0}.metric-card__title{color:var(--text-secondary);letter-spacing:.02em;font-size:.75rem;font-weight:500}.metric-card__value{color:var(--text-primary);letter-spacing:-.03em;margin-top:var(--space-xs);font-size:2rem;font-weight:700;line-height:1.1}.metric-card__unit{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:400}.fuel-gauge{align-items:center;gap:var(--space-md);margin-top:var(--space-sm);display:flex}.fuel-gauge__track{border-radius:var(--radius-bar);background:#0000000f;flex:1;height:10px;overflow:hidden}.fuel-gauge__fill{border-radius:var(--radius-bar);background:linear-gradient(90deg, var(--pink-300), var(--pink-500));height:100%;transition:width .4s var(--ease-out);width:0%}.fuel-gauge__fill.is-low{background:linear-gradient(90deg, var(--rose-400), var(--rose-500))}.fuel-gauge__pct{color:var(--text-primary);letter-spacing:-.02em;text-align:right;min-width:52px;font-size:1.5rem;font-weight:700}.oil-info{align-items:baseline;gap:var(--space-sm);margin-top:var(--space-xs);display:flex}.oil-info__value{color:var(--text-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.oil-info__label{color:var(--text-secondary);font-size:.75rem;font-weight:400}.oil-bar{margin-top:var(--space-sm)}.oil-bar__track{border-radius:var(--radius-bar);background:#0000000f;height:6px;overflow:hidden}.oil-bar__fill{border-radius:var(--radius-bar);background:linear-gradient(90deg, var(--pink-400), var(--pink-500));height:100%;transition:width .4s var(--ease-out);width:0%}.oil-bar__fill.is-warning{background:linear-gradient(90deg, var(--rose-400), var(--rose-500))}.notifications{gap:var(--space-sm);flex-direction:column;display:flex}.notifications__title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding-left:var(--space-xs);font-size:.8rem;font-weight:600}.notifications__list{gap:var(--space-sm);flex-direction:column;display:flex}.notif-empty{text-align:center;padding:var(--space-lg);color:var(--text-tertiary);font-size:.8125rem}.notif-item{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-card);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-card);animation:notif-in .2s var(--ease-out) both;border:1px solid #ffffff59;display:flex}@keyframes notif-in{0%{opacity:0;transform:translateY(8px)}}.notif-item__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.notif-item__dot--info{background:var(--pink-400)}.notif-item__dot--warning{background:var(--rose-400)}.notif-item__dot--critical{background:var(--rose-500)}.notif-item__content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-item__text{color:var(--text-primary);font-size:.8125rem;font-weight:500;line-height:1.35}.notif-item__time{color:var(--text-tertiary);font-size:.6875rem}.view--settings{padding:0 var(--space-md) var(--space-lg);padding-top:max(env(safe-area-inset-top,0px), var(--space-md));padding-bottom:max(env(safe-area-inset-bottom,0px), 32px);gap:var(--space-md)}.settings-content{gap:var(--space-md);flex-direction:column;display:flex}.settings-card{background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-card);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-card);gap:var(--space-md);border:1px solid #fff6;flex-direction:column;display:flex}.settings-card--danger{box-shadow:none;background:0 0;border:none;padding:0}.settings-card__header-row{justify-content:space-between;align-items:center;display:flex}.settings-card__title{align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:.875rem;font-weight:600;display:flex}.settings-card__title svg{color:var(--text-secondary)}.profile-header{align-items:center;gap:var(--space-md);display:flex}.profile-avatar{background:linear-gradient(135deg, var(--pink-300), var(--pink-500));width:52px;height:52px;color:var(--text-on-color);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.125rem;font-weight:700;display:grid;box-shadow:0 4px 12px #dc8fb840}.profile-info{flex-direction:column;gap:2px;display:flex}.profile-name{color:var(--text-primary);font-size:1rem;font-weight:600}.profile-email{color:var(--text-secondary);font-size:.75rem}.profile-badge{border-radius:var(--radius-pill);color:var(--pink-700);letter-spacing:.02em;background:#dc8fb826;align-self:flex-start;margin-top:4px;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-block}.settings-form{gap:var(--space-md);flex-direction:column;display:flex}.sessions-list{gap:var(--space-sm);flex-direction:column;display:flex}.session-item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-input);background:#ffffff80;border:1px solid #0000000a;justify-content:space-between;align-items:center;display:flex}.session-item__info{flex-direction:column;gap:2px;display:flex}.session-item__device{color:var(--text-primary);align-items:center;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.session-item__tag{color:var(--pink-700);text-transform:uppercase;background:#e8a9c933;border-radius:4px;padding:1px 6px;font-size:.625rem;font-weight:600}.session-item__ip{color:var(--text-secondary);font-size:.6875rem}.session-item__btn-remove{color:var(--rose-500);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:6px;place-items:center;padding:6px;display:grid}.session-item__btn-remove:hover{background:#d96c8f1a}.toast{bottom:calc(env(safe-area-inset-bottom,0px) + 24px);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(16px);color:var(--text-on-color);box-shadow:var(--shadow-toast);opacity:0;pointer-events:none;transition:transform var(--duration-med) var(--ease-out), opacity var(--duration-med) var(--ease-out);z-index:200;white-space:nowrap;text-overflow:ellipsis;background:#1f2937e0;max-width:calc(100vw - 48px);font-family:inherit;font-size:.8125rem;font-weight:500;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)translateY(120px)}.toast.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){.action-btn,.action-btn__icon,.settings-btn,.toast,.metric-card,.dash-back,.btn-primary,.btn-secondary,.btn-danger{transition-duration:0s;animation:none}.action-btn__icon.pulse,.status-banner__indicator.is-running{animation:none}.fuel-gauge__fill,.oil-bar__fill{transition-duration:0s}.notif-item,.auth-form{animation:none}}@media (width<=360px){.action-btn__icon{width:56px;height:56px}.action-btn__icon svg{width:28px;height:28px}.action-grid{gap:var(--space-lg)}.metric-card__value{font-size:1.625rem}.fuel-gauge__pct{font-size:1.25rem}}
