:root{--bg-main: #0b0f14;--bg-gradient: radial-gradient(circle at top, #141a22 0%, #0b0f14 60%);--card: #121826d4;--modal-bg: #121826;--card-border: var(--white-alpha-0-06);--text-main: #e5e7eb;--text-muted: #9ca3af;--accent: #3b82f6;--primary: #3b82f6;--success: #08af46;--danger: #ef4444;--button-bg: rgba(59, 130, 246, .15);--button-bg-hover: rgba(59, 130, 246, .25);--button-text: #93bbf8;--button-border: transparent;--button-shadow: 0 2px 8px rgba(0, 0, 0, .2), 0 1px 3px rgba(0, 0, 0, .15);--button-shadow-hover: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .2);--profile-menu-bg: #1a2035;--profile-menu-border: rgba(255, 255, 255, .1);--profile-menu-shadow: 0 16px 40px rgba(0, 0, 0, .85), inset 0 1px 1px rgba(255, 255, 255, .08);--profile-menu-hover-bg: rgba(6, 182, 212, .04);--profile-menu-hover-border: rgba(6, 182, 212, .2);--profile-menu-hover-color: #fff;--profile-menu-active-bg: rgba(6, 182, 212, .08);--header-control-size: 46px;--header-clearance: 86px;--content-max-width: 560px;--modal-max-width: 620px;--white-alpha-0-03: rgba(255, 255, 255, .03);--white-alpha-0-04: rgba(255, 255, 255, .04);--white-alpha-0-05: rgba(255, 255, 255, .05);--white-alpha-0-06: rgba(255, 255, 255, .06);--white-alpha-0-08: rgba(255, 255, 255, .08);--white-alpha-0-1: rgba(255, 255, 255, .1);--white-alpha-0-12: rgba(255, 255, 255, .12);--white-alpha-0-14: rgba(255, 255, 255, .14);--white-alpha-0-15: rgba(255, 255, 255, .15);--white-alpha-0-16: rgba(255, 255, 255, .16);--white-alpha-0-18: rgba(255, 255, 255, .18);--white-alpha-0-2: rgba(255, 255, 255, .2);--white-alpha-0-22: rgba(255, 255, 255, .22);--white-alpha-0-25: rgba(255, 255, 255, .25);--white-alpha-0-65: rgba(255, 255, 255, .65)}[data-theme=light]{--bg-main: #f3f4f6;--bg-gradient: radial-gradient(circle at top, #ffffff 0%, #e5e7eb 60%);--card: #ffffffd4;--modal-bg: #ffffff;--text-main: #111827;--text-muted: #4b5563;--accent: #3b82f6;--primary: #3b82f6;--success: #08af46;--button-bg: rgba(59, 130, 246, .18);--button-bg-hover: rgba(59, 130, 246, .3);--button-text: #2563eb;--button-border: rgba(59, 130, 246, .28);--button-shadow: 0 2px 8px rgba(37, 99, 235, .2);--button-shadow-hover: 0 4px 12px rgba(37, 99, 235, .26);--profile-menu-bg: #ffffff;--profile-menu-border: rgba(0, 0, 0, .1);--profile-menu-shadow: 0 16px 40px rgba(0, 0, 0, .15), inset 0 1px 1px rgba(255, 255, 255, .8);--profile-menu-hover-bg: rgba(6, 182, 212, .08);--profile-menu-hover-border: rgba(6, 182, 212, .2);--profile-menu-hover-color: #1e293b;--profile-menu-active-bg: rgba(6, 182, 212, .12);--card-border: rgba(0, 0, 0, .08);--white-alpha-0-03: rgba(0, 0, 0, .03);--white-alpha-0-04: rgba(0, 0, 0, .04);--white-alpha-0-05: rgba(0, 0, 0, .05);--white-alpha-0-06: rgba(0, 0, 0, .06);--white-alpha-0-08: rgba(0, 0, 0, .08);--white-alpha-0-1: rgba(0, 0, 0, .1);--white-alpha-0-12: rgba(0, 0, 0, .12);--white-alpha-0-14: rgba(0, 0, 0, .14);--white-alpha-0-15: rgba(0, 0, 0, .15);--white-alpha-0-16: rgba(0, 0, 0, .16);--white-alpha-0-18: rgba(0, 0, 0, .18);--white-alpha-0-2: rgba(0, 0, 0, .2);--white-alpha-0-22: rgba(0, 0, 0, .22);--white-alpha-0-25: rgba(0, 0, 0, .25);--white-alpha-0-65: rgba(0, 0, 0, .65);--light-accent: #1e3a8a;--light-accent-bg: #eaf0ff;--light-accent-border: #bfccf8;--light-accent-btn: #dce7ff;--light-accent-btn-text: #1e2f6f}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-gradient);color:var(--text-main)}#root{display:flex;flex-direction:column;min-height:100vh;padding-bottom:90px;overflow-x:clip}.app-header{width:100%;margin:0;padding:12px 20px;background:transparent;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--white-alpha-0-05);backdrop-filter:blur(8px)}.app-body{flex:1;overflow-x:clip}.header-top{display:flex;justify-content:space-between;align-items:center;max-width:var(--content-max-width);margin:0 auto}.header-controls{display:flex;align-items:center;gap:12px}.app-header h1{margin:0;padding:0;font-size:32px;line-height:1.1;letter-spacing:.5px;font-weight:700;text-align:left}.logo-btn{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;box-shadow:none;display:inline-flex;align-items:center;-webkit-tap-highlight-color:transparent}.logo-btn:hover,.logo-btn:focus,.logo-btn:active{background:none;color:inherit;box-shadow:none;outline:none;transform:none}.logo-bolt{display:inline-block;vertical-align:-.03em;margin-right:.1em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",emoji;font-variant-emoji:emoji;filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}[data-theme=light] .logo-bolt{filter:drop-shadow(0 2px 5px rgba(0,0,0,.8))}.logo-text{display:inline-block;vertical-align:-.03em;margin-right:.1em;filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}[data-theme=light] .logo-text{filter:drop-shadow(0 0px 10px rgba(0,0,0,.5))}@media (max-width: 480px){.app-header{background:var(--body-bg)}.app-header h1{font-size:30px;font-weight:600}}.app-subtitle{text-align:center;margin:20px 0}.app-subtitle p{margin:0;font-size:16px;color:var(--text-muted)}.app-subtitle-inline{margin:6px 0 0;font-size:14px;color:var(--text-muted)}.logged-out .auth-only{display:none!important}.logged-in .auth-only{display:flex}#user-profile{position:relative;display:flex;align-items:center}#notifications-launcher{display:flex;align-items:center;justify-content:center}.header-icon-btn{width:var(--header-control-size);height:var(--header-control-size);border-radius:999px;border:1px solid var(--white-alpha-0-22);background:var(--white-alpha-0-08);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px #00000059}.header-icon-btn:hover{background:var(--white-alpha-0-14)}.header-icon-btn svg{width:24px;height:24px}#user-avatar{width:calc(var(--header-control-size) - 10px);height:calc(var(--header-control-size) - 10px);border-radius:50%;object-fit:cover}.user-profile-pill{height:var(--header-control-size);min-height:var(--header-control-size);display:inline-flex;align-items:center;gap:8px;background:var(--white-alpha-0-08);border:1px solid var(--white-alpha-0-22);border-radius:999px;padding:4px 12px 4px 4px;cursor:pointer;box-shadow:0 6px 16px #00000059;transition:background .2s ease,border-color .2s ease}.user-profile-pill:hover{background:var(--white-alpha-0-14);border-color:var(--white-alpha-0-25)}.user-given-name{font-size:14px;font-weight:500;color:var(--text-main);max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile-pill svg{width:16px;height:16px;color:var(--text-muted)}.profile-menu{position:absolute;top:calc(var(--header-control-size) + 8px);right:0;background:var(--profile-menu-bg);backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:16px;box-shadow:var(--profile-menu-shadow);padding:8px;min-width:170px;z-index:100;border:1px solid var(--profile-menu-border);display:flex;flex-direction:column;gap:4px}.profile-menu button{width:100%;padding:10px 14px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;border-radius:10px;font-size:14px;font-weight:500;color:var(--text-main);box-shadow:none!important;transition:all .3s cubic-bezier(.25,.8,.25,1)}.profile-menu button:hover{background:var(--profile-menu-hover-bg);border:1px solid var(--profile-menu-hover-border);box-shadow:0 0 8px #06b6d41a!important;color:var(--profile-menu-hover-color);transform:translateY(-1px)}.profile-menu button:active{background:var(--profile-menu-active-bg);transform:scale(.98);box-shadow:0 0 4px #06b6d40d!important}.auth-container{text-align:center;padding:48px 16px}.auth-container h2{margin-bottom:24px}.g_id_signin{width:240px;margin-left:auto;margin-right:auto}.auth-install-tip{margin-top:40px;padding-top:24px;border-top:1px solid var(--white-alpha-0-08)}.auth-install-btn{background:var(--white-alpha-0-05);border:1px solid var(--white-alpha-0-15);color:var(--text-muted);padding:10px 20px;border-radius:999px;font-size:14px;cursor:pointer;transition:all .2s ease}.auth-install-btn:hover{background:var(--white-alpha-0-1);color:var(--text-main);border-color:var(--white-alpha-0-25)}.container{width:100%;padding:20px 16px 16px;max-width:var(--content-max-width);margin:16px auto 0;position:relative;z-index:10}.install-note{margin:10px 0 0;color:var(--text-muted);line-height:1.45;font-size:14px}.install-steps{margin-top:8px}.install-steps p{margin:8px 0;font-size:13px;line-height:1.5}.install-app-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:0px;border:1px solid var(--card-border);border-radius:24px;background:var(--card);color:var(--text-main);padding:0 8px;height:44px;font-size:10px;font-weight:100;cursor:pointer;box-shadow:0 4px 12px #0003;transition:background .2s ease,transform .2s ease}.install-app-btn:hover{background:var(--white-alpha-0-1);transform:translateY(-2px)}.install-app-btn svg{width:18px;height:18px;flex-shrink:0}.profile-card{background:linear-gradient(180deg,var(--white-alpha-0-03),rgba(255,255,255,0)),var(--card);border:1px solid var(--card-border);border-radius:18px;padding:16px;box-shadow:0 8px 24px #00000059,0 2px 8px #00000040}.profile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-card-header h3{margin:0;font-size:20px}.profile-avatar-wrap{display:flex;justify-content:center;margin:8px 0 16px}.profile-avatar-lg{width:92px;height:92px;border-radius:50%;object-fit:cover;border:2px solid var(--white-alpha-0-2)}.profile-field{margin-bottom:10px}.profile-field label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:4px}.profile-field input{width:100%;padding:10px 12px;background:var(--white-alpha-0-08);border:1px solid var(--card-border);border-radius:10px;color:var(--text-main)}.profile-field input:disabled{opacity:.75}.profile-actions{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:8px}.profile-actions button{flex:1 1 220px;text-align:center}.profile-admin-settings{margin-top:18px;padding-top:14px;border-top:1px solid var(--card-border)}.profile-admin-settings-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.profile-admin-settings h4{margin:0;font-size:15px;color:var(--text-main)}.profile-admin-settings p{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.about-text{margin:10px 0;color:var(--text-muted);line-height:1.5;font-size:14px}.profile-notifications{margin-top:18px;border-top:1px solid var(--card-border);padding-top:12px}.profile-notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.profile-notifications-header h4{margin:0;font-size:14px;color:var(--text-main)}.notification-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.notification-item{border:1px solid var(--card-border);border-radius:8px;background:var(--white-alpha-0-03);padding:8px 10px}.notification-message{font-size:13px;line-height:1.4;color:var(--text-main)}.notification-time{margin-top:6px;font-size:11px;color:var(--text-muted)}.node{position:relative;z-index:0;width:100%;background:linear-gradient(180deg,var(--white-alpha-0-03),rgba(255,255,255,0)),var(--card);border:1px solid var(--card-border);border-radius:18px;padding:14px;margin-bottom:16px;backdrop-filter:blur(6px);box-shadow:0 8px 24px #00000059,0 2px 8px #00000040;overflow:hidden}.node-header{display:flex;align-items:center;min-width:0;gap:10px;line-height:1;font-size:1rem;padding:10px 0;cursor:pointer}.node-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.node-status-dot.online{background:var(--success)}.node-status-dot.offline{background:#6b7280}.node-name{flex:1;font-size:20px;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:baseline;gap:8px}.node-subtitle{font-size:14px;color:var(--text-muted);font-weight:400}.switches-container{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-in-out;padding-left:20px;min-width:0;width:100%;box-sizing:border-box}.switches-container.expanded{grid-template-rows:1fr}.switches-inner{overflow:hidden;padding-top:0;margin-top:0;border-top:1px solid transparent;transition:padding-top .3s ease-in-out,margin-top .3s ease-in-out,border-top-color .3s ease-in-out}.switches-container.expanded .switches-inner{padding-top:8px;margin-top:8px;border-top-color:var(--card-border)}.switch{display:flex;align-items:center;gap:12px;padding:10px 0;line-height:1;font-size:1rem;position:relative}.switch:first-of-type{border-top:none}.switch-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.switch-name{font-size:18px;color:var(--text-muted);flex:1;line-height:1.2;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;cursor:pointer;box-shadow:var(--button-shadow);transition:all .2s ease}button:hover{background:var(--button-bg-hover);box-shadow:var(--button-shadow-hover)}button:active{transform:translateY(1px);box-shadow:0 1px 4px #0003}.menu-btn{background:none;border:none;color:var(--primary);padding:6px;height:30px;width:30px;min-width:30px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}button.btn-secondary{background:var(--white-alpha-0-06);color:var(--text-muted);border:1px solid var(--white-alpha-0-15);box-shadow:none}button.btn-secondary:hover{background:var(--white-alpha-0-12);color:var(--text-main);border-color:var(--white-alpha-0-25);box-shadow:0 2px 8px #0003}button.btn-secondary:active{background:var(--white-alpha-0-18);box-shadow:none}.menu-btn:hover{background:#3b82f626;box-shadow:none}[data-theme=light] .menu-btn{color:#64748b;width:28px;height:28px;min-width:32px;padding:4px}[data-theme=light] .menu-btn:hover{background:#64748b1f;color:#475569}.menu-btn svg{width:1.2em;height:1.2em;display:block}[data-theme=light] .menu-btn svg{width:1.7em;height:1.7em}.gear-solid{display:none}.gear-outline,[data-theme=light] .gear-solid{display:block}[data-theme=light] .gear-outline{display:none}.destroy-button{background:#ef444426;color:#f8a5a5}.destroy-button:hover{background:#ef444440}.modal-close-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--white-alpha-0-22);background:var(--white-alpha-0-08);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.modal-close-btn:hover{background:var(--white-alpha-0-16)}.modal-close-btn svg{width:18px;height:18px}.modal-close-btn .back-icon{width:25px;height:25px}.action-icon-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--white-alpha-0-2);background:var(--white-alpha-0-1);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;padding:0}.action-icon-btn:hover{background:var(--white-alpha-0-16)}.action-icon-btn.danger{background:#a516161f;color:#e42c2c;border-color:#f009}.action-icon-btn.danger:hover{background:#ef444440}.action-icon-btn svg{width:24px;height:24px}.action-icon-btn .back-icon{width:25px;height:25px}input,select{border:none;background:transparent;color:var(--text-main)}input:focus,select:focus{outline:none}.toggle{position:relative;width:42px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background:#374151;border-radius:999px;transition:.25s;box-shadow:inset 0 2px 4px #0000004d}.slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 2px 4px #00000040}.toggle input:checked+.slider{background:var(--accent)}[data-theme=light] .toggle input:checked+.slider{background:var(--success)}.toggle input:checked+.slider:before{transform:translate(18px)}.toggle input:disabled+.slider{opacity:.65}.hidden{display:none!important}.modal{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:10px}.notifications-modal{align-items:flex-start;padding-top:var(--header-clearance)}.notifications-modal .modal-card.large{max-height:calc(100vh - var(--header-clearance) - 10px)}.modal-card{width:100%;max-width:var(--modal-max-width);background:linear-gradient(180deg,var(--white-alpha-0-03),rgba(255,255,255,0)),var(--modal-bg);border-radius:14px;padding:16px;box-shadow:0 16px 32px #0000008c,0 6px 12px #00000059;animation:modal-card-open .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes modal-card-open{0%{opacity:0;transform:scale(.95) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-card.large{height:90vh;max-height:100vh;display:flex;flex-direction:column;gap:10px;overflow:hidden}.modal-tab-content{flex:1;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header.minimal{justify-content:flex-end;gap:6px;padding-bottom:0}.modal-header.minimal.split{justify-content:space-between}.modal-header h4{margin:0;font-size:18px;font-weight:600;color:var(--text-main)}.notification-badge{position:absolute;top:6px;right:6px;width:10px;height:10px;background-color:var(--danger);border-radius:50%;border:2px solid var(--body-bg);pointer-events:none}[data-theme=light] .notification-badge{border-color:#f1f5f9}.notifications-header{align-items:flex-start}.notifications-title-wrap{min-width:0}.notifications-title{margin:0;font-size:24px;line-height:1.2}.notifications-subtitle{margin:6px 0 0;font-size:13px;color:var(--text-muted)}.modal-separator{height:1px;background:var(--card-border);margin:0}.modal-section{margin-bottom:6px}.modal-section h4{margin-top:0;font-size:12px;font-weight:500;color:var(--white-alpha-0-65);margin-bottom:5px}.rename-row,.share-input{display:flex;gap:8px}.node-options-modal,.switch-options-modal{gap:12px}.node-options-modal .modal-header{margin-bottom:0}.modal-tabs{display:flex;gap:6px;padding:6px;border:1px solid var(--card-border);border-radius:18px;background:var(--white-alpha-0-04);margin-bottom:14px;flex-shrink:0;width:fit-content;max-width:100%}.tab-btn{background:transparent;border:1px solid transparent;outline:none;-webkit-tap-highlight-color:transparent;color:var(--text-muted);font-size:15px;font-weight:600;padding:11px 18px;cursor:pointer;border-bottom:1px solid transparent;border-radius:14px;box-shadow:none;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.tab-btn:hover{background:var(--white-alpha-0-05);color:var(--text-main);box-shadow:none}.tab-btn:focus,.tab-btn:focus-visible{outline:none;box-shadow:none}.tab-btn.active{color:var(--text-main);background:var(--modal-bg);border-color:var(--card-border);box-shadow:0 8px 18px #00000014}.uuid-box{background:var(--white-alpha-0-05);padding:12px;border-radius:8px;font-family:monospace;font-size:13px;word-break:break-all}.danger-zone{border:none!important;background:transparent!important;border-top:1px solid var(--white-alpha-0-06)!important;padding-top:16px!important;margin-top:8px}.danger-zone h4{color:var(--text-muted)!important;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.danger-action-btn{width:100%;background:transparent;color:#ef4444;border:none;padding:10px 0;margin-top:4px;font-size:14px;text-align:left;box-shadow:none}.danger-action-btn:hover{background:#ef444414;box-shadow:none;border-radius:8px}.switch-manage-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--card-border)}.switch-manage-row:last-child{border-bottom:none}.switch-manage-info{display:flex;align-items:center;gap:8px}.archived-badge{font-size:11px;background:var(--white-alpha-0-1);padding:2px 6px;border-radius:4px;color:var(--text-muted)}.switch-options-modal .modal-header{margin-bottom:0}.section-card{border:none;border-radius:0;padding:0;background:transparent}.section-card h4{margin-bottom:8px}.node-options-modal .modal-section+.modal-section,.switch-options-modal .modal-section+.modal-section{border-top:1px solid var(--white-alpha-0-1);padding-top:10px;margin-top:2px}.suggestions{margin-top:8px;border:1px solid var(--white-alpha-0-12);border-radius:8px;overflow:hidden;background:var(--white-alpha-0-04)}.suggestion{padding:8px 10px;font-size:13px;color:var(--text-main);cursor:pointer;border-bottom:1px solid var(--white-alpha-0-08)}.suggestion:last-child{border-bottom:none}.suggestion:hover{background:#3b82f633}.suggestion{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer}.suggestion-email{font-size:14px}.suggestion-hint{font-size:11px;color:var(--text-muted);opacity:.7}.rename-row input,.share-input input{flex:1;padding:8px 12px;background:var(--white-alpha-0-08);border-radius:10px;font-size:14px}.share-search-wrap{margin-top:10px}.suggestions-dropdown{margin-top:8px;border:1px solid rgba(59,130,246,.35);border-radius:10px;background:#0f1b35e6;box-shadow:0 8px 20px #00000059;overflow:hidden}.suggestions-dropdown .suggestion{border-bottom:1px solid rgba(59,130,246,.15)}.suggestions-dropdown .suggestion:last-child{border-bottom:none}.scroll-box{max-height:250px;overflow-y:auto;padding:6px;border:1px solid var(--white-alpha-0-1);border-radius:8px;background:var(--white-alpha-0-04)}.archived-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 4px;font-size:13px;border-bottom:1px solid var(--white-alpha-0-06)}.archived-row:last-child{border-bottom:none}.archived-row button{font-size:12px;padding:4px 10px}.next-run{font-size:13px;color:var(--text-muted);margin-bottom:8px}.schedules-card #switch-schedule-list{margin-bottom:8px}.schedule-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-top:1px solid var(--card-border);font-size:13px;gap:8px}.schedule-row:first-child{border-top:none}.schedule-desc{display:flex;align-items:center;gap:8px;min-width:0}.schedule-desc span:last-child{color:var(--text-main)}.state-badge{font-size:10px;padding:2px 7px;border-radius:999px;font-weight:700}.state-on{background:#22c55e33;color:#86efac}.state-off{background:#ef444433;color:#fca5a5}[data-theme=light] .state-on{background:#dcfce7;color:#166534}[data-theme=light] .state-off{background:#fee2e2;color:#991b1b}[data-theme=light] .schedule-row .action-icon-btn.danger{background:#fee2e2;color:#b91c1c;border-color:#fecaca}[data-theme=light] .schedule-row .action-icon-btn.danger:hover{background:#fecaca;color:#991b1b}.schedule-form{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--white-alpha-0-06)}.schedule-form-title{margin:0;font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.schedule-field{display:flex;flex-direction:column;gap:4px}.schedule-label{font-size:12px;color:var(--text-muted);font-weight:500}.schedule-input{width:100%;padding:10px 12px;border-radius:10px;background:var(--white-alpha-0-08);border:1px solid var(--white-alpha-0-1);color:var(--text-main);font-size:14px}.schedule-input:focus{border-color:var(--primary);outline:none}.schedule-add-btn{width:100%;padding:10px;border-radius:10px;background:var(--accent);color:#fff;font-weight:600;font-size:14px;border:none;cursor:pointer;margin-top:4px}.schedule-add-btn:hover{opacity:.9}.schedule-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-actions select{background:var(--white-alpha-0-1);color:var(--text-main);border:none;border-radius:999px;padding:7px 8px;font-size:13px;box-shadow:0 2px 6px #0003;width:60px}.schedule-actions button{min-width:78px}.visibility-row{display:flex;align-items:center;gap:10px}.subtle,.empty-inline{opacity:.7;font-size:13px;padding:6px 0}.mascot{position:fixed;bottom:50px;left:20px;height:30%;z-index:-1;display:none;pointer-events:none}.mascot.show{display:block}.empty-state-mascot{display:block;margin:0 auto 20px;width:250px;max-width:80vw;height:auto}#empty-message{text-align:center;max-width:440px;margin:20px auto;color:var(--text-muted);padding:0 16px}#empty-message h4{color:var(--text-main);margin-bottom:6px}.toast-stack{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:340px}.error-message,.notif-message{padding:12px 16px;border-radius:8px;font-weight:500;font-size:14px;box-shadow:0 2px 8px #0003;backdrop-filter:blur(6px);animation:toast-slide-in .25s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-footer{position:fixed;bottom:0;left:0;right:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 24px calc(12px + env(safe-area-inset-bottom,0px));background:var(--body-bg);box-shadow:0 -2px 10px #0000001a;opacity:1;z-index:30}.copyright-text{font-size:13px;color:var(--text-muted)}.footer-left{display:flex;justify-self:start}.footer-center{justify-self:center;text-align:center}.footer-right{display:flex;justify-self:end}.error-message{background:#ef444426;color:#f8a5a5;border:1px solid rgba(239,68,68,.2)}.notif-message{background:#44ef9f26;color:#86efac;border:1px solid rgba(68,239,159,.2)}[data-theme=light] .error-message,[data-theme=light] .notif-message{backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=light] .error-message{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}[data-theme=light] .notif-message{background:#e2e8f0;color:#1e293b;border:1px solid #cbd5e1}@media (max-width: 480px){:root{--header-control-size: 42px;--header-clearance: 82px;--content-max-width: 100%}.app-header{padding:14px 14px 10px;min-height:10vh;display:flex;flex-direction:column;justify-content:center}.header-top{column-gap:8px;width:100%}.container{padding:12px 12px 8px;margin-top:12px}.app-header h1{font-size:30px;font-weight:600}.app-header p{margin-top:6px;font-size:14px}.node{border-radius:16px;padding:12px;margin-bottom:12px}.node-header{padding:8px 0;gap:8px}.node-name{font-size:15px}.switch-name{font-size:16px}.menu-btn{height:28px;width:28px;min-width:28px;padding:4px}.app-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))}.copyright-text{font-size:11px}.profile-actions{flex-direction:column;align-items:stretch}.profile-actions button{width:100%;flex:1 1 auto}.notifications-title{font-size:22px}.notifications-subtitle{font-size:12px}}.theme-toggle-btn{width:44px;height:44px;border-radius:50%;background:var(--card);color:var(--text-main);border:1px solid var(--card-border);box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}[data-theme=light] .theme-toggle-btn{box-shadow:0 4px 12px #0000001a}.theme-toggle-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #0006}[data-theme=light] .theme-toggle-btn:hover{box-shadow:0 6px 16px #00000026}.theme-toggle-btn svg{width:24px;height:24px}.metrics-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;table-layout:fixed}.metrics-table th,.metrics-table td{padding:9px 10px;border-bottom:1px solid var(--card-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-table th{color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.metrics-table tr:last-child td{border-bottom:none}.metrics-table col.col-time{width:32%}.metrics-table col.col-node{width:22%}.metrics-table col.col-switch{width:14%}.metrics-table col.col-event{width:21%}.metrics-table col.col-delay{width:11%}.metrics-list.scroll-box{max-height:400px;overflow-x:auto;overflow-y:auto}.event-badge{display:inline-block;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.3px}.event-badge.manual{background:#3b82f62e;color:#93c5fd}.event-badge.scheduled{background:#eab3082e;color:#fde047}
