.health-page{width:100%;max-width:100vw;min-width:0;box-sizing:border-box;overflow:hidden}.health-table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}table.health-table{width:max-content;border-collapse:separate;border-spacing:0 1px;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#6b7280;font-size:1rem}table.health-table thead th{text-align:left;border-bottom:1px solid #e5e7eb;background:#fafafa;font-weight:500;white-space:nowrap}table.health-table th.health-check-header,table.health-table td.health-check-name,table.health-table td.group-name{position:sticky;left:0;z-index:2;background:#fff}table.health-table th.health-check-header{z-index:3;min-width:10rem}table.health-table th.thresholds-header{min-width:10rem;padding:.35rem .45rem;text-align:center;vertical-align:middle;box-sizing:border-box}.thresholds-header-labels{margin-top:.25rem;display:grid;grid-template-columns:1fr 1fr;gap:.35rem;color:#9ca3af;font-size:.65rem}table.health-table tr.hour-header-row{height:2rem}table.health-table th.hour-header{height:2rem;padding:0;position:relative;overflow:visible;border-right:1px solid #d1d5db}.hour-toggle-button{position:absolute;top:0;bottom:0;left:0;z-index:1;width:100%;min-width:1.75rem;padding:0 .35rem;border:0;background:#f3f4f6;color:#374151;display:flex;align-items:center;justify-content:center;gap:.3rem;font:inherit;font-size:.75rem;white-space:nowrap;overflow:hidden;cursor:pointer}.hour-toggle-button:hover{background:#e5e7eb}.hour-toggle-button:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.hour-toggle-icon{flex:0 0 auto;font-size:.9rem;font-weight:700}.hour-label{overflow:hidden;text-overflow:ellipsis}.hour-count{flex:0 0 auto;color:#9ca3af;font-size:.65rem}table.health-table th.hour-header-expanded .hour-toggle-button{justify-content:flex-start}table.health-table th.cycle-header{padding:0;position:relative;overflow:hidden;box-sizing:border-box;width:var(--cycle-column-width);min-width:var(--cycle-column-width);max-width:var(--cycle-column-width);border-bottom-width:var(--cycle-header-border-width)}table.health-table th.cycle-header .cycle-sizer{writing-mode:vertical-rl;text-orientation:mixed;visibility:hidden;display:var(--cycle-detail-display);width:0;height:auto;white-space:nowrap;font-size:.65rem}table.health-table th.cycle-header>div{width:100%;aspect-ratio:1 / 1;display:var(--cycle-detail-display)}table.health-table th.cycle-header .cycle-date{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center;white-space:nowrap;font-size:.65rem;color:#6b7280;pointer-events:none;display:var(--cycle-detail-display)}table.health-table tr.group-row{background-color:#f9fafb;font-weight:500}table.health-table tr.group-row td{padding:.25rem 0}table.health-table tr.group-row td.group-name{padding-right:1rem;background:#f9fafb;white-space:nowrap}table.health-table td{padding:0}table.health-table td.health-check-name{padding-right:1rem;white-space:nowrap}table.health-table td.response-time-thresholds{min-width:10rem;padding:.15rem .35rem;background:#fff;box-sizing:border-box}.threshold-fields{display:flex;gap:.35rem;align-items:center}.threshold-field{min-width:0;display:flex;align-items:center;gap:.2rem;font-size:.65rem;font-weight:600}.threshold-field-yellow{color:#a16207}.threshold-field-red{color:#dc2626}.threshold-field input{width:3.5rem;min-width:0;padding:.2rem .25rem;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font:inherit;font-size:.7rem;box-sizing:border-box}.threshold-field input:focus{border-color:#2563eb;outline:2px solid rgb(37 99 235 / 20%);outline-offset:0}table.health-table td.group-thresholds{min-width:10rem;background:#f9fafb}table.health-table th.load-more-header{min-width:8.5rem;padding:0 .75rem;text-align:center}table.health-table td.load-more-cell{min-width:8.5rem;background:#fafafa}.load-more-button{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font:inherit;white-space:nowrap;cursor:pointer}.load-more-button:hover:not(:disabled){background:#f3f4f6}.load-more-button:disabled{cursor:wait;opacity:.65}.load-more-end{color:#9ca3af;font-size:.75rem;white-space:nowrap}.load-more-error{margin-top:.5rem;color:#b91c1c;font-size:.85rem}table.health-table td>.dot{padding:0;width:1.5rem;height:1.5rem;display:block;box-sizing:border-box}table.health-table td.cycle-cell{overflow:hidden;box-sizing:border-box;width:var(--cycle-column-width);min-width:var(--cycle-column-width);max-width:var(--cycle-column-width)}table.health-table td.cycle-cell>.dot{width:var(--cycle-column-width);min-width:var(--cycle-column-width);max-width:var(--cycle-column-width);overflow:hidden;color:var(--cycle-column-text-color);border-right:var(--cycle-column-divider-width) solid #ffffff}table.health-table td.unknown>.dot{background-color:#d1d5db}table.health-table td.healthy>.dot{background-color:#22c55e}table.health-table td.response-time-yellow>.dot{background-color:#facc15}table.health-table td.response-time-red>.dot{background-color:#fca5a5}table.health-table td.unhealthy>.dot{background-color:#ef4444}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f9fafb}.login-card{display:grid;gap:.75rem;padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:280px}.login-title{font-weight:600;color:#111827}.login-card label{display:grid;gap:.25rem;font-size:.9rem;color:#6b7280}.login-card input{padding:.5rem .6rem;border:1px solid #d1d5db;border-radius:6px}.login-card button{padding:.55rem .75rem;background:#111827;color:#fff;border:none;border-radius:6px;cursor:pointer}.login-error{color:#b91c1c;font-size:.85rem}.dot-cell{align-items:center;text-align:center;color:#fff;font-size:.5rem}
