.admin-tool-sessions{
            --bg: #f5f7fb;
            --panel: #ffffff;
            --text: #202938;
            --muted: #6b7280;
            --line: #d9e1ec;
            --blue: #2563eb;
            --green: #16a34a;
            --red: #dc2626;
        }
.admin-tool-sessions *{ box-sizing: border-box; }
.admin-tool-sessions{
            margin: 0;
            background: var(--bg);
            color: var(--text);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
.admin-tool-sessions header{
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 18px 28px;
            background: #2f353d;
            color: white;
        }
.admin-tool-sessions header a{ color: #dbeafe; text-decoration: none; }
.admin-tool-sessions .header-actions{ display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.admin-tool-sessions main{ max-width: 1680px; margin: 28px auto; padding: 0 20px; }
.admin-tool-sessions .card{
            min-width: 0;
            background: var(--panel);
            border: 1px solid var(--line);
            border-radius: 14px;
            box-shadow: 0 16px 40px rgba(15, 23, 42, .08);
            padding: 18px;
        }
.admin-tool-sessions .toolbar{
            display: grid;
            grid-template-columns: 1fr auto auto auto auto auto;
            gap: 12px;
            align-items: center;
            margin-bottom: 18px;
        }
.admin-tool-sessions input,.admin-tool-sessions select,.admin-tool-sessions button{
            border: 1px solid var(--line);
            border-radius: 10px;
            padding: 10px 12px;
            font: inherit;
            background: white;
        }
.admin-tool-sessions button{
            cursor: pointer;
            background: var(--blue);
            border-color: var(--blue);
            color: white;
            font-weight: 700;
        }
.admin-tool-sessions button.secondary{
            background: white;
            color: var(--text);
        }
.admin-tool-sessions button.danger-action,.admin-tool-sessions button.ban-action,.admin-tool-sessions button.unban-action{
            background: white;
            padding: 7px 10px;
            white-space: nowrap;
        }
.admin-tool-sessions button.danger-action{ border-color: var(--red); color: var(--red); }
.admin-tool-sessions button.ban-action{ border-color: #d97706; color: #b45309; }
.admin-tool-sessions button.unban-action{ border-color: var(--green); color: var(--green); }
.admin-tool-sessions button.danger-action:hover{ background: #fef2f2; }
.admin-tool-sessions button.ban-action:hover{ background: #fffbeb; }
.admin-tool-sessions button.unban-action:hover{ background: #f0fdf4; }
.admin-tool-sessions button.danger-action:disabled,.admin-tool-sessions button.ban-action:disabled,.admin-tool-sessions button.unban-action:disabled{ cursor: wait; opacity: .55; }
.admin-tool-sessions .summary{
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
            gap: 12px;
            margin-bottom: 0;
        }
.admin-tool-sessions .metric{
            border: 1px solid var(--line);
            border-radius: 12px;
            padding: 14px;
            background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        }
.admin-tool-sessions .metric b{ display: block; font-size: 24px; margin-top: 4px; }
.admin-tool-sessions .metric.expired{ border-top: 4px solid #f59e0b; }
.admin-tool-sessions .metric.banned{ border-top: 4px solid var(--red); }
.admin-tool-sessions .metric.server-connections{ border-top: 4px solid #64748b; }
.admin-tool-sessions .metric.quick-filter{ cursor: pointer; transition: box-shadow .15s ease, transform .15s ease; }
.admin-tool-sessions .metric.quick-filter:hover{ transform: translateY(-1px); box-shadow: 0 8px 20px rgba(15, 23, 42, .1); }
.admin-tool-sessions .metric.quick-filter.active{ outline: 3px solid rgba(37, 99, 235, .22); }
.admin-tool-sessions .muted{ color: var(--muted); }
.admin-tool-sessions .error{ color: var(--red); font-weight: 700; margin: 10px 0; }
.admin-tool-sessions .ok{ color: var(--green); font-weight: 700; }
.admin-tool-sessions .traffic-reading{ display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.admin-tool-sessions .traffic-dot{
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #94a3b8;
            box-shadow: 0 0 0 3px rgba(148, 163, 184, .16);
            flex: 0 0 auto;
        }
.admin-tool-sessions .traffic-dot.green{ background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .16); }
.admin-tool-sessions .traffic-dot.yellow{ background: #f59e0b; box-shadow: 0 0 0 3px rgba(245, 158, 11, .16); }
.admin-tool-sessions .traffic-dot.red{ background: #dc2626; box-shadow: 0 0 0 3px rgba(220, 38, 38, .16); }
.admin-tool-sessions .sessions-table-wrap{
            width: 100%;
            overflow-x: auto;
            border-radius: 12px;
            -webkit-overflow-scrolling: touch;
        }
.admin-tool-sessions table{
            width: 100%;
            min-width: 1480px;
            border-collapse: collapse;
            background: white;
        }
.admin-tool-sessions th,.admin-tool-sessions td{
            padding: 11px 10px;
            border-bottom: 1px solid var(--line);
            text-align: left;
            vertical-align: top;
            font-size: 14px;
        }
.admin-tool-sessions th{
            background: #eef3f9;
            color: #445064;
            font-size: 12px;
            letter-spacing: .04em;
            text-transform: uppercase;
        }
.admin-tool-sessions th:nth-child(2),.admin-tool-sessions td:nth-child(2){
            min-width: 250px;
        }
.admin-tool-sessions th:nth-child(4),.admin-tool-sessions td:nth-child(4){
            min-width: 135px;
        }
.admin-tool-sessions th:nth-child(9),.admin-tool-sessions td:nth-child(9){
            width: 190px;
            min-width: 190px;
        }
.admin-tool-sessions .device-app-cell{
            overflow-wrap: anywhere;
            word-break: normal;
        }
.admin-tool-sessions .session-action-cell{
            position: sticky;
            right: 0;
            z-index: 1;
            width: 132px;
            min-width: 132px;
            background: white;
            box-shadow: -8px 0 14px -14px rgba(15, 23, 42, .65);
            text-align: center;
        }
.admin-tool-sessions .session-actions{
            display: grid;
            gap: 7px;
            margin-top: 7px;
        }
.admin-tool-sessions .session-actions-menu{ width: 100%; }
.admin-tool-sessions .session-actions-menu summary{
            display: block;
            width: 100%;
            border: 1px solid #94a3b8;
            border-radius: 9px;
            padding: 7px 9px;
            background: white;
            color: var(--text);
            cursor: pointer;
            font-weight: 700;
            list-style: none;
            white-space: nowrap;
        }
.admin-tool-sessions .session-actions-menu summary::-webkit-details-marker{ display: none; }
.admin-tool-sessions .session-actions-menu summary::after{ content: ' ▾'; color: var(--muted); }
.admin-tool-sessions .session-actions-menu[open] summary::after{ content: ' ▴'; }
.admin-tool-sessions .session-actions-menu button{
            width: 100%;
            padding: 7px 6px;
            font-size: 12px;
        }
.admin-tool-sessions th.session-action-cell{
            z-index: 2;
            background: #eef3f9;
        }
.admin-tool-sessions .mono{
            font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
            font-size: 13px;
        }
.admin-tool-sessions .pagination{
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin: 10px 0;
        }
.admin-tool-sessions .pagination button{ min-width: 44px; }
.admin-tool-sessions .pagination button:disabled{ cursor: default; opacity: .45; }
.admin-tool-sessions .page-status{ min-width: 110px; text-align: center; }
@media (max-width: 800px){.admin-tool-sessions header{ align-items: flex-start; flex-direction: column; padding: 16px 18px; }
.admin-tool-sessions main{ margin: 18px auto; padding: 0 12px; }
.admin-tool-sessions .card{ padding: 13px; border-radius: 12px; }
.admin-tool-sessions .toolbar{ grid-template-columns: 1fr; }
.admin-tool-sessions .toolbar input,.admin-tool-sessions .toolbar select,.admin-tool-sessions .toolbar button{ width: 100%; min-height: 44px; }
.admin-tool-sessions .summary{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.admin-tool-sessions .metric{ min-width: 0; padding: 12px; }
.admin-tool-sessions .metric b{ font-size: 21px; }
.admin-tool-sessions .sessions-table-wrap{ overflow: visible; border-radius: 0; }
.admin-tool-sessions table{ display: block; min-width: 0; background: transparent; }
.admin-tool-sessions thead{ display: none; }
.admin-tool-sessions tbody{ display: grid; gap: 12px; }
.admin-tool-sessions tr{
                display: block;
                overflow: hidden;
                border: 1px solid var(--line);
                border-radius: 13px;
                background: white;
                box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
            }
.admin-tool-sessions td,.admin-tool-sessions th:nth-child(2),.admin-tool-sessions td:nth-child(2),.admin-tool-sessions th:nth-child(4),.admin-tool-sessions td:nth-child(4){
                display: grid;
                grid-template-columns: 104px minmax(0, 1fr);
                gap: 12px;
                width: auto;
                min-width: 0;
                padding: 10px 12px;
                border-bottom: 1px solid #edf1f6;
                overflow-wrap: anywhere;
            }
.admin-tool-sessions td::before{
                align-self: start;
                color: #718096;
                content: attr(data-label);
                font-size: 10px;
                font-weight: 800;
                letter-spacing: .05em;
                text-transform: uppercase;
            }
.admin-tool-sessions td:last-child{ border-bottom: 0; }
.admin-tool-sessions .session-action-cell{
                position: static;
                display: block;
                width: auto;
                min-width: 0;
                padding: 11px 12px;
                background: #f8fafc;
                box-shadow: none;
                text-align: left;
            }
.admin-tool-sessions .session-action-cell::before{ display: none; }
.admin-tool-sessions .session-actions{
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
            }
.admin-tool-sessions .session-actions-menu summary{ min-height: 42px; text-align: center; }
.admin-tool-sessions button.danger-action,.admin-tool-sessions button.ban-action,.admin-tool-sessions button.unban-action{ width: 100%; min-height: 42px; }
.admin-tool-sessions .pagination{ margin: 12px 0; }}
@media (max-width: 420px){.admin-tool-sessions .summary{ grid-template-columns: 1fr 1fr; }
.admin-tool-sessions .metric .muted{ font-size: 12px; }
.admin-tool-sessions td,.admin-tool-sessions th:nth-child(2),.admin-tool-sessions td:nth-child(2),.admin-tool-sessions th:nth-child(4),.admin-tool-sessions td:nth-child(4){ grid-template-columns: 88px minmax(0, 1fr); }
.admin-tool-sessions .page-status{ order: -1; width: 100%; }}
.admin-tool-sessions .multi-ip-allowed{
            display: inline-flex;
            align-items: center;
            width: fit-content;
            max-width: 100%;
            gap: 4px;
            margin-top: 4px;
            padding: 3px 6px;
            border: 1px solid #cce5d5;
            border-radius: 5px;
            background: #eaf5ee;
            color: #256b40;
            font-size: 12px;
            font-weight: 600;
            line-height: 1.4;
        }
.admin-tool-sessions .session-actions-menu button.multi-ip-action{
            padding: 7px 6px;
            border-color: #94a3b8;
            background: white;
            color: #475569;
            font-weight: 700;
            text-align: center;
            white-space: nowrap;
        }
.admin-tool-sessions .session-actions-menu button.multi-ip-action:hover{ background: var(--bg); }
.admin-tool-sessions .session-actions-menu button.multi-ip-action[aria-pressed="true"]{
            border-color: var(--green);
            background: #eaf6ee;
            color: #15803d;
        }
.admin-tool-sessions .session-actions-menu button.multi-ip-action[aria-pressed="true"]::after{ content: ' ✓'; }
.admin-tool-sessions .session-actions-menu button.multi-ip-action[aria-pressed="true"]:hover{ background: #ddf0e4; }
.admin-tool-sessions .session-actions-menu button.multi-ip-action:focus-visible{ outline: 2px solid var(--blue); outline-offset: 2px; }
.admin-tool-sessions .session-actions-menu button.multi-ip-action:disabled{ cursor: wait; opacity: .6; }
.admin-tool-sessions .session-actions-menu button.ban-action:disabled{ cursor: not-allowed; border-color: var(--line); color: var(--muted); background: var(--bg); }
@media (max-width: 760px){.admin-tool-sessions .session-actions-menu button.multi-ip-action{ min-height: 42px; }}
.admin-tool-reports{ --navy:#183852; --teal:#1d7788; --blue:#2563eb; --ink:#172033; --muted:#68758a; --line:#dbe4ee; --soft:#f4f7fb; --green:#16813d; --red:#c43d3d; }
.admin-tool-reports *{ box-sizing:border-box; }
.admin-tool-reports{ margin:0; min-height:100vh; background:linear-gradient(145deg,#eef4f9,#fff 48%,#edf8f6); color:var(--ink); font-family:Verdana,Geneva,sans-serif; }
.admin-tool-reports header{ display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 28px; background:#2f353d; color:#fff; }
.admin-tool-reports header a{ color:#dbeafe; text-decoration:none; }
.admin-tool-reports .header-links{ display:flex; flex-wrap:wrap; gap:16px; }
.admin-tool-reports main{ width:min(1450px,calc(100% - 32px)); margin:28px auto; }
.admin-tool-reports .hero{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; padding:25px 28px; border-radius:18px; color:#fff; background:linear-gradient(125deg,var(--navy),var(--teal)); box-shadow:0 16px 42px rgba(24,56,82,.18); }
.admin-tool-reports .eyebrow{ color:#88e1d9; text-transform:uppercase; letter-spacing:.13em; font-size:12px; font-weight:700; }
.admin-tool-reports h1{ margin:7px 0 8px; font-size:clamp(28px,4vw,42px); }
.admin-tool-reports .hero p{ margin:0; color:#d9edf1; line-height:1.5; }
.admin-tool-reports .retention{ min-width:150px; padding:14px 18px; border:1px solid rgba(255,255,255,.25); border-radius:14px; background:rgba(255,255,255,.1); text-align:center; }
.admin-tool-reports .retention strong{ display:block; font-size:25px; margin-top:4px; }
.admin-tool-reports .card{ margin-top:18px; padding:22px; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:0 12px 34px rgba(23,32,51,.07); }
.admin-tool-reports .toolbar{ display:grid; grid-template-columns:minmax(220px,560px) auto; gap:10px; }
.admin-tool-reports input,.admin-tool-reports button{ min-height:44px; padding:10px 13px; border:1px solid var(--line); border-radius:10px; font:inherit; }
.admin-tool-reports button{ cursor:pointer; border-color:var(--blue); background:var(--blue); color:#fff; font-weight:700; }
.admin-tool-reports button.secondary{ border-color:var(--line); background:#fff; color:var(--ink); }
.admin-tool-reports button:disabled{ cursor:wait; opacity:.55; }
.admin-tool-reports #message{ min-height:24px; margin-top:12px; color:var(--muted); }
.admin-tool-reports #message.error{ color:var(--red); font-weight:700; }
.admin-tool-reports #message.ok{ color:var(--green); font-weight:700; }
.admin-tool-reports .reports{ display:grid; gap:13px; margin-top:14px; }
.admin-tool-reports .report{ border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.admin-tool-reports .report-head{ display:grid; grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(110px,.65fr)) auto; gap:12px; align-items:center; padding:15px 17px; background:var(--soft); }
.admin-tool-reports .label{ display:block; margin-bottom:4px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.admin-tool-reports .client{ overflow-wrap:anywhere; }
.admin-tool-reports .client strong{ display:block; }
.admin-tool-reports .client small{ color:var(--muted); }
.admin-tool-reports .badge{ display:inline-block; padding:5px 9px; border-radius:99px; background:#e5f5ea; color:var(--green); font-size:12px; font-weight:700; }
.admin-tool-reports .badge.expired{ background:#f0f2f5; color:var(--muted); }
.admin-tool-reports .actions{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.admin-tool-reports details{ border-top:1px solid var(--line); }
.admin-tool-reports summary{ cursor:pointer; padding:12px 17px; color:var(--blue); font-weight:700; }
.admin-tool-reports .session-wrap{ overflow-x:auto; padding:0 17px 15px; }
.admin-tool-reports table{ width:100%; min-width:760px; border-collapse:collapse; }
.admin-tool-reports th,.admin-tool-reports td{ padding:10px 8px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.admin-tool-reports th{ color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.admin-tool-reports .share-result{ display:none; padding:12px 17px; border-top:1px solid var(--line); background:#effaf5; }
.admin-tool-reports .share-result.visible{ display:flex; gap:9px; align-items:center; }
.admin-tool-reports .share-result input{ flex:1; min-width:0; background:#fff; }
.admin-tool-reports .empty{ padding:35px 15px; text-align:center; color:var(--muted); }
@media(max-width:850px){.admin-tool-reports header,.admin-tool-reports .hero{ align-items:flex-start; grid-template-columns:1fr; flex-direction:column; padding:18px; }
.admin-tool-reports main{ width:min(100% - 22px,1450px); margin:12px auto 24px; }
.admin-tool-reports .retention{ width:100%; text-align:left; }
.admin-tool-reports .toolbar{ grid-template-columns:1fr; }
.admin-tool-reports .report-head{ grid-template-columns:1fr 1fr; }
.admin-tool-reports .client,.admin-tool-reports .actions{ grid-column:1/-1; }
.admin-tool-reports .actions{ justify-content:stretch; }
.admin-tool-reports .actions button{ flex:1; }
.admin-tool-reports .share-result.visible{ align-items:stretch; flex-direction:column; }}
.admin-tool-access{--bg:#f5f7fb;--panel:#fff;--text:#202938;--muted:#6b7280;--line:#d9e1ec;--blue:#2563eb;--green:#15803d;--orange:#b45309;--red:#b91c1c}
.admin-tool-access *{box-sizing:border-box}
.admin-tool-access{margin:0;background:var(--bg);color:var(--text);font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.admin-tool-access header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;background:#2f353d;color:white}
.admin-tool-access header strong{font-size:17px}
.admin-tool-access header p{margin:5px 0 0;color:#bac4d1;font-size:13px}
.admin-tool-access header nav{display:flex;gap:18px;flex-wrap:wrap}
.admin-tool-access header a{color:#dbeafe;text-decoration:none}
.admin-tool-access a:hover{text-decoration:underline}
.admin-tool-access main{max-width:1680px;margin:26px auto;padding:0 20px}
.admin-tool-access .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.05);padding:20px;margin-bottom:18px;min-width:0}
.admin-tool-access .toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.admin-tool-access .field{display:grid;gap:6px}
.admin-tool-access .field label{font-size:12px;color:#526174;font-weight:600}
.admin-tool-access .search-field{flex:1;min-width:220px}
.admin-tool-access input,.admin-tool-access select,.admin-tool-access button{font:inherit;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:white;color:var(--text);min-height:40px}
.admin-tool-access button{cursor:pointer;font-weight:600}
.admin-tool-access button.primary{background:var(--blue);border-color:var(--blue);color:white}
.admin-tool-access button:hover{filter:brightness(.98)}
.admin-tool-access button:disabled{cursor:default;opacity:.5}
.admin-tool-access button:focus-visible,.admin-tool-access a:focus-visible,.admin-tool-access input:focus-visible,.admin-tool-access select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.admin-tool-access .muted{color:var(--muted)}
.admin-tool-access .meta{font-size:12px;margin:12px 0 0;line-height:1.6}
.admin-tool-access .notice{padding:11px 13px;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;margin-top:14px}
.admin-tool-access .error{color:var(--red)}
.admin-tool-access .metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.admin-tool-access .metric{padding:16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(#fff,#f8fafc)}
.admin-tool-access .metric span{display:block;color:var(--muted);font-size:12px}
.admin-tool-access .metric b{display:block;margin:7px 0;font-size:27px;font-weight:650;letter-spacing:-.5px}
.admin-tool-access .metric small{font-size:11px;color:var(--muted)}
.admin-tool-access .metric.good b{color:var(--green)}
.admin-tool-access .metric.warn b{color:var(--orange)}
.admin-tool-access .metric.alert b{color:var(--red)}
.admin-tool-access .section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.admin-tool-access h2{font-size:15px;margin:0}
.admin-tool-access .section-title span{font-size:12px}
.admin-tool-access .chart{min-height:155px}
.admin-tool-access .chart svg{display:block;width:100%;height:155px}
.admin-tool-access .empty{padding:35px 16px;text-align:center;color:var(--muted);line-height:1.7}
.admin-tool-access .legend{display:flex;gap:18px;color:var(--muted);font-size:12px}
.admin-tool-access .legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;background:#7699d8}
.admin-tool-access .legend span:last-child:before{background:#d58a5d}
.admin-tool-access .tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px}
.admin-tool-access .tab{border:0;border-radius:8px 8px 0 0;background:transparent;padding:11px 17px;color:var(--muted);border-bottom:2px solid transparent}
.admin-tool-access .tab[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);background:#f5f8fe}
.admin-tool-access .table-wrap{overflow:auto}
.admin-tool-access table{border-collapse:collapse;width:100%;min-width:760px}
.admin-tool-access th,.admin-tool-access td{text-align:left;padding:11px 12px;border-bottom:1px solid #e8edf4;vertical-align:middle}
.admin-tool-access th{background:#eef3f9;font-size:11px;text-transform:uppercase;letter-spacing:.035em;color:#526174}
.admin-tool-access td{font-size:13px}
.admin-tool-access tr:last-child td{border-bottom:0}
.admin-tool-access .mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.admin-tool-access .ip-link{padding:0;min-height:28px;border:0;background:none;color:var(--blue);font-weight:500;text-align:left}
.admin-tool-access .badge{display:inline-block;border:1px solid var(--line);background:#f8fafc;border-radius:5px;padding:3px 6px;margin:2px 3px 2px 0;font-size:11px;white-space:nowrap}
.admin-tool-access .badge.suspicious,.admin-tool-access .badge.failed{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.admin-tool-access .badge.admin,.admin-tool-access .badge.success{background:#edf7f0;color:#256b40;border-color:#cce5d5}
.admin-tool-access .badge.server{background:#eff4fa;color:#4d6683}
.admin-tool-access .num{font-variant-numeric:tabular-nums}
.admin-tool-access .table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:12px;color:var(--muted)}
.admin-tool-access .pager{display:flex;gap:8px}
.admin-tool-access .pager button{min-height:34px;padding:6px 12px;font-size:12px}
.admin-tool-access .footnote{font-size:12px;line-height:1.7;color:var(--muted);margin-top:12px}
.admin-tool-access .footnote a{color:#526d99}
.admin-tool-access #locked{max-width:500px;margin:80px auto}
.admin-tool-access .table-help{font-size:12px;color:var(--muted);margin:0 0 12px}
.admin-tool-access [hidden]{display:none!important}
@media(max-width:900px){.admin-tool-access header{align-items:flex-start;flex-direction:column;padding:18px 20px}
.admin-tool-access .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-tool-access .metric{padding:13px}
.admin-tool-access main{padding:0 12px;margin:16px auto}
.admin-tool-access .card{padding:15px}
.admin-tool-access .toolbar{gap:10px}
.admin-tool-access .search-field{min-width:100%;order:2}
.admin-tool-access .toolbar>.field:first-child{flex:1}
.admin-tool-access .toolbar>.field:nth-child(3){flex:1}}
@media(max-width:540px){.admin-tool-access header nav{gap:14px;font-size:13px}
.admin-tool-access .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-tool-access .metric:first-child{grid-column:1/-1}
.admin-tool-access .metric b{font-size:25px}
.admin-tool-access .toolbar .primary{flex:1}
.admin-tool-access .tabs{gap:0}
.admin-tool-access .tab{flex:1;padding:10px 7px;font-size:13px}
.admin-tool-access .section-title{align-items:flex-start;flex-direction:column;gap:5px}
.admin-tool-access .table-foot{flex-wrap:wrap}
.admin-tool-access .table-wrap table,.admin-tool-access .table-wrap tbody,.admin-tool-access .table-wrap tr,.admin-tool-access .table-wrap td{display:block;min-width:0}
.admin-tool-access .table-wrap thead{display:none}
.admin-tool-access .table-wrap tr{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;overflow:hidden}
.admin-tool-access .table-wrap td{display:grid;grid-template-columns:102px minmax(0,1fr);gap:10px;padding:9px 11px;overflow-wrap:anywhere}
.admin-tool-access .table-wrap td::before{content:attr(data-label);font-size:10px;text-transform:uppercase;color:#718096;letter-spacing:.025em;align-self:center}
.admin-tool-access .table-wrap td:last-child{border-bottom:0}
.admin-tool-access .table-wrap td.empty{display:block}
.admin-tool-access .table-wrap td.empty::before{display:none}
.admin-tool-access .legend{font-size:11px}}

/* Match the existing panel typography, spacing and restrained controls. */
.panel-content,.panel-page-container {min-width:0;}
.admin-tool {margin:0; min-width:0; min-height:0; background:transparent; color:#343a40; font-family:inherit; font-size:14px; --blue:#007bff; --line:#dee2e6; --muted:#6c757d;}
.admin-tool main {width:100%;max-width:none;margin:0;padding:0;}
.admin-tool .tool-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:2px 0 20px;}
.admin-tool .tool-heading h1 {font-size:24px;font-weight:400;line-height:1.3;margin:0 0 7px;letter-spacing:0;}
.admin-tool .tool-heading p {font-size:13px;line-height:1.5;margin:0;color:#6c757d;}
.admin-tool .tool-links {display:flex;flex-wrap:wrap;gap:16px;font-size:12px;flex-shrink:0;}
.admin-tool .tool-note {color:#6c757d;font-size:12px;white-space:nowrap;}
.admin-tool .card {display:block;padding:16px;border-radius:4px;box-shadow:none;margin-top:0;}
.admin-tool .metric {border-radius:4px;box-shadow:none;background:#fff;}
.admin-tool input,.admin-tool select,.admin-tool button {border-radius:4px;font-weight:400;}
.admin-tool input {min-width:0;}
.admin-tool .toolbar {gap:8px;}
.admin-tool .toolbar input,.admin-tool .toolbar select,.admin-tool .toolbar button {padding:8px 10px;min-height:38px;}
.admin-tool .session-actions-menu summary,.admin-tool .sessions-table-wrap,.admin-tool .report {border-radius:4px;}
.admin-tool .session-actions-menu summary {font-weight:500;}
.admin-tool .metric.quick-filter:hover {transform:none;box-shadow:none;background:#f8f9fa;}
.admin-tool .metric.quick-filter.active {outline:2px solid rgba(0,123,255,.3);}
.admin-tool .multi-ip-allowed {background:transparent;}
.admin-tool-sessions .toolbar {display:flex;flex-wrap:wrap;}
.admin-tool-sessions .toolbar #search {flex:1;min-width:220px;}
.admin-tool-sessions .toolbar #server {min-width:145px;}
.admin-tool-sessions .toolbar #refresh {margin-left:auto;}
.admin-tool-sessions .summary {grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;}
.admin-tool-sessions .summary .metric {padding:12px 10px;}
.admin-tool-sessions .summary .metric span {font-size:12px;}
.admin-tool-reports .toolbar {grid-template-columns:minmax(0,1fr) auto;}
.admin-tool-reports .report-head {background:#f8f9fa;}
.admin-tool-reports .toolbar button {padding-left:24px;padding-right:24px;}
.admin-tool-access .metric {border-radius:4px;}
.admin-tool-access .tabs .tab {font-weight:400;}
.admin-tool button:focus-visible,.admin-tool input:focus-visible,.admin-tool select:focus-visible,.admin-tool summary:focus-visible,.admin-tool [role=button]:focus-visible {outline:2px solid #80bdff;outline-offset:2px;}
@media(max-width:1199px){.admin-tool-sessions .summary {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:800px){
 .admin-tool .tool-heading {align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:16px;}
 .admin-tool .card {padding:12px;}
 .admin-tool .toolbar input,.admin-tool .toolbar select,.admin-tool .toolbar button {min-height:44px;}
 .admin-tool-sessions .toolbar {display:grid;grid-template-columns:1fr 1fr;}
 .admin-tool-sessions .toolbar #search {grid-column:1/-1;min-width:0;}
 .admin-tool-sessions .toolbar #server {min-width:0;}
 .admin-tool-sessions .toolbar #refresh {grid-column:1/-1;margin:0;}
 .admin-tool-sessions .toolbar button {white-space:normal;font-size:13px;}
 .admin-tool-sessions .summary {grid-template-columns:repeat(2,minmax(0,1fr));}
 .admin-tool-sessions .summary .metric:last-child {grid-column:1/-1;}
 .admin-tool-sessions tr {border-radius:4px;box-shadow:none;}
 .admin-tool-reports .report-head {grid-template-columns:1fr 1fr;}
}
@media(max-width:540px){.admin-tool-access .table-wrap tr {border-radius:4px;}}

/* Archive viewing sessions: plain labels alongside the existing live session list. */
.admin-tool-sessions .viewing-type {display:block;width:fit-content;margin-top:6px;border-radius:4px;padding:3px 7px;font-size:12px;font-weight:600;line-height:1.4;}
.admin-tool-sessions .viewing-type.archive {background:#ede9fe;color:#5b21b6;border:1px solid #ddd6fe;}
.admin-tool-sessions .archive-period {margin-top:7px;font-size:12px;line-height:1.5;color:#526174;}
.admin-tool-sessions .archive-period span {display:block;font-weight:600;}
.admin-tool-sessions .archive-session-note {margin:12px 0;font-size:12px;color:#6c757d;line-height:1.5;}

.admin-tool-reports .pager,.admin-tool-sessions .number-pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:16px 0}
.admin-tool-reports .pager label,.admin-tool-sessions .number-pager label{display:flex;align-items:center;gap:6px;margin:0 8px 0 0;font-size:13px}
.admin-tool-reports .pager select,.admin-tool-sessions .number-pager select{width:auto;min-width:64px;padding:5px 8px}
.admin-tool-reports .pager button,.admin-tool-sessions .number-pager button{min-width:32px;padding:6px 10px}
.admin-tool-reports .pager button[aria-current=page],.admin-tool-sessions .number-pager button[aria-current=page]{background:#e8f0fe;border-color:#7594db;color:#1e4298;font-weight:700}
