:root{--bg: #0a1726;--bg-top: #12314a;--bg-bottom: #060f1a;--panel: #15293d;--panel-2: #1d3a52;--inset: #0e1c2c;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #e6eef6;--dim: #9fb3c8;--accent: #38bdf8;--accent-deep: #1c92c8;--ok: #34d399;--danger: #f4566c}*{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 60%);background-attachment:fixed;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}.nav{display:flex;gap:8px;align-items:center;padding:12px 20px;background:#0d1b2ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.nav .brand{font-weight:800;color:var(--accent);margin-right:10px;letter-spacing:.3px}.nav a{color:var(--dim);padding:7px 12px;border-radius:8px;transition:background .15s,color .15s}.nav a:hover{color:var(--text);background:#ffffff0d}.nav a.active{color:#04222f;background:var(--accent);font-weight:600}.nav .spacer{flex:1}.container{max-width:1140px;margin:0 auto;padding:24px 20px 48px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 10px 30px #00000040}h1,h2,h3{margin:0 0 12px;letter-spacing:.2px}label{display:block;color:var(--dim);font-size:12px;margin:8px 0 4px}input,select,textarea{width:100%;padding:9px 11px;background:var(--inset);color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#6b7e92}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf82e}select{cursor:pointer}button{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-deep) 100%);color:#04222f;border:none;padding:9px 16px;border-radius:8px;font-weight:700;cursor:pointer;transition:filter .15s,transform .05s,box-shadow .15s;box-shadow:0 4px 14px #38bdf838}button:hover{filter:brightness(1.07)}button:active{transform:translateY(1px)}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border-strong);box-shadow:none}button.ghost:hover{background:#ffffff0d;filter:none}button.danger{background:linear-gradient(180deg,#f4566c,#cf3b51);color:#fff;box-shadow:0 4px 14px #f4566c38}button:disabled{opacity:.5;cursor:default;box-shadow:none;filter:none}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:middle}thead th{color:var(--dim);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;background:var(--panel);z-index:1;border-bottom:1px solid var(--border-strong)}tbody tr{transition:background .12s}tbody tr:hover{background:#ffffff09}tbody tr.dragging{opacity:.4}tbody tr.drag-over td{box-shadow:inset 0 2px 0 0 var(--accent)}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:180px}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--border-strong);color:var(--dim);background:#ffffff08}.pill.ok{color:var(--ok);border-color:#34d39980;background:#34d3991a}.pill.dead{color:var(--danger);border-color:#f4566c80;background:#f4566c1a}.dot{width:8px;height:8px;border-radius:50%;background:var(--dim);display:inline-block}.dot.ok{background:var(--ok);box-shadow:0 0 8px #34d39999}.dot.dead{background:var(--danger);box-shadow:0 0 8px #f4566c99}.msg{color:var(--ok);margin:8px 0}.err{color:var(--danger);margin:8px 0}.login-wrap{max-width:380px;margin:12vh auto}.small{font-size:12px;color:var(--dim)}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.ch-name{display:flex;align-items:center;gap:10px}.ch-logo{width:34px;height:34px;flex:none;border-radius:8px;object-fit:contain;background:#eef3f8;padding:3px;border:1px solid var(--border)}.ch-logo.placeholder{background:var(--inset);display:flex;align-items:center;justify-content:center}.ch-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-url{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-table{table-layout:fixed;width:100%}.ch-table th,.ch-table td{overflow:hidden}.ch-table .ch-name{min-width:0}.ch-table .ch-name>div{min-width:0}.row-actions{white-space:nowrap;text-align:right}.row-actions button{padding:6px 9px;font-size:12px;margin-left:6px}.row-actions button:first-child{margin-left:0}.fit-table{table-layout:fixed;width:100%}.fit-table th,.fit-table td{overflow:hidden}.fit-table .ch-name{min-width:0}.fit-table .row-actions button{padding:5px 8px}.switch{position:relative;display:inline-block;width:40px;height:22px}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:#33495f;border-radius:999px;transition:background .18s}.switch .slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .18s}.switch input:checked+.slider{background:var(--accent)}.switch input:checked+.slider:before{transform:translate(18px)}.badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;margin-left:6px;background:#38bdf826;color:var(--accent);border:1px solid rgba(56,189,248,.35)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--panel);border:1px solid var(--border-strong);border-radius:14px;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 70px #0009}.modal header{padding:16px 20px;border-bottom:1px solid var(--border)}.modal .body{padding:16px 20px;overflow:auto}.modal footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.stat{flex:1;min-width:120px;background:var(--inset);border:1px solid var(--border);border-radius:10px;padding:14px;text-align:center}.stat .n{font-size:26px;font-weight:800}.stat .l{font-size:12px;color:var(--dim)}.stat.ok .n{color:var(--ok)}.stat.down .n{color:var(--danger)}.checkprog{margin:4px 0 12px}.checkprog .bar{height:8px;background:var(--inset);border:1px solid var(--border);border-radius:999px;overflow:hidden}.checkprog .fill{height:100%;background:linear-gradient(90deg,var(--accent-deep),var(--accent));border-radius:999px;transition:width .2s ease}.checkprog-stats{display:flex;gap:12px;margin-top:6px}.checkprog-stats .ok{color:var(--ok)}.checkprog-stats .down{color:var(--danger)}.section-row{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;background:var(--inset)}.section-head{display:flex;gap:12px;align-items:flex-end}.section-order{display:flex;flex-direction:column;gap:4px}.section-order button{padding:2px 8px;line-height:1}.drag-handle{cursor:grab;text-align:center;font-size:16px;color:var(--dim);-webkit-user-select:none;user-select:none;padding:2px 6px}.drag-handle:active{cursor:grabbing}.section-row.dragging{opacity:.5}.section-row.drag-over{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.menu-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.menu-row{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--inset);transition:border-color .12s,background .12s}.menu-row:hover{border-color:var(--border-strong)}.menu-row.dragging{opacity:.5}.menu-row.drag-over{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.menu-move{display:flex;flex-direction:column;gap:2px}.menu-move button{padding:0 7px;line-height:1.2;font-size:12px}.menu-row .menu-title{flex:1;margin:0}.menu-row .menu-type{width:140px;margin:0}.menu-row .section-toggle{margin:0}.section-toggle{display:flex;align-items:center;gap:6px;white-space:nowrap;margin:0 0 8px}@media (max-width: 860px){.container{padding:18px 14px 40px}.card{padding:15px}.card table,.modal .body table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.card table>thead,.card table>tbody,.modal .body table>thead,.modal .body table>tbody{display:table;width:100%;min-width:560px}}@media (max-width: 680px){.nav{gap:4px;padding:10px 12px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav .brand{flex:none;margin-right:6px;white-space:nowrap}.nav a{flex:none;padding:7px 10px;white-space:nowrap}.nav .spacer{display:none}.nav>button{flex:none;white-space:nowrap}.row>*{min-width:0!important;flex:1 1 100%!important}.toolbar>input,.toolbar>select,.toolbar>div{flex:1 1 200px;max-width:none!important}.toolbar>h2{flex:1 1 100%}.menu-row{flex-wrap:wrap}.menu-row .menu-title{order:-1;flex:1 1 100%}.menu-row .menu-type{width:auto;flex:1 1 auto}.modal-backdrop{padding:0;align-items:stretch}.modal{max-width:100%;max-height:100%;height:100%;border-radius:0}.stat{min-width:0;flex:1 1 calc(50% - 5px)}.login-wrap{margin:8vh auto;padding:0 14px}}@media (max-width: 400px){body{font-size:13px}.nav .brand{font-size:12px}.stat{flex-basis:100%}}
