/* BaleniQ InspectPro — Sprint 1 additions CSS
   Append to or @import from inspectpro.css */

/* ── Field validation error ── */
.biq-field-error {
    border-color: var(--danger) !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.14) !important;
    animation: biq-shake .3s ease;
}
@keyframes biq-shake {
    0%,100% { transform: translateX(0); }
    20%,60%  { transform: translateX(-4px); }
    40%,80%  { transform: translateX(4px); }
}

/* ── Validation toast ── */
.biq-toast {
    position: fixed;
    top: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    background: var(--danger-bg);
    border: 1.5px solid var(--danger);
    border-radius: var(--r2);
    padding: 12px 16px 12px 14px;
    color: var(--danger);
    font-size: 13px;
    box-shadow: var(--sh2);
    min-width: 260px;
    max-width: 420px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.biq-toast ul {
    margin: 4px 0 0 16px;
    font-size: 12px;
    list-style: disc;
}
.biq-toast button {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--danger);
    font-size: 16px;
    padding: 0;
    flex-shrink: 0;
}

/* ── Photo prompt (inline) ── */
.biq-photo-prompt {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 100%);
    border-radius: var(--r);
    margin: 6px 0 4px;
    flex-wrap: wrap;
    animation: biq-fadein .2s ease;
}
@keyframes biq-fadein { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
.biq-pp-label {
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
}
.biq-photo-prompt button {
    padding: 5px 12px;
    border-radius: var(--r);
    border: none;
    font-family: 'Instrument Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all .13s;
}
.biq-pp-yes {
    background: var(--accent);
    color: #fff;
}
.biq-pp-yes:hover { background: var(--accent-2); }
.biq-pp-gallery {
    background: rgba(255,255,255,.15);
    color: #fff;
    border: 1px solid rgba(255,255,255,.25) !important;
}
.biq-pp-gallery:hover { background: rgba(255,255,255,.25); }
.biq-pp-no {
    background: transparent;
    color: rgba(255,255,255,.6);
}
.biq-pp-no:hover { color: #fff; }

/* ── Room progress counter ── */
.biq-room-counter {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding: 8px 12px;
    background: var(--card);
    border: 1px solid var(--border-2);
    border-radius: var(--r);
}
.biq-rc-bar {
    flex: 1;
    height: 6px;
    background: var(--border);
    border-radius: 3px;
    overflow: hidden;
    max-width: 200px;
}
.biq-rc-fill {
    display: block;
    height: 100%;
    background: var(--ok);
    border-radius: 3px;
    transition: width .4s ease;
}
.biq-rc-text {
    font-size: 12px;
    color: var(--ink-3);
    font-family: 'DM Mono', monospace;
    white-space: nowrap;
}

/* ── Save status (bottom bar) ── */
.biq-save-status {
    font-size: 12px;
    font-family: 'DM Mono', monospace;
    padding: 4px 10px;
    border-radius: var(--r);
}
.biq-save-status[data-type="pending"] { color: var(--ink-3); }
.biq-save-status[data-type="ok"]      { color: var(--ok); }
.biq-save-status[data-type="error"]   { color: var(--danger); }

/* ── Add cost button on bevinding ── */
.biq-add-cost {
    padding: 4px 10px;
    border-radius: var(--r);
    border: 1.5px solid rgba(232,89,12,.3);
    background: transparent;
    color: var(--accent);
    font-family: 'Instrument Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: all .13s;
    white-space: nowrap;
}
.biq-add-cost:hover {
    background: var(--accent-bg);
    border-color: var(--accent);
}

/* ── Login notice ── */
.biq-login-notice {
    padding: 16px;
    background: var(--info-bg);
    border-left: 3px solid var(--info);
    border-radius: var(--r);
    color: var(--info);
    font-size: 14px;
}
