:root{--mt-black: #151515;--mt-ink: #1f2328;--mt-panel: #ffffff;--mt-page: #f0f2f5;--mt-soft: #f7f8fa;--mt-line: #d9dde3;--mt-muted: #68717d;--mt-red: #d71920;--mt-red-dark: #a91218;--mt-green: #15834f;--mt-yellow: #f4c542;--shadow: 0 16px 42px rgba(28, 32, 38, .11);color:var(--mt-ink);background:var(--mt-page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;min-height:100dvh;margin:0;background:radial-gradient(circle at 15% 0,rgba(215,25,32,.12),transparent 260px),linear-gradient(180deg,rgba(21,21,21,.08),transparent 220px),var(--mt-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{touch-action:manipulation}main{width:min(100%,760px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(22px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:calc(-1*env(safe-area-inset-top)) -14px 14px;border-bottom:1px solid rgba(255,255,255,.08);padding:calc(12px + env(safe-area-inset-top)) 14px 13px;color:#fff;background:#151515f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 28px #0000002e}.topbar p,.topbar small,.add-device p,.device-head p{margin:0;color:var(--mt-muted)}.topbar p,.topbar small{color:#c4c7cc}.topbar small{display:block;margin-top:3px;font-size:12px}.brand-title{display:flex;min-width:0;align-items:center;gap:12px}.brand-logo{width:50px;height:50px;flex:0 0 auto;border:1px solid #555;border-radius:8px;object-fit:cover;box-shadow:none}.brand-logo.large{width:84px;height:84px;justify-self:center;border-radius:8px}h1,h2{margin:0;letter-spacing:0}h1{color:inherit;font-size:29px;line-height:1.05}h2{color:var(--mt-ink);font-size:18px}.icon-button{display:grid;width:46px;height:46px;place-items:center;border:1px solid #4a4a4a;border-radius:8px;color:#fff;background:#242424}.icon-button.light{border-color:var(--mt-line);color:var(--mt-ink);background:#fff}.top-actions{display:flex;gap:8px}.device-list{display:grid;gap:12px}.device-card,.admin-panel,.add-device,.login-panel{border:1px solid var(--mt-line);border-radius:8px;background:var(--mt-panel);box-shadow:var(--shadow)}.device-card{overflow:hidden}.device-card.blocked{border-color:var(--mt-red);box-shadow:0 0 0 1px #d7192029,var(--shadow)}.device-head{display:grid;grid-template-columns:46px 1fr 44px;gap:12px;align-items:center;border-bottom:1px solid #e2e5e8;padding:14px;background:linear-gradient(180deg,#fff,#f8f9fb)}.device-head .icon-button{border-color:#c4c9cf;color:var(--mt-ink);background:#f4f5f6}.avatar{display:grid;width:46px;height:46px;place-items:center;border:1px solid #b9bec5;border-radius:8px;color:#fff;background:var(--mt-black)}.name-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.group-badge{border:1px solid #b7bdc4;border-radius:4px;padding:3px 7px;color:#31363d;background:#eef0f2;font-size:12px;font-weight:700}.group-badge.adults{border-color:#b8b8b8;color:#111;background:#dedede}.status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(0,0,0,.16);padding:10px 14px;color:#fff;background:var(--mt-black)}.blocked .status-line{background:var(--mt-red-dark)}.status-line small{color:#d8dce1}.countdowns{display:grid;gap:8px;padding:12px 14px 0}.countdowns span{display:inline-flex;min-height:36px;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d5b23d;border-radius:5px;padding:8px 10px;color:#3c320b;background:#fff8d9;font-variant-numeric:tabular-nums;font-weight:700}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px}.quick-actions button,.primary,.admin-action{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:6px;border:1px solid #b9bec5;border-radius:8px;color:var(--mt-ink);background:linear-gradient(180deg,#fff,#e9ecef)}.quick-actions button:active,.primary:active,.admin-action:active,.icon-button:active{transform:translateY(1px)}.primary{width:100%;border-color:var(--mt-red-dark);color:#fff;background:linear-gradient(180deg,var(--mt-red),var(--mt-red-dark))}.controls{display:grid;gap:12px;padding:2px 14px 14px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e2e5e8;padding-top:12px}.switch-row.compact{border-top:0;padding-top:0}.switch-row span{display:inline-flex;align-items:center;gap:8px;color:#2d3238;font-weight:700}.collapse-row{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;border:0;border-top:1px solid #e2e5e8;border-radius:0;padding:12px 0 0;color:#2d3238;background:transparent;font-weight:700}.collapse-row span{display:inline-flex;align-items:center;gap:8px}.chevron{flex:0 0 auto;transition:transform .18s ease}.chevron.open{transform:rotate(180deg)}.time-panel,.speed-panel{display:grid;gap:12px}.switch-row input{width:24px;height:24px;accent-color:var(--mt-red)}.time-grid,.speed-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.speed-grid label{display:grid;gap:5px}.speed-grid span,.slider-row span{color:var(--mt-muted);font-size:13px}.speed-sliders{display:grid;gap:14px;border:1px solid #d7dbe0;border-radius:5px;padding:12px;background:var(--mt-soft)}.speed-actions{grid-template-columns:1fr 1fr;padding:0}.slider-row{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}.slider-row strong{color:var(--mt-black);font-variant-numeric:tabular-nums}.slider-row input[type=range]{grid-column:1 / -1;min-height:32px;border:0;padding:0;accent-color:var(--mt-red);background:transparent}input,select,textarea{width:100%;min-width:0;min-height:48px;border:1px solid #b9bec5;border-radius:8px;padding:0 12px;color:var(--mt-ink);background:#fff;font-size:16px}textarea{min-height:106px;resize:vertical;padding-top:12px;padding-bottom:12px}input:focus,select:focus,textarea:focus{border-color:var(--mt-red);outline:2px solid rgba(215,25,32,.14)}.admin-panel{display:grid;gap:12px;margin-top:14px;padding:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head p,.sub-editor span{margin:0;color:var(--mt-muted);font-size:13px}.admin-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}.admin-action{border-color:#b9bec5;color:var(--mt-ink);background:#fff}.admin-action.danger{border-color:#d7192052;color:var(--mt-red-dark);background:#fff6f6}.admin-action:disabled,.primary:disabled{cursor:wait;opacity:.55}.router-status{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--mt-line);border-radius:8px;padding:9px 10px;background:var(--mt-soft)}.router-status span{display:inline-flex;align-items:center;gap:7px;color:var(--mt-muted)}.router-status strong{color:var(--mt-green)}.sub-editor{display:grid;gap:7px}.add-device{display:grid;gap:10px;margin-top:14px;padding:14px}.alert{margin-bottom:12px;border:1px solid #d5b23d;border-radius:5px;padding:12px;color:#3c320b;background:#fff8d9}.login{display:grid;place-items:center;padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(22px + env(safe-area-inset-bottom))}.login-panel{display:grid;width:min(100%,360px);gap:14px;padding:22px;border-top:5px solid var(--mt-black)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:560px){main{padding:calc(10px + env(safe-area-inset-top)) 10px calc(18px + env(safe-area-inset-bottom))}h1{font-size:25px}.topbar{align-items:flex-start;margin-right:-10px;margin-left:-10px;padding-right:10px;padding-bottom:11px;padding-left:10px}.brand-title{gap:10px}.brand-logo{width:46px;height:46px}.device-head{grid-template-columns:44px 1fr 44px;padding:12px}.avatar{width:44px;height:44px}.status-line{align-items:flex-start;flex-direction:column;gap:4px}.quick-actions{grid-template-columns:1fr 1fr;padding:10px 12px}.admin-grid{grid-template-columns:1fr}.controls{padding:2px 12px 12px}.time-grid{grid-template-columns:1fr}.countdowns{padding:10px 12px 0}.countdowns span{align-items:flex-start;flex-direction:column;gap:4px}}
