.server-card{animation:fadeIn .3s ease;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px;transition:all .3s ease}.metrics-block{margin-bottom:16px}.metrics-head{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.metrics-head h4{font-size:.9em}.metrics-host{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72em}.metrics-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.metric-top{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:5px}.metric-label{color:var(--text-secondary);font-size:.75em;letter-spacing:.03em;text-transform:uppercase}.metric-value{font-size:.85em;font-weight:600}.metric-bar{background:var(--bg-tertiary);border-radius:999px;height:6px;overflow:hidden}.metric-fill{border-radius:999px;display:block;height:100%;transition:width .3s ease}.metric-fill.lvl-ok{background:var(--ok-fg)}.metric-fill.lvl-warn{background:#f59e0b}.metric-fill.lvl-crit{background:#ef4444}.metric-fill.lvl-na{background:var(--border)}.metric-value.lvl-ok{color:var(--ok-fg)}.metric-value.lvl-warn{color:var(--warn-fg)}.metric-value.lvl-crit{color:var(--bad-fg)}.metric-value.lvl-na{color:var(--text-secondary)}.server-card:hover{border-color:var(--primary);box-shadow:0 4px 20px #3b82f61a;transform:translateY(-2px)}.card-header{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;gap:10px;justify-content:space-between;margin-bottom:20px;padding:0;text-align:left;width:100%}.card-clickable{border-radius:6px;cursor:pointer;outline:none}.card-clickable:focus-visible{box-shadow:0 0 0 2px var(--primary)}.server-name-text{display:flex;flex-direction:column;gap:2px;min-width:0}.server-desc{font-size:.78em;font-weight:400;letter-spacing:0;overflow-wrap:anywhere;text-transform:none}.chevron,.server-desc{color:var(--text-secondary)}.chevron{flex-shrink:0;font-size:1.1em;transition:transform .2s ease}.chevron.open{transform:rotate(90deg)}.expand-hint,.flag-muted{background:var(--bg-tertiary);color:var(--text-secondary)}.expand-hint{border-radius:6px;font-size:.82em;font-weight:500;padding:8px;transition:all .2s ease;width:100%}.expand-hint:hover{border-color:var(--primary);color:var(--text)}.server-expanded{animation:fadeIn .2s ease;border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.app-main{display:flex;flex-direction:column;gap:2px;min-width:0}.app-headline{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.app-domain{color:var(--text-secondary);font-size:.78em;overflow-wrap:anywhere}.app-last-online{opacity:.8}.app-last-online,.health-badge{color:var(--text-secondary);font-size:.72em}.health-badge{background:var(--bg-tertiary);border-radius:999px;flex-shrink:0;font-weight:600;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.health-healthy{background:var(--ok-bg);color:var(--ok-fg)}.health-running{background:var(--info-bg);color:var(--info-fg)}.health-exited,.health-stopped,.health-unhealthy{background:var(--bad-bg);color:var(--bad-fg)}.health-degraded,.health-restarting{background:var(--warn-bg);color:var(--warn-fg)}.status-badge{flex-shrink:0;font-size:.72em;padding:3px 8px;text-transform:lowercase}.status-badge.status-online{background:var(--ok-bg);color:var(--ok-fg)}.status-badge.status-offline{background:var(--bad-bg);color:var(--bad-fg)}.status-badge.status-warning{background:var(--warn-bg);color:var(--warn-fg)}.server-name{align-items:center;display:flex;flex:1 1;gap:12px}.server-name h3{font-size:1.1em;margin:0}.status-indicator{border-radius:50%;box-shadow:0 0 8px currentColor;flex-shrink:0;height:12px;opacity:.8;width:12px}.last-seen{color:var(--text-secondary);font-size:.8em;white-space:nowrap}.server-details{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.server-details div{background:var(--bg-tertiary);border-radius:6px;padding:10px}.server-details span{color:var(--text-secondary);display:block;font-size:.75em;margin-bottom:5px;text-transform:uppercase}.server-details strong{color:var(--text);display:block;font-size:.9em;overflow-wrap:anywhere}.server-flags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.flag{background:var(--bg-tertiary);border-radius:999px;color:var(--text-secondary);font-size:.75em;font-weight:600;padding:5px 9px;text-transform:uppercase}.flag-success{background:var(--ok-bg);color:var(--ok-fg)}.flag-danger{background:var(--bad-bg);color:var(--bad-fg)}.monitoring-section{margin-bottom:20px}.monitoring-section h4{color:var(--text-secondary);font-size:.9em;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.monitoring-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.monitoring-item{background:var(--bg-tertiary);border-radius:6px;display:flex;flex-direction:column;gap:6px;padding:10px 12px}.monitoring-item span{color:var(--text-secondary);font-size:.75em;text-transform:uppercase}.monitoring-item strong{color:var(--text);font-size:.9em;font-weight:600}.mono-live{color:var(--ok-fg)}.mono-stale{color:#f59e0b}.mono-off{color:var(--bad-fg)}.monitoring-note{color:var(--text-secondary);font-size:.75em;font-style:italic;margin-top:10px}.apps-section{margin-bottom:20px}.apps-section h4,.domains-section h4,.resources-section h4{color:var(--text-secondary);font-size:.9em;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.apps-list{display:flex;flex-direction:column;gap:8px}.app-item{align-items:center;background:var(--bg);border-radius:4px;display:flex;font-size:.85em;justify-content:space-between;padding:8px 12px}.app-name{color:var(--text);font-weight:500}.domains-section,.resources-section{margin-bottom:20px}.domain-list,.resource-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.domain-list span,.resource-summary span{background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary);font-size:.8em;overflow-wrap:anywhere;padding:5px 8px}.resource-list{display:flex;flex-direction:column;gap:8px}.resource-item{align-items:center;background:var(--bg);border-radius:4px;display:flex;font-size:.85em;gap:10px;justify-content:space-between;padding:8px 12px}.resource-item span{color:var(--text);overflow-wrap:anywhere}.resource-item strong{color:var(--text-secondary);flex-shrink:0;font-size:.8em;font-weight:600}@media (max-width:768px){.server-card{padding:15px}.monitoring-grid{grid-template-columns:1fr}.card-header{flex-direction:column}}.gl-list{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.gl-item{border-bottom:1px solid var(--border)}.gl-item:last-child{border-bottom:none}.gl-item.open{background:var(--info-bg)}.gl-row{align-items:center;cursor:pointer;display:flex;gap:14px;padding:12px 16px}.gl-row:hover{background:var(--bg-tertiary)}.gl-chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .15s ease}.gl-chevron.open{transform:rotate(90deg)}.gl-status{background:var(--bg-tertiary);border-radius:999px;color:var(--text-secondary);flex-shrink:0;font-size:.72em;font-weight:600;letter-spacing:.03em;min-width:78px;padding:4px 9px;text-align:center;text-transform:uppercase}.gl-ok{background:var(--ok-bg);color:var(--ok-fg)}.gl-ko{background:var(--bad-bg);color:var(--bad-fg)}.gl-run{background:var(--info-bg);color:var(--info-fg)}.gl-wait{background:var(--warn-bg);color:var(--warn-fg)}.gl-idle{background:var(--bg-tertiary);color:var(--text-secondary)}.gl-main{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.gl-title{font-size:.95em;font-weight:600;overflow-wrap:anywhere}.gl-group{color:var(--text-secondary);font-weight:400}.gl-title a{color:var(--text);text-decoration:none}.gl-title a:hover{color:var(--link);text-decoration:underline}.gl-commit{align-items:center;color:var(--text-secondary);display:flex;font-size:.82em;gap:6px;min-width:0}.gl-commit-title{max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-commit-meta{flex-shrink:0;opacity:.75;white-space:nowrap}.gl-side{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:.8em;gap:12px}.gl-ref{background:var(--bg-tertiary);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;max-width:16ch;overflow:hidden;padding:2px 7px;text-overflow:ellipsis}.gl-ref,.gl-when{white-space:nowrap}.gl-link{color:var(--text-secondary);display:inline-flex}.gl-link:hover{color:var(--link)}@media (max-width:760px){.gl-row{flex-wrap:wrap;gap:8px}.gl-main{flex-basis:100%;order:2}.gl-commit-title{max-width:100%}}.gl-detail{display:flex;flex-direction:column;gap:14px;padding:4px 16px 16px 45px}.gl-detail-empty,.gl-detail-loading{color:var(--text-secondary);font-size:.85em}.gl-detail-meta{border-bottom:1px solid var(--border);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.82em;gap:18px;padding-bottom:12px}.gl-detail-meta strong{color:var(--text);font-weight:600}.gl-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.gl-detail-block h5{color:var(--text-secondary);font-size:.78em;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.gl-jobs{display:flex;flex-wrap:wrap;gap:8px}.gl-job{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text);display:inline-flex;font-size:.8em;gap:8px;padding:6px 10px;text-decoration:none}.gl-job:hover{border-color:var(--primary)}.gl-job-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.gl-bg-ok{background:var(--ok-fg)}.gl-bg-ko{background:#ef4444}.gl-bg-run{background:#3b82f6}.gl-bg-wait{background:#f59e0b}.gl-bg-idle{background:var(--text-secondary)}.gl-job-stage{color:var(--text-secondary);font-size:.9em;letter-spacing:.03em;text-transform:uppercase}.gl-job-name{font-weight:600;max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-job-time{font-feature-settings:"tnum";color:var(--text-secondary);font-variant-numeric:tabular-nums}.gl-history{display:flex;flex-wrap:wrap;gap:8px}.gl-hist{border-radius:6px;display:inline-flex;flex-direction:column;font-size:.75em;gap:1px;min-width:74px;padding:5px 10px;text-decoration:none}.gl-hist-sha{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.gl-hist-when{font-size:.92em;opacity:.75;white-space:nowrap}.glb-chip{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);display:inline-flex;font-size:.78em;gap:6px;max-width:100%;padding:4px 8px;text-decoration:none}.glb-chip:hover{border-color:var(--primary);color:var(--text)}.glb-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glb-block{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:7px;padding:10px 12px}.glb-head{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:9px}.glb-title{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;font-weight:600;text-decoration:none}.glb-title:hover{color:var(--link);text-decoration:underline}.glb-status{border-radius:999px;font-size:.72em;font-weight:600;letter-spacing:.03em;padding:2px 8px;text-decoration:none;text-transform:uppercase}.glb-via{font-size:.72em;margin-left:auto;opacity:.7}.glb-commit,.glb-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.8em;gap:6px;min-width:0}.glb-commit-title{color:var(--text);max-width:44ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glb-commit-meta{opacity:.75;white-space:nowrap}.glb-meta strong{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.glb-link{color:var(--text-secondary);display:inline-flex}.glb-link:hover{color:var(--link)}.gl-detail-block h5 svg{margin-right:4px;vertical-align:-2px}.sq-chip{border-radius:999px;flex-shrink:0;font-size:.68em;font-weight:700;letter-spacing:.04em;padding:3px 7px;text-transform:uppercase}.sq-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.sq-when{color:var(--text-secondary);font-size:.78em}.sq-rating{border-radius:4px;font-size:.7em;font-weight:700;letter-spacing:.03em;padding:3px 7px;text-transform:uppercase}.sq-link{align-items:center;color:var(--link);display:inline-flex;font-size:.78em;gap:4px;margin-left:auto;text-decoration:none}.sq-link:hover{text-decoration:underline}.sq-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.sq-tile{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:3px;padding:8px 10px}.sq-tile-label{color:var(--text-secondary);font-size:.7em;letter-spacing:.04em;text-transform:uppercase}.sq-tile-value{font-feature-settings:"tnum";font-size:1.05em;font-variant-numeric:tabular-nums;font-weight:600}.sq-tile-value.bad{color:var(--warn-fg)}.sq-failed{color:var(--bad-fg);font-size:.82em;margin-top:10px;padding-left:18px}.sq-failed li{margin-bottom:3px}.sq-failed strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dep-critical{background:var(--bad-bg);color:var(--bad-fg)}.dep-high,.dep-moderate{background:var(--warn-bg);color:var(--warn-fg)}.dep-low,.dep-muted{background:var(--bg-tertiary);color:var(--text-secondary)}.dep-none{background:var(--ok-bg);color:var(--ok-fg)}.dep-chip{border-radius:999px;flex-shrink:0;font-size:.68em;font-weight:700;letter-spacing:.04em;padding:3px 7px;text-transform:uppercase;white-space:nowrap}.dep-head{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.dep-line{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.82em;gap:8px}.dep-line strong{color:var(--text)}.dep-hint{font-size:.9em;font-style:italic;opacity:.6}.dep-when{color:var(--text-secondary);font-size:.76em;opacity:.7}.dep-counts{display:inline-flex;flex-wrap:wrap;gap:6px}.dep-count{border-radius:4px;font-size:.9em;font-weight:600;padding:2px 7px}.dep-list{border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.dep-item{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:.8em;gap:10px;min-width:0;padding:6px 10px}.dep-item:last-child{border-bottom:none}.dep-sev{border-radius:4px;flex-shrink:0;font-size:.9em;font-weight:700;min-width:62px;padding:2px 6px;text-align:center;text-transform:uppercase}.dep-name{flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.dep-version{font-weight:400}.dep-title,.dep-version{color:var(--text-secondary)}.dep-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-more{align-self:flex-start;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.78em;margin-top:8px;padding:5px 10px}.dep-more:hover{border-color:var(--primary);color:var(--text)}.dep-src{font-size:.75em;margin-top:8px;opacity:.7}.dep-advisories,.dep-src{color:var(--text-secondary)}.dep-advisories{background:var(--bg-tertiary);border-radius:4px;font-family:system-ui,sans-serif;font-size:.88em;font-weight:500;margin-left:7px;padding:1px 6px}.external-links{display:flex}.links-container{display:flex;flex-wrap:wrap;gap:10px}.link-btn{align-items:center;border-radius:6px;display:inline-flex;font-size:.9em;font-weight:500;gap:7px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.link-btn svg{display:block}.elk-btn{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.elk-btn:hover{box-shadow:0 4px 12px #f973164d;transform:translateY(-1px)}.coolify-btn{background:linear-gradient(135deg,var(--ok-fg) 0,#059669 100%);color:#fff}.coolify-btn:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.coolify-btn.disabled{background:linear-gradient(135deg,#6b7280,#4b5563);cursor:not-allowed;opacity:.6}.coolify-btn.disabled:hover{box-shadow:none;transform:none}@media (max-width:768px){.links-container{width:100%}.link-btn{flex:1 1;min-width:100px}}.set-overlay{align-items:flex-start;background:#02061799;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:40px 20px;position:fixed;z-index:100}.set-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 50px var(--shadow);display:flex;flex-direction:column;max-height:100%;max-width:760px;width:100%}.set-head{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.set-head h2{font-size:1.1em}.set-close{align-items:center;background:none;border-radius:6px;color:var(--text-secondary);display:inline-flex;height:30px;justify-content:center;width:30px}.set-close:hover{background:var(--bg-tertiary);color:var(--text);transform:none}.set-tabs{border-bottom:1px solid var(--border);display:flex;gap:4px;padding:10px 20px 0}.set-tabs button{background:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;color:var(--text-secondary);font-size:.9em;font-weight:600;padding:8px 14px}.set-tabs button:hover{color:var(--text);transform:none}.set-tabs button.active{border-bottom-color:var(--primary);color:var(--text)}.set-body{display:flex;flex-direction:column;gap:24px;overflow-y:auto;padding:18px 20px 22px}.set-section h3{align-items:center;display:flex;gap:7px;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.set-note,.set-section h3{color:var(--text-secondary);font-size:.8em}.set-note{line-height:1.5;margin-top:9px}.set-baseurl code,.set-note code{background:var(--bg-tertiary);border-radius:4px;font-size:.94em;padding:1px 5px}.set-themes{display:flex;flex-wrap:wrap;gap:8px}.set-theme{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:7px;color:var(--text-secondary);display:inline-flex;font-size:.88em;font-weight:600;gap:7px;padding:9px 15px}.set-theme:hover{transform:none}.set-theme.active,.set-theme:hover{border-color:var(--primary);color:var(--text)}.set-theme.active{background:var(--info-bg)}.set-toggles{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.set-toggle{align-items:flex-start;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:7px;cursor:pointer;display:flex;gap:10px;padding:10px 12px}.set-toggle input{accent-color:var(--primary);height:15px;margin-top:3px;width:15px}.set-toggle-text{display:flex;flex-direction:column;font-size:.85em;gap:2px}.set-toggle-text span{color:var(--text-secondary);font-size:.9em}.set-baseurl{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:7px;display:flex;gap:10px;padding:10px 12px}.set-baseurl code{background:none;flex:1 1;font-size:.9em;overflow-wrap:anywhere;padding:0}.set-copy{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);display:inline-flex;flex-shrink:0;font-size:.78em;font-weight:600;gap:5px;padding:5px 10px}.set-copy:hover{border-color:var(--primary);color:var(--text);transform:none}.set-integrations{display:flex;flex-direction:column;gap:6px}.set-int-row{align-items:center;background:var(--bg-tertiary);border-radius:6px;display:flex;font-size:.85em;gap:10px;min-width:0;padding:8px 12px}.set-int-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.set-int-dot.on{background:var(--ok-fg)}.set-int-dot.off{background:var(--bad-fg)}.set-int-dot.unknown{background:var(--text-secondary)}.set-int-name{font-weight:600;min-width:108px}.set-int-state{color:var(--text-secondary);font-size:.9em}.set-int-url{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;margin-left:auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-ep-group{margin-bottom:14px}.set-ep-group h4{color:var(--text-secondary);font-size:.78em;margin-bottom:6px;opacity:.8}.set-ep{align-items:baseline;border-bottom:1px solid var(--border);display:flex;font-size:.82em;gap:10px;min-width:0;padding:5px 0}.set-ep:last-child{border-bottom:none}.set-method{border-radius:4px;flex-shrink:0;font-size:.82em;font-weight:700;min-width:42px;padding:2px 6px;text-align:center}.set-method.get{background:var(--ok-bg);color:var(--ok-fg)}.set-method.post{background:var(--info-bg);color:var(--info-fg)}.set-method.put{background:var(--warn-bg);color:var(--warn-fg)}.set-path{color:var(--text);flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.set-ep-desc{color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:700px){.set-ep{flex-wrap:wrap;gap:5px}.set-ep-desc{flex-basis:100%;white-space:normal}.set-int-url{display:none}}.settings-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);display:inline-flex;height:34px;justify-content:center;width:34px}.settings-btn:hover{border-color:var(--primary);color:var(--text)}.dashboard{flex:1 1;margin:0 auto;max-width:1400px;padding:20px;width:100%}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:2em}.dashboard-subtitle{color:var(--text-secondary);font-size:.9em;margin-top:6px;word-break:break-word}.header-right{align-items:center;display:flex;gap:15px}.refresh-btn{background:var(--primary);border-radius:6px;color:#fff;font-size:.9em;font-weight:500;padding:8px 16px}.user-box{border-left:1px solid var(--border);gap:8px;margin-left:6px;padding-left:16px}.user-box,.user-name{align-items:center;display:inline-flex}.user-name{background:var(--bg-tertiary);border-radius:999px;color:var(--text);font-size:.85em;font-weight:500;gap:6px;padding:6px 12px;white-space:nowrap}.user-name svg{display:block}.logout-btn,.user-name svg{color:var(--text-secondary)}.logout-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;display:inline-flex;height:34px;justify-content:center;transition:color .15s,border-color .15s,background .15s;width:34px}.logout-btn:hover{background:#ef444414;border-color:#ef4444;color:var(--bad-fg)}.logout-btn svg{display:block}@media (max-width:768px){.user-box{border-left:none;margin-left:0;padding-left:0}}.refresh-btn:hover{background:var(--primary-dark)}.error-banner{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left:4px solid #ef4444;border-radius:6px;color:#7f1d1d;margin-bottom:20px;padding:12px 16px}.servers-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:40px}.dashboard-section{margin-bottom:36px}.section-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.section-header h2{font-size:1.2em}.section-header span{background:var(--bg-tertiary);border-radius:999px;color:var(--text-secondary);font-size:.85em;min-width:32px;padding:4px 10px;text-align:center}.empty-state{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:60px 20px;text-align:center}.empty-state h2{color:var(--text);font-size:1.5em;margin-bottom:10px}.empty-state p{color:var(--text-secondary);margin:10px 0}.empty-state .hint{background:var(--bg-tertiary);border-radius:6px;font-size:.9em;margin-top:20px;padding:15px}.setup-state{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:24px}.setup-state h2{margin-bottom:18px}.setup-state p{color:var(--text-secondary);margin-top:18px}.setup-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.setup-grid div{background:var(--bg-tertiary);border-radius:6px;padding:14px}.setup-label{color:var(--text-secondary);display:block;font-size:.8em;margin-bottom:8px;text-transform:uppercase}.setup-grid strong{display:block;word-break:break-word}.applications-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.application-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:18px}.application-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.application-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.application-header h3{font-size:1em;overflow-wrap:anywhere}.status-badge{background:var(--bg-tertiary);border-radius:999px;color:var(--text-secondary);font-size:.75em;font-weight:600;padding:4px 8px;white-space:nowrap}.status-online{background:var(--ok-bg);color:var(--ok-fg)}.status-offline{background:var(--bad-bg);color:var(--bad-fg)}.status-warning{background:var(--warn-bg);color:var(--warn-fg)}.application-meta{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.86em;gap:8px}.application-meta a{color:var(--link);text-decoration:none}.application-meta a,.application-meta span{overflow-wrap:anywhere}.versions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.version-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:18px}.version-top{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.type-chip{background:var(--bg-tertiary);border-radius:999px;color:var(--text-secondary);font-size:.72em;font-weight:600;letter-spacing:.04em;padding:3px 9px;text-transform:uppercase}.metric-cell{align-items:center;display:inline-flex;gap:8px;min-width:92px}.metric-cell-bar{background:var(--bg-tertiary);border-radius:999px;flex:1 1;height:5px;min-width:40px;overflow:hidden}.metric-cell-fill{border-radius:999px;display:block;height:100%}.metric-cell-val{font-size:.8em;font-weight:600;white-space:nowrap}.metric-cell-fill.lvl-ok{background:var(--ok-fg)}.metric-cell-fill.lvl-warn{background:#f59e0b}.metric-cell-fill.lvl-crit{background:#ef4444}.metric-cell-fill.lvl-na{background:var(--border)}.metric-cell-val.lvl-ok{color:var(--ok-fg)}.metric-cell-val.lvl-warn{color:var(--warn-fg)}.metric-cell-val.lvl-crit{color:var(--bad-fg)}.metric-cell-val.lvl-na{color:var(--text-secondary)}.version-badge{border-radius:999px;font-size:.75em;font-weight:600;padding:4px 9px;white-space:nowrap}.version-badge.up-to-date{background:var(--ok-bg);color:var(--ok-fg)}.version-badge.minor{background:#eab30829;color:#facc15}.version-badge.major{background:#f9731633;color:#fb923c}.version-dates{color:var(--text-secondary);display:block;font-size:.78em;margin-top:6px}.version-gap{color:#facc15;font-weight:600}.version-server{color:var(--text-secondary);display:block;font-size:.78em;margin-top:4px;overflow-wrap:anywhere}.version-name{font-size:.95em;margin-bottom:8px;overflow-wrap:anywhere}.version-image{color:var(--text-secondary);display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;overflow-wrap:anywhere}.section-actions{align-items:center;display:flex;gap:12px}.scan-note{color:var(--text-secondary);font-size:.8em;margin:-8px 0 16px}.cve-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.cve-chip{border-radius:6px;font-size:.74em;font-weight:700;letter-spacing:.02em;padding:3px 7px}.cve-chip.none{background:#10b98124;color:var(--ok-fg);font-weight:600}.cve-chip.sev-critical{background:#dc262638;color:var(--bad-fg)}.cve-chip.sev-high{background:#ea580c33;color:#fb923c}.cve-chip.sev-medium{background:var(--warn-bg);color:var(--warn-fg)}.cve-chip.sev-low{background:var(--bg-tertiary);color:var(--text-secondary)}.loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:400px}.dashboard-footer,.loading p{color:var(--text-secondary)}.dashboard-footer{border-top:1px solid var(--border);font-size:.9em;margin-top:40px;padding:20px;text-align:center}.tab-bar{border-bottom:1px solid var(--border);display:flex;gap:4px;margin-bottom:20px;overflow-x:auto}.tab{align-items:center;background:#0000;border-bottom:2px solid #0000;color:var(--text-secondary);display:inline-flex;font-size:.92em;font-weight:500;gap:8px;padding:10px 16px;white-space:nowrap}.tab.active,.tab:hover{color:var(--text)}.tab.active{border-bottom-color:var(--primary)}.tab-count{background:var(--bg-tertiary);border-radius:999px;color:var(--text-secondary);font-size:.8em;min-width:20px;padding:1px 8px;text-align:center}.tab.active .tab-count{background:var(--info-bg);color:var(--link)}.tab-panel{animation:fadein .15s ease}@keyframes fadein{0%{opacity:0}to{opacity:1}}.toolbar{gap:12px;justify-content:space-between;margin-bottom:18px}.toolbar,.toolbar-left,.toolbar-right{align-items:center;display:flex;flex-wrap:wrap}.toolbar-left,.toolbar-right{gap:10px}.tb-field{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.85em;gap:8px}.tb-field select,.tb-search{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9em;padding:7px 10px}.tb-search{min-width:180px}.tb-dir{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1em;height:34px;width:34px}.tb-dir:hover{border-color:var(--primary)}.tb-view{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.tb-view button{background:var(--bg-secondary);color:var(--text-secondary);font-size:1em;padding:6px 12px}.tb-view button.active{background:var(--primary);color:#fff}.table-wrap{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;font-size:.88em;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--border);padding:10px 14px;text-align:left;white-space:nowrap}.data-table thead th{background:var(--bg-tertiary);color:var(--text-secondary);font-size:.82em;font-weight:600;letter-spacing:.03em;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--text)}.data-table th.active{color:var(--link)}.data-table tbody tr:hover{background:var(--bg-tertiary)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .td-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.data-table .td-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;max-width:320px;overflow-wrap:anywhere;white-space:normal}.data-table .td-muted{color:var(--text-secondary)}.data-table a{color:var(--link);text-decoration:none}.td-name{align-items:center;display:inline-flex;gap:8px}.td-name-text{display:inline-flex;flex-direction:column;gap:1px;min-width:0}.td-desc{color:var(--text-secondary);font-size:.82em;overflow-wrap:anywhere;white-space:normal}.data-table tr.row-clickable{cursor:pointer}.td-caret{color:var(--text-secondary);text-align:center;width:28px}.data-table tr.row-clickable[aria-expanded=true]>td{background:var(--bg-tertiary);border-bottom:none}.data-table tr.row-expanded>td{background:var(--bg);border-bottom:2px solid var(--border);box-shadow:inset 3px 0 0 var(--primary);padding:12px 14px 16px}.data-table tr.row-expanded .server-expanded{border-top:none;margin-top:0}.dot{background:#6b7280;border-radius:50%;flex-shrink:0;height:9px;width:9px}.dot-online{background:var(--ok-fg)}.dot-offline{background:#ef4444}.dot-warning{background:#f59e0b}.stat-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.stat-tile{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:18px;text-align:left;transition:border-color .15s,transform .15s}.stat-tile:hover{border-color:var(--primary);transform:translateY(-2px)}.stat-value{color:var(--text);font-size:2em;font-weight:700;line-height:1}.stat-label{font-size:.9em}.stat-label,.stat-sub{color:var(--text-secondary)}.stat-sub{font-size:.8em;margin-top:6px}.stat-sub em{font-style:normal}.stat-sub .ok{color:var(--ok-fg)}.stat-sub .ko{color:var(--bad-fg)}.stat-sub .warn{color:#fb923c}.mini-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.mini-stat{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:130px;padding:12px 14px;text-align:left;transition:border-color .15s,background .15s}.mini-stat.active,.mini-stat:hover:not(:disabled){border-color:var(--primary)}.mini-stat.active{background:#3b82f614}.mini-stat:disabled{cursor:not-allowed;opacity:.55}.mini-stat .v{color:var(--text);font-size:1.6em;font-weight:700;line-height:1.1}.mini-stat .v.ok{color:var(--ok-fg)}.mini-stat .v.warn{color:#fb923c}.mini-stat .v.crit{color:var(--bad-fg)}.mini-stat .l{color:var(--text-secondary);font-size:.78em}.overview-block{margin-bottom:24px}.overview-block h3{font-size:1em;margin-bottom:12px}.alert-list{display:flex;flex-direction:column;gap:8px}.alert-row{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:flex;gap:12px;padding:10px 14px}.alert-name{font-weight:500}.alert-meta{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;overflow-wrap:anywhere}@media (max-width:768px){.dashboard{padding:15px}.dashboard-header{align-items:flex-start;flex-direction:column}.header-right{justify-content:space-between;width:100%}.dashboard-header h1{font-size:1.5em}.servers-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.tb-search{flex:1 1}}.app-expanded{display:flex;flex-direction:column;gap:14px;padding:4px 0 6px}.app-nogit{color:var(--text-secondary);font-size:.84em}.version-badge.unknown{background:var(--bg-tertiary);color:var(--text-secondary)}.img-cell{align-items:center;display:inline-flex;gap:8px}.img-count{background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary);font-size:.8em;font-weight:600;min-width:20px;padding:2px 6px;text-align:center}.card-images{align-items:center;display:inline-flex;gap:8px}.card-images-label{font-size:.9em;opacity:.7}.app-images h4{color:var(--text-secondary);font-size:.85em;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.img-list{border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.img-row{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:.84em;gap:12px;min-width:0;padding:7px 10px}.img-row:last-child{border-bottom:none}.img-name{display:flex;flex:1 1;flex-direction:column;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;gap:2px;min-width:0;overflow:hidden;text-overflow:ellipsis}.img-row .version-dates{color:var(--text-secondary);font-family:system-ui,sans-serif;font-size:.88em}.cve-detail h4{align-items:center;color:var(--text-secondary);display:flex;font-size:.85em;gap:8px;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.cve-detail h4 svg{color:var(--bad-fg)}.cve-detail-list{border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.cve-detail-row{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:.8em;gap:10px;min-width:0;padding:6px 10px}.cve-detail-row:last-child{border-bottom:none}.cve-detail-row:hover{background:var(--bg-tertiary)}.cve-id{align-items:center;color:var(--link);display:inline-flex;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;gap:4px;min-width:132px;text-decoration:none}.cve-id:hover{text-decoration:underline}.cve-type{background:var(--bg-tertiary);border-radius:4px;color:var(--text);flex-shrink:0;font-size:.92em;font-weight:600;min-width:118px;overflow:hidden;padding:2px 7px;text-overflow:ellipsis;white-space:nowrap}.cve-summary{flex:1 1;min-width:0}.cve-images,.cve-summary{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cve-images{flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;max-width:20ch;opacity:.7}.application-card.is-expanded{border-color:var(--primary);grid-column:1/-1}.application-card .application-header{align-items:center}.application-card .application-title{flex:1 1}.application-card .app-expanded{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.application-card .chevron{background:none;line-height:1;padding:0 2px}.application-card .chevron:hover:not(:disabled){color:var(--text);transform:none}.application-card .chevron.open,.application-card .chevron.open:hover:not(:disabled){transform:rotate(90deg)}.resources-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.resource-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px;transition:border-color .15s ease}.resource-card:hover{border-color:#64748b}.resource-card.is-expanded{border-color:var(--primary);grid-column:1/-1}.rc-head{display:flex;gap:8px;margin-bottom:10px}.rc-head,.rc-kind{align-items:center}.rc-kind{background:var(--bg-tertiary);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.72em;font-weight:600;gap:5px;letter-spacing:.04em;padding:3px 9px;text-transform:uppercase}.rc-head .chevron{background:none;line-height:1;margin-left:auto;padding:0 2px}.rc-head .chevron:hover:not(:disabled){color:var(--text);transform:none}.rc-head .chevron.open,.rc-head .chevron.open:hover:not(:disabled){transform:rotate(90deg)}.rc-name{font-size:1.02em;line-height:1.3}.rc-name,.rc-repo{overflow-wrap:anywhere}.rc-repo{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76em;margin-top:3px}.rc-foot,.rc-repo{color:var(--text-secondary)}.rc-foot{display:flex;flex-wrap:wrap;font-size:.78em;gap:4px 14px;margin-top:12px}.rc-foot a{color:var(--link);overflow-wrap:anywhere;text-decoration:none}.rc-updates{color:var(--warn-fg);font-style:normal}.signal-strip{grid-gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));margin-top:14px;overflow:hidden}.signal{background:var(--bg-secondary);display:flex;flex-direction:column;gap:3px;min-width:0;padding:7px 8px}.signal-label{color:var(--text-secondary);font-size:.64em;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.signal-value{align-items:center;display:flex;font-size:.78em;font-weight:600;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:7px;width:7px}.signal.lvl-ok .signal-value{color:var(--ok-fg)}.signal.lvl-warn .signal-value{color:var(--warn-fg)}.signal.lvl-bad .signal-value{color:var(--bad-fg)}.signal.lvl-none .signal-value{color:var(--text-secondary);opacity:.75}.signal-strip.compact{background:none;border:none;border-radius:0;gap:12px;margin-top:0;min-width:340px}.signal-strip.compact .signal{background:none;padding:0}.tag-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.7em;font-weight:700;gap:4px;letter-spacing:.04em;padding:3px 9px;text-transform:uppercase}.tag-internal{background:var(--info-bg);color:var(--link)}.tag-external{background:var(--info-bg);color:var(--info-fg)}.tag-control{display:flex;flex-direction:column;gap:7px}.tag-control-head{align-items:baseline;display:flex;gap:10px}.tag-control-label{letter-spacing:.06em;text-transform:uppercase}.tag-control-label,.tag-control-meta{color:var(--text-secondary);font-size:.72em}.tag-control-meta{opacity:.7}.tag-option,.tag-options{display:inline-flex;gap:6px}.tag-option{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.82em;font-weight:600;padding:6px 12px}.tag-option:hover:not(:disabled){border-color:#64748b;color:var(--text);transform:none}.tag-option.active{background:var(--info-bg);border-color:var(--primary);color:var(--link)}.tag-hint{color:var(--text-secondary);font-size:.76em;opacity:.75}.resource-detail{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px;margin-top:14px;padding-top:14px}.resource-detail-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}.rd-gitlab{display:flex;flex-direction:column;font-size:.82em;gap:4px;min-width:0}.rd-gitlab-head{align-items:center;color:var(--text-secondary);display:flex;gap:7px}.rd-gitlab-head a{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;text-decoration:none}.rd-gitlab-head a:hover{color:var(--link);text-decoration:underline}.rd-via{font-size:.85em;opacity:.65}.rd-commit{align-items:center;color:var(--text);display:flex;gap:6px;min-width:0}.rd-commit-meta{color:var(--text-secondary);opacity:.8}@media (max-width:720px){.signal-strip{grid-template-columns:repeat(2,1fr)}}.resources-grid{align-items:stretch}.resource-card,.resource-card .card-clickable{display:flex;flex-direction:column}.resource-card .card-clickable{flex:1 1}.rc-foot{margin-top:auto;padding-top:12px}.rc-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.8em;line-height:1.45;margin-top:10px;overflow:hidden;padding:7px 10px}.rc-desc,.rd-description{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px}.rd-description{padding:10px 12px}.rd-description-label{color:var(--text-secondary);display:block;font-size:.7em;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.rd-description p{font-size:.88em;line-height:1.5;overflow-wrap:anywhere}.alert-why{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}.alert-signal{background:var(--bad-bg);border-radius:4px;color:var(--bad-fg);font-size:.82em;font-weight:600;padding:2px 8px;white-space:nowrap}.overview-caveat{background:var(--warn-bg);border-radius:6px;color:var(--text-secondary);font-size:.82em;line-height:1.5;margin:-4px 0 12px;padding:8px 11px}.overview-caveat strong{color:var(--warn-fg)}.todo-list{display:flex;flex-direction:column;gap:8px}.todo-row{align-items:center;background:var(--bg-secondary);border-left:1px solid var(--border);border:1px solid var(--border);border-left-width:3px;border-radius:8px;color:inherit;display:flex;flex-wrap:wrap;gap:16px;padding:11px 14px;text-align:left;width:100%}.todo-row:hover{border-color:var(--primary);border-left-color:var(--primary);transform:none}.todo-main{align-items:baseline;display:flex;flex:1 1;gap:10px;min-width:0}.todo-name{color:var(--text);font-size:.95em;font-weight:600}.todo-kind,.todo-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-kind{color:var(--text-secondary);flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76em;max-width:34ch}.todo-reasons{display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.todo-reason{background:var(--bad-bg);border-radius:6px;color:var(--bad-fg);display:inline-flex;flex-direction:column;font-size:.8em;font-weight:600;gap:1px;padding:4px 10px;white-space:nowrap}.todo-reason-label{font-size:.76em;font-weight:500;letter-spacing:.04em;opacity:.75;text-transform:uppercase}.todo-reason.lvl-warn{background:var(--warn-bg);color:var(--warn-fg)}.todo-reason.lvl-none{background:var(--bg-tertiary);color:var(--text-secondary)}.overview-hint{color:var(--text-secondary);font-size:.82em;margin:-4px 0 12px}@media (max-width:700px){.todo-main{flex-basis:100%}}.login-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:14px;max-width:360px;padding:32px 28px;width:100%}.login-card h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:1.4em}.login-sub{color:var(--text-secondary);font-size:.9em;margin-top:-8px}.login-error{background:#ef444426;border-left:3px solid #ef4444;border-radius:6px;color:var(--bad-fg);font-size:.88em;padding:10px 12px}.login-field{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.85em;gap:6px}.login-field input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1em;padding:10px 12px}.login-field input:focus{border-color:var(--primary);outline:none}.login-submit{align-items:center;background:var(--primary);border-radius:6px;color:#fff;display:inline-flex;font-size:.95em;font-weight:600;gap:8px;justify-content:center;margin-top:6px;padding:11px 16px}.login-submit:hover:not(:disabled){background:var(--primary-dark)}.login-submit:disabled{cursor:not-allowed;opacity:.6}.app{background:linear-gradient(135deg,#0f172a,#1a1f3a);display:flex;flex-direction:column}*{box-sizing:border-box;margin:0;padding:0}:root,:root[data-theme=dark]{--primary:#3b82f6;--primary-dark:#1e40af;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--bg:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text:#f1f5f9;--text-secondary:#cbd5e1;--border:#475569;--ok-fg:#34d399;--ok-bg:#14372f;--warn-fg:#fbbf24;--warn-bg:#3d3320;--bad-fg:#f87171;--bad-bg:#3f2426;--info-fg:#60a5fa;--info-bg:#1e2f4d;--link:#93c5fd;--shadow:#00000073}:root[data-theme=light]{--primary:#2563eb;--primary-dark:#1d4ed8;--success:#059669;--warning:#d97706;--danger:#dc2626;--bg:#f1f5f9;--bg-secondary:#fff;--bg-tertiary:#eef2f7;--text:#0f172a;--text-secondary:#52627a;--border:#cbd5e1;--ok-fg:#046c4e;--ok-bg:#d5f3e6;--warn-fg:#9a5b06;--warn-bg:#fdefd2;--bad-fg:#b3261e;--bad-bg:#fde3e1;--info-fg:#1d4ed8;--info-bg:#dceafd;--link:#1d4ed8;--shadow:#0f172a1f}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;width:100%}body{background:#0f172a;background:var(--bg);color:#f1f5f9;color:var(--text)}#root{height:100%;width:100%}.app{background:#0f172a;background:var(--bg);min-height:100vh;width:100%}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}button{border:none;cursor:pointer;font-family:inherit;transition:all .2s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.5}code{background:#334155;background:var(--bg-tertiary);border-radius:4px;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spinner{animation:spin 1s linear infinite;border:4px solid #475569;border-top-color:#3b82f6;border:4px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#1e293b;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#475569;background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#cbd5e1;background:var(--text-secondary)}@media (max-width:768px){:root{font-size:14px}}
/*# sourceMappingURL=main.47cf1602.css.map*/