:root{color:var(--tg-theme-text-color,#edf4f8);background:#101a22;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at top right,rgba(65,207,191,.16),transparent 32%),var(--tg-theme-bg-color,#101a22)}button,input,select,textarea{font:inherit}button{border:0;border-radius:12px;min-height:40px;padding:9px 12px;cursor:pointer;color:inherit;background:var(--tg-theme-secondary-bg-color,#23323c);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}button:active{transform:scale(.96)}button:disabled{cursor:wait;opacity:.55}main{max-width:780px;min-height:100dvh;margin:auto;padding:calc(19px + env(safe-area-inset-top)) 16px calc(97px + env(safe-area-inset-bottom))}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}h1{font-size:27px;line-height:1.1;margin:4px 0 0;letter-spacing:-.03em}h2{margin:0;font-size:20px;letter-spacing:-.02em}h3{margin:0;font-size:15px}p{margin:4px 0 0}.eyebrow,small{color:var(--tg-theme-hint-color,#98a9b5);font-size:12px}.role{padding:8px 11px;border-radius:999px;background:var(--tg-theme-button-color,#43c9bc);color:#fff;font-size:12px;white-space:nowrap}.panel-section{animation:enter .28s ease both;background:color-mix(in srgb,var(--tg-theme-secondary-bg-color,#20303a) 92%,#385060);border:1px solid rgba(255,255,255,.04);border-radius:20px;padding:16px;box-shadow:0 14px 30px #00000026}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.section-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:15px}.section-heading small{display:block;margin-top:3px}.heading-actions{display:flex;align-items:center;gap:8px}.small{min-height:34px;padding:6px 10px;font-size:12px}.icon-button{min-height:34px;min-width:34px;padding:0;font-size:21px}.primary,nav button.active{background:var(--tg-theme-button-color,#43c9bc);color:var(--tg-theme-button-text-color,#fff);box-shadow:0 4px 12px #27bbae3d}nav{position:fixed;z-index:10;display:flex;justify-content:space-around;gap:2px;bottom:0;left:0;right:0;margin:auto;max-width:780px;padding:9px 8px calc(9px + env(safe-area-inset-bottom));background:#111c24eb;border-top:1px solid rgba(255,255,255,.07);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}nav button{display:grid;place-items:center;gap:2px;flex:1;min-width:42px;min-height:48px;padding:5px 3px;background:transparent;border-radius:11px;color:var(--tg-theme-hint-color,#a6b2bb);font-size:10px}nav button span{font-size:18px;line-height:17px}nav button.active{color:#fff}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{min-height:92px;padding:13px;border-radius:14px;background:var(--tg-theme-bg-color,#16212a);border-left:3px solid #42c9bd;display:flex;flex-direction:column;justify-content:space-between}.metric.blue{border-color:#5d9bf4}.metric.violet{border-color:#a482f4}.metric.amber{border-color:#e6ae5e}.metric.green{border-color:#45c99a}.metric span,.traffic-card span{color:var(--tg-theme-hint-color,#98a9b5);font-size:12px}.metric strong{font-size:16px;line-height:1.15;overflow-wrap:anywhere}.bars{display:grid;gap:8px;margin-top:11px}.progress>div{display:flex;justify-content:space-between;margin:0 2px 4px;color:var(--tg-theme-hint-color,#98a9b5);font-size:11px}.progress b{color:var(--tg-theme-text-color,#edf4f8)}.progress i,.mini-bar{display:block;height:6px;overflow:hidden;border-radius:99px;background:#0d171d}.progress em,.mini-bar em{display:block;height:100%;border-radius:inherit;background:#45c9bc;transition:width .5s ease}.progress em.blue{background:#5d9bf4}.progress em.violet{background:#a482f4}.progress em.amber{background:#e6ae5e}.status-card,.traffic-card{background:#0510173d;border-radius:12px;margin-top:10px;padding:12px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px}.status-dot{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#44ce9f;box-shadow:0 0 8px #44ce9f}.status-dot.offline{background:#e97979;box-shadow:0 0 8px #e97979}.traffic-card{padding:0;overflow:hidden}.traffic-card div{flex:1;min-width:120px;padding:12px;display:flex;flex-direction:column;gap:4px}.traffic-card div+div{border-left:1px solid rgba(255,255,255,.08)}.mini-bar{margin-top:3px;height:4px}.entity-list{display:grid;gap:9px}.entity-card{padding:13px;border-radius:14px;background:var(--tg-theme-bg-color,#16212a);border:1px solid rgba(255,255,255,.05);transition:transform .18s ease}.entity-card:hover{transform:translateY(-1px)}.entity-top{display:flex;justify-content:space-between;gap:10px}.entity-top p{color:var(--tg-theme-hint-color,#98a9b5);font-size:12px}.badge{align-self:flex-start;padding:5px 8px;border-radius:999px;font-size:11px;white-space:nowrap}.badge.on{background:#3dcc9726;color:#63ddaa}.badge.off{background:#e27e7e21;color:#ee9d9d}.presence{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:#737f87}.presence.online{background:#45cf9b;box-shadow:0 0 7px #45cf9b}.entity-stats{display:flex;gap:8px 15px;flex-wrap:wrap;margin-top:12px;color:var(--tg-theme-hint-color,#98a9b5);font-size:12px}.entity-stats b{color:var(--tg-theme-text-color,#edf4f8);font-weight:600}.card-actions,.settings-actions,.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.card-actions button,.settings-actions button{min-height:33px;padding:6px 9px;font-size:12px}.danger-link{color:#f3aaaa;background:#d556561c}.inline-form,.editor-form{display:grid;gap:10px;margin:0 0 14px;padding:13px;border-radius:14px;background:#00000024}.inline-form label,.filter-row label,.editor-form label{display:grid;gap:5px;color:var(--tg-theme-hint-color,#98a9b5);font-size:12px}.inline-form button{justify-self:start}input,select,textarea{width:100%;min-height:42px;padding:10px 11px;color:inherit;background:var(--tg-theme-bg-color,#16212a);border:1px solid rgba(177,203,215,.25);border-radius:10px;outline:0}textarea{min-height:112px;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:12px}input:focus,select:focus,textarea:focus{border-color:var(--tg-theme-button-color,#43c9bc);box-shadow:0 0 0 3px #43c9bc1f}option{background:#1b2832}.search{display:flex;align-items:center;gap:8px;padding:0 11px;margin-bottom:10px;background:var(--tg-theme-bg-color,#16212a);border:1px solid rgba(177,203,215,.18);border-radius:11px;color:var(--tg-theme-hint-color,#98a9b5)}.search input{border:0;background:transparent}.summary-line{display:flex;justify-content:space-between;color:var(--tg-theme-hint-color,#98a9b5);font-size:12px;margin:0 2px 12px}.state{padding:26px 10px;color:var(--tg-theme-hint-color,#98a9b5);text-align:center;font-size:13px}.state.error{color:#f0aaaa}.notice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;margin:0 0 12px;border-radius:12px;color:#f5e9d7;background:#805329;font-size:13px}.notice button,.modal-close{min-height:24px;padding:0 6px;background:transparent;font-size:20px}.qr-tool{display:grid;gap:11px;padding:13px;border-radius:14px;background:#00000024}.qr-tool p{color:var(--tg-theme-hint-color,#98a9b5);font-size:12px}.qr{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:3px}.qr svg,.subscription-preview svg{padding:7px;border-radius:10px;background:#fff}.subheading{margin:18px 0 10px}.truncate{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-tabs{display:flex;gap:8px;margin-bottom:10px}.log-tabs button{min-height:34px;padding:6px 11px;font-size:12px}.log-tabs .active{background:#45c9bc;color:#fff}.filter-row{display:grid;grid-template-columns:1fr 90px;gap:10px;margin-bottom:12px}.log-list{display:grid;gap:7px;max-height:54dvh;overflow:auto}.log-line{padding:10px;border-radius:10px;background:var(--tg-theme-bg-color,#16212a);font:12px/1.45 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.settings-form{display:grid;gap:7px}.setting-row{display:flex!important;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;border-radius:11px;background:var(--tg-theme-bg-color,#16212a);color:var(--tg-theme-text-color,#edf4f8)!important;font-size:13px!important}.setting-row input:not(.switch){max-width:180px;min-height:36px;padding:7px 9px}.switch{appearance:none;width:43px;height:25px;min-height:25px;padding:2px;border:0;border-radius:99px;background:#52616b;cursor:pointer}.switch:checked{background:#45c9bc}.switch:before{content:"";display:block;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform .18s}.switch:checked:before{transform:translate(18px)}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;align-items:end;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{position:relative;max-height:92dvh;overflow:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#1c2932;animation:sheet .25s ease both}@keyframes sheet{0%{transform:translateY(100%)}to{transform:none}}.modal-close{position:absolute;right:13px;top:12px;color:#abb8bf}.editor-form{margin:0;padding-top:36px;background:transparent}.form-grid{display:grid;gap:10px}.form-grid .wide{grid-column:1/-1}.check{display:flex!important;align-items:center;gap:9px}.check input{width:18px;min-height:18px}.form-actions{justify-content:flex-end}.subscription-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px;border-radius:12px;background:#142029}.auth-state{display:grid;place-content:center;min-height:100dvh;text-align:center}.auth-state h1{margin-top:16px}.auth-state p{color:var(--tg-theme-hint-color,#98a9b5)}.brand-mark{display:grid;place-items:center;width:56px;height:56px;margin:auto;border-radius:17px;color:#fff;background:#45c9bc;font-weight:800;font-size:18px}@media(min-width:680px){main{padding-left:24px;padding-right:24px}.metric-grid{grid-template-columns:repeat(4,1fr)}.entity-list{grid-template-columns:repeat(2,1fr)}.panel-section{padding:20px}.form-grid{grid-template-columns:repeat(2,1fr)}.modal{max-width:760px;width:100%;margin:auto;border-radius:22px}.modal-backdrop{align-items:center;padding:16px}nav{border-radius:18px 18px 0 0}}
