:root{--bg: #f2f2f7;--bg-elevated: #ffffff;--separator: rgba(60, 60, 67, .18);--label: #000000;--label-secondary: rgba(60, 60, 67, .6);--label-tertiary: rgba(60, 60, 67, .35);--tint: #007aff;--green: #34c759;--red: #ff3b30;--orange: #ff9500;--gray: #8e8e93;--radius: 12px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tabbar-h: 50px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #000000;--bg-elevated: #1c1c1e;--separator: rgba(84, 84, 88, .6);--label: #ffffff;--label-secondary: rgba(235, 235, 245, .6);--label-tertiary: rgba(235, 235, 245, .3)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--label);font-size:17px;line-height:1.3;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.app{display:flex;flex-direction:column;height:100%}.screen{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 16px)}.navbar{position:sticky;top:0;z-index:10;padding:calc(var(--safe-top) + 8px) 16px 8px;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--separator)}.navbar h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.4px}.large-title{font-size:34px;font-weight:700;letter-spacing:-.8px;padding:4px 16px 8px}.navbar-row{display:flex;align-items:center}.navbar-row h1{flex:1}.nav-back{border:none;background:none;color:var(--tint);font-family:var(--font);font-size:17px;cursor:pointer;padding:0 12px 0 0}.menu-btn{display:flex;align-items:center;gap:14px;width:100%;background:var(--bg-elevated);border:none;border-radius:var(--radius);padding:16px 18px;margin-bottom:10px;font-family:var(--font);font-size:17px;font-weight:600;color:var(--label);cursor:pointer;text-align:left}.menu-btn:active{opacity:.6}.menu-ico{font-size:22px;line-height:1}.value.strong{font-weight:600;color:var(--label)}.list-group{margin:18px 16px}.list-group>.title{font-size:13px;text-transform:uppercase;color:var(--label-secondary);padding:0 8px 7px;letter-spacing:.2px}.list{background:var(--bg-elevated);border-radius:var(--radius);overflow:hidden}.row{display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 16px;position:relative}.row+.row:before{content:"";position:absolute;top:0;left:16px;right:0;border-top:.5px solid var(--separator)}.row .label{flex:1}.row .value{color:var(--label-secondary);text-align:right}.row.tappable:active{background:var(--separator)}.row .chevron{color:var(--label-tertiary);font-size:17px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:0 18px;border:none;border-radius:var(--radius);font-family:var(--font);font-size:17px;font-weight:600;color:#fff;background:var(--tint);cursor:pointer}.btn:active{opacity:.8}.btn:disabled{opacity:.45}.btn.secondary{background:var(--bg-elevated);color:var(--tint)}.btn.telegram{background:#229ed9}.btn.danger{background:var(--bg-elevated);color:var(--red)}.btn.compact{min-height:46px;font-size:16px}.btn-row{display:flex;gap:10px}.btn-row>.btn{flex:1}.field{width:100%;min-height:50px;padding:0 16px;background:var(--bg-elevated);border:none;border-radius:var(--radius);font-family:var(--font);font-size:17px;color:var(--label);outline:none}.field::placeholder{color:var(--label-tertiary)}.segmented{display:flex;background:var(--separator);border-radius:9px;padding:2px;gap:2px}.segmented button{flex:1;border:none;background:transparent;border-radius:7px;padding:7px 0;font-family:var(--font);font-size:14px;font-weight:600;color:var(--label);cursor:pointer}.segmented button.active{background:var(--bg-elevated);box-shadow:0 1px 3px #0000001f}.tabbar{display:flex;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in srgb,var(--bg-elevated) 85%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--separator)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--gray);font-size:10px;font-weight:500}.tabbar a.active{color:var(--tint)}.tabbar a .ico{font-size:22px;line-height:1}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000059;display:flex;flex-direction:column;justify-content:flex-end;padding:8px;padding-bottom:calc(8px + var(--safe-bottom));animation:fade .2s ease}.sheet{display:flex;flex-direction:column;gap:8px;animation:slideup .25s ease}.sheet-group{background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:14px;overflow:hidden}.sheet-title{text-align:center;padding:14px;font-size:13px;color:var(--label-secondary);border-bottom:.5px solid var(--separator)}.sheet-action{width:100%;border:none;background:none;padding:17px;font-family:var(--font);font-size:19px;color:var(--tint);cursor:pointer}.sheet-action+.sheet-action{border-top:.5px solid var(--separator)}.sheet-action:active{background:var(--separator)}.sheet-action.destructive{color:var(--red)}.sheet-action.cancel{font-weight:600}@keyframes fade{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(40px)}}.center-screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.stack{display:flex;flex-direction:column;gap:12px;width:100%;max-width:380px}.muted{color:var(--label-secondary);font-size:15px}.error{color:var(--red);font-size:15px}.badge{padding:3px 10px;border-radius:20px;font-size:13px;font-weight:600}.badge.on{background:#34c75926;color:var(--green)}.badge.off{background:#8e8e932e;color:var(--gray)}.feed{background:var(--bg-elevated);border-radius:var(--radius);padding:12px;height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:8px}.feed-earlier{align-self:center;border:none;background:transparent;color:var(--tint);font-family:var(--font);font-size:14px;padding:4px 12px;cursor:pointer}.bubble{align-self:flex-start;max-width:85%;background:#eceef3;border-radius:16px 16px 16px 5px;padding:8px 12px}.bubble-title{font-weight:600;font-size:15px;letter-spacing:-.2px}.bubble-body{font-size:15px;color:var(--label-secondary);margin-top:1px;line-height:1.35}.bubble-time{font-size:11px;color:var(--label-tertiary);margin-top:4px;text-align:right}@media(prefers-color-scheme:dark){.bubble{background:#2c2c2e}}.log-card{background:#ececf0;border-radius:var(--radius);padding:13px 16px;margin-bottom:10px;border-left:5px solid transparent}.log-card.success{background:#e7f7ec;border-left-color:var(--green)}.log-card.unable{background:#fdecea;border-left-color:var(--red)}.log-card.find{background:#ececf0;border-left-color:transparent}.log-title{font-weight:700;font-size:16px;letter-spacing:-.2px}.log-line{font-size:15px;color:var(--label-secondary);margin-top:3px}.log-tag{display:inline-block;margin-left:8px;vertical-align:middle;background:#ffd426;color:#1c1c1e;font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;letter-spacing:.2px}@media(prefers-color-scheme:dark){.log-card{background:#1c1c1e}.log-card.success{background:#34c75929}.log-card.unable{background:#ff3b3029}.log-card.find{background:#1c1c1e}}.cfg-inline{border:none;background:transparent;text-align:right;font-family:var(--font);font-size:17px;color:var(--tint);width:50%;outline:none}.cfg-select{border:none;background:transparent;text-align:right;font-family:var(--font);font-size:17px;color:var(--tint);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2px}.cfg-time{border:none;background:var(--bg);border-radius:7px;padding:4px 8px;font-family:var(--font);font-size:15px;color:var(--label);outline:none}.cfg-time:disabled{opacity:.4}.day-row{gap:8px}.stepper{display:flex;align-items:center;gap:4px}.stepper button{width:38px;height:34px;border:none;border-radius:8px;background:var(--bg);color:var(--tint);font-size:20px;font-weight:600;cursor:pointer}.stepper button:active{opacity:.6}.stepper-val{min-width:46px;text-align:center;font-size:17px;font-weight:600}.submit-bar{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-bottom));padding:10px 16px;background:var(--bg);border-top:.5px solid var(--separator);z-index:20}.btn.submit-black{background:var(--label);color:var(--bg-elevated)}.seg-actions{display:flex;gap:8px;margin-bottom:8px}.seg-actions button{flex:1;border:none;background:var(--bg-elevated);color:var(--tint);border-radius:9px;padding:9px 0;font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer}.wh-row{position:relative;padding:0 16px}.wh-row+.wh-row:before{content:"";position:absolute;top:0;left:16px;right:0;border-top:.5px solid var(--separator)}.wh-row>.row{padding-left:0;padding-right:0}.wh-row>.row:before{display:none}.wh-rates{display:flex;gap:14px;padding:4px 0 12px}.wh-rates label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--label-secondary)}.wh-rates input{width:100%}.status-card{display:flex;align-items:center;gap:14px;background:var(--bg-elevated);border-radius:var(--radius);padding:18px 16px}.status-title{font-size:20px;font-weight:700;letter-spacing:-.3px}.status-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.status-dot.on{background:var(--green);box-shadow:0 0 0 4px #34c7592e}.status-dot.off{background:var(--gray)}.status-dot.wait{background:var(--orange);box-shadow:0 0 0 4px #ff95002e}.status-dot.warn{background:var(--red);box-shadow:0 0 0 4px #ff3b302e}.toggle{width:51px;height:31px;border-radius:16px;border:none;background:var(--separator);padding:0;position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.toggle.on{background:var(--green)}.toggle .knob{position:absolute;top:2px;left:2px;width:27px;height:27px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;transition:transform .2s ease}.toggle.on .knob{transform:translate(20px)}.toggle:disabled{opacity:.6}.spinner{width:22px;height:22px;border:2.5px solid var(--separator);border-top-color:var(--tint);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
