:root{--brand-dark: #020b23;--brand-dark-deep: #01060f;--brand-accent: #5673fd;--brand-accent-text: #3a52d6;--brand-accent-tint: #dae0ff;--filter-pill-active: var(--brand-accent)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f4f6;color:#111827}a{color:var(--brand-accent-text);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:7px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:filter .15s,transform .08s ease-out;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.btn:hover:not(:disabled){filter:brightness(.9)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle at center,currentColor 0%,transparent 62%);opacity:0;pointer-events:none}.btn:active:not(:disabled):after{animation:btn-glow .4s ease-out}@keyframes btn-glow{0%{opacity:.28;transform:scale(.35)}to{opacity:0;transform:scale(1.7)}}.btn-ghost:active:not(:disabled):after,.btn-outline:active:not(:disabled):after{animation-name:btn-glow-soft-bg}@keyframes btn-glow-soft-bg{0%{opacity:.5;transform:scale(.35)}to{opacity:0;transform:scale(1.7)}}.btn.is-loading:before{content:"";width:13px;height:13px;flex-shrink:0;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:app-loading-spin .7s linear infinite}.btn.is-loading:disabled{opacity:.92}.btn-primary{background:var(--brand-accent);color:var(--brand-dark);font-weight:700}.btn-success{background:#16a34a;color:#fff}.btn-danger{background:#dc2626;color:#fff}.btn-outline{background:transparent;color:var(--brand-dark);border:1.5px solid var(--brand-accent)}.btn-ghost{background:transparent;color:#6b7280;border:1px solid #d1d5db}.btn-sm{padding:5px 12px;font-size:13px}.btn-full{width:100%}.card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 4px #00000014;margin-bottom:12px}.card-in{animation:card-in .2s ease-out both}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.btn{transition:filter .15s}.btn:active:not(:disabled){transform:none}.btn:active:not(:disabled):after{animation:none}.card-in{animation:none}.filter-pill{transition:background-color .18s ease,color .18s ease,border-color .18s ease}.filter-pill:active{transform:none}}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-open{background:#dbeafe;color:#1d4ed8}.badge-hired{background:#dcfce7;color:#15803d}.badge-in_progress{background:#fef9c3;color:#a16207}.badge-completed{background:#e0e7ff;color:#4338ca}.badge-closed{background:#f3f4f6;color:#6b7280}.badge-disputed{background:#fee2e2;color:#b91c1c}.badge-cancelled{background:#f3f4f6;color:#9ca3af}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 11px;border:1px solid #d1d5db;border-radius:7px;font-size:14px;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #5673fd2e}.form-group textarea{min-height:80px;resize:vertical;font-family:inherit}.error-msg{color:#dc2626;font-size:13px;margin-top:6px;padding:8px 12px;background:#fef2f2;border-radius:6px;border:1px solid #fecaca}.info-msg{color:#1d4ed8;font-size:13px;padding:8px 12px;background:#eff6ff;border-radius:6px;border:1px solid #bfdbfe}.success-msg{color:#15803d;font-size:13px;padding:8px 12px;background:#f0fdf4;border-radius:6px;border:1px solid #bbf7d0}.warning-msg{color:#92400e;font-size:13px;padding:8px 12px;background:#fffbeb;border-radius:6px;border:1px solid #fde68a}.loading{text-align:center;padding:48px 0;color:#9ca3af;font-size:15px}.app-loading-spinner{width:26px;height:26px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--brand-accent);animation:app-loading-spin .8s linear infinite}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.divider{border:none;border-top:1px solid #e5e7eb;margin:16px 0}.filter-pill-row{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-pill-row::-webkit-scrollbar{display:none}.filter-pill{flex-shrink:0;white-space:nowrap;padding:7px 14px;border-radius:20px;font-size:13px;font-weight:500;color:#374151;background:#e5e7eb;border:1.5px solid #d8dae2;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,color .18s ease,border-color .18s ease,font-weight .18s ease,transform 80ms ease-out}.filter-pill:active{transform:scale(.97)}.filter-pill.filter-pill-active{background:var(--filter-pill-active);border-color:color-mix(in srgb,var(--filter-pill-active) 70%,black);color:#fff;font-weight:700}.tag-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;margin:0 6px 6px 0}.tag-pill.selected{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-dark);font-weight:700}.tag-pill.readonly{cursor:default;background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.tag-tally-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f3f4f6;font-size:14px}.tag-tally-row:last-child{border-bottom:none}.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#f3f4f6;font-size:24px}.nav-menu-item{display:block;width:100%;text-align:left;padding:11px 14px;background:none;border:none;font-size:14px;color:#111827;cursor:pointer;font-family:inherit}.nav-menu-item:hover{background:#f3f4f6}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:7px;vertical-align:middle}.status-dot-grey{background:#9ca3af}.status-dot-red{background:#dc2626;animation:status-dot-pulse 1.5s ease-out infinite}@keyframes status-dot-pulse{0%{box-shadow:0 0 #dc262699}70%{box-shadow:0 0 0 7px #dc262600}to{box-shadow:0 0 #dc262600}}
