:root{--surface: #14161c;--surface-raised: #1d212b;--surface-hover: #262b37;--surface-input: #1a1e28;--line: #2a2f3b;--text: #e6e8ee;--text-soft: #8b90a0;--ok: #4cd08a;--ok-bg: rgba(76, 208, 138, .12);--warn: #ffb340;--warn-bg: rgba(255, 179, 64, .12);--danger: #ff6b61;--danger-bg: rgba(255, 107, 97, .12);--accent: #6ea8ff;--accent-soft: rgba(110, 168, 255, .15);--accent-hover: #8dbaff;--info: #6ea8ff;--info-bg: rgba(110, 168, 255, .12);--fs-1: 11px;--fs-2: 13px;--fs-3: 15px;--fs-4: 17px;--fs-5: 22px;--fs-6: 28px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow: 0 1px 2px rgba(0, 0, 0, .25);--shadow-lg: 0 6px 20px rgba(0, 0, 0, .35);--transition: .2s ease}[data-theme=light]{--surface: #f7f7f5;--surface-raised: #ffffff;--surface-hover: #f2f2f7;--surface-input: #ffffff;--line: #e5e5ea;--text: #1c1c1e;--text-soft: #8e8e93;--ok: #34c759;--ok-bg: rgba(52, 199, 89, .12);--warn: #ff9500;--warn-bg: rgba(255, 149, 0, .12);--danger: #ff3b30;--danger-bg: rgba(255, 59, 48, .12);--accent: #0a84ff;--accent-soft: rgba(10, 132, 255, .12);--accent-hover: #3d9bff;--info: #0a84ff;--info-bg: rgba(10, 132, 255, .12);--shadow: 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 6px 20px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--surface);color:var(--text);line-height:1.6;min-height:100vh;padding-bottom:52px}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}.nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--surface) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 1.25rem}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:56px}.nav-brand{font-weight:700;font-size:1.1rem;color:var(--text);display:flex;align-items:center;gap:.5rem}.nav-brand:hover{color:var(--text)}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-links a,.nav-dropdown-trigger{color:var(--text-soft);font-size:.88rem}.nav-links a:hover,.nav-dropdown-trigger:hover{color:var(--text)}.nav-dropdown{position:relative;cursor:pointer;outline:none}.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:.3em;background:none;border:none;cursor:pointer;font-family:inherit}.nav-dropdown-trigger:after{content:"▾";font-size:.7em;opacity:.6}.nav-dropdown-menu{display:none;position:absolute;top:100%;right:0;margin-top:.5rem;min-width:180px;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000004d;z-index:110;padding:.4rem 0;flex-direction:column}.nav-dropdown-menu a{display:block;padding:.5rem 1rem;white-space:nowrap}.nav-dropdown-menu a:hover{background:var(--surface-hover)}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:flex}.nav-logout{background:none;border:1px solid var(--line);border-radius:6px;color:var(--text-soft);font-size:.82rem;padding:.3rem .75rem;cursor:pointer;transition:color .15s,border-color .15s}.nav-logout:hover{color:var(--text);border-color:var(--text-soft)}.nav-logout-mobile{margin:1.5rem 1.5rem 0;width:calc(100% - 3rem);padding:.6rem}.nav-mobile-section{padding:.85rem 1.5rem .3rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft)}.nav-mobile-indent{padding-left:2.5rem!important}.nav-status{display:flex;align-items:center;gap:1rem;font-size:.82rem;color:var(--text-soft)}.refresh-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block;transition:background var(--transition)}.refresh-dot.error{background:var(--danger)}.countdown{font-variant-numeric:tabular-nums}.summary-bar{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.summary-stat{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;flex:1;min-width:140px;text-align:center}.stat-value{font-size:1.75rem;font-weight:700;line-height:1.2}.stat-label{font-size:.75rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}.stat-value.green{color:var(--ok)}.stat-value.red{color:var(--danger)}.stat-value.orange{color:var(--warn)}.stat-value.accent{color:var(--accent)}.section-header{display:flex;align-items:center;justify-content:space-between;margin:2rem 0 1rem}.section-header h2{font-size:1.1rem;font-weight:600}.badge{font-size:.75rem;padding:.2em .6em;border-radius:999px;background:var(--surface-hover);color:var(--text-soft)}.host-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.host-grid-compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem}.host-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;transition:border-color var(--transition),box-shadow var(--transition)}.host-card-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.host-card-compact{padding:.75rem}.host-card-compact .host-card-header{margin-bottom:.35rem}.host-card-compact .host-meta{margin-bottom:.35rem;font-size:.75rem}.host-card-compact .metrics{gap:.3rem}.host-card-compact .metric-bar{height:6px}.host-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 16px color-mix(in srgb,var(--accent) 10%,transparent)}.host-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.online{background:var(--ok);box-shadow:0 0 6px color-mix(in srgb,var(--ok) 40%,transparent)}.status-dot.stale{background:var(--warn);box-shadow:0 0 6px color-mix(in srgb,var(--warn) 40%,transparent)}.host-card-header a{font-weight:600;font-size:1rem;color:var(--text)}.host-card-header a:hover{color:var(--accent)}.host-meta{font-size:.8rem;color:var(--text-soft);margin-bottom:.75rem;line-height:1.5}.host-meta span+span:before{content:" •";margin:0 .3em;color:var(--line)}.metrics{display:flex;flex-direction:column;gap:.5rem}.metric-row{display:flex;align-items:center;gap:.5rem}.metric-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);width:36px;flex-shrink:0}.metric-bar{flex:1;background:var(--surface);border-radius:999px;height:8px;overflow:hidden}.metric-bar-fill{height:100%;border-radius:999px;transition:width .6s ease-out;min-width:2px}.metric-bar-fill.ok{background:linear-gradient(90deg,var(--ok),color-mix(in srgb,var(--ok) 70%,white))}.metric-bar-fill.warn{background:linear-gradient(90deg,var(--warn),color-mix(in srgb,var(--warn) 70%,white))}.metric-bar-fill.crit{background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 70%,white))}.metric-value{font-size:.75rem;color:var(--text-soft);width:52px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.badge-up{display:inline-flex;align-items:center;gap:.3em;background:var(--ok-bg);color:var(--ok);padding:.15em .55em;border-radius:999px;font-size:.78rem;font-weight:600}.badge-down{display:inline-flex;align-items:center;gap:.3em;background:var(--danger-bg);color:var(--danger);padding:.15em .55em;border-radius:999px;font-size:.78rem;font-weight:600}.badge-stale{display:inline-flex;align-items:center;gap:.3em;background:var(--warn-bg);color:var(--warn);padding:.15em .55em;border-radius:999px;font-size:.78rem;font-weight:600}.badge-filter{display:inline-flex;align-items:center;gap:.3em;background:var(--info-bg);color:var(--info);padding:.15em .55em;border-radius:999px;font-size:.75rem;font-weight:500}.badge-http{font-size:.7rem;color:var(--text-soft);margin-left:.3em}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-raised)}table{width:100%;border-collapse:collapse;font-size:.88rem}thead th{position:sticky;top:0;background:var(--surface-hover);color:var(--text-soft);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;-webkit-user-select:none;user-select:none}thead th.sortable{cursor:pointer;transition:color var(--transition)}thead th.sortable:hover{color:var(--text)}.sort-arrow{font-size:.65rem;margin-left:.3em;opacity:.4}thead th.sort-asc .sort-arrow,thead th.sort-desc .sort-arrow{opacity:1;color:var(--accent)}tbody td{padding:.65rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent);white-space:nowrap}tbody tr{transition:background var(--transition)}tbody tr:nth-child(2n){background:#ffffff04}tbody tr:hover{background:var(--surface-hover)}tbody td a{color:var(--text);font-weight:500}tbody td a:hover{color:var(--accent)}.rt-fast{color:var(--ok)}.rt-mid{color:var(--warn)}.rt-slow{color:var(--danger)}.ticker{position:fixed;bottom:0;left:0;right:0;height:40px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);z-index:100;overflow:hidden;display:flex;align-items:center}.ticker-label{flex-shrink:0;padding:0 1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);border-right:1px solid var(--line);height:100%;display:flex;align-items:center}.ticker-track{flex:1;overflow:hidden;position:relative;height:100%}.ticker-content{display:flex;align-items:center;gap:2.5rem;height:100%;padding-left:1rem;white-space:nowrap;animation:ticker-scroll 30s linear infinite;width:max-content}.ticker-content:hover{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{font-size:.78rem;display:flex;align-items:center;gap:.4em}.ticker-item .arrow-up{color:var(--ok)}.ticker-item .arrow-down{color:var(--danger)}.ticker-item .ticker-time{color:var(--text-soft)}.ticker-empty{padding-left:1rem;font-size:.78rem;color:var(--text-soft);height:100%;display:flex;align-items:center}.breadcrumb{display:flex;align-items:center;gap:.4em;font-size:.85rem;margin:1.25rem 0 .5rem;color:var(--text-soft)}.breadcrumb a{color:var(--text-soft)}.breadcrumb a:hover{color:var(--accent)}.breadcrumb .sep{color:var(--line)}.info-card{background:var(--surface-raised);border:none;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin:1rem 0}.info-card h1{font-size:1.5rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.2rem}.info-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft)}.info-value{font-size:.95rem;font-weight:500}.detail-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}.detail-metric{display:flex;flex-direction:column;gap:.35rem}.detail-metric .metric-header{display:flex;justify-content:space-between;align-items:baseline}.detail-metric .metric-header .metric-label{width:auto}.detail-metric .metric-pct{font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}.detail-metric .metric-bar{flex:none;height:10px}.detail-metric .metric-detail{font-size:.75rem;color:var(--text-soft)}details.collapsible{margin-bottom:1rem}details.collapsible>summary{cursor:pointer;font-size:.8rem;color:var(--text-soft);padding:.3rem 0;-webkit-user-select:none;user-select:none;list-style:none}details.collapsible>summary::-webkit-details-marker{display:none}details.collapsible>summary:before{content:"▶";font-size:.65rem;margin-right:.3em;transition:transform var(--transition);display:inline-block}details.collapsible[open]>summary:before{transform:rotate(90deg)}.mount-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.mount-item{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem 1rem}.mount-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.mount-path{font-weight:600;font-size:.88rem}.mount-device{font-size:.75rem;color:var(--text-soft)}.mount-detail{font-size:.75rem;color:var(--text-soft);margin-top:.3rem}.chart-container{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;margin:1rem 0}.chart-controls{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.chart-controls button{background:var(--surface-hover);border:1px solid var(--line);color:var(--text-soft);padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.78rem;cursor:pointer;transition:all var(--transition)}.chart-controls button:hover{color:var(--text);border-color:var(--accent)}.chart-controls button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.search-bar{display:flex;gap:.75rem;margin:1rem 0;align-items:center}.search-input{flex:1;max-width:400px;background:var(--surface-input);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:.5rem .75rem;font-size:.88rem;outline:none;transition:border-color var(--transition)}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-soft)}.auth-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.auth-form{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;width:100%;max-width:360px;display:flex;flex-direction:column;gap:1rem;text-align:center}.auth-form h1{font-size:1.5rem;color:var(--text)}.auth-form input{background:var(--surface-input);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:.6rem .75rem;font-size:.95rem;outline:none}.auth-form input:focus{border-color:var(--accent)}.auth-form button{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:.6rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background var(--transition)}.auth-form button:hover{background:var(--accent-hover)}.auth-error{color:var(--danger);font-size:.85rem}.settings-form{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;margin:1rem 0}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin-bottom:.3rem}.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--surface-input);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:.5rem .75rem;font-size:.88rem;outline:none;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.form-actions{display:flex;gap:.75rem;margin-top:1rem}.btn{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid var(--line);transition:all var(--transition)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-secondary{background:var(--surface-hover);color:var(--text-soft)}.btn-secondary:hover{color:var(--text)}.channel-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between}.channel-info{display:flex;align-items:center;gap:.75rem}.channel-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.15em .5em;border-radius:var(--radius-sm);background:var(--surface-hover);color:var(--text-soft)}.channel-name{font-weight:600}.channel-actions{display:flex;gap:.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-soft);font-size:.95rem}.footer{text-align:center;padding:2rem 0;color:var(--text-soft);font-size:.75rem}.change-old{opacity:.6}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-soft)}@keyframes skeleton-pulse{0%,to{opacity:.15}50%{opacity:.3}}.skeleton-line{height:.85rem;border-radius:4px;background:var(--text-soft);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.6rem}.skeleton-card-header{display:flex;align-items:center;gap:.5rem}.skeleton-dot{width:10px;height:10px;border-radius:50%;background:var(--text-soft);animation:skeleton-pulse 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-bars{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.skeleton-chart{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.skeleton-chart-area{height:200px;border-radius:4px;background:var(--text-soft);animation:skeleton-pulse 1.5s ease-in-out infinite}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{pointer-events:auto;cursor:pointer;padding:.75rem 1.25rem;border-radius:var(--radius);font-size:.88rem;font-weight:500;box-shadow:0 4px 16px #0000004d;animation:toast-in .2s ease-out;max-width:360px}@keyframes toast-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}.toast-success{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok)}.toast-error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}.toast-info{background:var(--surface-raised);color:var(--text);border:1px solid var(--line)}.error-boundary{display:flex;align-items:center;justify-content:center;padding:3rem;min-height:300px}.error-boundary-card{background:var(--surface-raised);border:1px solid var(--danger);border-radius:var(--radius);padding:2rem;text-align:center;max-width:400px}.error-boundary-card h2{margin-bottom:.75rem;color:var(--danger)}.error-boundary-message{color:var(--text-soft);font-size:.88rem;margin-bottom:1.25rem;word-break:break-word}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--text-soft)}.error-state p{font-size:.95rem}.error-state .btn{margin-top:.5rem}.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--text-soft);min-width:44px;min-height:44px;align-items:center;justify-content:center}.nav-hamburger svg{display:block}.nav-hamburger:hover{color:var(--text)}.nav-mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:199}.nav-mobile-overlay.open{display:block}.nav-mobile-menu{display:flex;position:fixed;top:0;right:0;bottom:0;width:260px;max-width:80vw;background:var(--surface-raised);border-left:1px solid var(--line);z-index:200;padding:1rem 0;flex-direction:column;gap:0;transform:translate(100%);transition:transform .25s ease;visibility:hidden;pointer-events:none}.nav-mobile-menu.open{transform:translate(0);visibility:visible;pointer-events:auto}.nav-mobile-menu a{display:block;padding:.85rem 1.5rem;color:var(--text-soft);font-size:.95rem;min-height:44px;display:flex;align-items:center}.nav-mobile-menu a:hover{background:var(--surface-hover);color:var(--text)}.nav-mobile-close{background:none;border:none;cursor:pointer;color:var(--text-soft);padding:.85rem 1.5rem;font-size:.95rem;text-align:left;min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:.5rem}.nav-mobile-close:hover{color:var(--text)}@media(max-width:768px){.host-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.summary-bar{flex-wrap:wrap}.summary-stat{min-width:120px}.info-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.detail-metrics{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.chart-container{padding:1rem}.chart-controls{gap:.35rem}.chart-controls button{padding:.35rem .6rem;min-height:44px}}.dashboard-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem}.export-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-bottom:.5rem}@media(max-width:640px){.container{padding:0 .75rem}.nav-links{display:none}.nav-hamburger{display:flex}.nav-status{display:none}.summary-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0}.summary-stat{min-width:auto;padding:.5rem}.stat-value{font-size:1.1rem}.stat-label{font-size:.65rem}.host-grid{grid-template-columns:1fr;gap:.75rem}.host-card{padding:1rem}.table-wrap{margin:0 -.75rem;border-radius:0;border-left:none;border-right:none}table{min-width:600px}thead th{padding:.6rem .75rem}tbody td{padding:.5rem .75rem}.info-card{padding:1rem}.info-card h1{font-size:1.25rem}.info-grid{grid-template-columns:1fr 1fr;gap:.75rem}.detail-metrics{grid-template-columns:1fr}.chart-container{padding:.75rem;margin:.75rem 0}.chart-controls{overflow-x:auto;flex-wrap:nowrap;gap:.25rem;padding-bottom:.25rem}.chart-controls button{flex-shrink:0;min-height:44px}.settings-form{padding:1rem}.form-actions{flex-direction:column}.form-actions .btn{width:100%;text-align:center;min-height:44px}.search-bar{flex-direction:column;align-items:stretch}.search-input{max-width:none;min-height:44px}.dashboard-toolbar{gap:.4rem .5rem;font-size:.78rem}.dashboard-toolbar .btn,.dashboard-toolbar .search-input{min-height:36px;font-size:.75rem;padding:.2rem .4rem}.export-actions{display:none}.channel-card{flex-direction:column;align-items:stretch;gap:.75rem}.channel-actions{justify-content:flex-end}.breadcrumb{font-size:.8rem}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin:1.5rem 0 .75rem}.ticker{height:36px}.ticker-label{padding:0 .75rem;font-size:.65rem}.ticker-item{font-size:.72rem}body{padding-bottom:44px}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}a.nav-brand{min-height:44px;display:flex;align-items:center}}@media(max-width:400px){.summary-bar{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}.host-card-header a{font-size:.9rem}.mount-grid{grid-template-columns:1fr}}.triage-filters{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.triage-filter-group{display:flex;gap:.3rem}.triage-filters .btn{font-size:.75rem;padding:.25rem .6rem}.triage-search{max-width:220px}.pulse-strip{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}.pulse-strip .stat-tile{min-width:90px}.triage-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem}.triage-row-meta{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.triage-row-meta .btn{font-size:.72rem;padding:.2rem .5rem}@media(max-width:640px){.pulse-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.pulse-strip .stat-tile{min-width:0;padding:.5rem .4rem}.pulse-strip .stat-value{font-size:1.05rem}.pulse-strip .stat-label{font-size:.6rem}.triage-filters{gap:.5rem}.triage-filters .btn{min-height:44px;padding:.25rem .8rem}.triage-search{max-width:none;flex:1 1 100%;min-height:44px}.triage-row{flex-wrap:wrap}.triage-row-meta{flex-basis:100%;justify-content:flex-end;margin-top:.4rem}.triage-row-meta .btn{min-height:44px;padding:.25rem .9rem}}@media(max-width:400px){.pulse-strip{grid-template-columns:repeat(2,1fr)}}.tab-bar{display:flex;gap:.5rem;border-bottom:1px solid var(--line);margin:.75rem 0 1rem;flex-wrap:wrap}.tab-select{display:none}@media(max-width:640px){.tab-bar{display:none}.tab-select{display:block;width:100%;min-height:44px;margin:.75rem 0 1rem;background:var(--surface-raised);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:.4rem .6rem;font-size:.9rem}}.triage-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.status-pill{display:inline-flex;align-items:center;gap:.35em;border-radius:999px;padding:.15rem .65rem;font-size:.75rem;font-weight:650;letter-spacing:.01em}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-pill.ok{color:var(--ok);background:var(--ok-bg)}.status-pill.warn{color:var(--warn);background:var(--warn-bg)}.status-pill.danger{color:var(--danger);background:var(--danger-bg)}.status-pill.unknown{color:var(--text-soft);background:var(--surface-hover)}.stat-tile{background:var(--surface-raised);border-radius:var(--radius);box-shadow:var(--shadow);padding:.6rem .9rem;text-align:center}.stat-tile .stat-value{font-size:1.35rem;font-weight:750;letter-spacing:-.02em}.stat-tile .stat-label{font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}.banner{display:flex;align-items:center;gap:.75rem;border-radius:var(--radius-lg);padding:.9rem 1.2rem;font-weight:650;box-shadow:var(--shadow)}.banner.ok{background:var(--ok-bg);color:var(--ok)}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner.danger{background:var(--danger-bg);color:var(--danger)}.brand-word{font-weight:800;letter-spacing:-.03em;color:var(--text)}.brand-word .brand-dot{color:var(--accent)}.brand-app{font-size:.62rem;font-weight:650;letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft);margin-left:.5rem}.status-page{min-height:100vh;background:var(--surface);color:var(--text)}.status-shell{max-width:640px;margin:0 auto;padding:2.5rem 1rem 3rem}.status-title{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;margin:0}.status-muted{color:var(--text-soft);font-size:.85rem;margin:.25rem 0 1.25rem}.status-page .banner{margin-bottom:1rem}.status-groups{display:flex;flex-direction:column;gap:.6rem}.status-group-card{background:var(--surface-raised);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem 1.1rem}.status-group-row{display:flex;align-items:center;justify-content:space-between}.status-group-name{font-weight:650}.status-reassure{margin:.35rem 0 0}.text-soft{color:var(--text-soft)}.triage-sev{width:16px;height:16px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.6rem;font-weight:700;background:var(--surface-hover)}.triage-sev.critical{background:var(--danger)}.triage-sev.warning{background:var(--warn);color:var(--surface)}.triage-sev.info{background:var(--accent);color:var(--surface)}.chip{background:var(--surface-hover);color:var(--text-soft);border-radius:999px;padding:.05rem .45rem;font-size:.65rem;line-height:1.4;text-decoration:none}.health-score-badge{display:inline-block;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700;margin-left:.4rem;line-height:1.4;color:#fff}.health-score-badge.ok{background:var(--ok)}.health-score-badge.warn{background:var(--warn);color:var(--surface)}.health-score-badge.danger{background:var(--danger)}.role-badge{background:var(--accent);color:var(--surface);border-radius:999px;padding:.05rem .45rem;font-size:.65rem;line-height:1.4;text-transform:capitalize}.btn-compact{font-size:.75rem;padding:.25rem .6rem}.tag-chip{display:inline-flex;align-items:center;gap:.3rem}.tag-input{background:var(--accent-soft);border:1px solid var(--line);border-radius:999px;color:inherit;padding:.15rem .5rem;font-size:.75rem;width:6rem;outline:none}.audit-entry{padding:.75rem 1rem;display:flex;align-items:flex-start;gap:.75rem}.audit-marker{width:8px;height:8px;border-radius:50%;margin-top:.4rem;flex-shrink:0;background:var(--text-soft)}.audit-marker.ok{background:var(--ok)}.audit-marker.warn{background:var(--warn)}.audit-marker.danger{background:var(--danger)}.audit-marker.accent{background:var(--accent)}.audit-action{font-weight:600;font-size:.85rem;color:var(--text)}.audit-action.ok{color:var(--ok)}.audit-action.warn{color:var(--warn)}.audit-action.danger{color:var(--danger)}.audit-action.accent{color:var(--accent)}.audit-detail-key{opacity:.7}.topology-canvas{width:100%;height:600px;background:var(--surface-raised);border-radius:var(--radius);overflow:hidden}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-danger{color:var(--danger)}.form-fieldset{border:1px solid var(--line);border-radius:.5rem;padding:.75rem;margin:.5rem 0}.form-fieldset legend{font-size:.85rem;padding:0 .3rem}
