:root{--cf-primary-50: #eef5ff;--cf-primary-100: #dbeaff;--cf-primary-200: #b6d4ff;--cf-primary-300: #87b5ff;--cf-primary-400: #5391f7;--cf-primary-500: #1e6fd9;--cf-primary-600: #155aba;--cf-primary-700: #114894;--cf-primary-800: #0d3873;--cf-primary-900: #082551;--cf-bg: #f5f7fb;--cf-text: #1c2434;--cf-muted: #5b6b80;--cf-card-bg: #ffffff;--cf-border: #e2e8f0;--cf-danger: #c0392b;--cf-danger-dark: #8e2a20;--cf-danger-bg: #fdecea;--cf-danger-border: #f0b4a8;--cf-warning-700: #92600a;--cf-warning-100: #fdf0d5;--cf-info-text: var(--cf-primary-800);--cf-info-bg: var(--cf-primary-50);--cf-info-border: var(--cf-primary-200);--cf-brand-navy: #0b2e5f;--cf-brand-teal: #1b8c86;--cf-brand-teal-light: #6fd6cb}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--cf-bg);color:var(--cf-text);min-height:100vh}a{color:var(--cf-primary-600);text-decoration:none}a:hover{text-decoration:underline}table,input,wa-input{font-variant-numeric:tabular-nums}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--cf-primary-600);color:#fff;border:none;border-radius:6px;padding:.65rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--cf-primary-700)}.btn-primary:active{background:var(--cf-primary-800)}.btn-block{width:100%}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--cf-card-bg);color:var(--cf-primary-700);border:1px solid var(--cf-border);border-radius:6px;padding:.65rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.btn-secondary:hover{background:var(--cf-primary-50);border-color:var(--cf-primary-300)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--cf-danger);color:#fff;border:none;border-radius:6px;padding:.65rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:filter .15s}.btn-danger:hover{filter:brightness(.92)}.btn-sm{padding:.4rem .8rem;font-size:.875rem}.sort-toggle{display:inline-flex;align-items:center;justify-self:start;padding:0;border:none;background:none;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.sort-toggle:hover{color:var(--cf-text)}.sort-toggle.active{color:var(--cf-primary-700)}.link-btn{height:100%;background:none;border:none;color:var(--cf-primary-600);cursor:pointer;font-size:.85rem;padding:.25rem .4rem;text-decoration:none}.link-btn:hover{text-decoration:underline}.icon-btn{background:none;border:none;cursor:pointer;color:var(--cf-muted);padding:0 .4rem;display:inline-flex;align-items:center}.icon-btn:hover{color:var(--cf-primary-600)}.icon-btn-danger:hover{color:var(--cf-danger)}.wordmark{display:inline-flex;align-items:center;gap:.4em;font-family:Nunito,ui-rounded,system-ui,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:-.01em;line-height:1;color:var(--cf-brand-navy);text-decoration:none;white-space:nowrap}.wordmark:hover{text-decoration:none}.wordmark img{height:1.3em;width:auto}.wordmark b{font-weight:inherit;color:var(--cf-brand-teal)}.wordmark-light{color:#fff}.wordmark-light b{color:var(--cf-brand-teal-light)}.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;background:linear-gradient(135deg,var(--cf-primary-700),var(--cf-primary-500))}.login-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.25rem;font-size:.8rem}.login-legal a{color:#ffffffd9}.login-legal a:hover{color:#fff}.login-card{background:#fff;padding:2.5rem 3rem;border-radius:12px;box-shadow:0 12px 40px #0000002e;width:360px}.login-logo{display:flex;justify-content:center;margin-bottom:1.5rem}.login-subtitle{text-align:center;color:var(--cf-muted);margin:0 0 1.75rem;font-size:.92rem}.login-alt{text-align:center;color:var(--cf-muted);font-size:.85rem;margin:1.5rem 0 0}.dev-login{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--cf-border)}.dev-login input{flex:1;min-width:0;padding:.35rem .6rem;font:inherit;font-size:.85rem;border:1px solid var(--cf-border);border-radius:6px}
