*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#1f2937}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(20px)}15%{opacity:1;transform:translate(-50%) translateY(0)}85%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}.app-modal-overlay{position:fixed;inset:0;z-index:1200;background:#0f172a66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}.app-modal-card{width:100%;max-width:420px;background:#fff;border-radius:14px;border:1px solid #dbe1ea;box-shadow:0 20px 40px #0f172a2e;padding:16px;text-align:left}.app-modal-card h3{margin:0 0 12px}.app-modal-card input{width:100%;border:1px solid #dbe1ea;border-radius:10px;padding:10px 12px;margin-bottom:10px}.app-modal-actions{display:flex;justify-content:flex-end;gap:8px}.app-modal-actions button{border:none;border-radius:10px;padding:9px 12px;cursor:pointer}.backend-connection-banner{position:fixed;z-index:10000;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;max-width:min(94vw,620px);padding:10px 14px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;box-shadow:0 10px 26px #0f172a29;font-size:13px;font-weight:800}.loading-screen{min-height:100vh;display:grid;place-items:center;background:#f9fafb}.application-error-screen{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:#f4f7fb;color:#101828;font-family:Outfit,sans-serif}.application-error-card{width:min(100%,520px);padding:40px;border:1px solid #dbe5f0;border-radius:24px;background:#fff;box-shadow:0 20px 50px #0f2c4b1f;text-align:center}.application-error-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border-radius:16px;background:#e8f5ff;color:#057ac0;font-size:30px;font-weight:800}.application-error-eyebrow{margin:0 0 6px;color:#057ac0;font-size:13px;font-weight:800;letter-spacing:.12em}.application-error-card h1{margin:0;font-size:clamp(28px,5vw,38px)}.application-error-card>p:not(.application-error-eyebrow){margin:14px auto 24px;color:#526174;font-size:17px;line-height:1.55}.application-error-card button{width:100%;min-height:50px;border:0;border-radius:14px;background:#087fbd;color:#fff;font:inherit;font-weight:800;cursor:pointer}.application-error-card button:hover{background:#05689c}@media(max-width:560px){.application-error-card{padding:30px 22px;border-radius:20px}}.loading-logo{display:inline-grid;place-items:center}.loading-logo img{width:82px;height:82px;border-radius:50%;object-fit:cover;box-shadow:0 12px 30px #1e88e538;animation:loading-logo-pulse 1.1s ease-in-out infinite}.loading-logo--compact img{width:30px;height:30px;box-shadow:0 4px 12px #1e88e533}.loading-logo__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes loading-logo-pulse{0%,to{transform:scale(.88);opacity:.72}50%{transform:scale(1);opacity:1}}.backend-connection-banner.is-failed{border-radius:14px;background:#fff1f2;border-color:#fecdd3;color:#be123c}.backend-connection-banner button{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:999px;padding:6px 10px;background:#be123c;color:#fff;font:inherit;cursor:pointer}.backend-connection-banner button:disabled{opacity:.65;cursor:wait}.backend-spin{animation:backend-spin .9s linear infinite}@keyframes backend-spin{to{transform:rotate(360deg)}}.app-dialog-layer{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px}.app-dialog-overlay{position:absolute;inset:0;background:#0f172a8f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:app-dialog-fade-in .18s ease-out}.app-dialog{position:relative;z-index:1;width:min(100%,440px);max-height:calc(100vh - 40px);overflow:auto;box-sizing:border-box;padding:34px;border:1px solid #dbe5f2;border-radius:20px;background:#fff;color:#0f172a;text-align:center;box-shadow:0 28px 70px #0f172a47;animation:app-dialog-enter .22s cubic-bezier(.2,.8,.2,1)}.app-dialog-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#64748b;cursor:pointer}.app-dialog-close:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.app-dialog-close:disabled{cursor:wait;opacity:.5}.app-dialog-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:18px;background:#eff6ff;color:#2563eb}.app-dialog--destructive .app-dialog-icon{background:#fff1f2;color:#dc2626}.app-dialog-title{margin:0;color:#0f172a;font-size:23px;line-height:1.25;overflow-wrap:anywhere}.app-dialog-message{margin:12px 0 0;color:#475569;font-size:15px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.app-dialog-error{margin:16px 0 0;padding:10px 12px;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:13px;line-height:1.45}.app-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.app-dialog-actions:has(>:only-child){grid-template-columns:1fr}.app-dialog-button{min-width:0;min-height:46px;padding:11px 16px;border-radius:12px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.app-dialog-button:hover:not(:disabled){transform:translateY(-1px)}.app-dialog-button:disabled{cursor:wait;opacity:.65;transform:none}.app-dialog-button--cancel{border:1px solid #cbd5e1;background:#fff;color:#334155}.app-dialog-button--cancel:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.app-dialog-button--confirm{border:1px solid #1d4ed8;background:#1d4ed8;color:#fff}.app-dialog-button--confirm:hover:not(:disabled){background:#1e40af}.app-dialog-button--danger{border:1px solid #dc2626;background:#dc2626;color:#fff}.app-dialog-button--danger:hover:not(:disabled){background:#b91c1c}:root[data-theme=dark] .app-dialog{border-color:#334155;background:#111827;color:#f8fafc}:root[data-theme=dark] .app-dialog-title{color:#f8fafc}:root[data-theme=dark] .app-dialog-message{color:#cbd5e1}:root[data-theme=dark] .app-dialog-close,:root[data-theme=dark] .app-dialog-button--cancel{border-color:#475569;background:#1f2937;color:#e2e8f0}@media(max-width:480px){.app-dialog-layer{padding:14px;align-items:end}.app-dialog{width:100%;max-height:calc(100vh - 28px);padding:30px 20px 20px;border-radius:20px 20px 14px 14px}.app-dialog-actions{grid-template-columns:1fr}.app-dialog-button--cancel{order:2}}@media(prefers-reduced-motion:reduce){.app-dialog-overlay,.app-dialog{animation:none}}@keyframes app-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-dialog-enter{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}:root{--bq-font-heading: "Outfit", sans-serif;--bq-font-body: "Outfit", sans-serif;--bq-color-brand: #000000;--bq-color-accent: #2563eb;--bq-color-bg: #f4f5f7;--bq-color-surface: #ffffff;--bq-color-ink: #09090b;--bq-color-border: rgba(0, 0, 0, .05);--bq-shadow-soft: 0 10px 25px -5px rgba(0, 0, 0, .05);--bq-shadow-float: 0 20px 40px -10px rgba(0, 0, 0, .08)}.bq-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-family:var(--bq-font-heading);font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);border:none;white-space:nowrap}.bq-btn--primary{background:var(--bq-color-brand);color:#fff;box-shadow:var(--bq-shadow-soft)}.bq-btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--bq-shadow-float)}.bq-btn--outline{background:#fff;color:var(--bq-color-ink);border:1px solid var(--bq-color-border)}.bq-btn--outline:hover:not(:disabled){background:var(--bq-color-bg)}.bq-btn--ghost{background:transparent;color:#71717a}.bq-btn--ghost:hover:not(:disabled){background:var(--bq-color-bg);color:var(--bq-color-ink)}.bq-btn--cancel{background:transparent;color:#71717a}.bq-btn--cancel:hover:not(:disabled){background:#ef44440d;color:#ef4444}.bq-btn--sm{height:44px;padding:0 20px;font-size:12px}.bq-btn--md{height:56px;padding:0 28px;font-size:14px}.bq-btn--lg{height:64px;padding:0 32px;font-size:15px}.bq-btn:disabled{background:#71717a!important;color:#fff9!important;cursor:not-allowed;box-shadow:none!important;transform:none!important;border-color:#71717a!important}.bq-tech-card{display:inline-flex;align-items:center;gap:8px;border-radius:8px;font-family:var(--bq-font-heading);font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-width:1px;border-style:solid;transition:all .3s ease}.bq-tech-card--sm{padding:4px 10px;font-size:11px}.bq-tech-card--md{padding:8px 14px;font-size:13px}.bq-tech-card:hover{transform:translateY(-2px);box-shadow:var(--bq-shadow-soft)}.bq-badge{display:inline-flex;align-items:center;gap:6px;border-radius:6px;font-family:var(--bq-font-heading);font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.bq-badge--pill{border-radius:999px}.bq-input-field{width:100%;border-radius:16px;font-family:var(--bq-font-body);transition:all .3s ease;outline:none}.bq-drawer-panel{position:fixed;top:0;height:100%;background:#fff;z-index:2000;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.16,1,.3,1);will-change:transform}body{margin:0;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f5f7}
