:root{--bg-base:#0c1116;--bg-surface:#131a21;--bg-elevated:#1b242d;--bg-elevated-hover:#212b35;--border-hairline:#232d36;--border-hairline-strong:#2e3944;--text-primary:#e7edf1;--text-secondary:#aab6c0;--text-muted:#6f7d88;--signal:#37d6c4;--signal-dim:#1f5a52;--warn:#f2a93b;--warn-dim:#6b4a1a;--danger:#e1523d;--danger-dim:#5c241c;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", monospace;--sidebar-w:232px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-card:0 1px 0 #0006, 0 8px 24px -12px #00000080}*{box-sizing:border-box}html,body,#root{max-width:100vw;height:100%;overflow-x:hidden}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}code,.mono{font-family:var(--font-mono)}a{color:inherit}button{font-family:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:4px}.app-shell{height:100vh;display:flex;overflow:hidden}.desktop-sidebar{width:var(--sidebar-w);border-right:1px solid var(--border-hairline);scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex-shrink:0;height:100vh;padding:24px 16px;transition:width .2s;display:flex;overflow:hidden auto}.desktop-sidebar::-webkit-scrollbar{display:none}.desktop-sidebar.collapsed{width:60px;padding:24px 8px}.mobile-topbar,.drawer-overlay,.mobile-drawer{display:none}.main-content{flex-direction:column;flex:1;min-width:0;max-width:1080px;height:100vh;display:flex}.main-content-banner-slot:empty{display:none}.main-content-banner-slot{flex-shrink:0;padding:20px 40px 0}.main-content-scroll{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding:32px 40px 64px;overflow:hidden auto}.main-content-scroll::-webkit-scrollbar{display:none}.auth-shell{background:radial-gradient(ellipse 900px 500px at 50% -10%, #37d6c414, transparent), var(--bg-base);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.job-card{align-items:center;gap:20px;margin-bottom:10px;padding:16px 20px;display:flex}.job-card-top{flex:1;align-items:center;gap:20px;min-width:0;display:flex}.job-card-url{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.job-card-meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.job-card-timeago{color:var(--text-muted);text-align:right;width:70px;font-size:12px}.job-card-actions{gap:8px;display:flex}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll table{min-width:560px}@media (width<=768px){.desktop-sidebar{display:none}.mobile-topbar{border-bottom:1px solid var(--border-hairline);background:var(--bg-surface);z-index:50;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.app-shell{flex-direction:column;height:auto;overflow:visible}.main-content{max-width:100%;height:auto}.main-content-banner-slot{padding:16px 20px 0}.main-content-scroll{height:auto;padding:20px 20px 64px;overflow-y:visible}.detail-page{height:auto;overflow:visible}.detail-page-scroll{flex:none;display:block}.detail-page-scroll .card{-webkit-overflow-scrolling:touch;flex:none;height:calc(100vh - 56px);max-height:500px;position:sticky;top:56px;overflow-y:auto}.detail-page-scroll thead th{position:sticky;top:0}.drawer-overlay{z-index:99;background:#00000080;display:block;position:fixed;inset:0}.mobile-drawer{background:var(--bg-surface);border-right:1px solid var(--border-hairline);z-index:100;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;width:260px;height:100vh;padding:24px 16px;transition:transform .25s;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.mobile-drawer::-webkit-scrollbar{display:none}.mobile-drawer.open{transform:translate(0)}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.page-header h1{font-size:22px}table{font-size:12px}th,td{padding:8px}.job-card{flex-direction:column;align-items:stretch;gap:12px}.job-card-meta{flex-wrap:wrap;row-gap:8px}.job-card-timeago{text-align:left;width:auto}.job-card-actions{justify-content:flex-end;width:100%;margin-left:auto}.auth-shell{padding:16px}.public-header{flex-wrap:wrap;gap:10px;padding:16px 20px!important}.public-hero{padding:48px 20px 40px!important}.public-hero-title{font-size:30px!important}.public-content{padding:16px 20px 60px!important}}.detail-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.detail-page-top{flex-shrink:0}.detail-page-scroll{flex-direction:column;flex:1;min-height:0;display:flex}.detail-page-scroll .card{scrollbar-width:thin;scrollbar-color:var(--border-hairline-strong) var(--bg-surface);flex:1;min-height:0;overflow-y:auto}.detail-page-scroll .card::-webkit-scrollbar{width:8px}.detail-page-scroll .card::-webkit-scrollbar-track{background:var(--bg-surface)}.detail-page-scroll .card::-webkit-scrollbar-thumb{background:var(--border-hairline-strong);border-radius:4px}.detail-page-scroll .card::-webkit-scrollbar-thumb:hover{background:var(--signal-dim)}.detail-page-scroll thead th{background:var(--bg-surface);z-index:1;position:sticky;top:0}.card{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--signal);color:#06211d}.btn-primary:hover:not(:disabled){background:#4fe3d1}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-hairline-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-elevated-hover)}.btn-danger{color:var(--danger);border-color:var(--danger-dim);background:0 0}.btn-danger:hover:not(:disabled){background:#e1523d1a}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-elevated)}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--text-secondary);font-size:13px;font-weight:500}.field input,.field select,.field textarea{background:var(--bg-elevated);border:1px solid var(--border-hairline-strong);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-body);padding:10px 12px}.field input:focus,.field select:focus{border-color:var(--signal)}.field .hint{color:var(--text-muted);font-size:12px}.field .error{color:var(--danger);font-size:12px}.badge{font-size:12px;font-family:var(--font-mono);border:1px solid var(--border-hairline-strong);color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.badge-signal{color:var(--signal);border-color:var(--signal-dim);background:#37d6c414}.badge-warn{color:var(--warn);border-color:var(--warn-dim);background:#f2a93b14}.badge-danger{color:var(--danger);border-color:var(--danger-dim);background:#e1523d14}.banner{border-radius:var(--radius-sm);border:1px solid;margin-bottom:16px;padding:12px 14px;font-size:13px}.banner-error{border-color:var(--danger-dim);color:#ffb5a8;background:#e1523d14}.banner-success{border-color:var(--signal-dim);color:var(--signal);background:#37d6c414}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-header h1{font-size:26px}.page-header p{color:var(--text-secondary);margin-top:6px;font-size:14px}.empty-state{text-align:center;color:var(--text-secondary);padding:64px 24px}.empty-state h3{color:var(--text-primary);margin-bottom:8px;font-size:18px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-hairline);padding:10px 12px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--border-hairline);font-family:var(--font-mono);color:var(--text-secondary);padding:10px 12px}.pulse-line{display:block;overflow:visible}.pulse-line path{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.pulse-line.signal path{stroke:var(--signal);animation:2.4s linear infinite pulse-travel}.pulse-line.warn path{stroke:var(--warn);animation:1.4s linear infinite pulse-travel}.pulse-line.danger path{stroke:var(--danger)}.pulse-line.idle path{stroke:var(--text-muted)}@keyframes pulse-travel{0%{stroke-dashoffset:0}to{stroke-dashoffset:-120px}}
