:root{--bg: #0a0e14;--bg-raised: #141a23;--bg-elev: #141a23;--bg-hover: #1c2430;--bg-active: #232d3b;--border: #232d3b;--border-bright: #36465c;--text: #e6edf3;--text-dim: #8b96a3;--text-faint: #5a6573;--amber: #f59e0b;--amber-dim: #b8770a;--amber-bright: #fbbf24;--red: #ef4444;--orange: #f97316;--yellow: #eab308;--green: #22c55e;--cyan: #06b6d4;--purple: #a855f7;--brand: #f59e0b;--brand-dim: #b8770a;--brand-bright: #fbbf24;--brand-rgb: 245, 158, 11;--shadow: 0 4px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .7);--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "IBM Plex Sans", system-ui, sans-serif}html[data-theme=blue]{--brand: #3a8fc2;--brand-dim: #2a6f9c;--brand-bright: #5cb0e0;--brand-rgb: 58, 143, 194}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}#root{display:flex;flex-direction:column;overflow:hidden}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.topbar{height:56px;background:linear-gradient(180deg,#0a0e14f2,#0a0e14d9);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;font-family:var(--mono);flex-shrink:0;gap:14px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-triangle{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--brand);display:inline-block;transform:translateY(1px)}.brand-logo{height:28px;width:auto;max-width:160px;object-fit:contain;display:block}.brand-org{color:var(--brand);font-weight:600;font-size:15px;letter-spacing:.06em}.brand-divider{color:var(--text-faint);font-weight:300}.brand-sys{color:var(--brand);font-weight:600;font-size:15px;letter-spacing:.1em}.brand-version{color:var(--text-faint);font-size:11px;letter-spacing:.05em}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:12px}.btn{font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:8px 14px;border-radius:6px;border:1px solid var(--border-bright);background:transparent;color:var(--text);transition:background .12s,border-color .12s}.btn:hover{background:var(--bg-hover)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#2a1c04;font-weight:600}.btn-primary:hover{background:var(--brand-bright)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border-color:transparent;color:var(--text-dim)}.btn-ghost:hover{color:var(--text);background:var(--bg-hover)}.field-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--text-dim);text-transform:uppercase;margin-bottom:6px;display:block}.field{width:100%;background:var(--bg);border:1px solid var(--border-bright);border-radius:6px;color:var(--text);padding:10px 12px;font-size:14px;outline:none;transition:border-color .12s}.field:focus{border-color:var(--brand)}.field::placeholder{color:var(--text-faint)}.panel{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.center-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;padding:28px}.login-brand{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:4px}.login-sub{text-align:center;color:var(--text-dim);font-family:var(--mono);font-size:11px;letter-spacing:.14em;margin-bottom:22px}.tab-row{display:flex;gap:4px;margin-bottom:18px;font-family:var(--mono)}.tab{flex:1;text-align:center;padding:8px;font-size:12px;letter-spacing:.1em;color:var(--text-dim);background:transparent;border:none;border-bottom:2px solid var(--border)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.form-error{color:var(--red);font-size:12px;font-family:var(--mono);margin-top:4px}.pill{font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:2px 8px;border-radius:999px;border:1px solid;display:inline-block}.pri-Immediate{color:var(--red);border-color:var(--red);background:#ef44441f}.pri-Urgent{color:var(--orange);border-color:var(--orange);background:#f973161f}.pri-Priority{color:var(--yellow);border-color:var(--yellow);background:#eab3081f}.pri-Routine{color:var(--text-dim);border-color:var(--border-bright)}.tag{font-family:var(--mono);font-size:11px;letter-spacing:.05em;padding:2px 7px;border-radius:4px;border:1px solid var(--border-bright);color:var(--text-dim)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:50;overflow:auto}.modal{width:100%;max-width:560px;padding:0;box-shadow:var(--shadow-lg)}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-body{padding:16px 18px}.modal-close{margin-left:auto;background:transparent;border:none;color:var(--text-dim);font-size:20px;line-height:1}.modal-close:hover{color:var(--text)}.row{display:flex;align-items:center;gap:10px}.section-label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--text-dim);margin:16px 0 8px}.note{border-left:2px solid var(--border-bright);padding:6px 10px;margin-bottom:8px}.note-meta{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--text-faint)}.muted{color:var(--text-dim)}.mono{font-family:var(--mono)}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:46px 46px;background-position:center top;-webkit-mask-image:radial-gradient(ellipse 80% 55% at 50% 28%,#000 25%,transparent 72%);mask-image:radial-gradient(ellipse 80% 55% at 50% 28%,#000 25%,transparent 72%);pointer-events:none}.feature-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:22px;transition:border-color .15s,transform .15s}.feature-card:hover{border-color:var(--border-bright);transform:translateY(-2px)}.cap-strip{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--text-faint);display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}@keyframes flashdot{0%,to{opacity:.25}50%{opacity:1}}.flash-dot{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block;animation:flashdot 1.1s ease-in-out infinite}
