@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg: #f9fafb;--surface: #ffffff;--surface-2: #f3f4f6;--border: #e5e7eb;--border-subtle: #f3f4f6;--text: #111827;--text-muted: #6b7280;--text-dim: #9ca3af;--accent: #155eef;--accent-hover: #1849b8;--accent-glow: rgba(21, 94, 239, .1);--accent-dim: rgba(21, 94, 239, .05);--on: #16a34a;--on-bg: #dcfce7;--on-glow: rgba(22, 163, 74, .1);--off: #e5e7eb;--error: #dc2626;--error-bg: #fef2f2;--radius: 8px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;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}.app-header__inner{max-width:720px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between}.app-header__brand{display:flex;align-items:center;gap:10px}.brand-mark{width:32px;height:32px;background:var(--accent);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}.brand-name{font-weight:600;font-size:15px;color:var(--text)}.brand-sub{font-size:12px;color:var(--text-muted);font-weight:400}.app-header__location{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);background:var(--surface-2);padding:6px 12px;border-radius:var(--radius-sm)}.location-dot{width:6px;height:6px;background:var(--on);border-radius:50%}.app-main{max-width:720px;margin:0 auto;padding:24px 24px 60px;width:100%}.page-intro{margin-bottom:24px;animation:fadeUp .3s ease both}.page-intro h1{font-size:18px;font-weight:600;color:var(--text);margin-bottom:4px}.page-intro p{color:var(--text-muted);font-size:13px;max-width:480px}.groups{display:flex;flex-direction:column;gap:16px}.group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:fadeUp .3s ease both;box-shadow:var(--shadow)}.group:nth-child(1){animation-delay:.03s}.group:nth-child(2){animation-delay:.06s}.group:nth-child(3){animation-delay:.09s}.group:nth-child(4){animation-delay:.12s}.group__title{font-size:13px;font-weight:600;color:var(--text);padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.group__fields{padding:0}.field-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;transition:background .15s ease;border-bottom:1px solid var(--border)}.field-row:last-child{border-bottom:none}.field-row:hover{background:var(--surface-2)}.field-row--saving{opacity:.7}.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:44px;height:24px;border-radius:12px;border:none;cursor:pointer;position:relative;transition:background .2s ease;outline:none}.toggle:focus-visible{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.toggle--on{background:var(--accent)}.toggle--off{background:var(--off)}.toggle--saving{cursor:default;opacity:.6}.toggle__thumb{position:absolute;top:2px;width:20px;height:20px;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 3px #0003}.toggle--on .toggle__thumb{left:22px;color:var(--accent)}.toggle--off .toggle__thumb{left:2px;color:var(--text-dim)}.number-field{display:flex;align-items:center;gap:8px}.number-field input{width:64px;height:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:13px;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-glow)}.number-field input:disabled{opacity:.5;cursor:default;background:var(--surface-2)}.number-field svg{color:var(--accent)}.toast-stack{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:999;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;animation:slideIn .2s ease both;box-shadow:var(--shadow-md)}.toast--success{background:var(--on-bg);border:1px solid #bbf7d0;color:#166534}.toast--error{background:var(--error-bg);border:1px solid #fecaca;color:#991b1b}.loading-screen,.error-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);background:var(--bg)}.loading-logo{width:48px;height:48px;background:var(--accent);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#fff;animation:pulse 1.5s ease infinite}.error-screen svg{color:var(--error);width:32px;height:32px}.error-screen h2{font-size:16px;font-weight:600;color:var(--text)}.error-screen p{font-size:13px;max-width:320px;text-align:center}@media (max-width: 520px){.app-header__inner{padding:0 16px}.app-main{padding:16px 16px 48px}.field-row{padding:12px;gap:12px}.group__title{padding:10px 12px}.app-header__location{display:none}.page-intro h1{font-size:16px}}
