.admin-console{padding:32px 0 18px;background:var(--rp-canvas)} .admin-page-title{display:flex;align-items:end;justify-content:space-between;gap:20px} .admin-page-title h1{font-size:30px} .admin-total-strip,.admin-metric-strip{display:flex;flex-wrap:wrap;gap:8px} .admin-total-strip span,.admin-metric-strip span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 12px;border:1px solid var(--rp-line);border-radius:999px;background:var(--rp-surface);color:var(--rp-muted);font-size:13px;white-space:nowrap} .admin-total-strip strong,.admin-metric-strip strong{color:var(--rp-ink);font-size:14px;font-weight:600} .admin-block{padding:18px 0} .admin-block + .admin-block{border-top:1px solid var(--rp-soft-line)} .admin-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:10px} .admin-notice{margin:10px 0 0;border-radius:14px} .admin-cleanup-bar{display:grid;grid-template-columns:minmax(150px,0.8fr) minmax(0,2.3fr) auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--rp-soft-line)} .admin-cleanup-title{display:grid;gap:2px;min-width:0} .admin-cleanup-title h2{font-size:22px} .admin-cleanup-title span{color:var(--rp-muted);font-size:13px} .admin-cleanup-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0} .admin-cleanup-times div{min-width:0} .admin-cleanup-times dt{margin:0;color:var(--rp-muted);font-size:12px;font-weight:600} .admin-cleanup-times dd{margin:0;overflow:hidden;color:var(--rp-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap} .admin-cleanup-bar form{justify-self:end} .admin-metric-strip{margin-top:12px} .metric-card{display:grid;gap:6px;padding:16px;border:1px solid var(--rp-line);border-radius:16px;background:var(--rp-surface)} .metric-card span{color:var(--rp-muted);font-size:13px;font-weight:500} .metric-card strong{color:var(--rp-ink);font-size:20px;font-weight:600} .admin-table-scroll{max-height:480px;overflow:auto;background:var(--rp-surface);border-color:var(--rp-line) !important;border-radius:16px !important;-webkit-overflow-scrolling:touch} .admin-table-scroll thead th{position:sticky;top:0;z-index:1;background:var(--rp-surface-alt)} .table-page-size{width:auto;min-width:76px} .admin-table-shell .form-control{max-width:360px} .status-table-shell{max-width:100%;border:1px solid var(--rp-line);border-radius:16px;background:var(--rp-surface)} .pagination{--bs-pagination-color:var(--rp-muted);--bs-pagination-bg:var(--rp-surface);--bs-pagination-border-color:var(--rp-line);--bs-pagination-hover-color:var(--rp-ink);--bs-pagination-hover-bg:var(--rp-field);--bs-pagination-hover-border-color:var(--rp-line);--bs-pagination-active-color:#ffffff;--bs-pagination-active-bg:#000000;--bs-pagination-active-border-color:#000000;--bs-pagination-disabled-color:var(--rp-mute);--bs-pagination-disabled-bg:var(--rp-surface);--bs-pagination-disabled-border-color:var(--rp-line)} table{width:100%;min-width:900px;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;color:var(--rp-ink)} .table{--bs-table-bg:transparent;--bs-table-color:var(--rp-ink);--bs-table-border-color:var(--rp-soft-line);--bs-table-hover-bg:var(--rp-field);margin-bottom:0} th,td{border-bottom:1px solid var(--rp-soft-line);padding:10px 9px;text-align:left;vertical-align:middle} td{overflow-wrap:anywhere} .status-table{min-width:min(100%,420px)} .status-table th,.status-table td{white-space:normal;overflow-wrap:anywhere} .dashboard-page{background:var(--rp-canvas)} .dashboard-shell{padding:32px 0 18px} .dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px} .dashboard-header h1{margin-top:4px;font-size:32px} .dashboard-page .lead{margin-top:8px;font-size:15px} .dashboard-page .section-copy{margin-top:6px} .dashboard-page .alert{margin:0 0 18px;border-radius:12px} .dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,0.75fr);gap:16px;align-items:start} .dashboard-card{min-width:0;padding:0;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-card);box-shadow:var(--ui-shadow-sm);overflow:clip} .dashboard-card-main{display:block} .dashboard-card-compact{margin-top:16px} .dashboard-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 0} .dashboard-card-header h2,.dashboard-section h2{margin-top:2px;font-size:22px} .dashboard-card [data-slot="card-content"]{display:grid;gap:12px;padding:14px 18px 18px} .dashboard-status-card [data-slot="card-header"]{padding:18px 18px 0} .dashboard-status-card [data-slot="card-content"]{padding-top:14px} .dashboard-copy-stack{display:grid;gap:8px} .dashboard-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 18px} .dashboard-page .copy-field{gap:8px} .dashboard-page .copy-pill{min-height:48px} .dashboard-page .copy-button{min-width:96px;min-height:48px} .dashboard-page .copy-field code,.dashboard-page .copy-field input{font-size:14px} .dashboard-page .copy-reveal-button{min-height:32px} .dashboard-status-card{display:block} .dashboard-status-list{display:grid;gap:0;margin:0;border:1px solid var(--rp-soft-line);border-radius:10px;overflow:hidden} .dashboard-status-list div{display:grid;grid-template-columns:82px minmax(0,1fr);border-bottom:1px solid var(--rp-soft-line)} .dashboard-status-list div:last-child{border-bottom:0} .dashboard-status-list dt,.dashboard-status-list dd{min-width:0;margin:0;padding:10px 12px;overflow-wrap:anywhere} .dashboard-status-list dt{color:var(--rp-muted);background:var(--rp-surface-alt);font-size:13px;font-weight:600} .dashboard-status-list dd{font:500 13px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace} .dashboard-section{padding:24px 0 0} .dashboard-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px} .dashboard-settings-grid{display:grid;grid-template-columns:minmax(240px,0.75fr) minmax(0,1.25fr);gap:20px;align-items:start} .dashboard-form-card{display:grid;gap:12px;padding:18px} .dashboard-table-shell{max-height:360px;overflow:auto;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-card);box-shadow:var(--ui-shadow-sm);-webkit-overflow-scrolling:touch} .dashboard-history-table{min-width:760px} .dashboard-history-table thead th{position:sticky;top:0;z-index:1;background:var(--ui-muted)} .dashboard-history-table th,.dashboard-history-table td{padding:12px 14px} .status-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid var(--rp-line);border-radius:999px;background:var(--rp-field);color:var(--rp-charcoal);font-size:12px;font-weight:600;white-space:nowrap} .status-badge-ok{color:var(--rp-success)} .status-badge-error{color:var(--rp-danger)} .dashboard-danger-section{padding-bottom:32px} .dashboard-danger-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-card);box-shadow:var(--ui-shadow-sm)} @media (max-width:860px){.dashboard-shell{padding-top:24px} .dashboard-header,.dashboard-card-header,.dashboard-danger-card{align-items:stretch;flex-direction:column} .dashboard-grid,.dashboard-settings-grid{grid-template-columns:1fr} .dashboard-header h1{font-size:28px}} @media (max-width:560px){.dashboard-card,.dashboard-danger-card{padding:14px} .dashboard-page .copy-button,.dashboard-actions .btn,.dashboard-card-header .btn,.dashboard-danger-card .btn{width:100%} .dashboard-page .copy-field{grid-template-columns:1fr} .dashboard-status-list div{grid-template-columns:92px minmax(0,1fr)}} tr:last-child th,tr:last-child td{border-bottom:0} th{color:var(--rp-muted);font-size:12px;font-weight:600;background:var(--rp-surface-alt);white-space:nowrap} .cell-hostname{width:16rem;max-width:16rem} .cell-ip{width:10rem;max-width:12rem} .cell-time{width:13rem;max-width:13rem} .cell-status,.cell-count,.cell-delete{width:1%;white-space:nowrap} .cell-detail{min-width:18rem;max-width:28rem} .cell-actions{width:13rem} .admin-action-group{display:flex;flex-wrap:wrap;gap:6px} .admin-action-group .btn,.cell-delete .btn{min-height:34px;padding-inline:12px;white-space:nowrap} .empty{color:var(--rp-muted);text-align:center;padding:28px} .empty-state{display:grid;justify-items:center;gap:4px;padding:10px 8px;text-align:center} .empty-state-title{color:var(--ui-foreground);font-size:14px;font-weight:600} .empty-state-description{max-width:36ch;color:var(--ui-muted-foreground);font-size:13px;line-height:1.45} @media (max-width:860px){.admin-console{padding-top:24px} .admin-page-title,.admin-section-heading{align-items:start;flex-direction:column;gap:12px} .admin-cleanup-bar{grid-template-columns:1fr;align-items:start;gap:12px} .admin-cleanup-times{grid-template-columns:repeat(2,minmax(0,1fr));width:100%} .admin-cleanup-bar form{justify-self:stretch;width:100%} .admin-cleanup-bar button{width:100%} .admin-table-shell .form-control{max-width:none} .admin-table-shell [data-table-count]{white-space:normal !important} .pagination{flex-wrap:wrap;justify-content:flex-start !important} th,td{padding:10px 8px}}