/* Piquay LLC | 2026-04-04 | All rights reserved */
/* ProspectScore v8.0.0 */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');
/* ── Kadence / theme reset — scope all overrides under #bq-root ── */
#bq-root, #bq-root * {
    box-sizing: border-box !important;
}
#bq-root .bq-app {
    margin: 0 !important;
}
#bq-root input,
#bq-root select,
#bq-root textarea,
#bq-root button {
    font-family: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: inherit;
    line-height: normal !important;
    letter-spacing: normal;
    border-radius: 0;
    outline: none;
}
#bq-root input[type="range"] {
    -webkit-appearance: slider-horizontal !important;
    -moz-appearance: range !important;
    appearance: auto !important;
    height: 6px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    display: block !important;
    width: 100% !important;
}
#bq-root input[type="text"],
#bq-root input[type="password"],
#bq-root input[type="date"],
#bq-root input[type="time"] {
    background: transparent;
    box-shadow: none !important;
}
#bq-root .bq-app {
    max-width: 100% !important;
    width: 100% !important;
}
#bq-root ul, #bq-root ol, #bq-root li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#bq-root p { margin: 0 !important; }
#bq-root h1, #bq-root h2, #bq-root h3 { margin: 0 !important; font-weight: inherit; }



#bq-root { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif; }
#bq-root * { box-sizing: border-box; margin: 0; padding: 0; font-family: inherit; }

/* ── Gate ─────────────────────────────────────────────────────────────────── */
.bq-gate { display:flex; align-items:center; justify-content:center; min-height:520px; background:#f0f4f8; border-radius:12px; padding:20px; }
.bq-gate-card { background:#fff; border-radius:14px; padding:48px 48px 44px; width:400px; box-shadow:0 4px 28px rgba(11,37,69,0.12); text-align:center; }
.bq-gate-logo { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:24px; }
.bq-gate-logo-img { height:64px; object-fit:contain; background:#fff; border-radius:10px; padding:8px 18px; display:block; border:1px solid #e8edf2; }
.bq-gate-logo-mark { width:36px; height:36px; border-radius:8px; background:#00bcd4; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; color:#fff; }
.bq-gate-brand-main { font-size:16px; font-weight:700; color:#0b2545; letter-spacing:2px; display:block; }
.bq-gate-brand-sub  { font-size:8px; color:#00bcd4; letter-spacing:2px; display:block; margin-top:2px; }
.bq-gate-divider    { height:1px; background:#e8edf2; margin:20px 0; }
.bq-gate-heading    { font-size:20px; font-weight:600; color:#0b2545; margin-bottom:6px; }
.bq-gate-meta       { font-size:13px; color:#8899aa; margin-bottom:24px; }
.bq-gate-input      { width:100%; padding:12px 16px; border:1.5px solid #dde3ea; border-radius:8px; font-size:15px; text-align:center; letter-spacing:4px; outline:none; margin-bottom:8px; color:#0b2545; transition:border-color 0.15s; }
.bq-gate-input:focus { border-color:#0b2545; }
.bq-gate-input.error { border-color:#e24b4a; background:#fff1f1; }
.bq-gate-err { font-size:12px; color:#e24b4a; min-height:18px; margin-bottom:8px; }
.bq-gate-btn { width:100%; padding:13px; background:#0b2545; color:#fff; border:none; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; transition:background 0.15s; letter-spacing:1px; }
.bq-gate-btn:hover { background:#163d6e; }
.bq-shake { animation:bq-shake 0.4s ease; }
@keyframes bq-shake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)} }

/* ── App layout ───────────────────────────────────────────────────────────── */
.bq-app { display:flex; min-height:700px; background:#eef1f5; border-radius:12px; border:1px solid #dde3ea; align-items:flex-start; }
.bq-sidebar { width:210px; flex-shrink:0; background:#0b2545; display:flex; flex-direction:column; padding:18px 14px; position:sticky; top:0; height:100vh; overflow-y:auto; border-radius:12px 0 0 12px; }
.bq-sb-logorow { display:flex; align-items:center; gap:9px; margin-bottom:3px; }
.bq-sb-logo-img { height:44px; object-fit:contain; background:#fff; border-radius:7px; padding:5px 8px; display:block; }
.bq-sb-logo-mark { width:28px; height:28px; border-radius:6px; background:#00bcd4; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:#fff; flex-shrink:0; }
.bq-sb-brand-main { font-size:13px; font-weight:700; color:#fff; letter-spacing:2px; display:block; }
.bq-sb-brand-sub  { font-size:7px; color:#00bcd4; letter-spacing:2px; display:block; margin-top:1px; }
.bq-sb-label  { font-size:8px; color:rgba(255,255,255,0.22); letter-spacing:1px; margin:4px 0 10px 37px; }
.bq-divider   { height:1px; background:rgba(255,255,255,0.08); margin:10px 0; }
.bq-sb-section { font-size:8px; font-weight:600; color:rgba(255,255,255,0.28); letter-spacing:2px; margin-bottom:8px; }
.bq-sb-step   { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.bq-sb-dot    { width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; flex-shrink:0; }
.bq-sb-dot.done    { background:#00bcd4; color:#fff; }
.bq-sb-dot.pending { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); color:rgba(255,255,255,0.28); }
.bq-sb-step-text        { font-size:11px; }
.bq-sb-step-text.done   { color:#fff; }
.bq-sb-step-text.pending{ color:rgba(255,255,255,0.3); }
.bq-sb-score-wrap  { text-align:center; padding:6px 0 2px; }
.bq-sb-score-num   { font-size:44px; font-weight:700; line-height:1; letter-spacing:-2px; }
.bq-sb-score-sub   { font-size:10px; color:rgba(255,255,255,0.32); margin-top:3px; }
.bq-sb-score-tier  { font-size:10px; font-weight:700; letter-spacing:2px; margin-top:5px; display:block; }
.bq-sb-score-empty { font-size:11px; color:rgba(255,255,255,0.18); text-align:center; padding:8px 0; line-height:1.7; }
.bq-sb-model-wrap  { text-align:center; margin-top:7px; }
.bq-sb-model-lbl   { font-size:7px; color:rgba(255,255,255,0.28); letter-spacing:1.5px; }
.bq-sb-model-val   { font-size:12px; color:#00bcd4; font-weight:600; margin-top:2px; }
.bq-spacer { flex:1; }
.bq-prepby-wrap  { margin-bottom:10px; }
.bq-prepby-label { font-size:7px; font-weight:600; color:rgba(255,255,255,0.5); letter-spacing:2px; margin-bottom:5px; display:block; }
#bq-root .bq-prepby-input { width:100%; padding:6px 9px; border-radius:6px; border:1px solid rgba(255,255,255,0.25) !important; background:rgba(255,255,255,0.12) !important; color:#fff !important; font-size:12px; outline:none; box-shadow:none !important; }
#bq-root .bq-prepby-input::placeholder { color:rgba(255,255,255,0.4) !important; }
#bq-root .bq-prepby-input:focus { border-color:rgba(0,188,212,0.7) !important; background:rgba(255,255,255,0.18) !important; }
.bq-btn-admin    { width:100%; padding:8px 10px; border-radius:6px; background:rgba(0,188,212,0.1); border:1px solid rgba(0,188,212,0.28); color:#00bcd4; font-size:11px; font-weight:600; cursor:pointer; margin-bottom:6px; text-align:left; }
.bq-btn-reset-sb { width:100%; padding:8px 10px; border-radius:6px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.09); color:rgba(255,255,255,0.35); font-size:11px; font-weight:600; cursor:pointer; text-align:left; }

/* ── Main ─────────────────────────────────────────────────────────────────── */
.bq-main { flex:1; padding:24px 28px 50px; overflow-y:auto; background:#f7f9fb; min-width:0; }
.bq-main > * { max-width:900px; }


/* ── Header ───────────────────────────────────────────────────────────────── */
.bq-header       { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid #dde3ea; }
.bq-header-title { font-size:21px; font-weight:600; color:#0b2545; line-height:1.2; }
.bq-header-sub   { font-size:12px; color:#8899aa; margin-top:4px; }
.bq-header-right { text-align:right; flex-shrink:0; }
.bq-header-date  { font-size:11px; color:#aab5c0; }
.bq-progress-pill { display:inline-block; margin-top:5px; background:#0b2545; color:#00bcd4; font-size:10px; font-weight:600; padding:3px 11px; border-radius:20px; }

/* ── Archetype bar ────────────────────────────────────────────────────────── */
.bq-arch-bar { display:flex; align-items:center; gap:12px; padding:10px 14px; background:#fff; border:1px solid #dde3ea; border-radius:9px; margin-bottom:14px; }
.bq-arch-badge { font-size:9px; font-weight:700; padding:3px 9px; border-radius:4px; color:#fff; letter-spacing:1px; text-transform:uppercase; flex-shrink:0; }
.bq-arch-lbl   { font-size:13px; font-weight:600; color:#0b2545; }
.bq-arch-sub   { font-size:11px; color:#6b7c8d; margin-top:1px; }
.bq-arch-override-wrap { margin-left:auto; position:relative; }
.bq-arch-override { font-size:11px; color:#185fa5; cursor:pointer; text-decoration:underline; text-underline-offset:2px; background:none; border:none; padding:0; }
.bq-arch-dropdown { position:absolute; top:100%; right:0; margin-top:5px; background:#fff; border:1px solid #c5ced7; border-radius:8px; z-index:100; min-width:200px; box-shadow:0 4px 18px rgba(0,0,0,0.1); display:none; overflow:hidden; }
.bq-arch-dropdown.open { display:block; }
.bq-arch-opt { padding:10px 14px; font-size:12px; color:#1a2f45; cursor:pointer; border-bottom:1px solid #edf0f3; }
.bq-arch-opt:last-child { border-bottom:none; }
.bq-arch-opt:hover { background:#f0f4f8; }

/* ── Score meter ──────────────────────────────────────────────────────────── */
.bq-meter { border:1px solid; border-radius:10px; padding:15px 19px; margin-bottom:18px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.bq-meter-left      { text-align:center; min-width:64px; }
.bq-meter-score     { font-size:42px; font-weight:700; line-height:1; letter-spacing:-2px; }
.bq-meter-score-sub { font-size:10px; color:#8899aa; margin-top:3px; }
.bq-meter-hard-sub  { font-size:10px; color:#a32d2d; margin-top:3px; font-style:italic; }
.bq-meter-mid    { flex:1; min-width:100px; }
.bq-meter-tier   { font-size:15px; font-weight:700; letter-spacing:2px; margin-bottom:2px; }
.bq-meter-label  { font-size:13px; font-weight:500; }
.bq-meter-chip   { display:inline-flex; align-items:center; gap:5px; margin-top:7px; background:rgba(0,188,212,0.07); border:1px solid rgba(0,188,212,0.18); border-radius:4px; padding:3px 9px; font-size:10px; }
.bq-meter-chip-lbl  { color:#6b7c8d; }
.bq-meter-chip-band { font-weight:600; color:#0b2545; }
.bq-meter-track-wrap { flex:2; min-width:160px; }
.bq-meter-track  { height:8px; background:#e8edf2; border-radius:4px; position:relative; margin-bottom:6px; }
.bq-track-red    { position:absolute; left:0; top:0; height:100%; background:#f09595; border-radius:3px 0 0 3px; }
.bq-track-yellow { position:absolute; top:0; height:100%; background:#fac775; }
.bq-track-green  { position:absolute; top:0; height:100%; background:#97c459; border-radius:0 3px 3px 0; }
.bq-track-needle { position:absolute; top:-3px; width:3px; height:calc(100% + 6px); border-radius:2px; transform:translateX(-50%); }
.bq-meter-labels { display:flex; justify-content:space-between; font-size:9px; font-weight:600; }
.bq-lbl-red    { color:#a32d2d; }
.bq-lbl-yellow { color:#854f0b; }
.bq-lbl-green  { color:#3b6d11; }

/* ── Intake card ──────────────────────────────────────────────────────────── */
.bq-intake-card { background:#fff; border:1px solid #dde3ea; border-radius:10px; margin-bottom:14px; overflow:hidden; }
.bq-intake-head { background:#0b2545; padding:10px 16px; display:flex; justify-content:space-between; align-items:center; overflow:hidden; }
.bq-intake-head-title { font-size:10px; font-weight:700; color:#fff; letter-spacing:1.5px; text-transform:uppercase; }
.bq-intake-head-sub   { font-size:10px; color:rgba(255,255,255,0.38); }
.bq-intake-body       { padding:16px 18px; overflow:hidden; }
.bq-intake-row        { display:flex; gap:10px; flex-wrap:nowrap; align-items:flex-end; margin-bottom:12px; max-width:860px; box-sizing:border-box; }
.bq-intake-field      { flex:1; min-width:0; overflow:hidden; max-width:100%; }
.bq-intake-field.w-2  { flex:2; min-width:0; max-width:340px; }
.bq-intake-field.w-sm { flex:0 0 80px; width:80px; min-width:0; }
.bq-intake-field.w-dob { flex:0 0 116px; width:116px; min-width:0; }
.bq-field-label       { display:block; font-size:9px; font-weight:600; color:#6b7a8d; text-transform:uppercase; letter-spacing:1px; margin-bottom:5px; white-space:nowrap; }
.bq-field-input       { width:100%; border:none; border-bottom:1.5px solid #dde3ea; padding:5px 0; font-size:12px; color:#1a2e45; background:transparent; outline:none; transition:border-color 0.15s; box-sizing:border-box; line-height:1.4; }
.bq-field-input:focus { border-bottom-color:#0b2545; }
.bq-field-input.bq-age-input { border:1.5px solid #b0bec8; border-radius:5px; padding:3px 8px; background:#fff; font-size:12px; height:28px; box-sizing:border-box; }
.bq-field-input.bq-age-input:focus { border-color:#0b2545; outline:none; }
.bq-intake-field.w-dob .bq-field-input { height:28px; box-sizing:border-box; }
.bq-spouse-select     { width:100%; border:none; border-bottom:1.5px solid #dde3ea; padding:5px 0; font-size:12px; color:#1a2e45; background:transparent; outline:none; cursor:pointer; }
.bq-intake-divider    { height:1px; background:#f0f3f6; margin:12px 0; }
.bq-intake-spouse-lbl { font-size:9px; font-weight:600; color:#8899aa; text-transform:uppercase; letter-spacing:1px; margin-bottom:10px; display:block; }
.bq-age-row   { display:flex; align-items:center; gap:8px; }
.bq-age-badge { display:none; align-items:center; gap:3px; background:#0b2545; border-radius:5px; padding:3px 8px; }
.bq-age-badge.visible { display:flex; }
.bq-age-badge-num { font-size:12px; font-weight:700; color:#fff; }
.bq-age-badge-lbl { font-size:8px; color:#00bcd4; letter-spacing:1px; font-weight:600; }
@keyframes bq-badge-pop { 0%{transform:scale(0.8);opacity:0} 70%{transform:scale(1.06)} 100%{transform:scale(1);opacity:1} }
.bq-badge-pop { animation:bq-badge-pop 0.22s ease forwards; }

/* ── Phase label ──────────────────────────────────────────────────────────── */
.bq-phase-row   { display:flex; align-items:center; gap:10px; margin:4px 0 12px; }
.bq-phase-badge { font-size:9px; font-weight:700; padding:3px 9px; border-radius:4px; color:#fff; letter-spacing:1px; flex-shrink:0; }
.bq-phase-title { font-size:13px; font-weight:600; color:#0b2545; }
.bq-phase-meta  { font-size:11px; color:#8899aa; }
.bq-phase-line  { flex:1; height:1px; background:#dde3ea; }

/* ── Question grid ────────────────────────────────────────────────────────── */
.bq-q-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px; margin-bottom:18px; width:100%; min-width:0; max-width:900px; }
.bq-q-card { background:#fff; border:1px solid #dde3ea; border-radius:10px; padding:15px 16px; min-width:0; overflow:hidden; }
.bq-q-card.disabled { opacity:0.45; }
.bq-q-card.bq-hard-red-card { border-color:#f09595; background:#fff1f1; }
.bq-q-head   { display:flex; justify-content:space-between; align-items:center; margin-bottom:3px; min-width:0; overflow:hidden; }
.bq-q-title  { font-size:12px; font-weight:600; color:#0b2545; }
.bq-q-weight { font-size:9px; font-weight:600; padding:2px 8px; border-radius:20px; white-space:nowrap; flex-shrink:0; }
.bq-q-weight.num  { background:#e6f1fb; color:#0c447c; }
.bq-q-weight.na   { background:#eaf3de; color:#3b6d11; }
.bq-q-weight.cond { background:#faeeda; color:#854f0b; }
.bq-q-weight.hr   { background:#fcebeb; color:#a32d2d; }
.bq-q-sub { font-size:11px; color:#8899aa; margin:4px 0 11px; line-height:1.55; }

/* ── Radio options ────────────────────────────────────────────────────────── */
.bq-radio-group { display:flex; flex-direction:column; gap:4px; }
.bq-radio-opt { display:flex; align-items:center; gap:9px; padding:7px 10px; border-radius:7px; border:1px solid #e8edf2; cursor:pointer; background:#f7f9fb; font-size:11px; color:#5a6e80; user-select:none; transition:background 0.1s, border-color 0.1s; }
.bq-radio-opt:hover { background:#e6f1fb; border-color:#b5d4f4; color:#0c447c; }
.bq-radio-opt.sel   { background:#e6f1fb; border-color:#378add; color:#0c447c; }
.bq-radio-opt.bq-hr-opt:hover { background:#fcebeb; border-color:#f7c1c1; color:#a32d2d; }
.bq-radio-opt.bq-hr-opt.sel   { background:#fcebeb; border-color:#e24b4a; color:#a32d2d; }
.bq-radio-dot { width:13px; height:13px; border-radius:50%; border:1.5px solid #c5ced7; flex-shrink:0; background:#fff; transition:all 0.1s; }
.bq-radio-dot.sel    { border-color:#00bcd4; background:#00bcd4; }
.bq-radio-dot.hr-sel { border-color:#e24b4a; background:#e24b4a; }
.bq-radio-text  { flex:1; line-height:1.45; }
.bq-radio-check { font-size:10px; font-weight:700; color:#00bcd4; flex-shrink:0; }
.bq-radio-check.hr { color:#a32d2d; }

/* ── Tags ─────────────────────────────────────────────────────────────────── */
.bq-na-tag { padding:9px 12px; background:#eaf3de; border:1px solid #c0dd97; border-radius:7px; font-size:11px; color:#3b6d11; font-weight:600; }
.bq-hard-red-tag { padding:10px 12px; background:#fcebeb; border:1px solid #f7c1c1; border-radius:7px; font-size:11px; color:#a32d2d; line-height:1.65; }

/* ── Captive slider ───────────────────────────────────────────────────────── */
.bq-captive-box    { margin-top:12px; padding:12px 13px; background:#faeeda; border:1px solid #fac775; border-radius:7px; }
.bq-captive-title  { font-size:10px; font-weight:600; color:#854f0b; margin-bottom:8px; }
.bq-captive-ends   { display:flex; justify-content:space-between; font-size:10px; color:#854f0b; margin-bottom:5px; }
.bq-captive-slider {
    -webkit-appearance: slider-horizontal !important;
    -moz-appearance: range !important;
    appearance: auto !important;
    width: 100% !important;
    height: 6px !important;
    accent-color: #854f0b;
    display: block !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    outline: none !important;
    cursor: pointer;
    margin: 4px 0;
}
.bq-captive-result { display:flex; gap:7px; margin-top:8px; }
.bq-captive-half   { flex:1; padding:6px 9px; border-radius:6px; text-align:center; font-size:10px; font-weight:600; }
.bq-captive-ira    { background:#eaf3de; color:#3b6d11; }
.bq-captive-401    { background:#faeeda; color:#854f0b; }
.bq-captive-note   { margin-top:7px; font-size:10px; color:#854f0b; background:rgba(186,117,23,0.09); padding:5px 8px; border-radius:5px; }

/* ── Result card ──────────────────────────────────────────────────────────── */
.bq-result-card  { border:1px solid; border-radius:10px; padding:19px 21px; margin-bottom:16px; max-width:900px; }
.bq-result-top   { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.bq-result-badge { font-size:10px; font-weight:700; padding:4px 10px; border-radius:5px; color:#fff; letter-spacing:1.5px; flex-shrink:0; }
.bq-result-name  { font-size:15px; font-weight:600; flex:1; min-width:0; }
.bq-result-score { font-size:22px; font-weight:700; letter-spacing:-0.5px; flex-shrink:0; }
.bq-script-lbl   { font-size:9px; font-weight:700; color:#8899aa; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:7px; }
.bq-script-text  { font-size:13px; font-style:italic; color:#1a2f45; line-height:1.78; padding:12px 14px; border-left:3px solid; border-radius:0 7px 7px 0; background:rgba(255,255,255,0.6); margin-bottom:13px; }
.bq-action-row   { display:flex; gap:8px; font-size:12px; align-items:flex-start; margin-bottom:13px; }
.bq-action-lbl   { font-weight:700; color:#0b2545; flex-shrink:0; }
.bq-action-text  { color:#4a5e70; line-height:1.55; }

/* ── Disqualifier ─────────────────────────────────────────────────────────── */
.bq-dq-box { padding:12px 14px; background:rgba(255,255,255,0.55); border:1px solid rgba(0,0,0,0.08); border-radius:7px; margin-bottom:13px; }
.bq-dq-lbl { font-size:10px; font-weight:600; color:#6b7c8d; margin-bottom:7px; }
.bq-dq-sel { width:100%; padding:8px 10px; border:1px solid #c5ced7; border-radius:6px; font-size:12px; color:#0b2545; background:#fff; cursor:pointer; }

/* ── Book button ──────────────────────────────────────────────────────────── */
.bq-book-btn { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:15px 20px; background:#0077cc; color:#fff; border:none; border-radius:8px; font-size:14px; font-weight:700; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:background 0.15s; margin-top:4px; box-shadow:0 3px 10px rgba(0,119,204,0.35); }
.bq-book-btn:hover { background:#0062aa; box-shadow:0 4px 14px rgba(0,119,204,0.45); }
.bq-book-icon { width:22px; height:22px; background:rgba(255,255,255,0.22); border-radius:5px; display:flex; align-items:center; justify-content:center; font-size:12px; color:#fff; font-style:normal; flex-shrink:0; }

/* ── Phase 2 ──────────────────────────────────────────────────────────────── */
.bq-appt-card  { background:#fff; border:1px solid #dde3ea; border-radius:10px; padding:14px 16px; margin-bottom:14px; max-width:900px; }
.bq-appt-title { font-size:12px; font-weight:700; color:#0b2545; margin-bottom:12px; }
.bq-appt-row   { display:flex; gap:14px; }
.bq-appt-field { flex:1; }
.bq-appt-input { width:100%; border:1px solid #dde3ea; border-radius:7px; padding:8px 10px; font-size:13px; color:#0b2545; outline:none; transition:border-color 0.15s; }
.bq-appt-input:focus { border-color:#0b2545; }
.bq-p2-card    { background:#fff; border:1px solid #dde3ea; border-radius:10px; margin-bottom:14px; overflow:hidden; max-width:900px; }
.bq-p2-head    { background:#0b2545; padding:10px 16px; display:flex; justify-content:space-between; align-items:center; }
.bq-p2-head-title { font-size:10px; font-weight:700; color:#fff; letter-spacing:1.5px; text-transform:uppercase; }
.bq-p2-head-sub   { font-size:10px; color:rgba(255,255,255,0.38); }
.bq-p2-grid    { display:grid !important; grid-template-columns:1fr 1fr 1fr !important; gap:14px; padding:16px 18px; max-width:900px; }
.bq-p2-input   { width:100%; border:none; border-bottom:1.5px solid #dde3ea; padding:5px 0; font-size:13px; color:#0b2545; background:transparent; outline:none; transition:border-color 0.15s; }
.bq-p2-input:focus { border-bottom-color:#0b2545; }

/* ── Notes ────────────────────────────────────────────────────────────────── */
.bq-notes-card { background:#fff; border:1px solid #dde3ea; border-radius:10px; padding:14px 16px; margin-bottom:14px; max-width:900px; }
.bq-notes-head { font-size:12px; font-weight:700; color:#0b2545; margin-bottom:10px; }
.bq-notes-area { width:100%; border:1px solid #dde3ea; border-radius:7px; padding:10px 12px; font-size:13px; color:#1a2f45; resize:vertical; outline:none; line-height:1.65; transition:border-color 0.15s; }
.bq-notes-area:focus { border-color:#0b2545; }

/* ── Export bar ───────────────────────────────────────────────────────────── */
.bq-export-bar  { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:#fff; border:1px solid #dde3ea; border-radius:10px; flex-wrap:wrap; gap:12px; max-width:900px; }
.bq-export-hint { font-size:12px; color:#8899aa; }
.bq-export-ok   { font-size:12px; color:#12a150; font-weight:600; }
.bq-export-btns { display:flex; gap:8px; }
.bq-btn-secondary { padding:9px 16px; background:#f0f4f8; border:1px solid #dde3ea; border-radius:7px; font-size:12px; color:#4a5e70; cursor:pointer; font-weight:600; transition:background 0.12s; }
.bq-btn-secondary:hover { background:#e2e8f0; }
.bq-btn-primary { padding:9px 18px; background:#0b2545; color:#fff; border:none; border-radius:7px; font-size:12px; font-weight:700; cursor:pointer; transition:background 0.15s; }
.bq-btn-primary:hover { background:#163d6e; }
.bq-btn-primary.disabled { opacity:0.35; cursor:not-allowed; pointer-events:none; }

/* ── Admin panel ──────────────────────────────────────────────────────────── */
.bq-admin-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:9999; display:flex; align-items:center; justify-content:center; }
.bq-admin-panel   { background:#fff; border-radius:12px; width:560px; max-height:85vh; display:flex; flex-direction:column; box-shadow:0 8px 40px rgba(0,0,0,0.18); overflow:hidden; }
.bq-admin-head    { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid #dde3ea; flex-shrink:0; }
.bq-admin-head-title { font-size:16px; font-weight:700; color:#0b2545 !important; }
.bq-admin-head-sub   { font-size:12px; color:#8899aa !important; margin-top:2px; }
.bq-admin-close   { background:none !important; border:none !important; font-size:18px !important; color:#8899aa !important; cursor:pointer !important; padding:4px 8px !important; line-height:1 !important; box-shadow:none !important; }
.bq-admin-tabs    { display:flex !important; border-bottom:1px solid #dde3ea; padding:0 22px; flex-shrink:0; background:#fff; }
.bq-admin-tab     { padding:10px 16px !important; font-size:12px !important; font-weight:600 !important; color:#8899aa !important; background:none !important; border:none !important; border-bottom:2px solid transparent !important; cursor:pointer !important; margin-bottom:-1px !important; transition:color 0.12s; box-shadow:none !important; border-radius:0 !important; line-height:1.4 !important; }
.bq-admin-tab:hover { color:#0b2545 !important; background:none !important; }
.bq-admin-tab.active { color:#0b2545 !important; border-bottom:2px solid #00bcd4 !important; background:none !important; }
.bq-admin-body    { flex:1; overflow-y:auto; padding:20px 22px; }
.bq-admin-section-lbl { font-size:9px; font-weight:700; color:#8899aa; letter-spacing:2px; text-transform:uppercase; margin-bottom:12px; display:block; }
.bq-admin-hint    { font-size:11px; color:#8899aa; margin:4px 0 14px; line-height:1.55; }
.bq-slider-row    { margin-bottom:18px; }
.bq-slider-top    { display:flex; justify-content:space-between; align-items:center; margin-bottom:5px; }
.bq-slider-lbl    { font-size:12px; font-weight:500; color:#1a2f45; }
.bq-slider-val    { font-size:13px; font-weight:700; color:#0b2545; }
.bq-script-edit-lbl { display:block; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin:14px 0 5px; }
.bq-script-textarea { width:100%; border:1px solid #dde3ea !important; border-radius:7px !important; padding:9px 11px !important; font-size:12px !important; color:#1a2f45 !important; resize:vertical; outline:none !important; line-height:1.6; background:#fff !important; box-shadow:none !important; }
.bq-admin-foot    { display:flex; gap:8px; justify-content:flex-end; padding:14px 22px; border-top:1px solid #dde3ea; flex-shrink:0; }
.bq-btn-cancel    { padding:9px 16px !important; background:#f0f4f8 !important; border:1px solid #dde3ea !important; border-radius:7px !important; font-size:12px !important; color:#4a5e70 !important; cursor:pointer !important; font-weight:600 !important; box-shadow:none !important; }
.bq-btn-save      { padding:9px 18px !important; background:#0b2545 !important; color:#fff !important; border:none !important; border-radius:7px !important; font-size:12px !important; font-weight:700 !important; cursor:pointer !important; box-shadow:none !important; }
.bq-btn-save:hover { background:#163d6e !important; }

/* ── Drag/drop ────────────────────────────────────────────────────────────── */
.bq-drag-banner     { display:flex; align-items:center; justify-content:space-between; padding:9px 14px; background:#fff; border:1px dashed #c5ced7; border-radius:8px; margin-bottom:10px; max-width:900px; }
.bq-drag-banner-txt { font-size:12px; font-weight:600; color:#0b2545; }
.bq-drag-banner-sub { font-size:10px; color:#8899aa; margin-top:1px; }
.bq-drag-save-btn   { padding:7px 14px; background:#0b2545; color:#fff; border:none; border-radius:6px; font-size:11px; font-weight:700; cursor:pointer; }
.bq-drag-save-btn.saved { background:#12a150; }
.bq-q-head-row      { display:flex; align-items:center; gap:6px; margin-bottom:3px; }
.bq-drag-grip       { font-size:14px; color:#c5ced7; cursor:grab; user-select:none; }
.bq-dragging        { opacity:0.5; border:1px dashed #378add !important; }
.bq-drag-over       { border:1px solid #378add !important; background:#e6f1fb !important; }

/* ── Advisor suggestion ───────────────────────────────────────────────────── */
.bq-adv-suggest      { margin-bottom:12px; padding:12px 14px; background:#f0f7ff; border:1px solid #b5d4f4; border-radius:8px; }
.bq-adv-suggest-lbl  { font-size:9px; font-weight:700; color:#185fa5; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:9px; }
.bq-adv-suggest-list { display:flex; flex-wrap:wrap; gap:7px; }
.bq-adv-chip         { display:flex; align-items:center; gap:7px; padding:6px 11px; background:#fff; border:1px solid #b5d4f4; border-radius:20px; }
.bq-adv-chip-name    { font-size:12px; font-weight:600; color:#0b2545; }
.bq-adv-chip-min     { font-size:10px; color:#6b8aaa; font-weight:500; }

/* ── Admin advisors tab ───────────────────────────────────────────────────── */
.bq-adv-table        { margin-bottom:10px; }
.bq-adv-empty        { font-size:12px; color:#8899aa; padding:10px 0; }
.bq-adv-row          { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.bq-adv-inp-name     { flex:2; padding:8px 10px !important; border:1px solid #dde3ea !important; border-radius:6px !important; font-size:12px !important; color:#0b2545 !important; outline:none !important; background:#fff !important; box-shadow:none !important; }
.bq-adv-inp-name:focus { border-color:#0b2545 !important; }
.bq-adv-inp-min      { flex:1; padding:8px 10px !important; border:1px solid #dde3ea !important; border-radius:6px !important; font-size:12px !important; color:#0b2545 !important; outline:none !important; background:#fff !important; box-shadow:none !important; }
.bq-adv-inp-min:focus { border-color:#0b2545 !important; }
.bq-adv-inp-max      { flex:1; padding:8px 10px !important; border:1px solid #dde3ea !important; border-radius:6px !important; font-size:12px !important; color:#0b2545 !important; outline:none !important; background:#fff !important; box-shadow:none !important; }
.bq-adv-inp-max:focus { border-color:#0b2545 !important; }
.bq-adv-del          { padding:7px 10px !important; background:#fff1f1 !important; border:1px solid #f7c1c1 !important; border-radius:6px !important; color:#a32d2d !important; font-size:12px !important; font-weight:700 !important; cursor:pointer !important; flex-shrink:0; box-shadow:none !important; }
.bq-adv-del:hover    { background:#fcebeb !important; }
.bq-adv-add-btn      { padding:8px 14px !important; background:#f0f4f8 !important; border:1px solid #dde3ea !important; border-radius:6px !important; font-size:12px !important; color:#0b2545 !important; font-weight:600 !important; cursor:pointer !important; margin-bottom:14px; display:block; width:100%; text-align:left; box-shadow:none !important; }
.bq-adv-add-btn:hover { background:#e2e8f0 !important; }
.bq-adv-save-btn     { padding:9px 18px !important; background:#0b2545 !important; color:#fff !important; border:none !important; border-radius:7px !important; font-size:12px !important; font-weight:700 !important; cursor:pointer !important; display:block; width:100%; box-shadow:none !important; }
.bq-adv-save-btn:hover { background:#163d6e !important; }
.bq-adv-save-btn.saved { background:#12a150 !important; }

/* ── Login (replaces gate — username + password) ──────────────────────────── */
.bq-gate-input + .bq-gate-input { margin-top:8px; }

/* ── Sidebar identity block ───────────────────────────────────────────────── */
.bq-sb-identity      { padding:6px 0 8px; }
.bq-sb-identity-name { font-size:13px; font-weight:600; color:#fff; }
.bq-sb-identity-role { font-size:9px; color:rgba(255,255,255,0.38); letter-spacing:1.5px; text-transform:uppercase; margin-top:2px; }
.bq-btn-dash    { width:100%; padding:8px 10px !important; border-radius:6px !important; background:rgba(0,188,212,0.15) !important; border:1px solid rgba(0,188,212,0.35) !important; color:#00bcd4 !important; font-size:11px !important; font-weight:600 !important; cursor:pointer !important; margin-bottom:6px; text-align:left; box-shadow:none !important; }
.bq-btn-dash:hover { background:rgba(0,188,212,0.25) !important; }
.bq-btn-signout { width:100%; padding:8px 10px !important; border-radius:6px !important; background:rgba(255,255,255,0.04) !important; border:1px solid rgba(255,255,255,0.09) !important; color:rgba(255,255,255,0.35) !important; font-size:11px !important; font-weight:600 !important; cursor:pointer !important; text-align:left; box-shadow:none !important; margin-top:4px; }
.bq-btn-signout:hover { background:rgba(255,255,255,0.09) !important; color:rgba(255,255,255,0.6) !important; }

/* ── Dashboard wrapper ────────────────────────────────────────────────────── */
.bq-dash-wrap   { font-family:'DM Sans',-apple-system,sans-serif; background:#f7f9fb; min-height:700px; border-radius:12px; border:1px solid #dde3ea; overflow:hidden; }
.bq-dash-header { background:#0b2545; padding:16px 24px; display:flex; align-items:center; gap:16px; border-bottom:3px solid #00bcd4; }
.bq-dash-title  { font-size:18px; font-weight:700; color:#fff; }
.bq-dash-sub    { font-size:11px; color:rgba(255,255,255,0.45); margin-top:2px; }
.bq-dash-logo   { flex-shrink:0; }
.bq-dash-hright { margin-left:auto; display:flex; align-items:center; gap:12px; }
.bq-dash-user   { font-size:12px; color:rgba(255,255,255,0.5); }
.bq-dash-back   { padding:7px 14px !important; background:rgba(255,255,255,0.1) !important; border:1px solid rgba(255,255,255,0.2) !important; border-radius:6px !important; color:#fff !important; font-size:12px !important; font-weight:600 !important; cursor:pointer !important; box-shadow:none !important; }
.bq-dash-back:hover { background:rgba(255,255,255,0.18) !important; }

/* ── Dashboard filters ────────────────────────────────────────────────────── */
.bq-dash-filters    { display:flex; align-items:center; gap:8px; padding:14px 24px; background:#fff; border-bottom:1px solid #dde3ea; flex-wrap:wrap; }
.bq-dash-filter-btn { padding:6px 14px !important; background:#f0f4f8 !important; border:1px solid #dde3ea !important; border-radius:20px !important; font-size:12px !important; font-weight:600 !important; color:#4a5e70 !important; cursor:pointer !important; box-shadow:none !important; }
.bq-dash-filter-btn.active { background:#0b2545 !important; color:#fff !important; border-color:#0b2545 !important; }
.bq-dash-custom     { display:flex; align-items:center; gap:6px; margin-left:8px; }
.bq-dash-date-inp   { padding:6px 10px !important; border:1px solid #dde3ea !important; border-radius:6px !important; font-size:12px !important; color:#0b2545 !important; outline:none !important; width:130px; box-shadow:none !important; background:#fff !important; }

/* ── Dashboard tabs ───────────────────────────────────────────────────────── */
.bq-dash-tabs { display:flex; border-bottom:1px solid #dde3ea; padding:0 24px; background:#fff; }
.bq-dash-tab  { padding:10px 16px !important; font-size:12px !important; font-weight:600 !important; color:#8899aa !important; background:none !important; border:none !important; border-bottom:2px solid transparent !important; cursor:pointer !important; margin-bottom:-1px !important; box-shadow:none !important; border-radius:0 !important; }
.bq-dash-tab.active { color:#0b2545 !important; border-bottom:2px solid #00bcd4 !important; }

/* ── Dashboard body ───────────────────────────────────────────────────────── */
.bq-dash-body    { padding:24px; }
.bq-dash-loading { font-size:13px; color:#8899aa; padding:20px 0; text-align:center; }
.bq-dash-empty   { font-size:13px; color:#8899aa; padding:20px 0; }
.bq-dash-section-lbl { font-size:9px; font-weight:700; color:#8899aa; letter-spacing:2px; text-transform:uppercase; margin:16px 0 10px; display:block; }

/* ── KPI cards ────────────────────────────────────────────────────────────── */
.bq-dash-kpi-row { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.bq-dash-kpi     { flex:1; min-width:90px; background:#fff; border:1px solid #dde3ea; border-radius:10px; padding:16px 14px; text-align:center; }
.bq-dash-kpi-val { font-size:32px; font-weight:700; color:#0b2545; line-height:1; margin-bottom:6px; }
.bq-dash-kpi-val.green  { color:#12a150; }
.bq-dash-kpi-val.yellow { color:#d08a00; }
.bq-dash-kpi-val.red    { color:#d93535; }
.bq-dash-kpi-lbl { font-size:10px; color:#8899aa; font-weight:600; letter-spacing:1px; text-transform:uppercase; }

/* ── Dashboard table ──────────────────────────────────────────────────────── */
.bq-dash-table { background:#fff; border:1px solid #dde3ea; border-radius:10px; overflow:hidden; margin-bottom:16px; }
.bq-dash-thead { display:grid; grid-template-columns:repeat(auto-fit,minmax(80px,1fr)); background:#0b2545; padding:0; }
.bq-dash-tr    { display:grid; grid-template-columns:repeat(auto-fit,minmax(80px,1fr)); border-bottom:1px solid #f0f3f6; align-items:center; }
.bq-dash-tr:last-child { border-bottom:none; }
.bq-dash-tr:hover { background:#f7f9fb; }
.bq-dash-th    { padding:9px 12px; font-size:9px; font-weight:700; color:rgba(255,255,255,0.6); letter-spacing:1px; text-transform:uppercase; }
.bq-dash-td    { padding:9px 12px; font-size:12px; color:#1a2f45; }
.bq-dash-td.green  { color:#12a150; font-weight:700; }
.bq-dash-td.yellow { color:#d08a00; font-weight:700; }
.bq-dash-td.red    { color:#d93535; font-weight:700; }
.bq-dash-drill { padding:4px 10px !important; background:#e6f1fb !important; border:1px solid #b5d4f4 !important; border-radius:5px !important; font-size:11px !important; color:#185fa5 !important; cursor:pointer !important; font-weight:600 !important; box-shadow:none !important; white-space:nowrap; }

/* ── Dashboard BDA overview table ─────────────────────────────────────────── */
.bq-dash-bda-tbl .bq-dash-thead,
.bq-dash-bda-tbl .bq-dash-tr { grid-template-columns:1fr 70px 70px 70px 70px 80px 80px; }

/* ── Dashboard log table ──────────────────────────────────────────────────── */
.bq-dash-log .bq-dash-thead,
.bq-dash-log .bq-dash-tr { grid-template-columns:120px 1fr 55px 65px 80px 110px 100px 130px; }
.bq-dash-log.admin .bq-dash-thead,
.bq-dash-log.admin .bq-dash-tr { grid-template-columns:36px 120px 90px 1fr 55px 65px 80px 110px 100px 130px 36px; }

/* ── Checkbox + delete columns ─────────────────────────────────────────────── */
.bq-th-cb, .bq-td-cb { padding:4px 6px !important; display:flex; align-items:center; justify-content:center; }
.bq-td-del { padding:4px 6px !important; display:flex; align-items:center; justify-content:center; }
.bq-td-cb input[type="checkbox"], .bq-log-selall { cursor:pointer; width:14px; height:14px; accent-color:#0b2545; }

/* ── Bulk delete toolbar ─────────────────────────────────────────────────── */
.bq-log-toolbar { display:flex; align-items:center; gap:10px; padding:8px 12px;
    background:#f0f4f8; border:1px solid #dde3ea; border-radius:8px; margin-bottom:8px; }
.bq-log-selall-lbl { font-size:12px; color:#3a5068; cursor:pointer; user-select:none; }
.bq-log-sel-count  { font-size:12px; color:#6b8499; margin-left:4px; }
.bq-log-del-sel {
    margin-left:auto; padding:5px 14px; font-size:12px; font-weight:600;
    background:#d93535; color:#fff; border:none; border-radius:6px;
    cursor:pointer; transition:background .15s;
}
.bq-log-del-sel:hover:not(.bq-log-del-disabled) { background:#b82a2a; }
.bq-log-del-disabled { background:#ccc !important; cursor:not-allowed !important; }

/* ── Individual row delete button ────────────────────────────────────────── */
.bq-log-del-one {
    width:24px; height:24px; padding:0; border:none; border-radius:50%;
    background:transparent; color:#b0bec8; font-size:13px; line-height:1;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:background .15s, color .15s;
}
.bq-log-del-one:hover { background:#fde8e8; color:#d93535; }

/* ── Selected row highlight ──────────────────────────────────────────────── */
.bq-tr-selected { background:#eef4ff !important; }
.bq-tr-selected:hover { background:#e4eeff !important; }

/* ── Log header row ───────────────────────────────────────────────────────── */
.bq-dash-log-hdr { display:flex; align-items:center; gap:12px; margin-bottom:6px; }

/* ── User management in admin ─────────────────────────────────────────────── */
.bq-user-form   { background:#f7f9fb; border:1px solid #dde3ea; border-radius:8px; padding:14px; margin-bottom:18px; }
.bq-user-form .bq-adv-inp-name { display:block; width:100%; margin-bottom:8px; }
.bq-user-err    { font-size:11px; color:#d93535; min-height:16px; margin:4px 0; }
.bq-user-list   { display:flex; flex-direction:column; gap:8px; }
.bq-user-row    { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; background:#f7f9fb; border:1px solid #dde3ea; border-radius:8px; gap:10px; }
.bq-user-info   { flex:1; min-width:0; }
.bq-user-name   { font-size:13px; font-weight:600; color:#0b2545; }
.bq-user-role   { font-size:9px; color:#8899aa; letter-spacing:1px; margin-top:2px; }
.bq-user-actions { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.bq-user-pw-inp { padding:6px 9px !important; border:1px solid #dde3ea !important; border-radius:6px !important; font-size:12px !important; color:#0b2545 !important; outline:none !important; background:#fff !important; box-shadow:none !important; width:120px; }

/* ── Copyright ────────────────────────────────────────────────────────────── */
.bq-copyright { text-align:center; font-size:10px; color:#b0bbc6; padding:14px 0 4px; letter-spacing:0.3px; }

/* ── Animations ───────────────────────────────────────────────────────────── */
.bq-fade-up { animation:bq-fade-up 0.22s ease; }
@keyframes bq-fade-up { from{opacity:0;transform:translateY(7px)} to{opacity:1;transform:translateY(0)} }

/* ── Login form tweaks ────────────────────────────────────────────────────── */
.bq-gate-input + .bq-gate-input { margin-top:8px; }

/* ── Sidebar identity ─────────────────────────────────────────────────────── */
.bq-sb-identity      { padding:6px 0 4px; }
.bq-sb-identity-name { font-size:13px; font-weight:600; color:#fff; }
.bq-sb-identity-role { font-size:9px; color:#00bcd4; letter-spacing:1.5px; font-weight:600; text-transform:uppercase; margin-top:2px; }
.bq-btn-dash    { width:100%; padding:8px 10px !important; border-radius:6px !important; background:rgba(0,188,212,0.15) !important; border:1px solid rgba(0,188,212,0.35) !important; color:#00bcd4 !important; font-size:11px !important; font-weight:600 !important; cursor:pointer !important; margin-bottom:6px; text-align:left; box-shadow:none !important; }
.bq-btn-dash:hover { background:rgba(0,188,212,0.25) !important; }
.bq-btn-signout { width:100%; padding:8px 10px !important; border-radius:6px !important; background:rgba(255,255,255,0.04) !important; border:1px solid rgba(255,255,255,0.09) !important; color:rgba(255,255,255,0.38) !important; font-size:11px !important; font-weight:600 !important; cursor:pointer !important; text-align:left; box-shadow:none !important; margin-top:4px; }
.bq-btn-signout:hover { background:rgba(255,255,255,0.08) !important; color:rgba(255,255,255,0.6) !important; }
.bq-btn-changepw { width:100%; padding:7px 10px !important; border-radius:6px !important; background:transparent !important; border:none !important; color:rgba(255,255,255,0.25) !important; font-size:10px !important; font-weight:500 !important; cursor:pointer !important; text-align:left; box-shadow:none !important; margin-top:2px; }
.bq-btn-changepw:hover { color:rgba(255,255,255,0.5) !important; }

/* ── Change Password Modal ─────────────────────────────────────────────────── */
.bq-cpw-overlay { position:fixed; inset:0; background:rgba(11,37,69,0.55); z-index:9000; display:flex; align-items:center; justify-content:center; }
.bq-cpw-modal   { background:#fff; border-radius:14px; width:380px; box-shadow:0 8px 40px rgba(11,37,69,0.18); position:relative; overflow:hidden; }
.bq-cpw-head    { background:#0b2545; padding:18px 20px 14px; }
.bq-cpw-title   { font-size:15px; font-weight:700; color:#fff; margin-bottom:3px; }
.bq-cpw-sub     { font-size:11px; color:rgba(255,255,255,0.45); }
.bq-cpw-close   { position:absolute; top:14px; right:16px; background:transparent; border:none; color:rgba(255,255,255,0.5); font-size:16px; cursor:pointer; line-height:1; padding:2px 6px; }
.bq-cpw-close:hover { color:#fff; }
.bq-cpw-body    { padding:22px 24px 24px; }
.bq-cpw-field   { margin-bottom:14px; }
.bq-cpw-lbl     { display:block; font-size:10px; font-weight:600; color:#6b7a8d; text-transform:uppercase; letter-spacing:1px; margin-bottom:5px; }
.bq-cpw-inp     { width:100%; padding:9px 12px; border:1.5px solid #dde3ea; border-radius:7px; font-size:13px; color:#1a2e45; outline:none; transition:border-color .15s; box-sizing:border-box; }
.bq-cpw-inp:focus { border-color:#0b2545; }
.bq-cpw-err     { font-size:12px; color:#d93535; min-height:16px; margin-bottom:8px; }
.bq-cpw-ok      { font-size:12px; color:#12a150; min-height:16px; margin-bottom:8px; font-weight:600; }
.bq-cpw-btn     { width:100%; padding:11px; background:#0b2545; color:#fff; border:none; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; transition:background .15s; margin-top:4px; }
.bq-cpw-btn:hover { background:#163d6e; }
.bq-cpw-btn:disabled { background:#9eaec0; cursor:not-allowed; }

/* ── Dashboard ────────────────────────────────────────────────────────────── */
.bq-dash-wrap    { font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif; background:#f7f9fb; min-height:700px; border-radius:12px; border:1px solid #dde3ea; overflow:hidden; }
.bq-dash-header  { background:#0b2545; padding:14px 24px; display:flex; align-items:center; gap:16px; border-bottom:3px solid #00bcd4; }
.bq-dash-logo    { flex-shrink:0; }
.bq-dash-title   { font-size:18px; font-weight:700; color:#fff; }
.bq-dash-sub     { font-size:11px; color:rgba(0,188,212,0.8); margin-top:2px; }
.bq-dash-hright  { margin-left:auto; display:flex; align-items:center; gap:12px; }
.bq-dash-user    { font-size:12px; color:rgba(255,255,255,0.5); }
.bq-dash-back    { padding:7px 14px !important; background:rgba(255,255,255,0.1) !important; border:1px solid rgba(255,255,255,0.2) !important; border-radius:6px !important; color:#fff !important; font-size:11px !important; font-weight:600 !important; cursor:pointer !important; box-shadow:none !important; }
.bq-dash-back:hover { background:rgba(255,255,255,0.18) !important; }

.bq-dash-filters { display:flex; align-items:center; gap:8px; padding:12px 24px; background:#fff; border-bottom:1px solid #dde3ea; flex-wrap:wrap; }
.bq-dash-filter-btn { padding:6px 14px !important; border:1px solid #dde3ea !important; border-radius:20px !important; background:#f0f4f8 !important; color:#4a5e70 !important; font-size:11px !important; font-weight:600 !important; cursor:pointer !important; box-shadow:none !important; transition:all 0.12s; }
.bq-dash-filter-btn:hover { background:#e2e8f0 !important; }
.bq-dash-filter-btn.active { background:#0b2545 !important; color:#fff !important; border-color:#0b2545 !important; }
.bq-dash-custom  { display:flex; gap:6px; align-items:center; }
.bq-dash-date-inp { padding:5px 10px !important; border:1px solid #dde3ea !important; border-radius:6px !important; font-size:11px !important; color:#0b2545 !important; background:#fff !important; outline:none !important; box-shadow:none !important; width:130px; }

.bq-dash-tabs    { display:flex; border-bottom:1px solid #dde3ea; padding:0 24px; background:#fff; }
.bq-dash-tab     { padding:10px 16px !important; font-size:12px !important; font-weight:600 !important; color:#8899aa !important; background:none !important; border:none !important; border-bottom:2px solid transparent !important; cursor:pointer !important; margin-bottom:-1px !important; transition:color 0.12s; box-shadow:none !important; border-radius:0 !important; }
.bq-dash-tab:hover  { color:#0b2545 !important; }
.bq-dash-tab.active { color:#0b2545 !important; border-bottom:2px solid #00bcd4 !important; }

.bq-dash-body    { padding:24px; }
.bq-dash-loading { font-size:13px; color:#8899aa; padding:30px 0; text-align:center; }
.bq-dash-empty   { font-size:13px; color:#8899aa; padding:20px 0; }
.bq-dash-section-lbl { font-size:9px; font-weight:700; color:#8899aa; letter-spacing:2px; text-transform:uppercase; margin:16px 0 10px; display:block; }

/* KPI row */
.bq-dash-kpi-row { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.bq-dash-kpi     { flex:1; min-width:100px; background:#fff; border:1px solid #dde3ea; border-radius:10px; padding:14px 16px; text-align:center; }
.bq-dash-kpi-val { font-size:32px; font-weight:700; color:#0b2545; line-height:1; }
.bq-dash-kpi-val.green  { color:#12a150; }
.bq-dash-kpi-val.yellow { color:#d08a00; }
.bq-dash-kpi-val.red    { color:#d93535; }
.bq-dash-kpi-lbl { font-size:10px; color:#8899aa; font-weight:600; margin-top:6px; text-transform:uppercase; letter-spacing:1px; }

/* Table */
.bq-dash-table   { background:#fff; border:1px solid #dde3ea; border-radius:10px; overflow:hidden; margin-bottom:16px; }
.bq-dash-thead   { display:flex; background:#0b2545; padding:8px 12px; gap:4px; }
.bq-dash-th      { flex:1; font-size:9px; font-weight:700; color:rgba(255,255,255,0.55); letter-spacing:1px; text-transform:uppercase; min-width:0; }
.bq-dash-tr      { display:flex; padding:9px 12px; gap:4px; border-bottom:1px solid #f0f3f6; align-items:center; }
.bq-dash-tr:last-child { border-bottom:none; }
.bq-dash-tr:hover { background:#f7f9fb; }
.bq-dash-td      { flex:1; font-size:11px; color:#1a2f45; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bq-dash-td.green  { color:#12a150; font-weight:700; }
.bq-dash-td.yellow { color:#d08a00; font-weight:700; }
.bq-dash-td.red    { color:#d93535; font-weight:700; }
.bq-dash-drill   { padding:4px 10px !important; font-size:10px !important; font-weight:600 !important; background:#e6f1fb !important; border:1px solid #b5d4f4 !important; border-radius:5px !important; color:#185fa5 !important; cursor:pointer !important; flex-shrink:0; box-shadow:none !important; }
.bq-dash-log-hdr { display:flex; align-items:center; gap:10px; margin-bottom:10px; }

/* ── User management ──────────────────────────────────────────────────────── */
.bq-user-form    { background:#f7f9fb; border:1px solid #dde3ea; border-radius:8px; padding:14px 16px; margin-bottom:18px; }
.bq-user-form .bq-adv-inp-name { margin-bottom:8px; display:block; width:100%; }
.bq-user-err     { font-size:11px; color:#d93535; min-height:16px; margin:4px 0; }
.bq-user-ok      { font-size:11px; color:#12a150; min-height:16px; margin:4px 0; font-weight:600; }
.bq-admin-divider { height:1px; background:#dde3ea; margin:22px 0 18px; }
.bq-user-list    { }
.bq-user-row     { display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid #f0f3f6; gap:10px; flex-wrap:wrap; }
.bq-user-row:last-child { border-bottom:none; }
.bq-user-name    { font-size:13px; font-weight:600; color:#0b2545; }
.bq-user-role    { font-size:10px; color:#00bcd4; font-weight:700; letter-spacing:1px; margin-top:2px; }
.bq-user-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.bq-user-pw-inp  { padding:6px 10px !important; border:1px solid #dde3ea !important; border-radius:6px !important; font-size:11px !important; color:#0b2545 !important; background:#fff !important; outline:none !important; box-shadow:none !important; width:130px; }
