html, body {
    font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
}

a, .btn-link {
    color: #4F46E5;
}

.btn-primary {
    color: #fff;
    background-color: #4F46E5;
    border-color: #4338CA;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "Ocorreu um erro."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* ---------------- Dialyx ---------------- */
.dx-logo { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:8px;
           background:linear-gradient(135deg,#4F46E5,#0D9488); color:#fff; font-weight:700; font-size:16px; }
.dx-brand { display:inline-flex; align-items:center; gap:10px; margin-left:8px; color:inherit; text-decoration:none;
            font-weight:700; font-size:1.15rem; letter-spacing:.01em; }
.dx-appbar { border-bottom:1px solid #E2E8F0; }
.dx-drawer { border-right:1px solid #E2E8F0; }
.dx-card { border:1px solid #E2E8F0; border-radius:12px; }
.text-none { text-transform:none !important; }

/* itens de menu que sao formularios (troca de empresa, sair) */
.dx-menu-form { margin:0; }
.dx-menu-btn { display:flex; flex-direction:column; align-items:flex-start; width:100%; padding:8px 16px; border:0;
               background:transparent; font:inherit; text-align:left; cursor:pointer; color:inherit; }
.dx-menu-btn:hover { background:rgba(79,70,229,.08); }
.dx-menu-btn.active { font-weight:600; color:#4F46E5; }
.dx-menu-btn small { opacity:.65; font-size:.75rem; }

/* telas de conta (login, cadastro, criar empresa) */
.dx-auth { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
           padding:24px 16px; background:linear-gradient(160deg,#EEF2FF 0%,#F0FDFA 100%); }
.dx-auth-card { width:100%; max-width:460px; background:#fff; border:1px solid #E2E8F0; border-radius:16px;
                padding:32px; box-shadow:0 10px 30px rgba(15,23,42,.06); }
.dx-auth-card .row > [class*=col-] { width:100%; max-width:100%; flex:0 0 100%; }
.dx-auth-brand { display:inline-flex; align-items:center; gap:10px; margin-bottom:20px; color:#0F172A;
                 text-decoration:none; font-weight:700; font-size:1.25rem; }
.dx-auth-foot { margin-top:16px; color:#64748B; font-size:.85rem; }

/* faixa de erro do Blazor (escondida ate o framework mostrar) */
#blazor-error-ui { background:#FEF3C7; bottom:0; box-shadow:0 -1px 2px rgba(0,0,0,.2); display:none; left:0;
                   padding:.6rem 1.25rem .7rem 1.25rem; position:fixed; width:100%; z-index:2000; }
#blazor-error-ui .dismiss { cursor:pointer; position:absolute; right:.75rem; top:.5rem; }

.dx-muted { color:#64748B !important; }

/* ---------------- caixa de entrada ---------------- */
.dx-inbox { display:grid; grid-template-columns: 330px minmax(0,1fr) 290px; gap:0; height: calc(100vh - 64px - 48px);
            background:#fff; border:1px solid #E2E8F0; border-radius:12px; overflow:hidden; }
.dx-inbox-list { border-right:1px solid #E2E8F0; display:flex; flex-direction:column; min-height:0; }
.dx-inbox-list-head { display:flex; align-items:center; gap:4px; padding:10px 10px 4px; }
.dx-newconv { display:flex; flex-direction:column; gap:6px; padding:8px 12px; background:#F8FAFC; border-bottom:1px solid #E2E8F0; }
.dx-filters { display:flex; gap:4px; padding:6px 10px 8px; border-bottom:1px solid #E2E8F0; flex-wrap:wrap; }
.dx-filter { border:1px solid #E2E8F0; background:#fff; border-radius:999px; padding:2px 10px; font-size:.8rem; cursor:pointer; color:#334155; }
.dx-filter.active { background:#4F46E5; border-color:#4F46E5; color:#fff; }
.dx-conv-scroll { overflow-y:auto; flex:1; }
.dx-conv { display:flex; gap:10px; padding:10px 12px; border-bottom:1px solid #F1F5F9; color:inherit; text-decoration:none; }
.dx-conv:hover { background:#F8FAFC; }
.dx-conv.active { background:#EEF2FF; }
.dx-conv-main { flex:1; min-width:0; }
.dx-conv-top, .dx-conv-bottom { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.dx-conv-name { font-weight:600; font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dx-conv-time { font-size:.72rem; color:#64748B; flex-shrink:0; }
.dx-conv-preview { font-size:.82rem; color:#64748B; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dx-conv-assigned { font-size:.7rem; color:#0D9488; }
.dx-badge { background:#0D9488; color:#fff; border-radius:999px; font-size:.7rem; padding:0 7px; flex-shrink:0; }

.dx-chat { display:flex; flex-direction:column; min-height:0; min-width:0; background:#F8FAFC; }
.dx-chat-empty { margin:auto; text-align:center; }
.dx-chat-head { display:flex; align-items:center; gap:8px; padding:10px 16px; background:#fff; border-bottom:1px solid #E2E8F0; }
.dx-chat-name { font-weight:600; }
.dx-small { font-size:.8rem; }
.dx-messages { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:6px; }
.dx-msg-row { display:flex; }
.dx-msg-row.out { justify-content:flex-end; }
.dx-msg-row.note { justify-content:center; }
.dx-msg { max-width:70%; padding:8px 12px; border-radius:12px; background:#fff; border:1px solid #E2E8F0; font-size:.92rem; }
.dx-msg.out { background:#EEF2FF; border-color:#C7D2FE; }
.dx-msg.note { background:#FEF9C3; border-color:#FDE68A; max-width:80%; }
.dx-msg.failed { border-color:#FCA5A5; background:#FEF2F2; }
.dx-msg-label { font-size:.7rem; color:#64748B; margin-bottom:2px; }
.dx-msg-body { white-space:pre-wrap; word-break:break-word; }
.dx-msg-img { max-width:260px; max-height:260px; border-radius:8px; display:block; }
.dx-msg-doc { display:inline-block; padding:6px 10px; background:#F1F5F9; border-radius:8px; text-decoration:none; color:#0F172A; }
.dx-msg-meta { font-size:.68rem; color:#94A3B8; text-align:right; margin-top:2px; }
.dx-msg-error { font-size:.75rem; color:#B91C1C; margin-top:2px; }
.dx-tick { margin-left:4px; }
.dx-tick.read { color:#0EA5E9; }
.dx-tick.failed { color:#DC2626; }

.dx-composer { background:#fff; border-top:1px solid #E2E8F0; padding:10px 12px; }
.dx-composer-row { display:flex; gap:8px; align-items:flex-end; }
.dx-composer-row.note .mud-input-outlined-border { border-color:#F59E0B !important; }
.dx-composer-actions { padding-bottom:4px; }
.dx-composer-tools { display:flex; align-items:center; gap:4px; margin-top:4px; }
.dx-attach { display:inline-flex; align-items:center; padding:6px; border-radius:50%; cursor:pointer; color:#475569; }
.dx-attach:hover { background:#F1F5F9; }
.dx-attach.disabled { opacity:.4; pointer-events:none; }
.dx-template-panel, .dx-quick-panel { border:1px solid #E2E8F0; border-radius:10px; padding:10px; margin-bottom:8px; display:flex; flex-direction:column; gap:6px; }
.dx-template-preview { background:#F8FAFC; border-radius:8px; padding:8px; white-space:pre-wrap; font-size:.88rem; }
.dx-quick { text-align:left; border:0; background:#F8FAFC; border-radius:8px; padding:6px 8px; cursor:pointer; font:inherit; font-size:.85rem; }
.dx-quick:hover { background:#EEF2FF; }

.dx-side { border-left:1px solid #E2E8F0; padding:14px; overflow-y:auto; }

@media (max-width: 1100px) {
  .dx-inbox { grid-template-columns: 280px minmax(0,1fr); }
  .dx-side { display:none; }
}
@media (max-width: 760px) {
  .dx-inbox { grid-template-columns: 1fr; height:auto; }
}

.dx-plan-current { border:2px solid #4F46E5 !important; }
.dx-plan-list { margin:0 0 16px 18px; padding:0; color:#334155; font-size:.9rem; }
.dx-plan-list li { margin:3px 0; }

/* Painel de pedidos da loja */
.dx-order { padding: 8px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.dx-order:first-of-type { border-top: none; }

/* Logo provisorio (opcao 02 "Dialogo Digital", 19/10/2026) */
.dx-logo-img { width: 30px; height: 30px; border-radius: 8px; display: inline-block; vertical-align: middle; }
