@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap";:root{--bg: #0d0f14;--surface: #13161e;--surface-2: #1a1e28;--border: #252a38;--border-subtle: #1e2230;--text: #e8ecf4;--text-muted: #6b738a;--text-dim: #3d4458;--accent: #4f8ef7;--accent-glow: rgba(79, 142, 247, .15);--accent-dim: rgba(79, 142, 247, .08);--on: #34d698;--on-glow: rgba(52, 214, 152, .2);--off: #2a2f3e;--error: #f75c5c;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.spin{animation:spin .8s linear infinite}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-header__inner{max-width:780px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.app-header__brand{display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:Syne,sans-serif;font-weight:700;font-size:18px;color:#fff;box-shadow:0 0 20px var(--accent-glow)}.brand-name{font-family:Syne,sans-serif;font-weight:600;font-size:16px;color:var(--text);letter-spacing:-.01em}.brand-sub{font-size:11px;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.app-header__location{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);padding:5px 12px;border-radius:20px}.location-dot{width:7px;height:7px;background:var(--on);border-radius:50%;box-shadow:0 0 8px var(--on-glow)}.app-main{max-width:780px;margin:0 auto;padding:40px 24px 80px;width:100%}.page-intro{margin-bottom:36px;animation:fadeUp .4s ease both}.page-intro h1{font-family:Syne,sans-serif;font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:8px}.page-intro p{color:var(--text-muted);font-size:14px;max-width:480px}.groups{display:flex;flex-direction:column;gap:10px}.group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:fadeUp .4s ease both}.group:nth-child(1){animation-delay:.05s}.group:nth-child(2){animation-delay:.1s}.group:nth-child(3){animation-delay:.15s}.group:nth-child(4){animation-delay:.2s}.group__title{font-family:Syne,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:16px 20px 12px;border-bottom:1px solid var(--border-subtle)}.group__fields{padding:4px 0}.field-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;transition:background .15s ease;position:relative}.field-row:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:1px;background:var(--border-subtle)}.field-row:last-child:after{display:none}.field-row:hover{background:var(--surface-2)}.field-row--saving{animation:pulse 1s ease infinite}.field-row__info{flex:1;min-width:0}.field-row__label{font-size:14px;font-weight:500;color:var(--text);margin-bottom:2px}.field-row__desc{font-size:12px;color:var(--text-muted);line-height:1.4}.field-row__control{flex-shrink:0}.toggle{width:52px;height:28px;border-radius:14px;border:none;cursor:pointer;position:relative;transition:background .2s ease,box-shadow .2s ease;outline:none}.toggle--on{background:var(--on);box-shadow:0 0 16px var(--on-glow)}.toggle--off{background:var(--off)}.toggle--saving{cursor:default;opacity:.8}.toggle__thumb{position:absolute;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0000004d}.toggle--on .toggle__thumb{left:27px;color:var(--on)}.toggle--off .toggle__thumb{left:3px;color:var(--text-muted)}.number-field{display:flex;align-items:center;gap:8px}.number-field input{width:72px;height:36px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;text-align:center;outline:none;transition:border-color .15s ease,box-shadow .15s ease;-moz-appearance:textfield}.number-field input::-webkit-inner-spin-button,.number-field input::-webkit-outer-spin-button{-webkit-appearance:none}.number-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.number-field input:disabled{opacity:.5;cursor:default}.number-field svg{color:var(--accent)}.toast-stack{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:999;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;animation:slideIn .25s ease both;box-shadow:var(--shadow)}.toast--success{background:#1a2e22;border:1px solid #2a4a36;color:var(--on)}.toast--error{background:#2e1a1a;border:1px solid #4a2a2a;color:var(--error)}.loading-screen,.error-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-muted)}.loading-logo{width:56px;height:56px;background:var(--accent);border-radius:16px;display:flex;align-items:center;justify-content:center;font-family:Syne,sans-serif;font-weight:700;font-size:24px;color:#fff;animation:pulse 1.5s ease infinite;box-shadow:0 0 32px var(--accent-glow)}.error-screen h2{font-family:Syne,sans-serif;font-size:20px;color:var(--text)}.error-screen p{font-size:14px;max-width:360px;text-align:center}@media (max-width: 520px){.app-header__inner{padding:0 16px}.app-main{padding:24px 16px 60px}.field-row{padding:14px 16px;gap:16px}.group__title{padding:14px 16px 10px}.app-header__location span{display:none}}
