:root{--hk-blue-900: #06304F;--hk-blue-800: #0a3f66;--hk-blue-700: #0e4d7d;--hk-red: #E2001A;--ampel-ok: #2ecc71;--ampel-error: #e74c3c;--ampel-overdue: #f1c40f;--ampel-running: #3498db;--ampel-unknown: #95a5a6;--ampel-disabled: #5d6d7e}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--hk-blue-900);color:#eaf2f8;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:#eaf2f8}.wrap{max-width:1100px;margin:0 auto;padding:24px}header.app{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--hk-blue-800);border-bottom:2px solid var(--hk-red)}header.app h1{font-size:1.15rem;margin:0}header.app .user{font-size:.85rem;opacity:.85}header.app a.logout{color:#eaf2f8;font-size:.8rem;margin-left:12px}.tabs{display:flex;gap:8px;margin:20px 0}.tabs button{background:var(--hk-blue-800);color:#eaf2f8;border:1px solid var(--hk-blue-700);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem}.tabs button.active{background:var(--hk-red);border-color:var(--hk-red)}.banner{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px;font-weight:600}.banner.ok{background:#2ecc7126;border:1px solid var(--ampel-ok)}.banner.warn{background:#f1c40f26;border:1px solid var(--ampel-overdue)}.banner.critical{background:#e74c3c2e;border:1px solid var(--ampel-error)}.banner.unknown{background:#95a5a626;border:1px solid var(--ampel-unknown)}.provider-group{margin-bottom:28px}.provider-head{border-left:3px solid var(--hk-red);padding-left:12px;margin-bottom:12px}.provider-head h2{margin:0 0 4px;font-size:1.1rem}.provider-desc{margin:0 0 4px;font-size:.85rem;opacity:.85;max-width:760px}.provider-tables{margin:0;font-size:.72rem;opacity:.55}.provider-tables code{font-size:.72rem}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.card-actions{margin-top:12px;padding-top:10px;border-top:1px solid var(--hk-blue-700);display:flex;flex-direction:column;gap:6px}.job-card .top,.job-card .meta{cursor:pointer}.sched{font-size:.8rem;opacity:.85;margin-top:6px}.job-card{background:var(--hk-blue-800);border:1px solid var(--hk-blue-700);border-radius:10px;padding:16px;cursor:pointer;transition:transform .08s}.job-card:hover{transform:translateY(-2px);border-color:var(--hk-red)}.job-card .top{display:flex;align-items:center;gap:10px}.dot{width:14px;height:14px;border-radius:50%;flex:none}.dot.ok{background:var(--ampel-ok)}.dot.error{background:var(--ampel-error)}.dot.overdue{background:var(--ampel-overdue)}.dot.running{background:var(--ampel-running);animation:pulse 1.2s infinite}.dot.unknown{background:var(--ampel-unknown)}.dot.untracked,.dot.disabled{background:var(--ampel-disabled)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.job-card h3{margin:0;font-size:1rem}.job-card .meta{font-size:.78rem;opacity:.75;margin-top:8px;line-height:1.5}.job-card .cron{font-family:monospace;font-size:.75rem;opacity:.7}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--hk-blue-700)}th{opacity:.7;font-weight:600}.status-pill{padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:700}.status-pill.success{background:var(--ampel-ok);color:#06304f}.status-pill.error{background:var(--ampel-error)}.status-pill.running{background:var(--ampel-running)}.logbox{background:#04223a;border:1px solid var(--hk-blue-700);border-radius:8px;padding:12px;font-family:monospace;font-size:.76rem;line-height:1.5;max-height:360px;overflow:auto;white-space:pre-wrap}input[type=text]{background:#04223a;border:1px solid var(--hk-blue-700);color:#eaf2f8;padding:6px 8px;border-radius:6px;font-family:monospace;width:160px}button.action{background:var(--hk-red);color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.82rem}button.action:disabled{opacity:.5;cursor:not-allowed}.muted{opacity:.6;font-size:.82rem}.login{text-align:center;margin-top:80px}.login a{background:var(--hk-red);color:#fff;padding:12px 24px;border-radius:8px;text-decoration:none}
