:root{--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--bg: #f5f5f5;--bg-page: #f5f5f5;--bg-card: #fff;--card-bg: #fff;--border: #e5e7eb;--border-input: #d1d5db;--text: #111827;--muted: #6b7280;--micro: #6b7280;--text-muted: #6b7280;--text-muted-strong: #4b5563;--highlight-bg: #fef9c3;--success: #2e7d32;--error-text: #b91c1c;--radius-sm: 4px;--radius: 6px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-lg: 15px;--font-xs: 11px;--font-sm: 12px;--font-base: 13px;--font-md: 14px;--lh-tight: 1.3;--lh-normal: 1.4;--line-height: 1.4;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--focus-ring: 2px solid #3b82f6;--focus-offset: 2px;--btn-height-sm: 28px;--btn-padding-x: 12px;--btn-padding-y: 6px;--btn-primary-bg: #111827;--btn-secondary-bg: #374151;--btn-disabled-opacity: .6;--table-border: 1px solid var(--border);--table-cell-padding-dense: 8px 10px;--table-th-padding: 10px 10px;--table-header-bg: #f9fafb;--table-row-hover: #f3f4f6;--table-header-fw: 600;--table-zebra: #fafafa}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--text);background:var(--bg-page)}.page-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);margin:0}.section-title{font-size:var(--font-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);margin:0}.card-title{font-size:var(--font-md);font-weight:var(--fw-semibold);color:var(--text);margin:0}.table-head{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-muted-strong)}.muted{color:var(--muted);font-size:inherit}a{color:inherit;text-decoration:none}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:#1f2937;color:#fff;padding:var(--space-lg)}.sidebar .section-title{color:#fff;margin-bottom:var(--space-sm)}.sidebar nav{display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar a,.sidebar .nav-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:#e5e7eb;text-decoration:none;border-radius:var(--radius);transition:background .15s ease,color .15s ease}.sidebar a:hover,.sidebar .nav-item:hover{background:#ffffff14;color:#fff}.sidebar a.nav-item-active{background:#ffffff1f;color:#fff;font-weight:var(--fw-medium)}.sidebar a:focus-visible,.sidebar .nav-item:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.sidebar .nav-item-icon{flex-shrink:0;color:#9ca3af}.sidebar a.nav-item-active .nav-item-icon{color:#e5e7eb}.preview-indicator{display:inline-block;font-size:var(--font-xs);color:#9ca3af;margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.main{padding:var(--space-xl)}.grid{display:grid;gap:var(--space-lg)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar{display:flex;gap:var(--space-md);align-items:center;flex-wrap:wrap}.card{background:var(--card-bg);border:var(--table-border);border-radius:var(--radius);padding:var(--space-md) var(--space-lg);box-shadow:none}.card h4{margin:0;font-size:var(--font-md);font-weight:var(--fw-semibold);color:var(--text)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:var(--table-border)}.card-header h4,.card-header .card-title{margin:0}.card-header-left{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0}.card-header-icon{flex-shrink:0;color:var(--text-muted)}.card-header-subtitle{margin:var(--space-xs) 0 0 0}.list-item-card{list-style:none;padding:var(--space-sm);margin-bottom:var(--space-sm);background:var(--bg-page);border-radius:var(--radius)}.list-item-card .list-item-title{font-weight:var(--fw-semibold)}.list-item-card .list-item-meta{font-size:var(--font-sm);color:var(--text-muted)}.card-header-right{flex-shrink:0}.microtext{font-size:var(--text-sm);color:var(--micro);margin:0 0 var(--space-sm) 0}.status{font-size:var(--font-md);color:var(--text-muted)}.list-compact{list-style:none;padding:0;margin:0 0 var(--space-sm) 0;font-size:var(--font-base)}.list-compact li{padding:var(--space-xs) 0}.table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.table th,.table td{border-bottom:var(--table-border);text-align:left}.table th{padding:var(--table-th-padding);font-weight:var(--table-header-fw);font-size:var(--text-sm);color:var(--text-muted-strong);background:var(--table-header-bg)}.table td{padding:var(--table-cell-padding-dense)}.table th.table-head{font-weight:var(--fw-semibold)}.table tr.highlight-row td{background:var(--highlight-bg);transition:background .2s ease}.table-row-clickable{cursor:pointer}.table-row-clickable:hover td{background:var(--table-row-hover)}.table-row-clickable:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.table-row-clickable:focus-visible td{background:var(--table-row-hover)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table th.num{text-align:right}.table .nowrap{white-space:nowrap}.table .truncate{max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-zebra tbody tr:nth-child(2n) td{background:var(--table-zebra)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--font-base);font-family:inherit;border:none;border-radius:var(--radius);cursor:pointer;background:var(--btn-primary-bg);color:#fff}.btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.btn:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}.btn.secondary{background:var(--btn-secondary-bg)}.btn-sm{min-height:var(--btn-height-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--font-sm)}.link{background:none;border:none;color:#93c5fd;cursor:pointer;font-size:inherit;text-decoration:underline;padding:0}.link:hover{color:#bfdbfe}.link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.input,.select{width:100%;padding:var(--space-sm);font-size:var(--font-base);font-family:inherit;border:1px solid var(--border-input);border-radius:var(--radius);background:var(--bg-card)}.input:focus,.select:focus{outline:var(--focus-ring);outline-offset:0;border-color:#3b82f6}.inline-error{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-sm) 0;font-size:var(--text-base);color:var(--error-text)}.inline-error .inline-error-message{flex:1;min-width:0}.text-error{color:var(--error-text);font-size:var(--text-sm)}.success-text{color:var(--success);font-size:var(--text-sm)}.empty-state{padding:var(--space-lg) var(--space-sm);text-align:center;font-size:var(--font-base);color:var(--text-muted)}.pill{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);font-size:var(--font-xs);font-weight:500;border-radius:var(--radius-sm);line-height:1.2}.pill-ok{background:#065f46;color:#d1fae5}.pill-slow{background:#92400e;color:#fef3c7}.pill-down{background:#991b1b;color:#fecaca}.badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:12px;font-size:var(--font-sm);background:var(--border);color:var(--text-muted-strong)}.signal-badge{display:inline-block;margin-right:var(--space-sm);font-size:var(--font-xs);color:var(--text-muted)}.signal-badge+.signal-badge{margin-left:0}.api-status-pill{display:inline-block;font-size:var(--font-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius);margin-bottom:var(--space-sm)}.api-status-pill.ok{background:#065f46;color:#d1fae5}.api-status-pill.slow{background:#92400e;color:#fef3c7}.api-status-pill.down{background:#991b1b;color:#fecaca}.nav-disabled{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:#9ca3af;cursor:not-allowed;opacity:.7;pointer-events:none;border-radius:var(--radius)}.dashboard-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--space-lg);align-items:start}@media (max-width: 900px){.dashboard-layout{grid-template-columns:1fr}}.dashboard-main,.dashboard-side,.overview-wrap{display:flex;flex-direction:column;gap:var(--space-md)}.overview-layout{display:grid;grid-template-columns:1fr 260px;gap:var(--space-lg);align-items:start}@media (max-width: 900px){.overview-layout{grid-template-columns:1fr}}.overview-main,.overview-side{display:flex;flex-direction:column;gap:var(--space-md)}.clients-list{max-width:100%}.clients-list .table td{word-break:break-all}.clients-list-empty{padding:var(--space-xl) 0;text-align:center}.clients-list-empty .status{margin:0}.timeline-log{display:flex;flex-direction:column;gap:var(--space-md)}.timeline-group{border-bottom:var(--table-border);padding-bottom:var(--space-sm)}.timeline-date{font-size:var(--font-sm);color:var(--text-muted);margin-bottom:var(--space-xs);font-weight:600}.btn-inline{margin-left:var(--space-sm);font-size:var(--font-sm)}.list-item-separator{border-bottom:var(--table-border);padding-bottom:var(--space-sm);margin-bottom:var(--space-sm)}.list-item-separator:last-child{border-bottom:none;margin-bottom:0}.tabs{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-md)}.tabs .btn{flex-shrink:0}.tabs .btn[aria-selected=true]{border-bottom:2px solid var(--text);border-radius:var(--radius) var(--radius) 0 0}.login-card .card{max-width:360px}.login-card label{display:block;font-size:var(--font-base);margin-bottom:var(--space-xs);color:var(--text-muted-strong)}.login-card input,.login-card select{margin-bottom:var(--space-md)}.login-card .error{font-size:var(--text-base);color:var(--error-text);margin-bottom:var(--space-sm)}@media (max-width: 900px){.layout{grid-template-columns:1fr}.main{padding:var(--space-md)}.table-wrapper{margin-left:calc(-1 * var(--space-xl));margin-right:calc(-1 * var(--space-xl));padding-left:var(--space-xl);padding-right:var(--space-xl)}}@media (max-width: 600px){.table-wrapper{margin-left:calc(-1 * var(--space-md));margin-right:calc(-1 * var(--space-md));padding-left:var(--space-md);padding-right:var(--space-md)}}
