:root{--ios-bg: #f2f2f7;--ios-card: rgba(255, 255, 255, .94);--ios-separator: rgba(60, 60, 67, .12);--ios-blue: #007aff;--ios-green: #34c759;--ios-red: #ff3b30;--ios-label: #000000;--ios-secondary: rgba(60, 60, 67, .6);--ios-tertiary: rgba(60, 60, 67, .3);--ios-radius: 12px;--ios-radius-sm: 10px;--ios-shadow: 0 1px 3px rgba(0, 0, 0, .06);--ios-blur: saturate(180%) blur(24px);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,system-ui,sans-serif;color:var(--ios-label);background:var(--ios-bg);line-height:1.35;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:linear-gradient(165deg,#e4e6ed,#eef0f4 22%,#f2f2f7 55%,#f7f8fa);background-attachment:fixed}#root{height:100%;min-height:0;overflow:hidden}button{font:inherit;cursor:pointer;border:none;background:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dash-root{height:100%;min-height:0;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.dash-header{flex-shrink:0;position:relative;z-index:100;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 24px;padding:20px 28px 16px;background:#ffffffbf;backdrop-filter:var(--ios-blur);-webkit-backdrop-filter:var(--ios-blur);border-bottom:.5px solid var(--ios-separator);box-shadow:0 1px #fffc inset}.dash-body-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.dash-header-left{min-width:200px;display:flex;align-items:center}.dash-stats{display:flex;align-items:center;gap:0;flex-wrap:wrap}.dash-stat{display:flex;align-items:baseline;gap:8px;padding:0 14px}.dash-stat:first-child{padding-left:0}.dash-stat-label{font-size:13px;color:var(--ios-secondary)}.dash-stat-value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.dash-stat-online{color:#248a3d}.dash-stat-offline{color:var(--ios-secondary)}.dash-stat-divider{width:1px;height:22px;background:var(--ios-separator);margin:0 4px}.dash-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:flex-end;max-width:100%}.ios-dropdown{position:relative;-webkit-user-select:none;user-select:none}.ios-dropdown-trigger{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:none;font-size:14px;font-weight:500;color:var(--ios-blue);background:#007aff14;cursor:pointer;transition:background .15s ease;min-width:120px;white-space:nowrap}.ios-dropdown-trigger:hover{background:#007aff24}.ios-dropdown-trigger:active{background:#007aff33}.ios-dropdown-chevron{width:10px;height:10px;margin-left:auto;opacity:.6;transition:transform .2s ease}.ios-dropdown.is-open .ios-dropdown-chevron{transform:rotate(180deg)}.ios-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;max-height:280px;overflow-y:auto;border-radius:12px;background:#fffffff5;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f,inset 0 0 0 .5px #0000000f;z-index:500;padding:4px;animation:ios-dropdown-in .2s cubic-bezier(.2,.9,.3,1);overscroll-behavior:contain}.ios-dropdown-menu::-webkit-scrollbar{width:0}.ios-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:none;font-size:14px;font-weight:400;color:#1c1c1e;cursor:pointer;text-align:left;transition:background .12s ease}.ios-dropdown-item:hover{background:#0000000a}.ios-dropdown-item:active{background:#00000014}.ios-dropdown-item.is-selected{color:var(--ios-blue);font-weight:600}.ios-dropdown-item.is-selected:after{content:"✓";margin-left:auto;font-size:14px;font-weight:700;color:var(--ios-blue)}.ios-dropdown--block,.ios-dropdown--block .ios-dropdown-trigger,.ios-dropdown--block .ios-dropdown-menu{width:100%}.ios-dropdown-trigger--field{background:#fff;color:#1c1c1e;box-shadow:var(--ios-shadow);font-weight:400}.ios-dropdown-trigger--field:hover{background:#00000005}.ios-dropdown-trigger--field:active{background:#0000000a}.ios-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:499}@keyframes ios-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dash-seg{display:inline-flex;border-radius:10px;overflow:hidden;box-shadow:var(--ios-shadow);background:#fff}.dash-seg-btn{padding:8px 12px;font-size:16px;line-height:1;color:var(--ios-secondary);min-width:40px}.dash-seg-btn.on{background:#007aff26;color:var(--ios-blue)}.ios-toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;width:100%;max-width:420px;padding:0 16px}.ios-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;font-size:14px;font-weight:500;letter-spacing:-.01em;line-height:1.35;color:#1c1c1e;background:#ffffffeb;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:0 2px 8px #00000014,0 8px 24px #0000000f,inset 0 0 0 .5px #0000000f;cursor:pointer;animation:ios-toast-in .38s cubic-bezier(.2,.9,.3,1);width:100%}.ios-toast-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.ios-toast--error .ios-toast-icon{background:var(--ios-red)}.ios-toast--success .ios-toast-icon{background:var(--ios-green)}.ios-toast--info .ios-toast-icon{background:var(--ios-blue)}.ios-toast-msg{flex:1;min-width:0}@keyframes ios-toast-in{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.dash-main{padding:20px 28px 28px;max-width:1680px;width:100%;margin:0 auto}.dash-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;color:var(--ios-secondary)}.dash-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(0,122,255,.2);border-top-color:var(--ios-blue);animation:dash-spin .7s linear infinite}@keyframes dash-spin{to{transform:rotate(360deg)}}.dash-table-wrap{overflow:auto}.dash-tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#007aff1a;color:var(--ios-blue)}.dash-list-panel{background:#ffffffeb;border-radius:20px;box-shadow:0 1px #ffffffe0 inset,0 0 0 .5px #0000000a,0 10px 40px -12px #192d5a1f;overflow:hidden}.dash-list-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 18px;border-bottom:.5px solid var(--ios-separator);cursor:pointer;transition:background .15s ease}.dash-list-row:last-child{border-bottom:none}.dash-list-row:hover{background:#007aff0b}.dash-list-row__lead{display:flex;align-items:center;gap:14px;flex:1 1 220px;min-width:0}.dash-list-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;letter-spacing:-.03em;color:#fff;background:linear-gradient(145deg,#64d2ff,#0a84ff 45%,#5e5ce6);box-shadow:0 3px 10px #0a84ff47,inset 0 1px #ffffff59}.dash-list-text{min-width:0}.dash-list-title{font-size:16px;font-weight:600;letter-spacing:-.02em;color:#1c1c1e;line-height:1.25}.dash-list-sub{margin-top:3px;font-size:13px;color:var(--ios-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-list-row__mid{flex:2 1 280px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0}.dash-list-ip{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--ios-secondary)}.dash-list-row__aside{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.dash-list-time{font-size:12px;color:var(--ios-tertiary);font-variant-numeric:tabular-nums}.dash-list-row__actions{flex:0 0 auto;display:flex;align-items:center;gap:6px;margin-left:auto}@media (max-width: 720px){.dash-list-row__aside{flex-direction:row;align-items:center;width:100%;justify-content:space-between}.dash-list-row__actions{width:100%;justify-content:flex-end}}.dash-net{display:inline-block;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent;box-shadow:0 1px 2px #0000000a}.dash-net--success{background:linear-gradient(180deg,#34c75938,#34c7591f);color:#1a6b2c;border-color:#34c75940}.dash-net--info{background:linear-gradient(180deg,#007aff29,#007aff14);color:#0050b3;border-color:#007aff33}.dash-net--warning{background:linear-gradient(180deg,#ff950033,#ff95001a);color:#a63b00;border-color:#ff950047}.dash-net--error{background:linear-gradient(180deg,#ff3b3024,#ff3b3012);color:#b01008;border-color:#ff3b3038}.dash-net--muted{background:#3c3c430f;color:var(--ios-secondary);border-color:#3c3c4314}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-items:stretch}.dash-card{position:relative;cursor:pointer;border-radius:20px;transition:transform .32s cubic-bezier(.2,.9,.3,1),box-shadow .32s cubic-bezier(.2,.9,.3,1)}.dash-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 .5px #0000000f;pointer-events:none;z-index:1}.dash-card:hover{transform:translateY(-2px) scale(1.008)}.dash-card:hover .dash-card-surface{box-shadow:0 2px 4px #00000005,0 8px 24px -4px #00000014,0 20px 48px -8px #0000000f}.dash-card:active{transform:scale(.98);transition-duration:.1s}.dash-card-surface{position:relative;height:100%;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#ffffffeb;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:0 1px 3px #00000008,0 4px 12px -2px #0000000f,0 12px 28px -6px #0000000d;transition:box-shadow .32s cubic-bezier(.2,.9,.3,1)}.dash-card-surface--tile{padding-top:0}.dash-card-tile-top{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 20px 18px;background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,transparent 100%)}.dash-card-avatar{flex-shrink:0;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;letter-spacing:-.02em;color:#fff;background:linear-gradient(135deg,#5ac8fa,#0a84ff 48%,#5856d6);box-shadow:0 2px 8px #0a84ff4d,inset 0 1px #ffffff4d}.dash-card-avatar--tile{width:52px;height:52px;border-radius:16px;font-size:21px;box-shadow:0 2px 10px #0a84ff40,inset 0 1px #ffffff4d}.dash-card-title{margin:10px 0 0;font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:#1c1c1e}.dash-card-host{margin:4px 0 0;font-size:13px;font-weight:400;color:var(--ios-tertiary);letter-spacing:-.01em;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;min-height:1.25em;max-width:100%}.dash-card-surface--tile .dash-card-live{position:absolute;top:16px;right:16px;z-index:1}.dash-card-live{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 7px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;border:none}.dash-card-live-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.dash-card-live.is-on{color:#34c759;background:#34c7591f}.dash-card-live.is-on .dash-card-live-dot{box-shadow:0 0 0 2px #34c75933,0 0 6px #34c75966}.dash-card-live.is-off{color:var(--ios-tertiary);background:#3c3c430f}.dash-card-metrics{padding:2px 16px 8px;display:flex;flex-direction:column;gap:0}.dash-card-metric{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:.5px solid rgba(60,60,67,.08);background:none;border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:none}.dash-card-metric:last-child{border-bottom:none}.dash-card-metric--user .dash-card-metric-icon{background:#ff950014;color:#ff9500}.dash-card-metric--ip .dash-card-metric-icon{background:#34c75914;color:#34c759}.dash-card-metric--net .dash-card-metric-icon{background:#5856d614;color:#5856d6}.dash-card-metric-icon{flex-shrink:0;width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#007aff14;color:var(--ios-blue)}.dash-card-metric-label{font-size:13px;font-weight:400;text-transform:none;letter-spacing:-.01em;color:var(--ios-secondary)}.dash-card-metric-value{font-size:14px;font-weight:500;color:#1c1c1e;text-align:right;min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.dash-card-metric-mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;letter-spacing:-.01em;color:#48484a}.dash-card-foot{display:flex;gap:0;padding:0;margin-top:auto;border-top:.5px solid rgba(60,60,67,.1);background:none}.dash-card-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 12px;border-radius:0;font-size:14px;font-weight:400;letter-spacing:-.01em;color:var(--ios-blue);background:none;border:none;border-right:.5px solid rgba(60,60,67,.1);transition:background .15s ease}.dash-card-action:last-child{border-right:none}.dash-card-action svg{flex-shrink:0;width:14px;height:14px;opacity:.7}.dash-card-action:hover{background:#00000008}.dash-card-action:active{background:#0000000f}.dash-card-action--danger{color:var(--ios-red)}.dash-card-action--danger:hover{background:#ff3b300d}.dash-textarea{width:100%;padding:12px 14px;border-radius:10px;border:none;font-size:14px;font-family:inherit;background:#fff;box-shadow:var(--ios-shadow);resize:vertical}.dash-detail dl{margin:0;display:grid;grid-template-columns:100px 1fr;gap:8px 12px;font-size:14px}.dash-detail dt{color:var(--ios-secondary);margin:0}.dash-detail dd{margin:0;word-break:break-all}.dash-detail-json{margin-top:16px;padding:12px;border-radius:8px;background:#0000000a;font-size:12px;overflow:auto;max-height:240px}.ios-table-wrap{background:var(--ios-card);border-radius:var(--ios-radius);box-shadow:var(--ios-shadow);overflow:hidden;overflow-x:auto}.ios-table{width:100%;border-collapse:collapse;font-size:14px}.ios-table thead{background:#00000005}.ios-table th{text-align:left;font-size:11px;font-weight:600;color:var(--ios-secondary);text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;border-bottom:.5px solid var(--ios-separator);white-space:nowrap}.ios-table td{padding:10px 14px;border-bottom:.5px solid var(--ios-separator);vertical-align:middle}.ios-table tbody tr:last-child td{border-bottom:none}.ios-table th:last-child,.ios-table td:last-child{text-align:right;width:1%}.ios-table--compact th,.ios-table--compact td{padding:8px 12px}.cell-muted{color:var(--ios-secondary);font-size:13px}.ios-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;background:var(--ios-blue);color:#fff;white-space:nowrap}.ios-btn:disabled{opacity:.5;cursor:not-allowed}.ios-btn-ghost{background:#007aff1f;color:var(--ios-blue)}.ios-btn-danger{background:#ff3b301f;color:var(--ios-red)}.ios-btn-sm{padding:5px 10px;font-size:13px;margin-left:6px}.ios-btn-sm:first-child{margin-left:0}.ios-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ios-modal-overlay--enter{animation:ios-overlay-in .3s cubic-bezier(.2,.9,.3,1) forwards}.ios-modal-overlay--enter .ios-modal{animation:ios-modal-in .35s cubic-bezier(.2,.9,.3,1) forwards}.ios-modal-overlay--leave{animation:ios-overlay-out .22s cubic-bezier(.4,0,1,1) forwards}.ios-modal-overlay--leave .ios-modal{animation:ios-modal-out .22s cubic-bezier(.4,0,1,1) forwards}@keyframes ios-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ios-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes ios-modal-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes ios-modal-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.92) translateY(12px)}}.ios-modal{width:100%;max-width:560px;min-height:320px;max-height:90vh;overflow:visible;background:#f2f2f7;border-radius:14px;padding:24px 24px 20px;box-shadow:0 16px 48px #0000002e;will-change:transform,opacity}.ios-modal--compact{min-height:auto;max-width:400px}.ios-modal h3{margin:0 0 16px;font-size:17px;text-align:center;font-weight:600}.ios-field{margin-bottom:12px}.ios-field label{display:block;font-size:13px;color:var(--ios-secondary);margin-bottom:6px}.ios-field input{width:100%;padding:12px 14px;border-radius:10px;border:none;font-size:15px;background:#fff;box-shadow:var(--ios-shadow)}.ios-modal-actions{display:flex;gap:10px;margin-top:18px}.ios-modal-actions .ios-btn{flex:1}.ios-confirm-text{margin:0 0 16px;font-size:15px;line-height:1.45;color:var(--ios-secondary)}.ios-empty{text-align:center;padding:48px 24px;color:var(--ios-secondary);font-size:15px}.ios-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.ios-pill.on{background:#34c7592e;color:#248a3d}.ios-pill.off{background:#3c3c431a;color:var(--ios-secondary)}@media (max-width: 900px){.dash-header,.dash-main{padding:16px}.dash-banner-err{margin:0 16px}.dash-header-actions{justify-content:flex-start}}
