html, body {
    height: 100%;
}

app {
    display: block;
    height: 100%;
}

.header-logo {
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('../images/Logo.svg');
    mask: url('../images/Logo.svg');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    width: 28px;
    height: 24px;
}

#blazor-error-ui {
    background: inherit;
    bottom: 0;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100001;
}
/* ===== Sivar backend custom editors (feature/backend-ui-editors) ===== */
.sv-chip{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:1px 10px;font-size:12px;font-weight:600;line-height:1.6;white-space:nowrap}
.sv-chip .sv-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.sv-chip-green{background:#d1e7dd;color:#0f5132}.sv-chip-green .sv-dot{background:#198754}
.sv-chip-red{background:#f8d7da;color:#842029}.sv-chip-red .sv-dot{background:#dc3545}
.sv-chip-amber{background:#fff3cd;color:#664d03}.sv-chip-amber .sv-dot{background:#d39e00}
.sv-chip-blue{background:#cfe2ff;color:#084298}.sv-chip-blue .sv-dot{background:#0d6efd}
.sv-chip-gray{background:#e9ecef;color:#41464b}.sv-chip-gray .sv-dot{background:#6c757d}
.sv-chip-purple{background:#e2d9f3;color:#432874}.sv-chip-purple .sv-dot{background:#6f42c1}

.sv-rel{border-bottom:1px dotted #adb5bd;cursor:help;white-space:nowrap}
.sv-rel-expired{color:#dc3545;font-weight:600}

/* Sticker thumbnail (asset packs) — checkerboard shows PNG transparency */
.sv-sticker-thumb{width:44px;height:44px;border-radius:8px;object-fit:contain;border:1px solid #e7e3ee;vertical-align:middle;background:repeating-conic-gradient(#efeaf6 0 25%,#fbf9fe 0 50%) 50%/12px 12px}
.sv-sticker-empty{display:inline-grid;place-items:center;color:#b8b0c6;font-size:12px}

/* Pack upload dropzone (ops admin) */
.sv-upload{display:flex;flex-direction:column;gap:8px;max-width:420px}
.sv-upload-drop{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;cursor:pointer;padding:16px;border:1.5px dashed #d8d2e2;border-radius:12px;background:#faf5ff;color:#726a7d}
.sv-upload-drop:hover{border-color:#820AD1;background:#f4e9fc;color:#5f0a9a}
.sv-upload-drop.is-busy{opacity:.6;pointer-events:none}
.sv-upload-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.sv-upload-plus{width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid #d8d2e2;display:grid;place-items:center;font-size:20px;color:#820AD1}
.sv-upload-drop b{font-size:13px;color:#1c1622}
.sv-upload-drop small{font-size:11px}
.sv-upload-msg{font-size:12.5px;color:#726a7d}
.sv-upload-msg.ok{color:#0f5132}.sv-upload-msg.warn{color:#664d03}.sv-upload-msg.err{color:#842029}

/* Confidence bar (agent insights) */
.sv-conf{display:inline-flex;align-items:center;gap:8px}
.sv-conf-bar{width:56px;height:6px;border-radius:4px;background:#ece8f2;overflow:hidden;display:inline-block}
.sv-conf-bar i{display:block;height:100%;background:#820AD1}
.sv-conf-num{font-variant-numeric:tabular-nums;font-size:12px;color:#726a7d}

.sv-copybtn{border:1px solid #dee2e6;background:#fff;border-radius:4px;font-size:11px;padding:0 6px;cursor:pointer;color:#6c757d;flex-shrink:0;line-height:1.6}
.sv-copybtn:hover{background:#e9ecef;color:#212529}
.sv-linkchip{display:inline-flex;align-items:center;gap:6px;max-width:100%}
.sv-linkchip a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}

.sv-secretchip{display:inline-flex;align-items:center;gap:6px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:5px;padding:1px 8px;font-family:var(--bs-font-monospace,monospace);font-size:12px;max-width:100%}
.sv-secretchip .sv-secretval{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.sv-secretchip-warn{border-color:#dc3545;background:#fff5f5}
.sv-warnico{color:#dc3545;font-weight:700;cursor:help}

.sv-qbar{width:140px;height:8px;border-radius:5px;background:#e9ecef;overflow:hidden;display:inline-block;vertical-align:middle}
.sv-qbar i{display:block;height:100%;border-radius:5px}
.sv-qbar-ok i{background:#198754}.sv-qbar-warn i{background:#ffc107}.sv-qbar-over i{background:#dc3545}
.sv-qtext{font-size:12px;margin-left:8px;vertical-align:middle;white-space:nowrap}
.sv-qtext-over{color:#dc3545;font-weight:600}

.sv-json{border:1px solid #dee2e6;border-radius:5px;overflow:hidden}
.sv-json-bar{display:flex;gap:4px;align-items:center;padding:4px 8px;background:#f8f9fa;border-bottom:1px solid #dee2e6;font-size:12px}
.sv-json-bar .sv-json-state{margin-left:auto;font-size:11.5px}
.sv-json-ok{color:#198754}.sv-json-bad{color:#dc3545}
.sv-json pre{margin:0;padding:8px 12px;font-size:12.5px;line-height:1.6;max-height:320px;overflow:auto;background:#fff}
.sv-json textarea{width:100%;border:none;outline:none;font-family:var(--bs-font-monospace,monospace);font-size:12.5px;padding:8px 12px;min-height:160px;resize:vertical;display:block}
.sv-json-compact{font-family:var(--bs-font-monospace,monospace);font-size:12px;color:#6c757d;white-space:nowrap}

.sv-mail{border:1px solid #dee2e6;border-radius:6px;overflow:hidden;max-width:860px}
.sv-mail-h{padding:8px 14px;background:#f8f9fa;border-bottom:1px solid #dee2e6;font-size:13px}
.sv-mail-b{padding:14px 16px;line-height:1.6;font-size:14px;white-space:pre-wrap;max-height:420px;overflow:auto}
.sv-mail iframe{width:100%;min-height:320px;border:none;display:block}

.sv-chat{display:flex;flex-direction:column;gap:10px;background:#fbfcfd;border:1px solid #dee2e6;border-radius:6px;padding:14px;max-height:560px;overflow:auto}
.sv-msg{max-width:78%;border-radius:10px;padding:8px 12px;font-size:13.5px;line-height:1.5}
.sv-msg .sv-msg-meta{font-size:11px;color:#6c757d;margin-bottom:3px;display:flex;gap:8px}
.sv-msg-user{align-self:flex-end;background:#e7f1ff;border:1px solid #cfe2ff}
.sv-msg-asst{align-self:flex-start;background:#fff;border:1px solid #dee2e6}
.sv-msg-tool{align-self:flex-start;background:#f8f9fa;border:1px dashed #ced4da;font-family:var(--bs-font-monospace,monospace);font-size:12px;max-width:88%;white-space:pre-wrap;word-break:break-word}
.sv-msg-err{align-self:center;background:#f8d7da;border:1px solid #f5c2c7;font-size:12.5px;max-width:88%}

.sv-tl{display:flex;align-items:flex-start;padding:18px 8px 6px}
.sv-tl-step{flex:1;text-align:center;position:relative;min-width:80px}
.sv-tl-step::before{content:"";position:absolute;top:8px;left:-50%;width:100%;height:3px;background:#dee2e6}
.sv-tl-step:first-child::before{display:none}
.sv-tl-done::before{background:#198754!important}
.sv-tl-fail::before{background:#dc3545!important}
.sv-tl-dot{width:17px;height:17px;border-radius:50%;background:#fff;border:3px solid #adb5bd;margin:0 auto;position:relative}
.sv-tl-done .sv-tl-dot{border-color:#198754;background:#198754}
.sv-tl-fail .sv-tl-dot{border-color:#dc3545;background:#dc3545}
.sv-tl-name{font-size:12.5px;font-weight:600;margin-top:6px}
.sv-tl-time{font-size:11.5px;color:#6c757d}

.sv-chipselect{font-size:13px;padding:3px 8px;border:1px solid #ced4da;border-radius:4px}
.sv-knowninput{width:100%;font-size:13.5px;padding:4px 9px;border:1px solid #ced4da;border-radius:4px;font-family:var(--bs-font-monospace,monospace)}
