:root {
    color-scheme: light;
    --ink: #17212b;
    --muted: #64717d;
    --surface: #ffffff;
    --surface-soft: #f4f7f8;
    --line: #dfe6e8;
    --brand: #0d6d66;
    --brand-dark: #08534e;
    --accent: #e7f5f2;
    --warning: #9a6700;
    --warning-bg: #fff5d6;
    --danger: #842029;
    --danger-bg: #f8d7da;
    --processing: #155b8a;
    --processing-bg: #e3f1fb;
    --shadow: 0 22px 60px rgba(23, 33, 43, 0.12);
}

/* Dokumentklassifikation und sichere Massenbearbeitung */
.document-filter-grid { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.document-search { grid-column:span 2; }
.document-badges { display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem; }
.document-badge { display:inline-flex;align-items:center;border:1px solid #d7deea;background:#f5f7fb;color:#344054;border-radius:999px;padding:.16rem .48rem;font-size:.75rem;font-weight:650; }
.document-badge-type { background:#e9f2ff;border-color:#c4daf8;color:#174f8a; }
.document-badge-alias { background:#fff1f1;border-color:#efb7b7;color:#9b1c1c; }
.bulk-selection { display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0; }
.bulk-selection label,.feature-grid label { display:flex;align-items:center;gap:.45rem; }
.document-bulk-controls { display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(160px,1fr)) auto;gap:.65rem;align-items:start; }
.feature-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.65rem;border:0;padding:0; }
.feature-grid legend { font-size:1rem;font-weight:700;margin-bottom:.6rem; }
.document-bulk td small { display:block;margin-top:.25rem;color:#667085; }
@media(max-width:767px) {
    .document-search { grid-column:span 1; }
    .document-bulk-controls { grid-template-columns:1fr; }
    .bulk-selection { align-items:flex-start;flex-direction:column; }
    .feature-grid { grid-template-columns:1fr; }
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--surface-soft);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.admin-shell {
    background:
        radial-gradient(circle at 12% 14%, rgba(13, 109, 102, 0.15), transparent 34rem),
        radial-gradient(circle at 90% 80%, rgba(26, 91, 135, 0.12), transparent 30rem),
        #eef3f4;
}

.auth-container {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 2rem 1rem;
}

.auth-card {
    width: min(100%, 31rem);
    padding: clamp(1.5rem, 5vw, 3rem);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow);
}

.auth-card h1,
.welcome-panel h1 {
    margin: 0 0 0.75rem;
    font-weight: 750;
    letter-spacing: -0.035em;
}

.brand-mark {
    display: inline-grid;
    width: 3.25rem;
    height: 3.25rem;
    margin-bottom: 1.5rem;
    place-items: center;
    border-radius: 1rem;
    color: #fff;
    background: linear-gradient(135deg, var(--brand), #1a7fa8);
    box-shadow: 0 12px 28px rgba(13, 109, 102, 0.25);
    font-size: 1.35rem;
    font-weight: 800;
}

.brand-mark-small {
    width: 2.3rem;
    height: 2.3rem;
    margin: 0;
    border-radius: 0.75rem;
    font-size: 1rem;
}

.eyebrow {
    margin: 0 0 0.45rem;
    color: var(--brand);
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.form-label {
    color: #34424e;
    font-weight: 650;
}

.form-control {
    border-color: #cdd8dc;
    border-radius: 0.8rem;
}

.form-control:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 0.25rem rgba(13, 109, 102, 0.13);
}

.btn-primary {
    border-color: var(--brand);
    background: var(--brand);
}

.btn-primary:hover,
.btn-primary:focus {
    border-color: var(--brand-dark);
    background: var(--brand-dark);
}

.topbar {
    position: sticky;
    z-index: 10;
    top: 0;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(14px);
}

.dashboard-container {
    max-width: 90rem;
}

.topbar .dashboard-container {
    min-height: 4.5rem;
}

.brand-link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--ink);
    font-weight: 750;
    text-decoration: none;
}

.welcome-panel {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(1.4rem, 4vw, 2.4rem);
    border: 1px solid var(--line);
    border-radius: 1.25rem;
    background: var(--surface);
}

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.section-heading h2 {
    margin: 0;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
}

.status-card {
    display: flex;
    gap: 1rem;
    padding: 1.35rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--surface);
}

.status-card h3 {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
}

.status-card p {
    color: var(--muted);
}

.status-icon {
    display: grid;
    flex: 0 0 auto;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.8rem;
    color: var(--brand);
    background: var(--accent);
    font-size: 1.2rem;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.32rem 0.62rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 750;
}

.status-ready {
    color: var(--brand-dark);
    background: var(--accent);
}

.status-warning {
    color: var(--warning);
    background: var(--warning-bg);
}

.status-error {
    color: var(--danger);
    background: var(--danger-bg);
}

.status-processing {
    color: var(--processing);
    background: var(--processing-bg);
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.module-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem 1.1rem;
    border: 1px dashed #c7d3d7;
    border-radius: 0.9rem;
    color: #53616c;
    background: rgba(255, 255, 255, 0.65);
}

.module-card span {
    min-width: 0;
    overflow-wrap: anywhere;
    font-weight: 650;
}

.module-card small {
    color: #79858e;
    white-space: nowrap;
}

.crawler-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.crawler-card,
.empty-state {
    padding: 1.25rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--surface);
}

.crawler-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.crawler-card h3 {
    margin: 0.15rem 0;
    font-size: 1.1rem;
}

.crawler-card p {
    margin: 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.crawl-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin: 1rem 0;
}

.crawl-stats div {
    padding: 0.65rem;
    border-radius: 0.7rem;
    background: var(--surface-soft);
}

.crawl-stats dt {
    color: var(--muted);
    font-size: 0.72rem;
}

.crawl-stats dd {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 750;
}

.crawler-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1rem;
}

.crawler-error {
    padding: 0.65rem;
    color: #842029 !important;
    border-radius: 0.65rem;
    background: #f8d7da;
}

.crawler-warning {
    padding: 0.65rem;
    color: var(--warning) !important;
    border-radius: 0.65rem;
    background: var(--warning-bg);
}

.crawler-activity {
    margin-top: 0.65rem !important;
    font-size: 0.82rem;
}

.empty-state {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--muted);
}

.empty-state i {
    color: var(--brand);
    font-size: 1.7rem;
}

.admin-frame {
    display: grid;
    grid-template-columns: 15.5rem minmax(0, 1fr);
    gap: 1.5rem;
    padding-top: 1.5rem;
    padding-bottom: 3rem;
}

.admin-nav {
    position: sticky;
    top: 6rem;
    align-self: start;
    min-width: 0;
    max-width: 100%;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--surface);
}

.admin-user { display: grid; padding: .45rem .6rem 1rem; }
.admin-user small, .list-card small, td small { display: block; color: var(--muted); }
.admin-nav nav { display:grid; gap:.2rem; }
.admin-nav a,.admin-nav summary { display:flex; align-items:center; gap:.7rem; padding:.65rem .75rem; border-radius:.7rem; color:#42515c; text-decoration:none; }
.admin-nav a:hover,.admin-nav a[aria-current="page"] { color:var(--brand-dark); background:var(--accent); }
.admin-nav-group { min-width:0; }
.admin-nav-group summary { cursor:pointer; list-style:none; font-weight:700; }
.admin-nav-group summary::-webkit-details-marker { display:none; }
.admin-nav-group summary:hover,.admin-nav-group[open]>summary,.admin-nav-group-current>summary { color:var(--brand-dark); background:var(--surface-soft); }
.admin-nav-chevron { margin-left:auto; font-size:.72rem; transition:transform .18s ease; }
.admin-nav-group[open]>summary .admin-nav-chevron { transform:rotate(180deg); }
.admin-nav-group-links { display:grid; gap:.12rem; margin:.15rem 0 .3rem; padding-left:.65rem; }
.admin-nav-group-links a { min-width:0; padding:.55rem .7rem .55rem 1rem; font-size:.9rem; }
.admin-nav-group-links a span { min-width:0; overflow-wrap:anywhere; }
.admin-content { min-width:0; }
.page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; margin-bottom:1.25rem; }
.page-head h1 { margin:0 0 .35rem; font-size:clamp(1.7rem,4vw,2.35rem); letter-spacing:-.035em; }
.page-head p:not(.eyebrow) { margin:0; color:var(--muted); }
.panel { min-width:0; margin-bottom:1.25rem; padding:1.25rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.panel h2 { margin:0 0 1rem; font-size:1.2rem; }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.panel-head h2 { margin:0; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; margin-bottom:1.25rem; }
.metric-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.metric-card { display:flex; align-items:center; gap:.8rem; min-width:0; padding:1rem; border:1px solid var(--line); border-radius:.9rem; background:var(--surface); }
.metric-card>i { color:var(--brand); font-size:1.25rem; }
.metric-card div { display:grid; min-width:0; }
.metric-card strong { font-size:1.35rem; }
.metric-card span { color:var(--muted); font-size:.82rem; }
.split-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(18rem,.8fr); gap:1.25rem; align-items:start; }
.two-forms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.website-table { min-width:62rem; }
.website-editor .panel-head { align-items:flex-start; }
.website-editor .panel-head span,.technical-domain-list .panel-head span { display:block; margin-top:.2rem; color:var(--muted); font-size:.84rem; }
.website-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.website-field { display:grid; min-width:0; gap:.35rem; color:#34424e; font-size:.86rem; font-weight:650; }
.website-field>small,.website-field>span small { color:var(--muted); font-size:.78rem; font-weight:400; line-height:1.45; }
.website-field-wide { grid-column:1 / -1; }
.website-active { align-self:center; margin:0; }
.website-form-actions { display:flex; justify-content:flex-end; gap:.6rem; }
.technical-domains>summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; list-style:none; }
.technical-domains>summary::-webkit-details-marker { display:none; }
.technical-domains>summary span { display:grid; gap:.25rem; }
.technical-domains>summary strong { font-size:1.05rem; }
.technical-domains>summary small { color:var(--muted); font-size:.82rem; font-weight:400; }
.technical-domains>summary i { color:var(--brand); transition:transform .2s ease; }
.technical-domains[open]>summary i { transform:rotate(180deg); }
.technical-domain-content { display:grid; grid-template-columns:minmax(18rem,.55fr) minmax(0,1.45fr); gap:1.25rem; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.technical-domain-form,.technical-domain-list { min-width:0; }
.technical-domain-form { padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:var(--surface-soft); }
.technical-domain-form h2 { margin-bottom:.35rem; }
.domain-override { margin:0 0 1rem; padding:.8rem; border:1px solid var(--line); border-radius:.7rem; background:#fff; }
.domain-override>summary { cursor:pointer; color:#34424e; font-size:.84rem; font-weight:650; }
.domain-table { min-width:54rem; }
.source-import-grid { margin-top:1rem; }
.source-import-form { min-width:0; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:#f9fbfc; }
.source-import-form h3 { margin:0 0 .35rem; font-size:1.05rem; }
.crawler-card-head p small,.uri-cell small { display:block; margin-top:.2rem; color:var(--muted); font-size:.75rem; }
.actions, td.actions { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; }
.actions form, td.actions form { margin:0; }
.filter-row { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.filter-row .form-select, .filter-row .form-control { width:auto; min-width:10rem; }
.filter-grid { display:grid; grid-template-columns:repeat(4,minmax(9rem,1fr)); gap:.65rem; }
.uri-cell { max-width:34rem; overflow-wrap:anywhere; }
td strong { display:block; }
.detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:0; }
.detail-grid div { min-width:0; padding:.8rem; border-radius:.7rem; background:var(--surface-soft); }
.detail-grid dt { color:var(--muted); font-size:.78rem; }
.detail-grid dd { margin:.2rem 0 0; overflow-wrap:anywhere; }
.document-preview, .metadata pre { max-height:38rem; margin:0; padding:1rem; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; border-radius:.7rem; color:#23313c; background:#f0f4f5; font: .88rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.metadata { margin-top:1rem; }
.metadata summary { cursor:pointer; font-weight:650; }
.metadata[open] summary { margin-bottom:.8rem; }
.card-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.list-card { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.list-card:last-child { border:0; }
.list-card strong { display:block; margin:.15rem 0; }
.list-card p { margin:.35rem 0; color:#3e4b55; white-space:pre-wrap; }
.list-card span, .form-hint, .empty-copy { color:var(--muted); font-size:.85rem; }
.status-neutral { color:#34424e; background:#edf1f3; }
.status-list { display:flex; flex-wrap:wrap; gap:.55rem; }
.pagination-nav { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:-.25rem 0 1.25rem; color:var(--muted); }
.pagination-nav div { display:flex; gap:.45rem; }
.table-responsive { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.openai-storage-panel { border-top: 4px solid #2f6f7e; }
.openai-storage-head { align-items: flex-start; }
.openai-storage-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.resource-filters { display:flex; flex-wrap:wrap; gap:.4rem; }
.resource-count { display:inline-flex; min-width:1.35rem; justify-content:center; margin-left:.2rem; padding:0 .25rem; border-radius:99rem; background:rgba(255,255,255,.7); color:inherit; }
.openai-storage-table table { min-width:1420px; }
.resource-row-orphaned { --bs-table-bg: #fff8e6; }
.resource-id { display:flex; align-items:center; gap:.35rem; max-width:15rem; }
.resource-id code { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.resource-subline { display:block; margin-top:.28rem; max-width:18rem; color:var(--muted); line-height:1.3; overflow-wrap:anywhere; }
.resource-details { margin-top:.35rem; font-size:.78rem; }
.resource-details code { display:block; max-width:15rem; overflow-wrap:anywhere; }
.resource-actions { min-width:14.5rem; }
.resource-actions form, .orphan-delete-form { display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; }
.destructive-confirm { display:flex; align-items:flex-start; gap:.4rem; max-width:16rem; font-size:.78rem; line-height:1.25; color:var(--danger); }
.destructive-confirm input { flex:0 0 auto; margin-top:.1rem; }
.orphan-delete-form { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.compact-empty { padding:1.5rem; }
.table>:not(caption)>*>* { padding:.75rem; }
.table { margin-bottom:0; }

.agent-config-panel .panel-head span,
.system-settings-panel .panel-head span { display:block; margin-top:.2rem; color:var(--muted); font-size:.84rem; }
.agent-form { display:grid; gap:1rem; }
.agent-form-section { display:grid; grid-template-columns:minmax(12rem,.35fr) minmax(0,1fr); gap:1.25rem; padding:1.15rem; border:1px solid var(--line); border-radius:.9rem; background:var(--surface-soft); }
.agent-section-copy { display:flex; align-items:flex-start; gap:.75rem; }
.agent-section-copy>span { display:grid; width:1.8rem; height:1.8rem; flex:0 0 auto; place-items:center; border-radius:99rem; color:#fff; background:var(--brand); font-size:.78rem; font-weight:750; }
.agent-section-copy h3 { margin:.1rem 0 .3rem; font-size:1rem; }
.agent-section-copy p { margin:0; color:var(--muted); font-size:.8rem; }
.agent-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.agent-field { display:grid; min-width:0; gap:.35rem; color:#34424e; font-size:.86rem; font-weight:650; }
.agent-field>small,.agent-active small { display:block; color:var(--muted); font-size:.78rem; font-weight:400; line-height:1.45; }
.agent-field-wide { min-width:0; }
.agent-instructions { min-height:14rem; resize:vertical; }
.agent-active { display:flex; align-items:flex-start; gap:.5rem; margin-top:.2rem; }
.agent-active .form-check-input { flex:0 0 auto; margin-top:.2rem; }
.agent-model-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
.agent-form-actions { display:flex; justify-content:flex-end; }
.agent-table { min-width:58rem; }
.system-settings-panel .panel-head>i { color:var(--brand); font-size:1.45rem; }
.system-settings-note { line-height:1.55; }
.system-settings-form { display:grid; gap:1rem; }
.settings-group { margin:0; padding:0; border:0; }
.settings-group legend { margin:0 0 .85rem; font-size:1rem; font-weight:750; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.settings-field { display:grid; min-width:0; gap:.35rem; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:var(--surface-soft); color:#34424e; font-size:.86rem; font-weight:650; }
.settings-field small { color:var(--muted); font-size:.78rem; font-weight:400; line-height:1.45; }
.settings-field input { max-width:14rem; }

.quality-filter { display:grid; grid-template-columns:repeat(4,minmax(10rem,1fr)); gap:.75rem; align-items:end; }
.quality-filter label { display:grid; gap:.35rem; color:#3e4b55; font-size:.78rem; font-weight:700; }
.quality-copy { min-width:15rem; max-width:28rem; white-space:normal; }
.quality-flags { color:var(--muted); font-size:.82rem; }
.quality-id { font: .78rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; }
.quality-card-list { display:grid; gap:.8rem; }
.quality-card { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:.85rem; background:var(--surface-soft); }
.quality-card-main { min-width:0; }
.quality-card h2 { margin:.25rem 0 .55rem; font-size:1rem; }
.quality-card p { margin:.35rem 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.feedback-card.negative { border-left:4px solid #b54242; }
.feedback-card.positive { border-left:4px solid #26805d; }
.feedback-sources { display:flex; flex-wrap:wrap; gap:.35rem .7rem; margin-top:.55rem; font-size:.8rem; }
.status-badge { display:inline-flex; padding:.18rem .48rem; border-radius:99rem; font-size:.75rem; font-weight:750; }
.conversation-review { display:grid; gap:1rem; }
.review-message { max-width:88%; padding:1rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface-soft); }
.review-message.user { justify-self:end; border-bottom-right-radius:.25rem; background:#e9f2f3; }
.review-message.assistant { justify-self:start; border-bottom-left-radius:.25rem; background:#fff; }
.review-message>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.6rem; color:var(--muted); font-size:.78rem; }
.review-message>header strong { color:#20323c; font-size:.86rem; }
.review-content { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.55; }
.message-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:.85rem 0 0; }
.message-meta div { min-width:0; padding:.55rem; border-radius:.6rem; background:#f1f5f6; }
.message-meta dt { color:var(--muted); font-size:.7rem; }
.message-meta dd { margin:.15rem 0 0; overflow-wrap:anywhere; font-size:.78rem; }
.feedback-summary { margin:.75rem 0 0; padding:.6rem; border-radius:.6rem; background:#fff7dc; }
.source-trace { display:grid; gap:.5rem; margin-top:.85rem; }
.source-trace h3 { margin:0; font-size:.85rem; }
.source-trace article { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem; border:1px solid var(--line); border-radius:.65rem; background:#fff; }
.source-trace small { display:block; color:var(--muted); overflow-wrap:anywhere; }
.quality-chart { display:flex; align-items:stretch; gap:.3rem; height:15rem; padding:.8rem .3rem 0; overflow-x:auto; border-bottom:1px solid var(--line); }
.chart-day { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:1.55rem; flex:1; gap:.3rem; text-align:center; }
.chart-bars { display:flex; align-items:flex-end; justify-content:center; gap:2px; min-height:0; }
.bar { display:block; width:28%; min-height:2px; border-radius:.2rem .2rem 0 0; }
.bar.conversations,.chart-legend i.conversations { background:#245f70; }
.bar.unanswered,.chart-legend i.unanswered { background:#cf8b32; }
.bar.feedback,.chart-legend i.feedback { background:#6a5b9e; }
.chart-day small { color:var(--muted); font-size:.62rem; transform:rotate(-45deg); transform-origin:center; }
.chart-legend { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1rem; color:var(--muted); font-size:.78rem; }
.chart-legend span { display:flex; align-items:center; gap:.35rem; }
.chart-legend i { display:block; width:.7rem; height:.7rem; border-radius:.15rem; }
.quality-ranked { display:grid; gap:.65rem; }
.quality-ranked article { display:grid; gap:.15rem; padding-bottom:.65rem; border-bottom:1px solid var(--line); }
.quality-ranked article:last-child { padding-bottom:0; border:0; }
.quality-ranked small { color:var(--muted); }
.quality-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; }
.quality-summary div { padding:.7rem; border-radius:.65rem; background:var(--surface-soft); }
.quality-summary dt { color:var(--muted); font-size:.72rem; }
.quality-summary dd { margin:.15rem 0 0; font-weight:750; overflow-wrap:anywhere; }

.widget-admin-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(min(31.25rem,42vw),.82fr); gap:1.25rem; align-items:start; }
.widget-embed-panel { grid-column:1 / -1; min-width:0; }
.widget-embed-panel .panel-head { align-items:flex-start; }
.widget-embed-panel .panel-head span { display:block; max-width:52rem; color:var(--muted); font-size:.84rem; }
.widget-embed-panel .panel-head > i { color:var(--brand); font-size:1.45rem; }
.widget-embed-context { margin:0 0 .8rem; color:var(--muted); font-size:.84rem; }
.widget-embed-context strong { color:var(--ink); overflow-wrap:anywhere; }
.widget-embed-layout { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.85rem; align-items:end; min-width:0; }
.widget-embed-code { width:100%; min-width:0; resize:vertical; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.8rem; line-height:1.55; }
.widget-embed-actions { display:grid; gap:.35rem; justify-items:start; }
.widget-copy-status { min-height:1.2rem; color:var(--muted); font-size:.76rem; }
.widget-scope-panel { padding:.9rem 1.25rem; }
.widget-config-panel .panel-head span { display:block; color:var(--muted); font-size:.84rem; }
.widget-scope-choice { display:flex; flex-wrap:wrap; gap:.65rem 1.25rem; margin:0 0 1.2rem; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:var(--surface-soft); }
.widget-scope-choice legend { width:100%; margin:0; color:var(--muted); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.widget-scope-choice label { display:flex; align-items:center; gap:.45rem; font-weight:650; }
.widget-form-section { margin:0 0 1.25rem; padding-bottom:1.25rem; border-bottom:1px solid var(--line); transition:opacity .2s ease; }
.widget-form-section h3 { margin:0 0 .85rem; font-size:1rem; }
.widget-form-section label { display:grid; gap:.35rem; color:#34424e; font-size:.86rem; font-weight:650; }
.widget-form-section label small { color:var(--muted); font-weight:400; }
.uses-tenant-default .widget-form-section { opacity:.46; }
.widget-preview-stage { position:sticky; top:6rem; min-width:0; min-height:52rem; padding:1.2rem; overflow:hidden; border:1px solid #dbe3e7; border-radius:1.2rem; background:radial-gradient(circle at 15% 10%,#fff 0,#f5f8f9 44%,#e8eef0 100%); }
.widget-preview-copy { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.widget-preview-copy span { font-weight:750; }
.widget-preview-copy small { color:var(--muted); text-align:right; }
.widget-preview { --preview-primary:#164e63; --preview-primary-contrast:#fff; --preview-accent:#d6a84b; display:flex; min-height:47rem; flex-direction:column; align-items:flex-end; justify-content:flex-end; gap:.8rem; font:17px/1.58 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.widget-preview[data-position="left"] { align-items:flex-start; }
.preview-panel { display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:min(100%,28.75rem); height:43.75rem; overflow:hidden; border:1px solid rgba(18,49,60,.1); border-radius:1.35rem; background:#fff; box-shadow:0 1.5rem 4rem rgba(31,55,67,.18); }
.preview-panel header { display:grid; min-height:5.875rem; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:1.08rem; color:var(--preview-primary-contrast); background:linear-gradient(135deg,var(--preview-primary),color-mix(in srgb,var(--preview-primary) 82%,#000)); }
.preview-panel header strong,.preview-panel header small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview-panel header strong { font-size:1.04em; }
.preview-panel header small { opacity:.86; font-size:.84em; }
.preview-panel header button,.preview-panel footer button,.preview-launcher { border:0; color:inherit; background:transparent; }
.preview-avatar { display:grid; width:3.25rem; height:3.25rem; overflow:hidden; place-items:center; border-radius:.95rem; color:#17212b; background:var(--preview-accent); }
.preview-avatar img { width:100%; height:100%; object-fit:cover; }
.preview-messages { display:flex; min-height:0; flex-direction:column; justify-content:flex-end; gap:.92rem; padding:1.2rem; overflow:auto; background:#f7f9fa; }
.preview-welcome { display:grid; gap:.82rem; padding:1.16rem; border:1px solid #e3e9ec; border-radius:1rem; background:#fff; }
.preview-welcome strong { font-size:1.06rem; line-height:1.5; }
.preview-ai-label { width:max-content; padding:.23rem .58rem; border-radius:99rem; color:var(--preview-primary); background:color-mix(in srgb,var(--preview-primary) 11%,#fff); font-size:.78rem; font-weight:750; }
.preview-welcome div { display:flex; flex-wrap:wrap; gap:.35rem; }
.preview-welcome button { min-height:2.625rem; padding:.58rem .78rem; border:1px solid color-mix(in srgb,var(--preview-primary) 25%,#ddd); border-radius:99rem; color:var(--preview-primary); background:#fff; font-size:.88rem; }
.preview-message { max-width:90%; padding:.94rem 1.08rem; border-radius:1.1rem; font-size:1em; line-height:1.58; }
.preview-message.assistant { align-self:flex-start; color:#263640; background:#fff; box-shadow:0 .25rem .8rem rgba(33,51,61,.06); }
.preview-message.user { align-self:flex-end; color:var(--preview-primary-contrast); background:var(--preview-primary); border-bottom-right-radius:.3rem; }
.preview-sources { color:#60717c; font-size:.82rem; }
.preview-panel footer { display:flex; align-items:center; justify-content:space-between; gap:.68rem; padding:.86rem .9rem; border-top:1px solid #e5eaed; background:#fff; }
.preview-panel footer span { min-height:3.25rem; flex:1; padding:.74rem .82rem; color:#80909a; border:1px solid #dce3e7; border-radius:.95rem; font-size:1em; }
.preview-panel footer button { display:grid; width:3.25rem; height:3.25rem; place-items:center; border-radius:.95rem; color:var(--preview-primary-contrast); background:var(--preview-primary); }
.preview-launcher { display:flex; min-height:3.625rem; align-items:center; gap:.68rem; padding:.86rem 1.12rem; border-radius:99rem; color:var(--preview-primary-contrast); background:var(--preview-primary); box-shadow:0 .8rem 2rem rgba(27,53,65,.2); font-weight:750; }
.widget-preview[data-preset="compact"] .preview-panel { border-radius:.8rem; }
.widget-preview[data-preset="compact"] .preview-message { border-radius:.55rem; }
.widget-preview[data-preset="soft"] .preview-panel { border-radius:1.8rem; }
.widget-preview[data-preset="classic"] .preview-panel { border-radius:.45rem; }

.flow-builder { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,24rem); gap:1.25rem; align-items:start; }
.flow-builder-main { display:grid; gap:1.25rem; min-width:0; }
.flow-section { margin:0; }
.flow-section .panel-head span { display:block; max-width:48rem; color:var(--muted); font-size:.84rem; }
.flow-list td small { display:block; color:var(--muted); }
.flow-row-actions { display:flex; flex-wrap:wrap; gap:.35rem; min-width:18rem; }
.flow-row-actions form { margin:0; }
.flow-readonly-key { padding:.55rem .75rem; overflow-wrap:anywhere; border:1px solid var(--line); border-radius:.5rem; background:var(--surface-soft); font-family:ui-monospace,monospace; font-size:.83rem; }
.flow-steps { display:grid; gap:.85rem; }
.flow-step-card { overflow:hidden; border:1px solid var(--line); border-radius:.85rem; background:#fff; }
.flow-step-card>header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.75rem; align-items:center; padding:.8rem; background:var(--surface-soft); }
.flow-step-card>header strong,.flow-step-card>header small { display:block; }
.flow-step-card>header small { color:var(--muted); font-size:.76rem; }
.flow-step-number { display:grid; width:2rem; height:2rem; place-items:center; border-radius:50%; color:#fff; background:var(--brand); font-weight:750; }
.flow-step-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.3rem; }
.flow-step-fields { padding:1rem; }
.flow-step-fields [hidden],.flow-scope-site[hidden],.flow-scope-agent[hidden] { display:none!important; }
.flow-options { display:grid; gap:.5rem; margin-top:.65rem; }
.flow-option-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; gap:.45rem; }
.flow-confirmation-note { display:flex; gap:.7rem; height:100%; padding:.8rem; border:1px solid #badbcc; border-radius:.7rem; color:#174b35; background:#eaf7f0; }
.flow-confirmation-note i { font-size:1.3rem; }
.flow-confirmation-note strong,.flow-confirmation-note span { display:block; }
.flow-confirmation-note span { margin-top:.2rem; font-size:.78rem; }
.flow-action-config { padding:1rem; overflow:hidden; border:1px solid var(--line); border-radius:.8rem; background:var(--surface-soft); }
.flow-action-config h3 { margin:0 0 .2rem; font-size:1rem; }
.flow-action-config>p { margin:0 0 .8rem; font-size:.82rem; }
.flow-action-parameter { display:grid; gap:.45rem; min-width:0; padding:.85rem 0; border-top:1px solid var(--line); }
.flow-action-parameter:first-child { border-top:0; }
.flow-action-key { display:block; color:var(--muted); overflow-wrap:anywhere; }
.flow-action-field-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.flow-action-field-list .form-check { min-width:0; margin:0; padding:.65rem .65rem .65rem 2rem; border:1px solid var(--line); border-radius:.55rem; background:#fff; overflow-wrap:anywhere; }
.flow-savebar { position:sticky; bottom:.75rem; z-index:5; display:flex; justify-content:flex-end; gap:.6rem; padding:.8rem; border:1px solid var(--line); border-radius:.8rem; background:rgba(255,255,255,.96); box-shadow:0 .5rem 1.5rem rgba(31,55,67,.1); }
.flow-preview { position:sticky; top:6rem; margin:0; }
.flow-preview-launcher { width:100%; min-height:3rem; padding:.7rem 1rem; border:0; border-radius:99rem; color:#fff; background:var(--brand); font-weight:750; opacity:1; }
.flow-preview ol { display:grid; gap:.45rem; margin:1rem 0; padding:0; list-style:none; counter-reset:flow-preview; }
.flow-preview li { counter-increment:flow-preview; display:grid; grid-template-columns:auto minmax(0,1fr); gap:.15rem .55rem; padding:.6rem; border:1px solid var(--line); border-radius:.6rem; }
.flow-preview li::before { grid-row:1/3; content:counter(flow-preview); display:grid; width:1.5rem; height:1.5rem; place-items:center; border-radius:50%; color:#fff; background:var(--brand); font-size:.72rem; }
.flow-preview li span { color:var(--muted); font-size:.74rem; }
.flow-preview-finish { display:grid; gap:.45rem; padding:.75rem; border-radius:.7rem; background:var(--surface-soft); }
.flow-preview-finish span { color:var(--muted); font-size:.78rem; }
.flow-preview-finish button { min-height:2.6rem; border:0; border-radius:.55rem; color:#fff; background:var(--brand); opacity:1; }
.flow-preview-action { display:flex; gap:.4rem; margin:1rem 0 0; color:var(--muted); font-size:.78rem; }
.flow-danger-zone { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.25rem; border-color:#f0c7c7; }
.flow-danger-zone h2 { margin:0 0 .25rem; font-size:1rem; }
.flow-danger-zone p { margin:0; color:var(--muted); font-size:.84rem; }

.module-recipient-profiles { display:grid; gap:1rem; min-width:0; }
.module-recipient-profiles-head,.module-recipient-profile-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.module-recipient-profiles-list { display:grid; gap:1rem; min-width:0; }
.module-recipient-profile { min-width:0; padding:1rem; border:1px solid var(--line); border-radius:.85rem; background:var(--surface-soft); }
.module-recipient-profile-head { align-items:center; margin-bottom:.9rem; }
.module-recipient-profiles-empty { margin:0; }

@media (max-width: 1199.98px) {
    .metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .quality-filter { grid-template-columns:repeat(3,minmax(10rem,1fr)); }
}

@media (max-width: 991.98px) {
    .module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crawler-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-frame { grid-template-columns:minmax(0,1fr); }
    .admin-nav { position:static; overflow:visible; }
    .admin-user { display:none; }
    .admin-nav nav { display:grid; width:auto; }
    .split-layout, .two-forms, .technical-domain-content { grid-template-columns:minmax(0,1fr); }
    .metric-grid, .metric-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .widget-admin-grid { grid-template-columns:minmax(0,1fr); }
    .flow-builder { grid-template-columns:minmax(0,1fr); }
    .flow-preview { position:static; }
    .widget-embed-layout { grid-template-columns:minmax(0,1fr); }
    .widget-preview-stage { position:static; min-height:auto; }
    .quality-filter { grid-template-columns:repeat(2,minmax(9rem,1fr)); }
    .agent-form-section { grid-template-columns:minmax(0,1fr); }
    .agent-model-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 575.98px) {
    .openai-storage-table { overflow:visible; }
    .openai-storage-table table,
    .openai-storage-table tbody,
    .openai-storage-table tr,
    .openai-storage-table td { display:block; width:100%; min-width:0; }
    .openai-storage-table table { min-width:0; }
    .openai-storage-table thead { display:none; }
    .openai-storage-table tr { margin-bottom:1rem; overflow:hidden; border:1px solid var(--line); border-radius:.85rem; background:#fff; }
    .openai-storage-table td { display:grid; grid-template-columns:minmax(7.5rem,40%) minmax(0,60%); gap:.65rem; padding:.7rem .8rem; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
    .openai-storage-table td:last-child { border-bottom:0; }
    .openai-storage-table td::before { content:attr(data-label); color:var(--muted); font-size:.75rem; font-weight:750; }
    .resource-id { min-width:0; max-width:100%; }
    .resource-id code { max-width:9rem; }
    .resource-actions { min-width:0; }
    .resource-actions form { width:100%; }
    .resource-actions .btn { width:100%; white-space:normal; }
    .auth-container {
        align-items: start;
        padding-top: 1rem;
    }

    .auth-card {
        border-radius: 1.1rem;
    }

    .welcome-panel {
        flex-direction: column;
        gap: 1rem;
    }

    .module-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .module-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .module-card small {
        grid-column: 2;
    }

    .crawler-card-head {
        flex-direction: column;
    }

    .crawl-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-container { padding-left:.8rem; padding-right:.8rem; }
    .page-head { flex-direction:column; gap:.65rem; }
    .metric-grid, .metric-grid.compact, .filter-grid, .detail-grid, .card-list { grid-template-columns:minmax(0,1fr); }
    .panel { padding:1rem; }
    .table { min-width:42rem; }
    .form-panel .table { min-width:0; }
    .widget-preview-stage { padding:.8rem; }
    .widget-preview { min-height:42rem; }
    .preview-panel { height:39rem; }
    .widget-preview-copy { flex-direction:column; gap:.15rem; }
    .widget-preview-copy small { text-align:left; }
    .quality-filter,.message-meta,.quality-summary { grid-template-columns:minmax(0,1fr); }
    .quality-card,.source-trace article { flex-direction:column; }
    .review-message { max-width:96%; }
    .quality-chart { height:12rem; }
    .agent-fields,.agent-model-fields,.settings-grid,.website-form-grid { grid-template-columns:minmax(0,1fr); }
    .website-field-wide { grid-column:auto; }
    .website-form-actions { justify-content:stretch; }
    .website-form-actions .btn { flex:1; }
    .agent-form-section { padding:.9rem; }
    .agent-form-actions { justify-content:stretch; }
    .agent-form-actions .btn,.system-settings-form>.btn { width:100%; }
    .flow-step-card>header { grid-template-columns:auto minmax(0,1fr); }
    .flow-step-actions { grid-column:1/-1; justify-content:flex-start; }
    .flow-option-row { grid-template-columns:minmax(0,1fr) auto; }
    .flow-option-row input:nth-child(2) { grid-column:1/2; }
    .flow-option-row button { grid-column:2; grid-row:1/3; }
    .flow-action-field-list { grid-template-columns:minmax(0,1fr); }
    .flow-danger-zone { align-items:stretch; flex-direction:column; }
    .module-recipient-profiles-head { align-items:stretch; flex-direction:column; }
    .module-recipient-profiles-head .btn { width:100%; }
    .flow-savebar .btn { flex:1; }
    .settings-field input { max-width:none; }
}
