:root {
    --bg: #081121;
    --panel: rgba(11, 23, 42, 0.82);
    --panel-strong: rgba(15, 28, 51, 0.96);
    --line: rgba(130, 164, 255, 0.18);
    --text: #edf4ff;
    --muted: #9cb0d1;
    --primary: #5aa9ff;
    --primary-strong: #3b82f6;
    --accent: #67f0ff;
    --success: #2fc794;
    --danger: #ff6b81;
    --shadow: 0 24px 80px rgba(0, 0, 0, 0.32);
    --radius: 28px;
}

.portal-shell.login-only{display:grid;place-items:center;min-height:100vh;padding:24px;box-sizing:border-box;background:linear-gradient(145deg,#f7f9fd 0%,#eef3fb 100%)}
.portal-shell.login-only .portal-login{width:min(420px,calc(100vw - 48px));margin:0;padding:32px;border-radius:22px;box-sizing:border-box;justify-content:flex-start}
.portal-shell.login-only .portal-login h2{font-size:28px;margin-bottom:8px}
.portal-shell.login-only .portal-login p{font-size:14px;margin:0}
.portal-shell.login-only .login-form{margin-top:22px;gap:14px}
.portal-oidc-login{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:22px;text-decoration:none;box-sizing:border-box}
.portal-login-divider{display:flex;align-items:center;gap:12px;margin:18px 0 0;color:var(--theme-muted);font-size:12px}
.portal-login-divider::before,.portal-login-divider::after{content:"";height:1px;background:var(--theme-border);flex:1}
.portal-auth-state{margin-top:18px;padding:10px 12px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface-alt,var(--theme-canvas));color:var(--theme-muted);font-size:12px;line-height:1.55}
.enterprise-identity-notice{display:grid;gap:4px;padding:12px;border:1px solid var(--theme-border-strong);border-radius:8px;background:var(--theme-accent-faint);color:var(--theme-text)}
.enterprise-identity-notice span{font-size:12px;color:var(--theme-muted)}
.portal-shell.login-only .field{gap:7px}
.portal-shell.login-only .field label{font-size:13px}
.portal-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.portal-login-brand img{width:38px;height:38px;border-radius:10px}
.portal-login-brand div{display:grid;gap:2px}.portal-login-brand strong{font-size:18px}.portal-login-brand span{font-size:12px;color:#7a8497}
.portal-login-download{display:block;margin-top:18px;text-align:center;font-size:12px;color:#52698f;text-decoration:none}

/* Document intelligence: deliberately simple, business-first interaction. */
.document-intelligence-hero,
.document-page-head,
.document-result-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 30px;
    border: 1px solid #dce7f6;
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #f5f9ff 68%, #eef5ff 100%);
    box-shadow: 0 16px 40px rgba(30, 64, 175, 0.07);
}

.document-intelligence-hero h2,
.document-page-head h2,
.document-result-head h2 {
    margin: 6px 0 8px;
    color: #0f172a;
    font-size: clamp(24px, 2.3vw, 34px);
    letter-spacing: -0.04em;
}

.document-intelligence-hero p,
.document-page-head p,
.document-result-head p {
    max-width: 760px;
    margin: 0;
    color: #526178;
    line-height: 1.7;
}

.document-hero-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 280px;
}

.document-hero-trust span {
    padding: 8px 12px;
    border: 1px solid #cfe0fa;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #315b91;
    font-size: 12px;
    font-weight: 800;
}

.document-agent-groups {
    display: grid;
    gap: 24px;
    margin-top: 24px;
}

.document-agent-group {
    padding: 22px;
    border: 1px solid #e1eaf5;
    border-radius: 20px;
    background: #ffffff;
}

.document-agent-group > header,
.document-simple-section > header,
.document-result-section > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.document-agent-group > header h3,
.document-simple-section > header h3,
.document-result-section > header h3 {
    margin: 0;
    color: #172033;
    font-size: 18px;
}

.document-agent-group > header span,
.document-result-section > header span {
    color: #708198;
    font-size: 12px;
}

.document-agent-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.sidebar-menu-section {
    margin: 20px 10px 7px;
    color: #8190a8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sidebar-menu-section:first-child { margin-top: 4px; }

.document-agent-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 150px;
    padding: 18px;
    border: 1px solid #dce6f3;
    border-radius: 17px;
    background: #fbfdff;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: 160ms ease;
}

.document-agent-card:hover {
    border-color: #8db4ef;
    background: #f4f8ff;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.10);
    transform: translateY(-2px);
}

.document-agent-icon {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(145deg, #2563eb, #4f7fdc);
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.22);
}

.document-agent-card-main,
.document-agent-meta {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.document-agent-card-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

.document-agent-card-top strong {
    color: #172033;
    font-size: 16px;
}

.document-agent-card-top em {
    padding: 4px 7px;
    border-radius: 999px;
    background: #eaf2ff;
    color: #3566ad;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
}

.document-agent-summary {
    color: #536277;
    font-size: 13px;
    line-height: 1.6;
}

.document-agent-meta small {
    overflow: hidden;
    color: #8090a4;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-agent-enter {
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.document-my-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
}

.document-my-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border: 1px solid #e0e9f5;
    border-radius: 16px;
    background: #ffffff;
}

.document-my-summary span { color: #68788f; font-size: 13px; }
.document-my-summary strong { color: #1d4ed8; font-size: 26px; }

.document-simple-section {
    margin-top: 18px;
    padding: 22px;
    border: 1px solid #e1e9f3;
    border-radius: 19px;
    background: #ffffff;
}

.document-simple-section > header p { margin: 4px 0 0; color: #77869b; font-size: 12px; }
.document-task-list { display: grid; gap: 9px; }

.document-task-row {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto auto;
    gap: 14px;
    align-items: center;
    width: 100%;
    padding: 15px 16px;
    border: 1px solid #e2eaf4;
    border-radius: 14px;
    background: #fbfdff;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.document-task-row:hover { border-color: #a9c5ec; background: #f6f9ff; }
.document-task-state { width: 9px; height: 9px; border-radius: 50%; background: #94a3b8; }
.document-task-state.running { background: #2563eb; box-shadow: 0 0 0 5px #dbeafe; }
.document-task-state.done { background: #16a34a; }
.document-task-state.failed { background: #dc2626; }
.document-task-main { display: grid; gap: 5px; min-width: 0; }
.document-task-main strong { overflow: hidden; color: #172033; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.document-task-main small { color: #7a899c; font-size: 11px; }
.document-task-progress { overflow: hidden; width: 220px; max-width: 100%; height: 4px; border-radius: 999px; background: #e5edf7; }
.document-task-progress i { display: block; height: 100%; border-radius: inherit; background: #2563eb; }
.document-task-status { padding: 6px 9px; border-radius: 999px; font-size: 11px; font-style: normal; font-weight: 800; white-space: nowrap; }
.document-task-status.running, .document-task-status.waiting { background: #eaf2ff; color: #2563eb; }
.document-task-status.done { background: #ecfdf3; color: #15803d; }
.document-task-status.failed { background: #fef2f2; color: #dc2626; }
.document-task-open { color: #2563eb; font-size: 12px; font-weight: 800; }

.document-empty-simple {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 86px;
    border: 1px dashed #cfdbea;
    border-radius: 14px;
    color: #728198;
    text-align: center;
}

.document-empty-simple.large { flex-direction: column; min-height: 240px; grid-column: 1 / -1; }
.document-empty-simple strong { color: #27364a; }

.document-collection-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin-top: 18px;
}

.document-collection-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    padding: 19px;
    border: 1px solid #dfe8f3;
    border-radius: 18px;
    background: #ffffff;
}

.document-collection-folder { display: grid; place-items: center; width: 48px; height: 42px; border-radius: 9px 9px 12px 12px; background: #eaf2ff; color: #2563eb; font-weight: 900; }
.document-collection-card h3 { margin: 0 0 6px; color: #172033; font-size: 16px; }
.document-collection-card p { margin: 0 0 10px; color: #637187; font-size: 12px; line-height: 1.6; }
.document-collection-card span { color: #8a98aa; font-size: 11px; }
.document-collection-actions { display: flex; gap: 8px; grid-column: 2; margin-top: 9px; }

.document-agent-launcher { width: min(980px, calc(100vw - 40px)); max-height: 92vh; overflow: auto; }
.document-launcher-head { display: flex; gap: 15px; align-items: center; padding-bottom: 17px; border-bottom: 1px solid #e4ebf4; }
.document-launcher-head h3 { margin: 3px 0 4px; }
.document-launcher-head small { color: #2563eb; font-weight: 800; }
.document-launcher-head p { margin: 0; }
.document-launcher-section { margin-top: 18px; }
.document-launcher-section-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.document-launcher-section-head > div { display: grid; gap: 3px; }
.document-launcher-section-head span { color: #718097; font-size: 12px; }
.document-launcher-section-head input { width: min(320px, 42vw); padding: 10px 12px; border: 1px solid #d5dfed; border-radius: 11px; }
.document-launch-upload-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 11px; padding: 12px 14px; border: 1px dashed #9ebbe2; border-radius: 13px; background: #f4f8ff; }
.document-launch-upload-bar > div { display: grid; gap: 3px; }
.document-launch-upload-bar strong { color: #29466f; font-size: 13px; }
.document-launch-upload-bar span { color: #718097; font-size: 11px; }
.document-launch-upload-bar button { flex: 0 0 auto; }
.document-launch-upload-progress { display: grid; gap: 6px; margin: -2px 0 11px; padding: 9px; border-radius: 11px; background: #f8fafc; }
.document-launch-upload-progress[hidden] { display: none; }
.document-launch-upload-progress > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 9px; border-radius: 8px; background: #fff; color: #4b5c73; font-size: 11px; }
.document-launch-upload-progress span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-launch-upload-progress em { flex: 0 0 auto; color: #718097; font-style: normal; }
.document-launch-upload-progress .uploading em { color: #2563eb; }
.document-launch-upload-progress .done em { color: #16815f; }
.document-launch-upload-progress .failed em { color: #c73b47; }
.document-launch-materials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 350px; overflow: auto; padding: 3px; }
.document-launch-materials.collection { max-height: 420px; margin-top: 15px; }
.document-launch-material { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 12px; border: 1px solid #e0e8f2; border-radius: 12px; background: #fbfdff; cursor: pointer; }
.document-launch-material:has(input:checked) { border-color: #72a2e8; background: #f1f6ff; }
.document-launch-material input { position: absolute; opacity: 0; pointer-events: none; }
.document-launch-check { display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid #b7c4d5; border-radius: 5px; background: #fff; }
.document-launch-material input:checked + .document-launch-check { border-color: #2563eb; background: #2563eb; }
.document-launch-material input:checked + .document-launch-check::after { content: "✓"; color: #fff; font-size: 12px; font-weight: 900; }
.document-launch-type { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: #e9f1fc; color: #3566a8; font-size: 11px; font-weight: 900; }
.document-launch-material > span:last-child { display: grid; min-width: 0; gap: 3px; }
.document-launch-material strong { overflow: hidden; color: #253247; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.document-launch-material small { color: #8190a4; font-size: 10px; }
.document-launcher-instruction { display: grid; gap: 7px; margin-top: 16px; color: #344258; font-size: 13px; font-weight: 800; }
.document-launcher-instruction small { color: #8794a6; font-weight: 500; }
.document-launcher-instruction textarea { min-height: 84px; padding: 12px; border: 1px solid #d5dfeb; border-radius: 12px; resize: vertical; }
.document-launcher-actions { position: sticky; bottom: -18px; padding: 13px 0 2px; background: #ffffff; }

.document-agent-picker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-height: 540px; overflow: auto; margin-top: 16px; }
.document-agent-picker-grid button { display: flex; gap: 11px; align-items: center; padding: 14px; border: 1px solid #dee7f2; border-radius: 13px; background: #fbfdff; color: inherit; text-align: left; cursor: pointer; }
.document-agent-picker-grid button:hover { border-color: #8db2e8; background: #f1f6ff; }
.document-agent-picker-grid button > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #2563eb; color: #fff; font-weight: 900; }
.document-agent-picker-grid button > div { display: grid; gap: 3px; }
.document-agent-picker-grid strong { color: #253247; }
.document-agent-picker-grid small { color: #7b899c; line-height: 1.45; }

.material-select-column { width: 38px; text-align: center !important; }
.material-select-column input { width: 16px; height: 16px; accent-color: #2563eb; }
.material-document-selection-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0; padding: 11px 14px; border: 1px solid #bcd2f1; border-radius: 13px; background: #eff6ff; color: #315b91; }
.material-document-selection-bar > div { display: flex; gap: 8px; }

.document-back-link { margin: 0 0 12px; padding: 0; border: 0; background: transparent; color: #2563eb; font-weight: 800; cursor: pointer; }
.document-result-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.document-result-summary { margin-top: 18px; padding: 22px 24px; border: 1px solid #cfe0f6; border-radius: 18px; background: #f4f8ff; }
.document-result-summary span { display: block; margin-bottom: 8px; color: #2563eb; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.document-result-summary p { margin: 0; color: #26364c; font-size: 16px; line-height: 1.8; }
.document-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.document-result-section { padding: 20px; border: 1px solid #e0e8f2; border-radius: 18px; background: #ffffff; }
.document-result-section.wide { grid-column: 1 / -1; }
.document-result-card-list { display: grid; gap: 9px; }
.document-result-card-list article { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; padding: 13px; border-radius: 12px; background: #f8faff; }
.document-result-card-list article > b { color: #2563eb; font-size: 12px; }
.document-result-card-list article strong { color: #253247; font-size: 13px; }
.document-result-card-list article p { margin: 5px 0; color: #5f6f84; font-size: 12px; line-height: 1.65; }
.document-result-card-list article small { color: #8a97a8; font-size: 10px; }
.document-result-card-list.risk article, .document-result-card-list.conflict article { background: #fff8f7; }
.document-result-card-list.risk article > b, .document-result-card-list.conflict article > b { color: #dc2626; }
.document-result-table { min-width: 720px; }
.document-result-table th { color: #65758b; font-size: 11px; }
.document-result-table td { color: #344258; font-size: 12px; line-height: 1.55; }
.document-result-timeline { display: grid; gap: 0; }
.document-result-timeline article { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 17px; padding: 0 0 20px; }
.document-result-timeline time { color: #2563eb; font-size: 12px; font-weight: 900; }
.document-result-timeline article > div { position: relative; padding-left: 18px; border-left: 2px solid #dbe7f5; }
.document-result-timeline article > div::before { position: absolute; top: 3px; left: -6px; width: 10px; height: 10px; border-radius: 50%; background: #2563eb; content: ""; }
.document-result-timeline strong { color: #26364b; }
.document-result-timeline p { margin: 5px 0; color: #66768b; font-size: 12px; line-height: 1.6; }
.document-citation-list { display: grid; gap: 9px; }
.document-citation-list article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 11px; padding: 13px; border-radius: 12px; background: #f8fafc; }
.document-citation-list b { color: #2563eb; }
.document-citation-list strong { color: #344258; font-size: 12px; }
.document-citation-list p { margin: 6px 0 0; color: #66768a; font-size: 12px; line-height: 1.65; }
.document-generic-result { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.document-generic-result > div { padding: 12px; border-radius: 11px; background: #f8fafc; }
.document-generic-result span { color: #77869b; font-size: 11px; }
.document-generic-result p { margin: 6px 0 0; color: #334155; font-size: 12px; line-height: 1.6; }
.document-running-card { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 24px; align-items: center; margin-top: 18px; padding: 34px; border: 1px solid #d4e2f5; border-radius: 20px; background: #f7faff; }
.document-running-orbit { display: grid; place-items: center; width: 82px; height: 82px; border: 2px solid #a9c8f4; border-radius: 50%; animation: document-spin 2.2s linear infinite; }
.document-running-orbit span { width: 38px; height: 38px; border-radius: 13px; background: #2563eb; box-shadow: 0 8px 20px rgba(37, 99, 235, .25); }
@keyframes document-spin { to { transform: rotate(360deg); } }
.document-running-card h3 { margin: 0; color: #213047; }
.document-running-card p { color: #708096; }
.document-running-progress { overflow: hidden; height: 7px; border-radius: 999px; background: #dfe9f6; }
.document-running-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2563eb, #60a5fa); }
.document-stage-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.document-stage-list span { display: flex; gap: 6px; align-items: center; padding: 6px 9px; border-radius: 999px; background: #e8eef6; color: #6a788d; font-size: 10px; }
.document-stage-list span.running { background: #dbeafe; color: #1d4ed8; }
.document-stage-list span.completed { background: #dcfce7; color: #15803d; }
.document-stage-list b { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: rgba(255,255,255,.75); }

@media (max-width: 980px) {
    .document-agent-grid,
    .document-collection-grid,
    .document-result-grid,
    .document-launch-materials,
    .document-agent-picker-grid { grid-template-columns: 1fr; }
    .document-intelligence-hero,
    .document-page-head,
    .document-result-head { flex-direction: column; }
    .document-hero-trust { min-width: 0; justify-content: flex-start; }
    .document-my-summary { grid-template-columns: 1fr; }
    .document-task-row { grid-template-columns: 10px minmax(0, 1fr) auto; }
    .document-task-open { display: none; }
    .document-result-actions { justify-content: flex-start; }
}

@media (max-width: 620px) {
    .document-agent-card { grid-template-columns: 42px minmax(0, 1fr); }
    .document-agent-enter { grid-column: 2; }
    .document-launcher-section-head { align-items: stretch; flex-direction: column; }
    .document-launcher-section-head input { width: 100%; }
    .document-launch-upload-bar { align-items: stretch; flex-direction: column; }
    .document-running-card { grid-template-columns: 1fr; padding: 22px; }
    .document-result-timeline article { grid-template-columns: 1fr; gap: 8px; }
    .document-generic-result { grid-template-columns: 1fr; }
}

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    min-height: 100%;
    background:
        radial-gradient(circle at top left, rgba(91, 143, 249, 0.28), transparent 30%),
        radial-gradient(circle at top right, rgba(85, 236, 255, 0.18), transparent 28%),
        linear-gradient(180deg, #09111f 0%, #0d1730 45%, #111a2f 100%);
    color: var(--text);
    font-family: "IBM Plex Sans SC", "Noto Sans SC", "PingFang SC", sans-serif;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(94, 128, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(94, 128, 255, 0.04) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(180deg, rgba(255,255,255,0.45), transparent 85%);
}

/* The macOS client owns the same first/second-level navigation, session actions
   and meeting controls natively. Compatibility views therefore render content
   only, avoiding duplicated Web chrome inside the native shell. */
html.sageslink-native-client .topbar {
    display: none;
}

html.sageslink-native-client .console-main > .sidebar {
    display: none;
}

html.sageslink-native-client .console-main {
    grid-template-columns: minmax(0, 1fr);
    min-height: 100vh;
}

html.sageslink-native-client .console-main > .content {
    padding: 22px;
}

a {
    color: inherit;
}

button, input, textarea, select {
    font: inherit;
}

.portal-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
}

.portal-hero {
    padding: 56px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.portal-mark {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border: 1px solid rgba(104, 158, 255, 0.25);
    border-radius: 999px;
    background: rgba(10, 20, 38, 0.56);
    color: var(--muted);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 12px;
}

.portal-mark strong {
    color: var(--text);
    letter-spacing: 0.04em;
}

.portal-headline {
    max-width: 760px;
}

.portal-headline h1 {
    margin: 18px 0 16px;
    font-size: 72px;
    line-height: 0.98;
    letter-spacing: -0.04em;
}

.portal-headline p {
    margin: 0;
    color: var(--muted);
    font-size: 23px;
    line-height: 1.6;
}

.portal-boards {
    margin-top: 48px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.portal-card {
    padding: 22px 24px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(15, 27, 49, 0.88), rgba(12, 23, 42, 0.78));
    border: 1px solid rgba(122, 170, 255, 0.18);
    box-shadow: var(--shadow);
}

.portal-card h3 {
    margin: 0 0 10px;
    font-size: 18px;
}

.portal-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.portal-login {
    margin: 24px;
    padding: 42px;
    border-radius: 36px;
    background: linear-gradient(180deg, rgba(236, 243, 255, 0.95), rgba(222, 232, 247, 0.92));
    color: #1f2a43;
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.28);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.portal-login .eyebrow {
    color: #6698ff;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 13px;
    margin-bottom: 12px;
}

.portal-login h2 {
    margin: 0 0 14px;
    font-size: 50px;
    line-height: 1.02;
}

.portal-login p {
    color: #64748b;
    font-size: 18px;
    line-height: 1.7;
}

.login-form {
    margin-top: 28px;
    display: grid;
    gap: 18px;
}

.field {
    display: grid;
    gap: 10px;
}

.field label {
    font-size: 16px;
    color: #64748b;
}

.field input, .field textarea, .field select {
    width: 100%;
    border: 1px solid rgba(102, 137, 199, 0.28);
    border-radius: 22px;
    padding: 18px 20px;
    background: rgba(255,255,255,0.8);
    outline: none;
}

.field textarea {
    min-height: 120px;
    resize: vertical;
}

.field-hint {
    color: #98a2b3;
    font-size: 12px;
    line-height: 1.6;
}

.primary-btn, .secondary-btn, .ghost-btn, .danger-btn {
    border: 0;
    cursor: pointer;
    border-radius: 20px;
    padding: 14px 20px;
    transition: transform .18s ease, opacity .18s ease, background .18s ease;
}

.primary-btn:hover, .secondary-btn:hover, .ghost-btn:hover, .danger-btn:hover {
    transform: translateY(-1px);
}

.primary-btn {
    background: linear-gradient(135deg, #2f6df8, #4aa5ff);
    color: white;
    font-weight: 700;
}

.secondary-btn {
    background: rgba(90, 122, 176, 0.12);
    color: #244072;
    border: 1px solid rgba(103, 132, 187, 0.25);
}

.ghost-btn {
    background: rgba(87, 132, 230, 0.12);
    color: var(--text);
    border: 1px solid rgba(114, 164, 255, 0.18);
}

.danger-btn {
    background: rgba(255, 107, 129, 0.14);
    color: #ffb3c0;
    border: 1px solid rgba(255, 107, 129, 0.28);
}

.portal-meta {
    margin-top: 18px;
    color: #ef4444;
    font-size: 15px;
}

.chat-workbench-shell {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 22px;
    min-height: calc(100vh - 180px);
    align-items: start;
}

.chat-workbench-sidebar,
.chat-workbench-stage {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.chat-selector-card,
.chat-session-card,
.chat-stage-head,
.chat-message-board,
.chat-composer {
    border-radius: 28px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(248, 247, 244, 0.95));
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

.chat-selector-card,
.chat-session-card,
.chat-stage-head,
.chat-composer {
    padding: 22px 24px;
}

.chat-selector-card h3,
.chat-stage-head h2,
.chat-empty-state h3 {
    margin: 8px 0 10px;
    color: #101828;
}

.chat-selector-card p,
.chat-stage-head p,
.chat-empty-state p {
    margin: 0;
    color: #667085;
    line-height: 1.7;
}

.chat-selector-actions,
.chat-stage-meta,
.chat-composer-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
}

.chat-session-list {
    display: grid;
    gap: 12px;
    max-height: calc(100vh - 430px);
    overflow: auto;
}

.chat-session-item {
    width: 100%;
    text-align: left;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    color: #101828;
    display: grid;
    gap: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.chat-session-item.active {
    border-color: rgba(91, 140, 255, 0.34);
    background: linear-gradient(135deg, rgba(235, 243, 255, 0.98), rgba(244, 248, 255, 0.96));
    box-shadow: 0 0 0 4px rgba(91, 140, 255, 0.08), 0 16px 34px rgba(15, 23, 42, 0.06);
}

.chat-session-item strong,
.chat-session-item span,
.chat-session-item small {
    display: block;
}

.chat-session-item span,
.chat-session-item small {
    color: #667085;
}

.chat-message-board {
    flex: 1;
    padding: 24px;
    overflow: auto;
    display: grid;
    gap: 16px;
    min-height: 520px;
    background:
        radial-gradient(circle at top right, rgba(121, 172, 255, 0.14), transparent 30%),
        radial-gradient(circle at bottom left, rgba(255, 113, 145, 0.08), transparent 25%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 247, 243, 0.96));
}

.chat-bubble {
    max-width: min(82%, 880px);
    padding: 18px 20px;
    border-radius: 24px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.96);
    display: grid;
    gap: 10px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.chat-bubble.user {
    justify-self: end;
    border-color: rgba(91, 140, 255, 0.16);
    background: linear-gradient(135deg, #eef4ff 0%, #f7fbff 100%);
}

.chat-bubble.assistant {
    justify-self: start;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%);
}

.chat-bubble-role,
.chat-bubble-time {
    font-size: 12px;
    color: #667085;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.chat-bubble-content {
    line-height: 1.8;
    word-break: break-word;
    color: #101828;
}

.chat-message-attachments {
    display: grid;
    gap: 8px;
}

.chat-message-attachment-summary {
    color: #667085;
    font-size: 13px;
}

.chat-message-attachment-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.chat-attachment-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(91, 140, 255, 0.08);
    border: 1px solid rgba(91, 140, 255, 0.14);
    color: #3b4a6b;
    font-size: 12px;
}

.chat-attachment-chip.muted {
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.06);
    color: #667085;
}

.chat-empty-state {
    align-self: center;
    justify-self: center;
    max-width: 720px;
    text-align: center;
    display: grid;
    gap: 14px;
}

.chat-composer {
    display: grid;
    gap: 18px;
}

.chat-attachment-panel {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: linear-gradient(180deg, rgba(250, 249, 246, 0.96), rgba(255, 255, 255, 0.94));
}

.chat-attachment-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.chat-attachment-toolbar > :first-child {
    min-width: 0;
    flex: 1;
}

.chat-attachment-title {
    font-weight: 700;
    color: #101828;
    margin-bottom: 6px;
}

.chat-attachment-toolbar p {
    margin: 0;
    color: #667085;
    line-height: 1.7;
}

.chat-upload-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    min-width: 156px;
    padding: 0 18px;
    white-space: nowrap;
    text-align: center;
    flex-shrink: 0;
    cursor: pointer;
}

.chat-upload-trigger.disabled {
    opacity: 0.56;
    pointer-events: none;
}

.chat-attachment-dropzone {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 18px;
    border-radius: 22px;
    border: 1px dashed rgba(103, 132, 187, 0.34);
    background:
        radial-gradient(circle at top right, rgba(127, 175, 255, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 244, 238, 0.94));
    cursor: pointer;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.chat-attachment-dropzone:hover {
    transform: translateY(-1px);
    border-color: rgba(91, 140, 255, 0.42);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}

.chat-attachment-dropzone.disabled {
    opacity: 0.72;
    pointer-events: none;
}

.chat-attachment-dropzone-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(47, 109, 248, 0.12), rgba(74, 165, 255, 0.22));
    color: #2f6df8;
    font-size: 26px;
    font-weight: 700;
}

.chat-attachment-dropzone-copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.chat-attachment-dropzone-copy strong {
    color: #101828;
    font-size: 16px;
}

.chat-attachment-dropzone-copy span {
    color: #667085;
    line-height: 1.7;
}

.chat-attachment-list {
    display: grid;
    gap: 12px;
}

.chat-attachment-list.gallery {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.chat-attachment-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: stretch;
    padding: 14px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(17, 17, 17, 0.06);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.chat-attachment-preview {
    position: relative;
    width: 100%;
    min-height: 188px;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(226, 232, 240, 0.9), rgba(248, 250, 252, 0.96));
}

.chat-attachment-preview img,
.chat-attachment-preview video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.chat-attachment-preview video {
    background: #0f172a;
}

.chat-attachment-badge {
    position: absolute;
    left: 8px;
    bottom: 8px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.78);
    color: #ffffff;
    font-size: 11px;
    letter-spacing: 0.04em;
}

.chat-attachment-fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #475467;
    font-weight: 700;
}

.chat-attachment-meta {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.chat-attachment-meta strong,
.chat-attachment-meta span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chat-attachment-meta small {
    color: #667085;
    line-height: 1.6;
}

.chat-attachment-meta span {
    color: #475467;
}

.chat-attachment-meta small,
.chat-attachment-empty {
    color: #667085;
}

.chat-attachment-empty {
    min-height: 132px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 20px;
    border-radius: 20px;
    border: 1px dashed rgba(103, 132, 187, 0.28);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(247, 244, 238, 0.92));
    line-height: 1.8;
}

.chat-attachment-card .mini-btn {
    justify-self: end;
}

.chat-composer-toolbar {
    margin-top: 0;
}

.chat-composer-toolbar .field {
    min-width: 180px;
    flex: 1;
}

.chat-composer-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.chat-composer-input textarea {
    min-height: 132px;
    border-radius: 24px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    background: rgba(255, 255, 255, 0.96);
    color: #101828;
    padding: 18px 20px;
    resize: vertical;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.chat-composer-input .primary-btn {
    min-width: 124px;
    min-height: 52px;
}

.chat-selector-card .field label,
.chat-composer .field label,
.chat-session-card h4 {
    color: #344054;
}

.chat-selector-card .field input,
.chat-selector-card .field select,
.chat-composer .field input,
.chat-composer .field select {
    border-color: rgba(17, 17, 17, 0.08);
    background: rgba(255, 255, 255, 0.96);
    color: #101828;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.chat-workbench-shell .eyebrow {
    color: #e6223a;
}

.chat-stage-meta .capsule,
.chat-empty-state .capsule,
.chat-session-card .capsule {
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.92);
    color: #475467;
}

.mini-btn.active {
    background: linear-gradient(135deg, #eb5f6d, #f48a5c);
    color: #ffffff;
    border-color: transparent;
}

.mini-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.digital-pet-archive-card,
.digital-pet-stage-card {
    border-radius: 28px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 241, 0.96));
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.digital-pet-archive-card {
    padding: 20px;
}

.digital-pet-archive-list {
    display: grid;
    gap: 12px;
}

.digital-pet-archive-item {
    text-align: left;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.92);
    border-radius: 20px;
    padding: 14px 16px;
    display: grid;
    gap: 6px;
    cursor: pointer;
}

.digital-pet-archive-item.active {
    border-color: rgba(235, 95, 109, 0.3);
    background: linear-gradient(135deg, rgba(255, 244, 245, 0.98), rgba(255, 248, 242, 0.96));
    box-shadow: inset 0 0 0 1px rgba(235, 95, 109, 0.1);
}

.digital-pet-archive-item strong {
    color: #101828;
}

.digital-pet-archive-item span,
.digital-pet-archive-item small {
    color: #667085;
}

.digital-pet-stage-card {
    padding: 24px;
    display: grid;
    gap: 20px;
    margin-bottom: 18px;
}

.digital-pet-stage-empty {
    text-align: center;
    padding: 42px 24px;
}

.digital-pet-stage-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 20px;
}

.digital-pet-stage-viewport {
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.92), transparent 40%),
        linear-gradient(180deg, #eaf2ff 0%, #eef4ff 40%, #dbeafe 100%);
    min-height: 420px;
    position: relative;
}

.digital-pet-stage-canvas {
    width: 100%;
    min-height: 420px;
    height: 100%;
    display: grid;
    place-items: center;
}

.digital-pet-stage-webgl {
    width: 100%;
    height: 100%;
    display: block;
}

.digital-pet-stage-fallback {
    color: #667085;
    text-align: center;
    padding: 24px;
    line-height: 1.8;
}

.digital-pet-model-stage,
.digital-pet-model-placeholder {
    width: 100%;
    min-height: 420px;
    height: 100%;
    position: relative;
}

.digital-pet-model-viewer {
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.82), transparent 42%),
        linear-gradient(180deg, rgba(252, 247, 240, 0.84), rgba(244, 238, 229, 0.95));
}

.digital-pet-preview-video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.82), transparent 42%),
        linear-gradient(180deg, rgba(252, 247, 240, 0.84), rgba(244, 238, 229, 0.95));
}

.digital-pet-model-hud {
    position: absolute;
    left: 18px;
    top: 18px;
    display: grid;
    gap: 8px;
    max-width: min(360px, calc(100% - 36px));
}

.digital-pet-model-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(17, 17, 17, 0.06);
    color: #475467;
    font-size: 12px;
}

.digital-pet-model-placeholder {
    display: grid;
    align-content: stretch;
}

.digital-pet-model-poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.digital-pet-model-poster.empty {
    display: grid;
    place-items: center;
    color: #98a2b3;
    background: rgba(255, 255, 255, 0.6);
}

.digital-pet-model-status {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(17, 17, 17, 0.06);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.digital-pet-model-status strong {
    color: #101828;
    font-size: 18px;
}

.digital-pet-model-status p,
.digital-pet-stage-note {
    margin: 0;
    color: #667085;
    line-height: 1.7;
}

.digital-pet-model-badge,
.digital-pet-status-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.9);
    color: #475467;
    font-size: 12px;
    font-weight: 600;
}

.digital-pet-model-badge.success,
.digital-pet-status-pill.success {
    background: rgba(47, 199, 148, 0.12);
    color: #13795b;
    border-color: rgba(47, 199, 148, 0.26);
}

.digital-pet-model-badge.warning,
.digital-pet-status-pill.warning {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
    border-color: rgba(245, 158, 11, 0.22);
}

.digital-pet-model-badge.danger,
.digital-pet-status-pill.danger {
    background: rgba(239, 68, 68, 0.12);
    color: #b42318;
    border-color: rgba(239, 68, 68, 0.22);
}

.digital-pet-model-badge.muted,
.digital-pet-status-pill.muted {
    background: rgba(148, 163, 184, 0.14);
    color: #475467;
    border-color: rgba(148, 163, 184, 0.22);
}

.digital-pet-stage-static {
    min-height: 420px;
    padding: 28px 24px 64px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 18px;
}

.digital-pet-stage-static-art {
    width: 260px;
    height: 220px;
    position: relative;
}

.digital-pet-stage-static-shadow {
    position: absolute;
    left: 40px;
    right: 40px;
    bottom: 8px;
    height: 22px;
    border-radius: 999px;
    background: rgba(78, 60, 42, 0.12);
    filter: blur(6px);
}

.digital-pet-stage-static-body,
.digital-pet-stage-static-head,
.digital-pet-stage-static-tail,
.digital-pet-stage-static-head i {
    position: absolute;
    display: block;
}

.digital-pet-stage-static-body {
    width: 154px;
    height: 118px;
    left: 54px;
    top: 72px;
    border-radius: 52% 48% 46% 54%;
    background: var(--pet-primary, #8b6b4f);
    box-shadow: inset -12px -18px 0 rgba(255, 255, 255, 0.14);
}

.digital-pet-stage-static-tail {
    width: 72px;
    height: 20px;
    right: 24px;
    top: 98px;
    border-radius: 999px;
    background: var(--pet-primary, #8b6b4f);
    transform: rotate(28deg);
    transform-origin: left center;
}

.digital-pet-stage-static-head {
    width: 110px;
    height: 110px;
    left: 120px;
    top: 24px;
    border-radius: 48% 52% 50% 50%;
    background: var(--pet-primary, #8b6b4f);
    box-shadow: inset -10px -14px 0 rgba(255, 255, 255, 0.14);
}

.digital-pet-stage-static-head .left-ear,
.digital-pet-stage-static-head .right-ear {
    width: 28px;
    height: 44px;
    top: -20px;
    border-radius: 18px 18px 8px 8px;
    background: var(--pet-primary, #8b6b4f);
}

.digital-pet-stage-static-head .left-ear {
    left: 16px;
    transform: rotate(-22deg);
}

.digital-pet-stage-static-head .right-ear {
    right: 16px;
    transform: rotate(22deg);
}

.digital-pet-stage-static-head .left-eye,
.digital-pet-stage-static-head .right-eye {
    width: 12px;
    height: 12px;
    top: 42px;
    border-radius: 999px;
    background: var(--pet-eye, #6c4c2b);
}

.digital-pet-stage-static-head .left-eye {
    left: 28px;
}

.digital-pet-stage-static-head .right-eye {
    right: 28px;
}

.digital-pet-stage-static-head .nose {
    width: 16px;
    height: 12px;
    left: 47px;
    top: 58px;
    border-radius: 10px 10px 14px 14px;
    background: #6f4b40;
}

.digital-pet-stage-static-head .chest {
    width: 56px;
    height: 34px;
    left: 27px;
    bottom: -10px;
    border-radius: 999px;
    background: var(--pet-secondary, #efe2cf);
}

.digital-pet-stage-static-copy {
    display: grid;
    gap: 6px;
    text-align: center;
    color: #475467;
}

.digital-pet-stage-static-copy strong {
    color: #101828;
    font-size: 16px;
}

.digital-pet-stage-legend {
    position: absolute;
    left: 18px;
    bottom: 18px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.digital-pet-stage-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(17, 17, 17, 0.06);
    color: #475467;
    font-size: 12px;
}

.digital-pet-stage-legend i {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
}

.digital-pet-stage-panel {
    display: grid;
    gap: 16px;
}

.digital-pet-pipeline-panel {
    border-radius: 22px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.92);
    padding: 16px;
    display: grid;
    gap: 14px;
}

.digital-pet-pipeline-list {
    display: grid;
    gap: 10px;
}

.digital-pet-pipeline-item {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(249, 250, 251, 0.92);
}

.digital-pet-pipeline-item.success {
    background: rgba(236, 253, 243, 0.92);
    border-color: rgba(47, 199, 148, 0.2);
}

.digital-pet-pipeline-item.warning {
    background: rgba(255, 250, 235, 0.95);
    border-color: rgba(245, 158, 11, 0.18);
}

.digital-pet-pipeline-item.danger {
    background: rgba(254, 243, 242, 0.95);
    border-color: rgba(239, 68, 68, 0.18);
}

.digital-pet-pipeline-item.muted {
    background: rgba(248, 250, 252, 0.95);
    border-color: rgba(148, 163, 184, 0.18);
}

.digital-pet-pipeline-head {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    align-items: center;
}

.digital-pet-pipeline-head strong {
    color: #101828;
    font-size: 15px;
}

.digital-pet-pipeline-item p,
.digital-pet-pipeline-item span {
    margin: 0;
    color: #667085;
    line-height: 1.6;
    font-size: 13px;
}

.digital-pet-pipeline-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.digital-pet-asset-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.digital-pet-asset-thumb {
    margin: 0;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(249, 250, 251, 0.9);
}

.digital-pet-asset-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.digital-pet-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.digital-pet-stat,
.digital-pet-pipeline-panel,
.digital-pet-motion-panel,
.digital-pet-profile-panel {
    border-radius: 22px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.92);
    padding: 16px;
}

.digital-pet-stat {
    display: grid;
    gap: 8px;
}

.digital-pet-stat label {
    color: #667085;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.digital-pet-stat strong {
    color: #101828;
    font-size: 18px;
}

.digital-pet-motion-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.digital-pet-profile-text {
    margin-top: 12px;
    color: #344054;
    line-height: 1.8;
    max-height: 220px;
    overflow: auto;
}

.digital-pet-factory-shell {
    display: grid;
    grid-template-columns: 380px minmax(0, 1fr);
    gap: 20px;
}

.digital-pet-factory-sidebar,
.digital-pet-factory-stage {
    display: grid;
    gap: 18px;
    align-content: start;
}

.digital-pet-generator-card,
.digital-pet-chat-card {
    border-radius: 28px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 241, 0.96));
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
    padding: 22px;
}

.digital-pet-generator-card h2,
.digital-pet-chat-card h3 {
    margin: 8px 0 10px;
}

.digital-pet-generator-card p,
.digital-pet-chat-card p {
    color: #667085;
    line-height: 1.8;
}

.digital-pet-generator-form {
    display: grid;
    gap: 16px;
    margin-top: 14px;
}

.chat-attachment-panel.compact {
    padding: 16px;
}

.chat-attachment-card.compact {
    border-radius: 18px;
}

.chat-attachment-card.compact .chat-attachment-preview {
    min-height: 148px;
    border-radius: 14px;
}

.chat-attachment-panel.compact .chat-attachment-dropzone {
    grid-template-columns: 1fr;
    text-align: left;
}

.chat-attachment-panel.compact .chat-upload-trigger {
    width: 100%;
}

.digital-pet-generate-btn {
    min-height: 52px;
}

.chat-message-board.compact {
    min-height: 320px;
    max-height: 480px;
    padding: 18px;
}

.chat-composer.compact {
    margin-top: 16px;
}

.chat-composer-input.single {
    grid-template-columns: minmax(0, 1fr) auto;
}

.chat-composer.compact textarea {
    min-height: 112px;
}

.digital-pet-stage-card .section-head {
    margin-bottom: 0;
}

.console-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px;
    border-bottom: 1px solid rgba(116, 154, 237, 0.18);
    background: rgba(6, 13, 26, 0.82);
    backdrop-filter: blur(20px);
}

.topbar-brand {
    display: flex;
    align-items: center;
    gap: 16px;
}

.brand-mark {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #1b63ff, #67f0ff);
    color: white;
    font-weight: 800;
    letter-spacing: .08em;
}

.topbar-brand h1 {
    margin: 0;
    font-size: 30px;
}

.topbar-brand p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 14px;
}

.top-nav {
    display: flex;
    gap: 12px;
}

.top-nav button {
    border: 1px solid rgba(112, 155, 255, 0.2);
    background: rgba(12, 22, 41, 0.76);
    color: var(--muted);
    border-radius: 999px;
    padding: 12px 18px;
    cursor: pointer;
}

.top-nav button.active {
    color: white;
    background: rgba(44, 108, 241, 0.34);
}

.topbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.console-main {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0;
    flex: 1;
}

.sidebar {
    border-right: 1px solid rgba(112, 155, 255, 0.18);
    background: rgba(7, 15, 29, 0.76);
    padding: 22px;
}

.profile-card {
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(111, 157, 255, 0.16);
    background: linear-gradient(180deg, rgba(13, 24, 43, 0.92), rgba(10, 19, 35, 0.88));
    margin-bottom: 18px;
}

.profile-card strong {
    display: block;
    font-size: 26px;
}

.profile-card span {
    display: block;
    color: var(--muted);
    margin-top: 6px;
}

.sidebar-menu {
    display: grid;
    gap: 12px;
}

.sidebar-menu button {
    text-align: left;
    border: 1px solid rgba(116, 159, 255, 0.14);
    background: rgba(10, 18, 34, 0.76);
    color: var(--text);
    border-radius: 22px;
    padding: 18px 18px;
    cursor: pointer;
}

.sidebar-menu button.active {
    background: linear-gradient(135deg, rgba(43, 103, 227, 0.28), rgba(46, 152, 255, 0.18));
    border-color: rgba(110, 169, 255, 0.3);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}

.content {
    padding: 28px;
}

.hero-panel,
.table-card,
.metric-card,
.surface {
    border-radius: 28px;
    border: 1px solid rgba(113, 157, 255, 0.14);
    background: linear-gradient(180deg, rgba(15, 25, 46, 0.82), rgba(10, 20, 36, 0.82));
    box-shadow: var(--shadow);
}

.hero-panel {
    padding: 30px 32px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.hero-panel h2, .section-head h3 {
    margin: 8px 0 12px;
    font-size: 34px;
}

.hero-panel p, .section-head p, .muted {
    color: var(--muted);
    line-height: 1.7;
}

.eyebrow {
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #7caeff;
}

.hero-stats, .stat-grid {
    display: grid;
    gap: 16px;
}

.hero-stats {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    min-width: 360px;
}

.stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 18px;
}

.metric-card {
    padding: 22px;
}

.metric-card p {
    margin: 0 0 8px;
    color: var(--muted);
}

.metric-card strong {
    font-size: 34px;
    display: block;
}

.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.table-card {
    padding: 24px;
    margin-top: 18px;
}

.table-scroll {
    overflow: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    text-align: left;
    padding: 14px 10px;
    border-bottom: 1px solid rgba(122, 155, 230, 0.12);
    vertical-align: top;
}

th {
    color: #b2c3df;
    font-weight: 600;
    font-size: 13px;
}

td small {
    color: var(--muted);
}

.intake-hero .metric-card strong {
    font-size: 28px;
}

.intake-workspace {
    display: grid;
    grid-template-columns: minmax(420px, 0.88fr) minmax(0, 1.12fr);
    gap: 18px;
    align-items: start;
}

.intake-left-stack {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.intake-form-card {
    position: relative;
    top: auto;
}

.intake-form {
    display: grid;
    gap: 18px;
}

.intake-agent-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.intake-material-builder {
    display: grid;
    gap: 14px;
}

.intake-material-list {
    display: grid;
    gap: 14px;
}

.intake-material-row {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(113, 157, 255, 0.16);
    border-radius: 16px;
    background: rgba(7, 18, 34, 0.52);
}

.intake-material-row header,
.material-folder-item {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.intake-material-row header strong,
.material-folder-item strong {
    display: block;
    color: var(--text);
    line-height: 1.35;
}

.intake-material-row header small,
.material-folder-meta,
.material-folder-item p {
    color: var(--muted);
}

.intake-material-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.intake-material-grid .field.full {
    grid-column: 1 / -1;
}

.material-folder-card {
    overflow: hidden;
}

.material-folder-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.material-folder-list {
    display: grid;
    gap: 12px;
    max-height: 520px;
    overflow: auto;
    padding-right: 4px;
}

.material-folder-item {
    padding: 14px;
    border: 1px solid rgba(113, 157, 255, 0.14);
    border-radius: 14px;
    background: rgba(9, 20, 37, 0.58);
}

.material-folder-item > div:first-child {
    min-width: 0;
}

.material-folder-item p {
    margin: 8px 0 0;
    line-height: 1.55;
}

.material-folder-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    font-size: 12px;
}

.material-folder-meta span {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(66, 139, 255, 0.1);
    border: 1px solid rgba(105, 164, 255, 0.16);
}

.material-center-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
}

.material-upload-form {
    display: grid;
    gap: 16px;
}

.material-upload-card {
    overflow: hidden;
}

.material-upload-card .section-head {
    align-items: flex-start;
}

.material-center-hero {
    min-height: auto;
    padding: 18px 22px;
    align-items: center;
}

.material-center-hero h2 {
    margin: 4px 0 6px;
    font-size: 24px;
}

.material-center-hero p {
    margin: 0;
    max-width: 980px;
}

.material-center-hero .hero-stats {
    display: flex;
    min-width: 0;
    gap: 10px;
}

.material-center-hero .metric-card {
    width: 112px;
    min-height: 58px;
    padding: 10px 12px;
    border-radius: 16px;
}

.material-center-hero .metric-card p {
    margin-bottom: 4px;
    font-size: 11px;
}

.material-center-hero .metric-card strong {
    font-size: 20px;
    line-height: 1.2;
}

.material-upload-shell {
    display: grid;
    grid-template-columns: minmax(320px, 0.34fr) minmax(560px, 0.66fr);
    gap: 16px;
    align-items: stretch;
}

.material-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    clip-path: inset(50%);
    overflow: hidden;
}

.material-dropzone {
    display: grid;
    align-content: center;
    min-height: 250px;
    gap: 16px;
    padding: 28px;
    border: 1px dashed rgba(37, 99, 235, 0.28);
    border-radius: 22px;
    background:
        radial-gradient(circle at 88% 12%, rgba(56, 189, 248, 0.16), transparent 28%),
        linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    cursor: pointer;
    text-align: left;
    transition: border-color .18s ease, transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.material-dropzone.dragging {
    border-color: rgba(37, 99, 235, 0.72);
    transform: translateY(-2px);
    box-shadow: 0 18px 50px rgba(37, 99, 235, 0.12);
    background: #eff6ff;
}

.material-drop-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, #2563eb, #38bdf8);
    color: #fff;
    font-size: 28px;
    font-weight: 800;
    box-shadow: 0 14px 34px rgba(37, 99, 235, 0.22);
}

.material-dropzone strong {
    display: block;
    color: #111827;
    font-size: 24px;
    line-height: 1.5;
}

.material-dropzone p {
    max-width: 620px;
    margin: 6px 0 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.65;
}

.material-type-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.material-type-chips span {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eef4ff;
    border: 1px solid rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
}

.material-upload-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.material-file-trigger {
    position: relative;
    cursor: pointer;
    user-select: none;
}

.material-file-trigger .material-file-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    clip-path: none;
    cursor: pointer;
}

.material-file-trigger:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.22);
    outline-offset: 3px;
}

.material-selected-empty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px dashed rgba(37, 99, 235, 0.18);
    color: #64748b;
    font-size: 12px;
}

.material-selected-empty strong {
    font-size: 13px;
}

.material-selected-list {
    display: grid;
    gap: 8px;
    max-height: 176px;
    overflow: auto;
    padding-right: 2px;
}

.material-selected-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 9px 10px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(15, 23, 42, 0.07);
}

.material-selected-item > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 900;
}

.material-selected-item strong,
.material-selected-item small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.material-selected-item strong {
    color: #0f172a;
    font-size: 13px;
}

.material-selected-item small {
    margin-top: 2px;
    color: #64748b;
    font-size: 12px;
}

.material-selected-item button {
    border: 0;
    background: #f1f5f9;
    color: #475569;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.material-selected-item button:hover {
    background: #fee2e2;
    color: #dc2626;
}

.material-task-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px;
    min-height: 250px;
    padding: 16px;
    border-radius: 22px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.material-task-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.material-task-head strong {
    display: block;
    color: #111827;
    font-size: 15px;
}

.material-task-head span,
.material-task-summary span,
.material-task-empty p,
.material-task-title small {
    color: #667085;
}

.material-task-summary {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.material-task-summary span {
    padding: 5px 8px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.07);
    font-size: 12px;
}

.material-task-summary button {
    padding: 5px 8px;
    border-radius: 999px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.material-task-list {
    display: grid;
    gap: 10px;
    max-height: 520px;
    overflow: auto;
    padding-right: 2px;
}

.material-task-empty {
    display: grid;
    place-content: center;
    min-height: 160px;
    gap: 8px;
    text-align: center;
    border: 1px dashed rgba(15, 23, 42, 0.1);
    border-radius: 18px;
    background: #ffffff;
    padding: 18px;
}

.material-task-empty strong {
    color: #111827;
}

.material-task-empty p {
    margin: 0;
    line-height: 1.6;
}

.material-task-item {
    display: grid;
    gap: 8px;
    padding: 10px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #ffffff;
}

.material-task-title {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.material-task-title strong,
.material-task-title small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.material-task-title strong {
    color: #111827;
    font-size: 13px;
}

.material-task-title em {
    font-style: normal;
    font-size: 12px;
    color: #2563eb;
    font-weight: 800;
}

.material-task-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 56px;
}

.material-task-actions button {
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    white-space: nowrap;
}

.material-task-actions button:hover {
    background: #dbeafe;
}

.material-task-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
}

.material-task-progress {
    position: relative;
    height: 22px;
    border-radius: 999px;
    overflow: hidden;
    background: #e5e7eb;
    display: flex;
    align-items: center;
}

.material-task-progress span {
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #38bdf8);
    transition: width .22s ease;
    z-index: 1;
}

.material-task-progress em {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    padding: 0 12px;
    color: #0f172a;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    text-align: center;
    text-shadow: 0 1px 0 rgba(255,255,255,.55);
}

.material-task-current {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.material-task-current strong {
    color: #2563eb;
}

.material-task-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.material-task-step {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
    padding: 8px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.material-task-step > span {
    width: 8px;
    height: 8px;
    margin-top: 5px;
    border-radius: 999px;
    background: #cbd5e1;
}

.material-task-step strong {
    display: block;
    color: #1e293b;
    font-size: 11px;
}

.material-task-step p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.45;
}

.material-task-step em {
    font-style: normal;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
}

.material-task-step.done > span,
.material-task-step.active > span {
    background: #2563eb;
}

.material-task-step.done {
    background: #eff6ff;
}

.material-task-step.active {
    border-color: rgba(37, 99, 235, 0.28);
    background: #eef6ff;
}

.material-task-step.error > span {
    background: #ef4444;
}

.material-task-item.done .material-task-title em {
    color: #059669;
}

.material-task-item.done .material-task-progress span {
    background: linear-gradient(90deg, #10b981, #22c55e);
}

.material-task-item.error .material-task-title em {
    color: #dc2626;
}

.material-task-item.error .material-task-progress span {
    background: linear-gradient(90deg, #ef4444, #f97316);
}

.material-task-item.interrupted .material-task-title em {
    color: #d97706;
}

.material-task-item.interrupted .material-task-progress span {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.material-library-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 128px auto auto;
    gap: 10px;
    align-items: center;
    margin: 0 0 16px;
}

.material-search-box {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 9px 12px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
}

.material-search-box span {
    color: #2563eb;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.material-search-box input,
.material-library-toolbar select {
    width: 100%;
    border: 0;
    outline: 0;
    color: #111827;
    background: transparent;
    font: inherit;
}

.material-library-toolbar select {
    height: 42px;
    padding: 0 12px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
}

.material-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    margin-top: 14px;
}

.material-pagination span {
    margin-right: auto;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.material-pagination button {
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #ffffff;
    color: #334155;
    cursor: pointer;
    font-weight: 800;
}

.material-pagination button.active {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}

.material-pagination button:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.material-pagination i {
    color: #94a3b8;
    font-style: normal;
    font-weight: 900;
}

.material-type-icon.pdf { background: #fff0f0; color: #d83a3a; }
.material-type-icon.sheet { background: #eaf8f0; color: #168653; }
.material-type-icon.slides { background: #fff3e8; color: #d96818; }
.material-type-icon.word { background: #eaf2ff; color: #2563c7; }
.material-type-icon.image { background: #f2edff; color: #7c3fc7; }
.material-type-icon.media { background: #fff0f6; color: #c83273; }
.material-type-icon.web { background: #e8f8fb; color: #087b8f; }
.material-type-icon.text { background: #f1f4f8; color: #53647b; }
.material-center-body {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.material-category-rail {
    display: grid;
    gap: 10px;
}

.material-category-rail button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 14px 14px;
    border: 1px solid rgba(116, 159, 255, 0.16);
    border-radius: 18px;
    background: rgba(10, 18, 34, 0.68);
    color: var(--text);
    cursor: pointer;
}

.material-category-rail button.active {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.32), rgba(34, 211, 238, 0.14));
    border-color: rgba(90, 169, 255, 0.38);
}

.material-category-rail strong {
    min-width: 32px;
    text-align: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.material-document-list {
    display: grid;
    gap: 12px;
}

.material-document-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(113, 157, 255, 0.14);
    border-radius: 20px;
    background: rgba(9, 20, 37, 0.58);
}

.material-document-main {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.material-type-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.9), rgba(34, 211, 238, 0.72));
    color: #fff;
    font-weight: 900;
}

.material-document-main strong,
.material-document-main small {
    display: block;
}

.material-document-main small {
    margin-top: 6px;
    color: var(--muted);
    line-height: 1.55;
}

.material-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.material-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 18px;
    align-items: start;
}

.material-detail-analysis {
    position: sticky;
    top: 18px;
}

.analysis-block {
    display: grid;
    gap: 8px;
    padding: 14px 0;
    border-top: 1px solid rgba(113, 157, 255, 0.12);
}

.analysis-block:first-of-type {
    border-top: 0;
}

.analysis-block p,
.analysis-block li {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.analysis-block ul,
.analysis-block ol {
    margin: 0;
    padding-left: 20px;
}

.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag-cloud span {
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(90, 169, 255, 0.1);
    border: 1px solid rgba(90, 169, 255, 0.18);
    color: #cfe2ff;
    font-size: 12px;
}

.primary-btn.wide {
    width: 100%;
    justify-content: center;
}

.material-detail-content {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.material-detail-content pre {
    max-height: 340px;
    overflow: auto;
    white-space: pre-wrap;
    border: 1px solid rgba(113, 157, 255, 0.14);
    border-radius: 12px;
    padding: 14px;
    background: rgba(6, 14, 26, 0.72);
    color: var(--text);
}

.intake-agent-strip span,
.intake-pill-block span,
.capsule {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(105, 164, 255, 0.22);
    background: rgba(66, 139, 255, 0.12);
    color: #b9d6ff;
    font-size: 12px;
    font-weight: 700;
}

.intake-result-panel {
    min-width: 0;
}

.intake-empty {
    min-height: 360px;
    display: grid;
    place-items: center;
}

.intake-empty h3 {
    margin: 0 0 10px;
    font-size: 26px;
}

.intake-empty p {
    max-width: 560px;
    margin: 0;
    color: var(--muted);
    line-height: 1.8;
}

.intake-confirmed-grid,
.intake-score-row,
.intake-two-col,
.intake-field-grid,
.intake-claim-grid,
.intake-pipeline,
.intake-signal-list {
    display: grid;
    gap: 14px;
}

.intake-confirmed-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.intake-confirmed-grid span {
    color: var(--muted);
}

.intake-confirmed-grid strong {
    color: var(--text);
}

.intake-score-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.intake-score-row .metric-card {
    padding: 18px;
}

.intake-score-row .metric-card strong {
    font-size: 24px;
    line-height: 1.25;
}

.intake-pipeline {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 18px 0 6px;
}

.intake-pipeline article,
.intake-field-grid article,
.intake-claim-grid article,
.intake-signal-list article {
    min-width: 0;
    border: 1px solid rgba(113, 157, 255, 0.13);
    border-radius: 16px;
    padding: 16px;
    background: rgba(9, 20, 37, 0.54);
}

.intake-pipeline span {
    color: #8ff0ca;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.intake-pipeline strong,
.intake-field-grid strong,
.intake-claim-grid strong,
.intake-signal-list strong {
    display: block;
    margin-top: 6px;
    color: var(--text);
}

.intake-pipeline p,
.intake-field-grid p,
.intake-claim-grid p,
.intake-signal-list p {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.65;
}

.intake-two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.intake-section {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(122, 155, 230, 0.12);
}

.section-head.compact {
    margin-bottom: 12px;
}

.section-head.compact h3 {
    font-size: 22px;
    margin: 0 0 6px;
}

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

.intake-field-grid article > div,
.intake-claim-grid header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.intake-field-grid span {
    color: #b2c3df;
    font-weight: 700;
}

.intake-field-grid b,
.intake-claim-grid header span {
    color: #8ff0ca;
    font-size: 12px;
}

.intake-field-grid small,
.intake-claim-grid small {
    display: block;
    margin-top: 8px;
    color: #91a7cb;
    line-height: 1.55;
}

.intake-kv-list {
    display: grid;
    gap: 10px;
}

.intake-kv-list div {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(122, 155, 230, 0.1);
}

.intake-kv-list span {
    color: #91a7cb;
}

.intake-kv-list strong {
    color: var(--text);
    line-height: 1.65;
}

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

.intake-pill-block {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.intake-pill-block > strong {
    color: #d8e7ff;
}

.intake-pill-block > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.compact-table table {
    min-width: 760px;
}

.intake-question-list {
    margin: 0;
    padding-left: 22px;
    color: #d8e7ff;
    line-height: 1.85;
}

.intake-signal-list {
    grid-template-columns: 1fr;
}

.intake-signal-list span {
    display: block;
    margin-top: 6px;
    color: #7caeff;
}

.ai-review-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(103, 240, 255, 0.18);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(47, 109, 248, 0.18), rgba(9, 20, 37, 0.72));
}

.ai-review-card span {
    display: block;
    color: #8ec5ff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ai-review-card strong {
    display: block;
    margin-top: 6px;
    color: var(--text);
    font-size: 18px;
    line-height: 1.65;
}

.ai-review-card ul {
    margin: 8px 0 0;
    padding-left: 18px;
    color: #d8e7ff;
    line-height: 1.75;
}

.ai-review-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.75;
}

.tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    background: rgba(96, 129, 184, 0.15);
    color: #d5e3ff;
}

.tag.success {
    background: rgba(47, 199, 148, 0.15);
    color: #8ff0ca;
}

.tag.danger {
    background: rgba(255, 107, 129, 0.14);
    color: #ffb7c2;
}

.filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.filters input, .filters select {
    min-width: 180px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(114, 156, 242, 0.18);
    background: rgba(10, 18, 33, 0.78);
    color: var(--text);
}

.actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.module-actions {
    gap: 6px;
    min-width: 260px;
}

.module-actions .mini-btn {
    padding: 7px 9px;
}

.mini-btn {
    border: 1px solid rgba(114, 156, 242, 0.2);
    background: rgba(10, 18, 33, 0.76);
    color: var(--text);
    border-radius: 14px;
    padding: 9px 12px;
    cursor: pointer;
}

.mini-btn.danger {
    color: #ffb6c6;
    border-color: rgba(255, 107, 129, 0.2);
}

.empty-state {
    padding: 28px 16px;
    text-align: center;
    color: var(--muted);
}

.modal-mask {
    position: fixed;
    inset: 0;
    background: rgba(4, 10, 20, 0.68);
    backdrop-filter: blur(14px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 20;
}

.modal {
    position: relative;
    width: min(960px, 100%);
    max-height: 90vh;
    overflow: auto;
    padding: 28px;
    border-radius: 30px;
    border: 1px solid rgba(116, 161, 255, 0.18);
    background: linear-gradient(180deg, rgba(13, 24, 44, 0.98), rgba(8, 18, 34, 0.96));
}

.modal-corner-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
    width: 36px;
    height: 36px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    background: rgba(255, 255, 255, 0.94);
    color: #1d4ed8;
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}

.modal-corner-close:hover {
    transform: translateY(-1px);
    background: #eff6ff;
    box-shadow: 0 16px 34px rgba(37, 99, 235, 0.18);
}

.modal.has-corner-close > h3:first-child,
.modal.has-corner-close > .modal-topbar:first-child {
    padding-right: 56px;
}

.modal.has-corner-close .modal-topbar-actions #modal-topbar-close {
    display: none;
}

.modal h3 {
    margin-top: 0;
    font-size: 28px;
}

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

.modal-grid .field.full {
    grid-column: 1 / -1;
}

.modal-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.notice-bar {
    margin-bottom: 18px;
    padding: 14px 18px;
    border-radius: 18px;
    border: 1px solid rgba(112, 155, 255, 0.22);
    background: rgba(16, 28, 48, 0.72);
}

.notice-bar.success {
    border-color: rgba(47, 199, 148, 0.28);
    background: rgba(19, 52, 45, 0.72);
}

.capsule-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.capsule {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(84, 134, 255, 0.12);
    border: 1px solid rgba(112, 155, 255, 0.18);
    color: var(--muted);
    font-size: 13px;
}

.capsule.success {
    border-color: rgba(47, 199, 148, 0.28);
    color: #abefd7;
}

.capsule.warn {
    border-color: rgba(255, 190, 92, 0.28);
    color: #ffd58a;
}

.ops-grid,
.agent-grid,
.template-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

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

.ops-grid.single {
    grid-template-columns: 1fr;
}

.ops-card,
.agent-card,
.template-card,
.timeline-card,
.entity-card,
.design-panel {
    border-radius: 24px;
    border: 1px solid rgba(112, 155, 255, 0.14);
    background: rgba(9, 18, 34, 0.78);
    box-shadow: var(--shadow);
}

.ops-card,
.template-card,
.design-panel {
    padding: 22px;
}

.entity-stack,
.timeline-stack {
    display: grid;
    gap: 12px;
}

.entity-card,
.timeline-card {
    padding: 16px 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.entity-card p,
.timeline-card p,
.template-card p,
.agent-card p {
    margin: 6px 0 0;
    color: var(--muted);
    line-height: 1.7;
}

.agent-card {
    padding: 22px;
    display: grid;
    gap: 16px;
}

.agent-card-head,
.agent-row,
.section-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.agent-card-body,
.agent-card-meta {
    display: grid;
    gap: 10px;
}

.progress-bar {
    width: 100%;
    height: 10px;
    border-radius: 999px;
    background: rgba(122, 170, 255, 0.12);
    overflow: hidden;
}

.progress-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(135deg, #2f6df8, #67f0ff);
}

.modal-wide {
    width: min(1320px, 100%);
}

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

.modal-error {
    margin-top: 16px;
    color: #ff9db0;
    min-height: 22px;
}

.field small {
    color: var(--muted);
    font-size: 12px;
}

.design-panel pre,
.timeline-card pre,
.ops-card pre {
    margin: 10px 0 0;
    padding: 14px;
    border-radius: 16px;
    background: rgba(6, 13, 24, 0.82);
    border: 1px solid rgba(112, 155, 255, 0.12);
    color: #dce8ff;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.stat-grid.compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.json-preview, .workflow-preview {
    margin-top: 16px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(9, 16, 29, 0.72);
    border: 1px solid rgba(110, 157, 255, 0.12);
}

.workflow-nodes {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.workflow-node {
    min-width: 140px;
    padding: 14px 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(41, 105, 226, 0.16), rgba(103, 240, 255, 0.1));
    border: 1px solid rgba(109, 164, 255, 0.2);
}

.workflow-node small {
    display: block;
    margin-top: 8px;
    color: var(--muted);
}

.workflow-workbench {
    margin-top: 22px;
    padding: 20px;
    border-radius: 24px;
    border: 1px solid rgba(112, 155, 255, 0.14);
    background: rgba(9, 18, 34, 0.68);
}

.workflow-workbench h4 {
    margin: 6px 0 0;
    font-size: 22px;
}

.workflow-workbench-shell {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr) 360px;
    gap: 16px;
    align-items: start;
}

.workflow-palette,
.workflow-canvas,
.workflow-node-editor {
    min-height: 560px;
    border-radius: 24px;
    border: 1px solid rgba(112, 155, 255, 0.14);
    background: rgba(7, 15, 28, 0.78);
    box-shadow: var(--shadow);
}

.workflow-palette,
.workflow-node-editor {
    padding: 18px;
}

.workflow-panel-head,
.workflow-canvas-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.workflow-panel-head small,
.workflow-canvas-head small {
    display: block;
    margin-top: 6px;
    color: var(--muted);
}

.workflow-palette-list {
    display: grid;
    gap: 12px;
}

.workflow-palette-item {
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(112, 155, 255, 0.16);
    background: rgba(16, 28, 48, 0.74);
    display: grid;
    gap: 12px;
    cursor: grab;
}

.workflow-palette-item p {
    margin: 6px 0 0;
    color: var(--muted);
    line-height: 1.6;
}

.workflow-canvas {
    padding: 18px;
}

.workflow-canvas-list {
    min-height: 480px;
    border-radius: 20px;
    border: 1px dashed rgba(112, 155, 255, 0.2);
    background: rgba(9, 18, 34, 0.45);
    padding: 16px;
    display: grid;
    gap: 12px;
}

.workflow-canvas-node {
    position: relative;
    padding: 18px 18px 18px 64px;
    border-radius: 20px;
    border: 1px solid rgba(112, 155, 255, 0.14);
    background: linear-gradient(135deg, rgba(25, 50, 96, 0.92), rgba(13, 27, 51, 0.92));
    cursor: pointer;
}

.workflow-canvas-node.active {
    border-color: rgba(103, 240, 255, 0.48);
    box-shadow: 0 0 0 2px rgba(103, 240, 255, 0.16);
}

.workflow-canvas-node-order {
    position: absolute;
    left: 18px;
    top: 18px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(103, 240, 255, 0.12);
    border: 1px solid rgba(103, 240, 255, 0.28);
    color: #bdefff;
    font-weight: 700;
}

.workflow-canvas-node-body {
    display: grid;
    gap: 10px;
}

.workflow-node-editor .field {
    margin-bottom: 14px;
}

.workflow-node-editor textarea,
.workflow-node-editor input,
.workflow-node-editor select,
#workflow-graph-json {
    width: 100%;
}

.workflow-node-actions {
    margin-top: 10px;
    justify-content: flex-start;
}

.agent-composer-modal {
    width: min(1500px, 100%);
}

.agent-composer-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr) 360px;
    gap: 16px;
    align-items: start;
}

.agent-composer-rail,
.agent-composer-main,
.agent-composer-sandbox {
    border-radius: 24px;
    border: 1px solid rgba(112, 155, 255, 0.14);
    background: rgba(9, 18, 34, 0.78);
    box-shadow: var(--shadow);
}

.agent-composer-rail,
.agent-composer-sandbox {
    padding: 18px;
}

.agent-composer-main {
    padding: 22px;
}

.agent-mode-stack,
.agent-editor-tabs {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
}

.agent-mode-card,
.agent-editor-tab,
.agent-version-card {
    width: 100%;
    text-align: left;
    border-radius: 20px;
    border: 1px solid rgba(112, 155, 255, 0.16);
    background: rgba(15, 28, 49, 0.72);
    color: var(--text);
}

.agent-mode-card,
.agent-version-card {
    padding: 16px;
}

.agent-mode-card p,
.agent-version-card p,
.agent-composer-hero p {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.7;
}

.agent-mode-card.active,
.agent-editor-tab.active,
.agent-version-card.active {
    border-color: rgba(103, 240, 255, 0.44);
    box-shadow: 0 0 0 2px rgba(103, 240, 255, 0.14);
    background: linear-gradient(135deg, rgba(29, 70, 140, 0.9), rgba(20, 44, 84, 0.92));
}

.agent-editor-tab {
    padding: 14px 16px;
    display: grid;
    gap: 6px;
}

.agent-editor-tab small {
    color: var(--muted);
}

.agent-composer-hero {
    padding: 18px 20px;
    border-radius: 22px;
    border: 1px solid rgba(112, 155, 255, 0.14);
    background: linear-gradient(135deg, rgba(17, 34, 62, 0.96), rgba(13, 27, 49, 0.84));
}

.agent-composer-hero h4 {
    margin: 6px 0 0;
    font-size: 24px;
}

.agent-version-grid {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.agent-composer-form {
    margin-top: 18px;
}

.agent-editor-panel {
    display: none;
}

.agent-editor-panel.active {
    display: block;
}

.agent-range-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px;
    gap: 12px;
    align-items: center;
}

.agent-composer-sandbox .design-panel + .design-panel {
    margin-top: 16px;
}

@media (max-width: 1180px) {
    .portal-shell {
        grid-template-columns: 1fr;
    }

    .portal-login {
        margin: 0 24px 24px;
    }

    .console-main {
        grid-template-columns: 1fr;
    }

    .stat-grid,
    .ops-grid,
    .agent-grid,
    .template-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .workflow-workbench-shell {
        grid-template-columns: 1fr;
    }

    .workflow-palette,
    .workflow-canvas,
    .workflow-node-editor {
        min-height: auto;
    }

    .agent-composer-shell {
        grid-template-columns: 1fr;
    }

    .agent-version-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .portal-hero, .portal-login, .content, .sidebar, .topbar {
        padding: 18px;
    }

    .portal-headline h1 {
        font-size: 42px;
    }

    .hero-panel, .section-head {
        flex-direction: column;
    }

    .hero-stats, .stat-grid, .modal-grid, .ops-grid, .agent-grid, .template-grid {
        grid-template-columns: 1fr;
    }
}

/* 20260719 Mac client download entry */
.portal-download-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.portal-download-actions span {
    color: #64748b;
    font-size: 12px;
    font-weight: 650;
}

.client-download-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    white-space: nowrap;
}

.client-download-link.prominent {
    min-height: 46px;
    padding-inline: 20px;
    box-shadow: 0 14px 30px rgba(37, 99, 235, .22);
}

@media (max-width: 720px) {
    .portal-download-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .topbar-actions .client-download-link {
        display: inline-flex;
    }
}

/* 20260410-7 light console refresh */
:root {
    --bg: #f6f6f4;
    --panel: rgba(255, 255, 255, 0.96);
    --panel-strong: #ffffff;
    --line: rgba(17, 17, 17, 0.08);
    --text: #151515;
    --muted: #6b7280;
    --primary: #e6223a;
    --primary-strong: #c8182f;
    --accent: #111111;
    --success: #16a34a;
    --danger: #dc2626;
    --shadow: 0 16px 48px rgba(17, 17, 17, 0.08);
    --radius: 18px;
}

html,
body {
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 22%),
        radial-gradient(circle at top right, rgba(17, 17, 17, 0.05), transparent 18%),
        linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
    color: var(--text);
    font-size: 14px;
}

body::before {
    background:
        linear-gradient(rgba(17, 17, 17, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17, 17, 17, 0.03) 1px, transparent 1px);
}

.portal-mark,
.sidebar,
.topbar,
.hero-panel,
.portal-card,
.profile-card,
.metric-card,
.table-card,
.surface,
.ops-card,
.timeline-card,
.entity-card,
.template-card,
.agent-card,
.design-panel,
.workflow-palette,
.workflow-canvas,
.workflow-node-editor,
.modal,
.portal-login {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    color: var(--text);
}

.portal-login {
    color: var(--text);
}

.portal-login .eyebrow,
.eyebrow {
    color: rgba(37, 99, 235, 0.82);
    letter-spacing: 0.12em;
    font-size: 11px;
}

.portal-headline h1 {
    font-size: 56px;
    line-height: 1.02;
    color: #111111;
}

.portal-headline p,
.portal-login p,
.portal-card p,
.muted,
.field small,
.workflow-panel-head small,
.agent-editor-tab small,
.routing-card-head small {
    color: var(--muted);
}

.portal-login h2 {
    font-size: 36px;
}

.portal-mark {
    padding: 8px 14px;
    border-radius: 999px;
}

.portal-mark img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    border-radius: 6px;
}

.portal-mark strong {
    color: #111111;
}

.topbar,
.sidebar {
    backdrop-filter: saturate(140%) blur(10px);
}

.topbar-brand h1 {
    font-size: 18px;
    color: #111111;
}

.topbar-brand p,
.profile-card p,
.profile-card span,
.agent-card-meta,
.portal-meta {
    color: var(--muted);
}

.brand-mark {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eff6ff;
    border: 1px solid rgba(37, 99, 235, 0.12);
    overflow: hidden;
}

.brand-mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 5px;
}

.sidebar-menu button,
.agent-editor-tab,
.agent-mode-card {
    background: #ffffff;
    border: 1px solid var(--line);
    color: #202020;
    padding: 12px 14px;
    border-radius: 16px;
}

.sidebar-menu button.active,
.agent-editor-tab.active,
.agent-mode-card.active {
    background: linear-gradient(135deg, #2563eb, #38bdf8);
    border-color: rgba(37, 99, 235, 0.32);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.16);
}

.primary-btn,
.secondary-btn,
.ghost-btn,
.danger-btn,
.mini-btn {
    border-radius: 14px;
    padding: 10px 16px;
    font-size: 13px;
}

.primary-btn {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
}

.secondary-btn,
.ghost-btn,
.mini-btn {
    background: #ffffff;
    color: #202020;
    border: 1px solid var(--line);
}

.mini-btn.danger,
.secondary-btn.danger,
.danger-btn {
    background: #eff6ff;
    color: #c81e1e;
    border: 1px solid rgba(220, 38, 38, 0.14);
}

.field {
    gap: 8px;
}

.field label {
    font-size: 13px;
    color: #5f6673;
}

.field input,
.field textarea,
.field select {
    border-radius: 14px;
    padding: 11px 13px;
    background: #ffffff;
    border: 1px solid rgba(17, 17, 17, 0.1);
    color: #121212;
}

.field input:focus,
.field textarea:focus,
.field select:focus {
    border-color: rgba(37, 99, 235, 0.4);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}

.modal {
    border-radius: 24px;
}

.modal h3,
.hero-panel h2,
.section-head h3,
.section-head h4,
.agent-composer-hero h4 {
    color: #111111;
    font-size: 24px;
}

.hero-panel p,
.section-head p,
.agent-composer-hero p {
    color: var(--muted);
}

.table-scroll table th {
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
    background: #fbfbfb;
}

.table-scroll table td {
    color: #1f2937;
    font-size: 13px;
}

.capsule,
.tag {
    border-radius: 999px;
    padding: 5px 10px;
    background: #f4f4f5;
    border: 1px solid rgba(17, 17, 17, 0.06);
    color: #52525b;
    font-size: 12px;
}

.capsule.success,
.tag.success {
    background: #f0fdf4;
    color: #15803d;
    border-color: rgba(34, 197, 94, 0.15);
}

.capsule.warn,
.tag.warn {
    background: #fff7ed;
    color: #c2410c;
    border-color: rgba(249, 115, 22, 0.18);
}

.capsule.agent-type-badge {
    font-weight: 700;
}

.capsule.agent-type-badge.data {
    background: #fff1f2;
    color: #dc2626;
    border-color: rgba(239, 68, 68, 0.22);
}

.capsule.agent-type-badge.assistant,
.capsule.agent-type-badge.general {
    background: #f5f3ff;
    color: #6d28d9;
    border-color: rgba(109, 40, 217, 0.18);
}

.capsule.agent-type-badge.service {
    background: #eff6ff;
    color: #2563eb;
    border-color: rgba(37, 99, 235, 0.18);
}

.capsule.agent-type-badge.content,
.capsule.agent-type-badge.video {
    background: #eff6ff;
    color: #2563eb;
    border-color: rgba(37, 99, 235, 0.18);
}

.capsule.agent-type-badge.workflow {
    background: #eef4ff;
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, 0.18);
}

.progress-bar {
    background: #efefef;
    border-radius: 999px;
    overflow: hidden;
}

.progress-bar span {
    background: linear-gradient(90deg, #f43f5e, #dc2626);
}

.metric-card strong {
    font-size: 26px;
    color: #111111;
}

.profile-card strong,
.agent-card h4,
.template-card h4,
.entity-card h4,
.ops-card h4 {
    font-size: 16px;
    color: #111111;
}

.agent-composer-shell {
    gap: 18px;
}

.agent-composer-rail {
    background: #fbfbfa;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 16px;
}

.agent-composer-main,
.agent-composer-sandbox {
    gap: 16px;
}

.agent-composer-hero,
.design-panel {
    border-radius: 20px;
}

.model-routing-panel {
    background: #fafafa;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 16px;
}

.model-routing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 10px;
}

.routing-card {
    background: #ffffff;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 16px;
    padding: 14px;
}

.routing-card-head {
    display: grid;
    gap: 4px;
    margin-bottom: 10px;
}

.routing-card-head strong {
    font-size: 14px;
    color: #111111;
}

.compact-grid {
    gap: 10px;
}

.workflow-preview,
.json-preview {
    background: #fbfbfb;
    color: #1f2937;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 16px;
}

.notice-bar {
    background: #fff7ed;
    border: 1px solid rgba(249, 115, 22, 0.16);
    color: #9a3412;
}

@media (max-width: 1280px) {
    .model-routing-grid {
        grid-template-columns: 1fr;
    }
}

/* 20260410-8 precision light refinement */
html,
body {
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.05), transparent 18%),
        linear-gradient(180deg, #f8fbff 0%, #eef4ff 52%, #eaf2ff 100%);
    font-size: 13px;
}

body::before {
    background:
        linear-gradient(rgba(17, 17, 17, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17, 17, 17, 0.018) 1px, transparent 1px);
}

.console-shell {
    background: transparent;
}

.topbar {
    padding: 14px 22px;
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(17, 17, 17, 0.06);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.topbar-brand {
    gap: 12px;
}

.topbar-brand h1 {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.topbar-brand p {
    margin-top: 2px;
    font-size: 11px;
}

.top-nav {
    gap: 8px;
    padding: 4px;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.03);
}

.top-nav button {
    padding: 9px 14px;
    font-size: 12px;
    font-weight: 600;
    color: #5b6170;
    background: transparent;
    border: 1px solid transparent;
}

.top-nav button.active {
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb, #38bdf8);
    border-color: rgba(37, 99, 235, 0.22);
    box-shadow: 0 8px 22px rgba(37, 99, 235, 0.18);
}

.topbar-actions {
    gap: 8px;
}

.ghost-btn,
.secondary-btn,
.mini-btn {
    padding: 8px 13px;
    font-size: 12px;
}

.primary-btn,
.danger-btn {
    padding: 9px 14px;
    font-size: 12px;
}

.console-main {
    grid-template-columns: 236px 1fr;
}

.sidebar {
    padding: 16px 14px;
    background: rgba(255, 255, 255, 0.7);
    border-right: 1px solid rgba(17, 17, 17, 0.06);
}

.profile-card {
    padding: 14px;
    border-radius: 18px;
    margin-bottom: 14px;
    background: #ffffff;
}

.profile-card strong {
    font-size: 14px;
    font-weight: 700;
}

.profile-card span,
.profile-card p {
    font-size: 12px;
}

.sidebar-menu {
    gap: 8px;
}

.sidebar-menu button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 14px;
}

.sidebar-menu button b {
    display: inline-grid;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    place-items: center;
    border-radius: 999px;
    background: #eef2f7;
    color: #64748b;
    font-size: 11px;
}

.sidebar-menu button.active b {
    background: rgba(255, 255, 255, .2);
    color: #ffffff;
}

.content {
    padding: 20px 22px;
}

.hero-panel,
.table-card,
.metric-card,
.surface,
.ops-card,
.timeline-card,
.entity-card,
.template-card,
.agent-card,
.design-panel,
.workflow-palette,
.workflow-canvas,
.workflow-node-editor,
.portal-card,
.portal-login,
.agent-composer-rail,
.agent-composer-main,
.agent-composer-sandbox {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(17, 17, 17, 0.06);
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.05);
}

.hero-panel {
    padding: 22px 24px;
    border-radius: 20px;
}

.hero-panel h2,
.section-head h3,
.modal h3,
.agent-composer-hero h4 {
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.section-head h4,
.agent-card h4,
.template-card h4,
.entity-card h4,
.ops-card h4 {
    font-size: 14px;
    font-weight: 700;
}

.hero-panel p,
.section-head p,
.muted,
.portal-login p,
.portal-card p,
.agent-composer-hero p {
    font-size: 12px;
    line-height: 1.65;
}

.metric-card {
    padding: 16px 16px 14px;
}

.metric-card strong {
    font-size: 22px;
    font-weight: 700;
}

.metric-card p {
    font-size: 11px;
}

.table-scroll table th {
    font-size: 11px;
}

.table-scroll table td {
    font-size: 12px;
}

.field {
    gap: 6px;
}

.field label {
    font-size: 12px;
    font-weight: 600;
    color: #6c7382;
}

.field input,
.field textarea,
.field select {
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 12px;
}

.field textarea {
    min-height: 92px;
}

.capsule,
.tag {
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 600;
}

.agent-composer-modal {
    width: min(1540px, 100%);
}

.agent-composer-shell {
    grid-template-columns: 238px minmax(0, 1fr) 320px;
    gap: 14px;
}

.agent-composer-rail,
.agent-composer-main,
.agent-composer-sandbox {
    border-radius: 18px;
}

.agent-composer-rail {
    padding: 14px;
    background: #fdfcfa;
}

.agent-composer-main {
    padding: 16px;
    background: #fbfaf8;
}

.agent-composer-sandbox {
    padding: 14px;
    background: #fdfdfc;
}

.workflow-panel-head {
    margin-bottom: 10px;
}

.workflow-panel-head strong {
    font-size: 13px;
    font-weight: 700;
    color: #202020;
}

.workflow-panel-head small {
    font-size: 11px;
}

.agent-mode-stack,
.agent-editor-tabs {
    gap: 8px;
    margin-bottom: 14px;
}

.agent-mode-card,
.agent-editor-tab,
.agent-version-card {
    padding: 11px 12px;
    border-radius: 14px;
    background: #ffffff;
}

.agent-mode-card strong,
.agent-editor-tab strong,
.agent-version-card strong {
    font-size: 13px;
    font-weight: 700;
}

.agent-mode-card p,
.agent-version-card p,
.agent-editor-tab small {
    font-size: 11px;
    line-height: 1.55;
}

.agent-composer-hero {
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(37, 99, 235, 0.08);
    background:
        linear-gradient(135deg, rgba(255, 245, 246, 0.98), rgba(255, 255, 255, 0.98)),
        #ffffff;
}

.agent-composer-hero .eyebrow {
    font-size: 10px;
}

.agent-composer-form {
    margin-top: 12px;
}

.agent-mode-context {
    margin-bottom: 12px;
}

.agent-mode-context-panel {
    display: none;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 13px;
    border: 1px solid #d9e5f5;
    border-radius: 15px;
    background: #f7faff;
}

.agent-mode-context-panel.active {
    display: grid;
}

.agent-mode-context-panel > div {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 2px 8px;
    min-width: 0;
}

.agent-mode-context-panel > div > span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    color: #1d5fc7;
    background: #e4efff;
    font-size: 11px;
    font-weight: 800;
}

.agent-mode-context-panel > div > b {
    color: #25364e;
    font-size: 12px;
}

.agent-mode-context-panel > div > small {
    overflow: hidden;
    color: #748298;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agent-mode-context-panel > i {
    color: #8ca5c8;
    font-style: normal;
}

.agent-mode-context-panel > .field {
    grid-column: span 2;
    margin-top: 3px;
}

.agent-mode-context-panel > .field.full {
    grid-column: 1 / -1;
}

.agent-mode-context-panel > .field > span {
    color: #465a75;
    font-size: 11px;
    font-weight: 700;
}

.modal-grid {
    gap: 12px;
}

.model-routing-panel {
    padding: 12px;
    background: #fcfbfa;
    border-radius: 16px;
}

.model-routing-panel > label {
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 980px) {
    .agent-mode-context-panel,
    .agent-mode-context-panel.active {
        grid-template-columns: 1fr;
    }
    .agent-mode-context-panel > i {
        display: none;
    }
    .agent-mode-context-panel > .field,
    .agent-mode-context-panel > .field.full {
        grid-column: 1;
    }
}

.model-routing-grid {
    gap: 10px;
    margin-top: 8px;
}

.routing-card {
    padding: 12px;
    border-radius: 14px;
}

.routing-card-head strong {
    font-size: 13px;
}

.routing-card-head small {
    font-size: 11px;
}

.agent-range-row {
    grid-template-columns: minmax(0, 1fr) 76px;
}

.notice-bar {
    padding: 10px 12px;
    font-size: 12px;
    border-radius: 12px;
}

.portal-headline h1 {
    font-size: 48px;
}

.portal-login h2 {
    font-size: 28px;
}

@media (max-width: 1280px) {
    .agent-composer-shell {
        grid-template-columns: 1fr;
    }
}

.agent-workspace-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(420px, 0.95fr) auto;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.05);
}

.agent-workspace-main h2 {
    margin: 6px 0;
    font-size: 20px;
    color: #111111;
}

.agent-workspace-main p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
}

.agent-workspace-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.agent-inline-metric {
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: linear-gradient(180deg, #ffffff, #faf7f7);
}

.agent-inline-metric span {
    display: block;
    color: #6b7280;
    font-size: 11px;
}

.agent-inline-metric strong {
    display: block;
    margin-top: 6px;
    font-size: 19px;
    line-height: 1;
    color: #111111;
}

.agent-workspace-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.agent-name-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 5px;
}

.agent-ownership-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.agent-ownership-badge.system {
    border-color: #d7c4ff;
    background: linear-gradient(135deg, #f5f0ff, #fff7dc);
    color: #5f38a7;
}

.agent-ownership-badge.tenant {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.system-agent-readonly {
    border-color: #d7c4ff;
    background: linear-gradient(135deg, #f5f0ff, #fff7dc);
    color: #5f38a7;
}
.agent-directory-row.system-agent-row { background: linear-gradient(90deg,rgba(116,75,185,.035),rgba(236,184,42,.025)); }.agent-directory-row.system-agent-row > td:first-child { box-shadow: inset 3px 0 #8b5fc8; }.agent-directory-row.tenant-agent-row > td:first-child { box-shadow: inset 3px 0 #3b82f6; }
.agent-prompt-label { position: relative; z-index: 4; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; pointer-events: auto; }.agent-prompt-label label { margin: 0; }.agent-prompt-label button { position: relative; z-index: 5; min-height: 38px; padding: 0 12px; pointer-events: auto; cursor: pointer; font-size: 12px; }
.agent-prompt-generator-mask { position: fixed; z-index: 10050; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(15,23,42,.58); backdrop-filter: blur(5px); pointer-events: auto; }.agent-prompt-generator { width: min(920px,100%); max-height: min(900px,calc(100vh - 40px)); overflow: auto; border-radius: 20px; background: #fff; box-shadow: 0 38px 110px rgba(15,23,42,.35); }.agent-prompt-generator > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 21px 23px; border-bottom: 1px solid #e5eaf1; }.agent-prompt-generator header small { color: #2d66c3; font-size: 12px; font-weight: 800; }.agent-prompt-generator h3 { margin: 4px 0; font-size: 21px; }.agent-prompt-generator header p { margin: 0; color: #6d7c91; font-size: 12px; }.agent-prompt-generator header button { width: 34px; height: 34px; border: 0; border-radius: 9px; background: #eef2f7; cursor: pointer; font-size: 20px; }
.agent-prompt-requirements { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; padding: 21px 23px; }.agent-prompt-requirements label { display: grid; gap: 6px; color: #4c5c73; font-size: 12px; font-weight: 700; }.agent-prompt-requirements label.wide { grid-column: 1 / -1; }.agent-prompt-requirements input, .agent-prompt-requirements textarea, .agent-prompt-preview textarea { width: 100%; padding: 10px 11px; border: 1px solid #d7e0eb; border-radius: 9px; color: #26364e; background: #fff; font: inherit; }.agent-prompt-requirements footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; padding-top: 5px; }.agent-prompt-generator-error { grid-column: 1 / -1; color: #a13140; font-size: 12px; }
.agent-prompt-external-consent { grid-column: 1 / -1; display: grid; gap: 11px; padding: 13px 14px; border: 1px solid #e8c982; border-radius: 11px; color: #654a1d; background: #fff9e9; }.agent-prompt-external-consent[hidden] { display: none; }.agent-prompt-external-consent > div { display: grid; gap: 4px; }.agent-prompt-external-consent b { color: #513b18; font-size: 13px; }.agent-prompt-external-consent p { margin: 0; font-size: 12px; line-height: 1.6; }.agent-prompt-external-consent label { display: flex; align-items: flex-start; gap: 8px; color: #60481f; font-size: 12px; line-height: 1.5; }.agent-prompt-external-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; padding: 0; accent-color: #2868e8; }
.agent-prompt-preview { padding: 21px 23px; }.agent-prompt-diff { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }.agent-prompt-diff article { min-width: 0; padding: 13px; border: 1px solid #e0e7f0; border-radius: 12px; background: #f8fafc; }.agent-prompt-diff b { color: #40516a; font-size: 12px; }.agent-prompt-diff pre { max-height: 420px; overflow: auto; color: #68778d; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.6; }.agent-prompt-diff textarea { min-height: 420px; margin-top: 8px; resize: vertical; font-size: 12px; line-height: 1.6; }.agent-prompt-generation-meta { margin: 12px 0; padding: 10px; border-radius: 9px; color: #4c6483; background: #edf4ff; font-size: 12px; overflow-wrap: anywhere; }.agent-prompt-preview > footer { display: flex; justify-content: flex-end; gap: 8px; }.agent-prompt-preview > small { display: block; margin-top: 9px; color: #7a8799; font-size: 12px; text-align: right; }
@media (max-width: 720px) { .agent-prompt-generator-mask { padding: 0; }.agent-prompt-generator { width: 100%; max-height: 100vh; border-radius: 0; }.agent-prompt-requirements, .agent-prompt-diff { grid-template-columns: 1fr; }.agent-prompt-requirements label.wide { grid-column: 1; }.agent-prompt-diff textarea { min-height: 300px; } }

.knowledge-base-open { display: grid; gap: 4px; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; }.knowledge-base-open strong { color: #1f3554; }.knowledge-base-open small { color: #748399; font-size: 12px; line-height: 1.5; }.knowledge-base-open:hover strong, .knowledge-base-open:focus-visible strong { color: #245fc4; }.knowledge-base-open:focus-visible { outline: 3px solid rgba(37,99,235,.18); outline-offset: 4px; border-radius: 6px; }
.knowledge-base-detail-modal { max-height: min(880px,calc(100vh - 36px)); overflow: auto; }.knowledge-base-detail-loading { padding: 70px 24px; color: #65758c; font-size: 14px; text-align: center; }.knowledge-base-detail-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 18px 0; }.knowledge-base-detail-summary > div { padding: 14px; border: 1px solid #e1e8f1; border-radius: 12px; background: #f8fafc; }.knowledge-base-detail-summary b { color: #40516a; font-size: 12px; }.knowledge-base-detail-summary p { margin: 6px 0 0; color: #65758c; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.knowledge-base-dropzone { display: grid; justify-items: center; gap: 6px; margin: 16px 0; padding: 25px 18px; border: 2px dashed #b8cbe6; border-radius: 14px; color: #315f9d; background: #f7faff; cursor: pointer; text-align: center; transition: border-color .15s ease, background .15s ease; }.knowledge-base-dropzone.dragging, .knowledge-base-dropzone:hover { border-color: #2f6df8; background: #eef5ff; }.knowledge-base-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }.knowledge-base-dropzone span { font-size: 14px; font-weight: 800; }.knowledge-base-dropzone small { color: #728198; font-size: 12px; line-height: 1.55; }
.knowledge-base-document-section { margin-top: 18px; }.knowledge-base-document-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }.knowledge-base-document-section h3 { margin: 0; color: #25364e; font-size: 17px; }.knowledge-base-document-section header p { margin: 4px 0 0; color: #758398; font-size: 12px; }.knowledge-base-document-list { display: grid; gap: 10px; }.knowledge-base-document { display: grid; gap: 11px; padding: 14px; border: 1px solid #dfe7f1; border-radius: 13px; background: #fff; }.knowledge-base-document.failed { border-color: #efcbd0; background: #fffafb; }.knowledge-base-document > header { display: flex; justify-content: space-between; gap: 12px; }.knowledge-base-document header > div { display: grid; gap: 3px; min-width: 0; }.knowledge-base-document header b { color: #2b3d56; font-size: 13px; overflow-wrap: anywhere; }.knowledge-base-document header small { color: #7c899b; font-size: 12px; }.knowledge-base-document header > strong { flex: 0 0 auto; color: #2e63ba; font-size: 12px; }.knowledge-base-document.failed header > strong { color: #a03442; }
.knowledge-base-document ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; margin: 0; padding: 0; list-style: none; }.knowledge-base-document li { padding: 7px 5px; border-radius: 8px; color: #7d899a; background: #f0f3f7; font-size: 12px; font-weight: 700; text-align: center; }.knowledge-base-document li.active { color: #245ebf; background: #e7f0ff; }.knowledge-base-document li.done { color: #19714c; background: #e7f8ef; }.knowledge-base-document li.failed { color: #a03442; background: #fff0f2; }.knowledge-document-progress { height: 7px; overflow: hidden; border-radius: 999px; background: #e7edf5; }.knowledge-document-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2f6df8,#3eb9ef); }.knowledge-document-error { margin: 0; padding: 9px; border-radius: 8px; color: #a03442; background: #fff0f2; font-size: 12px; }.knowledge-base-document > footer { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }.knowledge-base-document footer small { margin-left: auto; color: #96651d; font-size: 12px; }.knowledge-base-document footer small.ready { color: #19714c; }
.knowledge-base-document-pager { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 14px; }.knowledge-base-document-pager span { color: #68778c; font-size: 12px; }

@media (max-width: 720px) { .knowledge-base-detail-summary { grid-template-columns: 1fr; }.knowledge-base-document-section > header { flex-direction: column; }.knowledge-base-document ol { grid-template-columns: 1fr; }.knowledge-base-document > header { flex-direction: column; }.knowledge-base-document footer small { width: 100%; margin-left: 0; } }

.agent-route-composer { gap: 12px; }.agent-route-composer-note { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 12px 14px; border: 1px solid #dbe7f7; border-radius: 12px; background: #f7faff; color: #53647b; }.agent-route-composer-note strong { color: #1e3a5f; font-size: 13px; }.agent-route-composer-note span { font-size: 12px; line-height: 1.55; }
.agent-execution-guide { width: min(680px,calc(100vw - 32px)); }.agent-execution-guide-hero { margin: 18px 0 14px; padding: 20px; border: 1px solid #dce7f5; border-radius: 18px; background: linear-gradient(145deg,#f7faff 0%,#eef5ff 100%); }.agent-execution-guide-hero > div { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }.agent-execution-guide-hero h3 { margin: 15px 0 7px; color: #13213a; font-size: 22px; }.agent-execution-guide-hero p { margin: 0; color: #52647e; font-size: 14px; line-height: 1.75; }.agent-execution-guide-steps { padding: 3px 4px 10px; }.agent-execution-guide-steps h4 { margin: 0 0 10px; color: #26364d; font-size: 14px; }.agent-execution-guide-steps ol { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; counter-reset: runtime-step; }.agent-execution-guide-steps li { display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 10px; color: #53647b; font-size: 13px; line-height: 1.55; counter-increment: runtime-step; }.agent-execution-guide-steps li::before { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: #eaf2ff; color: #2364df; font-weight: 800; content: counter(runtime-step); }.agent-execution-target-note { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; padding: 13px 15px; border: 1px solid #bfe3d1; border-radius: 12px; background: #f0fbf6; color: #28704e; }.agent-execution-target-note.blocked { border-color: #f2d2a3; background: #fff8ea; color: #8b5a14; }.agent-execution-target-note strong { font-size: 13px; }.agent-execution-target-note span { font-size: 12px; line-height: 1.55; }
.knowledge-base-document li.blocked { border-color: #f1c979; background: #fff6df; color: #8a5a00; }.knowledge-base-document.waiting_for_model { border-color: #efcf91; box-shadow: 0 8px 24px rgba(138,90,0,.08); }.knowledge-vector-model-required { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; padding: 13px 14px; border: 1px solid #efcf91; border-radius: 12px; background: #fff9ea; }.knowledge-vector-model-required > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }.knowledge-vector-model-required strong { color: #704600; font-size: 13px; }.knowledge-vector-model-required span { color: #825f24; font-size: 12px; line-height: 1.55; }.knowledge-vector-model-required .primary-btn { flex: 0 0 auto; }
@media (max-width: 720px) { .knowledge-vector-model-required { align-items: stretch; flex-direction: column; }.knowledge-vector-model-required .primary-btn { width: 100%; } }

/* 创建台的选择状态保持浅色高对比，避免蓝底蓝字或次要文字看不清。 */
.agent-composer-modal .agent-mode-card.active,
.agent-composer-modal .agent-editor-tab.active,
.agent-composer-modal .agent-version-card.active {
    border-color: #2563eb;
    background: #eaf2ff;
    color: #0f172a;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.agent-composer-modal .agent-mode-card.active strong,
.agent-composer-modal .agent-editor-tab.active strong,
.agent-composer-modal .agent-version-card.active strong {
    color: #0f172a;
}

.agent-composer-modal .agent-mode-card.active p,
.agent-composer-modal .agent-editor-tab.active small,
.agent-composer-modal .agent-version-card.active p {
    color: #334155;
}

.agent-composer-modal .agent-mode-card.active .eyebrow,
.agent-composer-modal .agent-version-card.active .eyebrow {
    color: #1d4ed8;
}

.agent-composer-modal ::selection {
    background: #bfdbfe;
    color: #0f172a;
}

.table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.toolbar-form {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: min(520px, 100%);
}

.toolbar-form input,
.toolbar-form select {
    min-height: 40px;
    border-radius: 14px;
    border: 1px solid rgba(112, 155, 255, 0.18);
    padding: 9px 12px;
    background: rgba(9, 17, 31, 0.7);
    color: var(--text);
}

.toolbar-form input {
    flex: 1;
    min-width: 180px;
}

.toolbar-search {
    flex: 1;
}

.toolbar-search input {
    width: 100%;
    border-radius: 14px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    padding: 10px 12px;
    background: #ffffff;
    color: #151515;
}

.toolbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.toolbar-actions select {
    border-radius: 14px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    padding: 9px 12px;
    background: #ffffff;
    color: #151515;
}

.agent-table td {
    white-space: normal;
    vertical-align: top;
}

.list-pager {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.list-pager-summary {
    color: #6b7280;
    font-size: 12px;
}

.list-pager-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.tender-intelligence-search-card { padding: 16px; }
.tender-intelligence-search-form {
    display: grid;
    grid-template-columns: minmax(150px,.7fr) minmax(150px,.7fr) minmax(220px,1fr) minmax(260px,1.6fr) auto;
    gap: 12px;
    align-items: end;
}
.tender-intelligence-search-form label { display: grid; gap: 7px; min-width: 0; }
.tender-intelligence-search-form label > span { color: #52637a; font-size: 12px; font-weight: 800; }
.tender-intelligence-search-form input,
.tender-intelligence-search-form select {
    width: 100%;
    height: 40px;
    min-width: 0;
    padding: 0 12px;
    border: 1px solid #dbe3ee;
    border-radius: 11px;
    background: #fff;
    color: #172033;
}
.tender-intelligence-search-form input:focus,
.tender-intelligence-search-form select:focus { outline: 3px solid rgba(37,99,235,.14); border-color: #2563eb; }
.tender-intelligence-search-actions { display: flex; gap: 8px; white-space: nowrap; }
.tender-intelligence-search-actions button { min-height: 40px; }
@media (max-width: 1100px) {
    .tender-intelligence-search-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tender-intelligence-keyword, .tender-intelligence-search-actions { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .tender-intelligence-search-form { grid-template-columns: minmax(0,1fr); }
    .tender-intelligence-keyword, .tender-intelligence-search-actions { grid-column: auto; }
    .tender-intelligence-search-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tender-intelligence-search-actions button { min-height: 44px; }
}

.mini-btn[disabled] {
    opacity: 0.42;
    cursor: not-allowed;
    transform: none;
}

.mini-btn.is-current {
    background: #fff4f5;
    border-color: rgba(37, 99, 235, 0.2);
    color: #1d4ed8;
}

.prompt-editor-modal {
    width: min(1280px, 100%);
}

.prompt-large-textarea {
    min-height: 220px;
    font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
    line-height: 1.65;
}

.workflow-workbench {
    margin-top: 18px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.05), transparent 18%),
        linear-gradient(180deg, #f8f7f5, #f3f1ee);
}

.workflow-palette,
.workflow-canvas,
.workflow-node-editor {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(17, 17, 17, 0.06);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.workflow-palette-item {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(37, 99, 235, 0.08);
    background: linear-gradient(180deg, #fffafb, #ffffff);
    cursor: grab;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.workflow-palette-item:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.18);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.06);
}

.workflow-palette-item.is-dragging {
    opacity: 0.72;
}

.workflow-palette-item-head {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
}

.workflow-drag-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff3f4;
    border: 1px solid rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 700;
}

.workflow-drag-chip.subtle {
    background: #f4f4f5;
    border-color: rgba(17, 17, 17, 0.06);
    color: #6b7280;
}

.workflow-canvas-list {
    background: #f8f7f5;
    border: 1px dashed rgba(37, 99, 235, 0.18);
    transition: border-color 0.16s ease, background 0.16s ease;
}

.workflow-canvas-list.is-drag-over {
    background: #fff7f8;
    border-color: rgba(37, 99, 235, 0.34);
}

.workflow-canvas-node {
    padding: 18px 18px 18px 64px;
    border-radius: 20px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: linear-gradient(180deg, #ffffff, #fbfaf8);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    cursor: grab;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.workflow-canvas-node:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.14);
}

.workflow-canvas-node.active {
    border-color: rgba(37, 99, 235, 0.24);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.08);
}

.workflow-canvas-node.is-dragging {
    opacity: 0.64;
}

.workflow-canvas-node.drag-over {
    border-color: rgba(37, 99, 235, 0.28);
    background: #fff6f7;
}

.workflow-canvas-node-order {
    background: #eff6ff;
    border: 1px solid rgba(37, 99, 235, 0.14);
    color: #1d4ed8;
}

.workflow-node-caption {
    margin-bottom: 6px;
    color: #9ca3af;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.workflow-node-tags {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 1280px) {
    .agent-workspace-strip {
        grid-template-columns: 1fr;
    }

    .agent-workspace-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .table-toolbar,
    .list-pager {
        flex-direction: column;
        align-items: stretch;
    }

    .toolbar-actions,
    .list-pager-actions {
        justify-content: flex-start;
    }

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

.workflow-designer-modal {
    width: min(1680px, calc(100vw - 40px));
    max-height: calc(100vh - 32px);
    padding: 24px;
    border-radius: 28px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.06), transparent 22%),
        linear-gradient(180deg, #fffdfb 0%, #fbf9f6 48%, #f7f4ef 100%);
    color: #101828;
}

.workflow-designer-modal h3 {
    margin: 0;
    font-size: 24px;
    letter-spacing: -0.02em;
    color: #121826;
}

.workflow-designer-modal .field label,
.workflow-designer-modal .workflow-panel-head strong,
.workflow-designer-modal .workflow-stage-toolbar strong {
    color: #1f2937;
}

.workflow-designer-modal .field small,
.workflow-designer-modal .workflow-panel-head small,
.workflow-designer-modal .workflow-stage-toolbar small {
    color: #6b7280;
}

.workflow-designer-modal .field input,
.workflow-designer-modal .field textarea,
.workflow-designer-modal .field select {
    border-color: rgba(17, 17, 17, 0.08);
    background: rgba(255, 255, 255, 0.94);
    color: #111827;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.workflow-designer-modal .field textarea {
    min-height: 96px;
}

.workflow-designer-modal .mini-btn,
.workflow-designer-modal .secondary-btn,
.workflow-designer-modal .primary-btn {
    min-height: 38px;
}

.workflow-designer-hero {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 20px;
    margin-bottom: 18px;
}

.workflow-designer-hero p {
    margin: 8px 0 0;
    max-width: 760px;
    color: #667085;
    font-size: 13px;
    line-height: 1.7;
}

.workflow-designer-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    min-width: 360px;
}

.workflow-summary-metric {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.8);
}

.workflow-summary-metric span {
    display: block;
    color: #6b7280;
    font-size: 11px;
}

.workflow-summary-metric strong {
    display: block;
    margin-top: 8px;
    color: #101828;
    font-size: 24px;
    letter-spacing: -0.03em;
}

.workflow-meta-form {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.workflow-meta-form .field.full {
    grid-column: 1 / -1;
}

.workflow-designer-modal .workflow-workbench {
    margin-top: 0;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
}

.workflow-designer-modal .workflow-workbench-shell {
    margin-top: 16px;
    display: grid;
    grid-template-columns: 278px minmax(0, 1fr) 356px;
    gap: 16px;
    align-items: start;
}

.workflow-designer-modal .workflow-palette,
.workflow-designer-modal .workflow-canvas,
.workflow-designer-modal .workflow-node-editor {
    min-height: 660px;
    border-radius: 22px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.04);
}

.workflow-designer-modal .workflow-palette,
.workflow-designer-modal .workflow-node-editor {
    padding: 16px;
}

.workflow-stage-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.workflow-stage-toolbar-main strong {
    display: block;
    font-size: 15px;
}

.workflow-stage-toolbar-main small {
    display: block;
    margin-top: 6px;
    font-size: 12px;
}

.workflow-palette-groups {
    display: grid;
    gap: 14px;
    margin-top: 10px;
}

.workflow-palette-group-title {
    margin-bottom: 10px;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.workflow-designer-modal .workflow-palette-list {
    display: grid;
    gap: 10px;
}

.workflow-designer-modal .workflow-palette-item {
    padding: 13px;
    border-radius: 16px;
    border: 1px solid rgba(17, 17, 17, 0.05);
    background: linear-gradient(180deg, #ffffff 0%, #fcfaf8 100%);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.03);
}

.workflow-designer-modal .workflow-palette-item strong {
    display: block;
    color: #101828;
    font-size: 14px;
}

.workflow-designer-modal .workflow-palette-item p {
    margin: 6px 0 0;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.6;
}

.workflow-node-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #ffffff;
}

.workflow-node-icon.accent-violet {
    background: linear-gradient(135deg, #7c75ff, #9f8bff);
}

.workflow-node-icon.accent-blue {
    background: linear-gradient(135deg, #5b8cff, #3db7ff);
}

.workflow-node-icon.accent-sky {
    background: linear-gradient(135deg, #46b4ff, #72d5ff);
}

.workflow-node-icon.accent-amber {
    background: linear-gradient(135deg, #ff9e54, #ffc067);
}

.workflow-node-icon.accent-pink {
    background: linear-gradient(135deg, #ee7eb1, #ff9cc3);
}

.workflow-node-icon.accent-mint {
    background: linear-gradient(135deg, #44c9a9, #79ddb0);
}

.workflow-stage-wrap {
    padding: 0;
    overflow: auto;
}

.workflow-stage {
    position: relative;
    min-width: 100%;
    min-height: 660px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 1px 1px, rgba(124, 117, 255, 0.22) 1.1px, transparent 0),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 247, 243, 0.98));
    background-size: 24px 24px, auto;
}

.workflow-stage.is-drag-over {
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.18);
}

.workflow-stage-links,
.workflow-stage-nodes {
    position: absolute;
    inset: 0;
}

.workflow-stage-links {
    overflow: visible;
    pointer-events: none;
}

.workflow-link {
    fill: none;
    stroke: rgba(93, 101, 143, 0.56);
    stroke-width: 2.6;
    stroke-linecap: round;
}

.workflow-link-dot {
    fill: #ffffff;
    stroke: rgba(124, 117, 255, 0.86);
    stroke-width: 2;
}

.workflow-link-dot.target {
    stroke: rgba(37, 99, 235, 0.72);
}

.workflow-stage-empty {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px dashed rgba(17, 17, 17, 0.12);
    background: rgba(255, 255, 255, 0.72);
    color: #6b7280;
    font-size: 12px;
}

.workflow-stage-node {
    position: absolute;
    width: 282px;
    min-height: 120px;
    padding: 16px 16px 14px;
    border-radius: 22px;
    border: 1px solid rgba(17, 17, 17, 0.07);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.workflow-stage-node:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 38px rgba(15, 23, 42, 0.09);
}

.workflow-stage-node.active {
    border-color: rgba(124, 117, 255, 0.46);
    box-shadow: 0 0 0 4px rgba(124, 117, 255, 0.12), 0 18px 32px rgba(15, 23, 42, 0.09);
}

.workflow-stage-node.is-moving {
    cursor: grabbing;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12), 0 22px 42px rgba(15, 23, 42, 0.12);
}

.workflow-stage-node-head,
.workflow-stage-node-title,
.workflow-stage-node-actions,
.workflow-config-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.workflow-stage-node-title strong,
.workflow-config-head strong {
    display: block;
    color: #101828;
    font-size: 16px;
    letter-spacing: -0.02em;
}

.workflow-stage-node-title small,
.workflow-config-head small {
    display: block;
    margin-top: 3px;
    color: #6b7280;
    font-size: 11px;
    line-height: 1.5;
}

.workflow-stage-node-body {
    margin-top: 14px;
    display: grid;
    gap: 10px;
}

.workflow-stage-node-body p {
    margin: 0;
    color: #344054;
    font-size: 12px;
    line-height: 1.65;
}

.workflow-stage-node-chips,
.workflow-stage-node-resources {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.workflow-chip,
.workflow-stage-node-resources span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

.workflow-chip {
    background: #f4f4f6;
    border: 1px solid rgba(17, 17, 17, 0.07);
    color: #475467;
}

.workflow-chip.subtle {
    color: #667085;
}

.workflow-chip.success,
.workflow-stage-node-resources span {
    background: #eefaf3;
    border: 1px solid rgba(52, 168, 83, 0.18);
    color: #1f8f4d;
}

.agent-orchestration-panel {
    display: grid;
    gap: 16px;
}

.agent-flow-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.agent-flow-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(17, 17, 17, 0.07);
    background: #f7f7f8;
    color: #475467;
    font-size: 11px;
    font-weight: 700;
}

.agent-flow-stage-wrap {
    min-height: 420px;
    max-height: 620px;
    overflow: auto;
    border-radius: 20px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.82);
}

.agent-flow-stage {
    position: relative;
    min-width: 100%;
    min-height: 420px;
    background:
        radial-gradient(circle at 1px 1px, rgba(124, 117, 255, 0.18) 1.1px, transparent 0),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 247, 243, 0.98));
    background-size: 24px 24px, auto;
}

.agent-flow-node {
    cursor: default;
}

.agent-flow-node.self-hosted {
    border-color: rgba(52, 168, 83, 0.28);
    box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.08), 0 16px 32px rgba(15, 23, 42, 0.08);
}

.agent-design-rationale {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.88);
}

.agent-design-summary {
    display: grid;
    gap: 6px;
}

.agent-design-summary strong,
.agent-chain-outline strong {
    color: #101828;
    font-size: 14px;
}

.agent-design-summary p,
.agent-design-card p {
    margin: 0;
    color: #475467;
    font-size: 12px;
    line-height: 1.65;
}

.agent-design-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.agent-design-card {
    display: grid;
    gap: 6px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: #fafafa;
}

.agent-design-card strong {
    color: #111827;
    font-size: 13px;
}

.agent-chain-outline {
    display: grid;
    gap: 8px;
    padding-top: 4px;
}

.agent-chain-outline ol {
    margin: 0;
    padding-left: 18px;
    color: #475467;
    font-size: 12px;
    line-height: 1.7;
}

.agent-chain-outline li + li {
    margin-top: 4px;
}

.agent-model-chain {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
}

.agent-model-usage {
    display: grid;
    gap: 6px;
    min-width: 260px;
}

.agent-model-usage-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.agent-model-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 260px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    background: #f7f7f8;
    color: #344054;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.agent-model-pill small {
    color: #667085;
    font-size: 10px;
    font-weight: 800;
}

.agent-model-pill.self-hosted {
    border-color: rgba(52, 168, 83, 0.24);
    background: #eaf8ef;
    color: #187647;
}

.agent-model-pill.self-hosted small {
    color: #1f8f4d;
}

.agent-model-usage > small {
    color: #667085;
    font-size: 11px;
    line-height: 1.4;
}

.agent-model-chain-card {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.9);
}

.agent-model-chain-card.self-hosted {
    border-color: rgba(52, 168, 83, 0.2);
    background: linear-gradient(180deg, #f3fbf6, #ffffff);
}

.agent-model-chain-card span {
    width: fit-content;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    background: #f4f4f6;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
}

.agent-model-chain-card.self-hosted span {
    background: #e9f8ef;
    color: #1f8f4d;
}

.agent-model-chain-card strong {
    color: #111827;
    font-size: 14px;
    word-break: break-word;
}

.agent-model-chain-card small,
.agent-model-chain-card p {
    margin: 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.5;
}

.workflow-port {
    position: absolute;
    top: 50%;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 2px solid rgba(124, 117, 255, 0.84);
    background: #ffffff;
    transform: translateY(-50%);
}

.workflow-port.in {
    left: -7px;
}

.workflow-port.out {
    right: -7px;
}

.icon-btn {
    width: 28px;
    height: 28px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 10px;
    background: rgba(249, 250, 251, 0.96);
    color: #667085;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.icon-btn:hover {
    border-color: rgba(37, 99, 235, 0.2);
    color: #1d4ed8;
    background: #fff6f7;
}

.workflow-designer-modal .workflow-node-editor {
    overflow: auto;
}

.workflow-designer-modal .workflow-node-editor .field {
    margin-bottom: 12px;
}

.workflow-designer-modal .workflow-node-editor textarea {
    min-height: 92px;
}

.workflow-config-head {
    margin-bottom: 14px;
}

.workflow-json-shell {
    margin-top: 16px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.72);
}

.workflow-designer-modal .workflow-preview {
    margin-top: 16px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.72);
}

.workflow-designer-modal .workflow-node {
    background: linear-gradient(180deg, #ffffff, #fcfaf8);
    border-color: rgba(17, 17, 17, 0.06);
}

.modal.modal-light {
    border: 1px solid rgba(17, 17, 17, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(250, 247, 243, 0.98));
    color: #111827;
    box-shadow: 0 30px 70px rgba(15, 23, 42, 0.18);
}

.modal-light h3,
.modal-light h4,
.modal-light strong,
.modal-light label {
    color: #111827;
}

.modal-light .muted,
.modal-light .field small,
.modal-light p {
    color: #667085;
}

.modal-light .metric-card,
.modal-light .table-card,
.modal-light .ops-card,
.modal-light .timeline-card,
.modal-light .entity-card,
.modal-light .design-panel {
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.modal-light .metric-card strong {
    font-size: 28px;
}

.modal-light .design-panel pre,
.modal-light .timeline-card pre,
.modal-light .ops-card pre,
.modal-light .workflow-preview,
.modal-light .json-preview {
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(247, 248, 250, 0.96);
    color: #344054;
}

.modal-topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
}

.modal-topbar-main {
    display: grid;
    gap: 6px;
}

.modal-topbar-kicker {
    color: #e6223a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.modal-topbar-title {
    font-size: 21px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: #111827;
}

.modal-topbar-main p {
    margin: 0;
    font-size: 13px;
    line-height: 1.7;
    color: #667085;
}

.modal-topbar-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.tender-conversion-modal {
    display: flex;
    flex-direction: column;
    width: min(1080px, calc(100vw - 32px));
    max-height: min(880px, calc(100vh - 32px));
    padding: 0;
    overflow: hidden;
}

.tender-conversion-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 30px 34px 18px;
    border-bottom: 1px solid #e6eaf0;
}

.tender-conversion-head h2 { margin: 7px 0; }
.tender-conversion-head p { margin: 0; color: #64748b; }
.tender-conversion-modal > .crm-readonly-tabs { padding: 0 34px; }
.tender-conversion-body { flex: 1; padding: 24px 34px 32px; overflow: auto; }
.tender-conversion-body .modal-grid { margin: 0; }
.tender-conversion-contact { margin-top: 24px; padding-top: 20px; border-top: 1px solid #edf0f5; }
.tender-conversion-contact h3 { margin: 0 0 16px; font-size: 16px; }
.tender-conversion-links { margin-top: 24px; padding-top: 20px; border-top: 1px solid #edf0f5; }
.tender-conversion-links h3 { margin: 0 0 12px; color: #1e293b; font-size: 16px; }
.tender-conversion-links > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.tender-linked-object { display: grid; gap: 4px; min-height: 68px; padding: 11px 13px; border: 1px solid #dbe4f0; border-radius: 11px; background: #f8faff; color: #334155; cursor: pointer; text-align: left; }
.tender-linked-object span { color: #5264ca; font-size: 11px; font-weight: 800; }
.tender-linked-object strong { overflow: hidden; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.tender-conversion-warning { margin: 16px 34px 0; padding: 12px 16px; border: 1px solid #fde68a; border-radius: 12px; background: #fffbeb; color: #92400e; }
.tender-conversion-warning p { margin: 0; }
.tender-conversion-warning p + p { margin-top: 6px; }
.tender-conversion-documents { display: grid; gap: 10px; }
.tender-conversion-documents article { display: flex; justify-content: space-between; gap: 18px; padding: 15px 16px; border: 1px solid #e2e8f0; border-radius: 13px; background: #fff; }
.tender-conversion-documents article > div { display: grid; gap: 4px; }
.tender-conversion-documents span { color: #64748b; font-size: 12px; }
.tender-conversion-documents a { color: #2563eb; font-weight: 800; }
.tender-conversion-footer { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 34px; border-top: 1px solid #e6eaf0; background: rgba(255,255,255,.98); }
.tender-conversion-footer > label { display: flex; align-items: flex-start; gap: 9px; max-width: 700px; color: #334155; line-height: 1.5; }
.tender-conversion-footer button { min-height: 40px; padding: 0 18px; white-space: nowrap; }
.tender-conversion-linked { display: flex; flex-wrap: wrap; justify-content: flex-end; width: 100%; gap: 10px; }
.tender-conversion-loading { display: grid; place-items: center; min-height: 330px; padding: 50px; text-align: center; }
.tender-conversion-loading span { width: 44px; height: 44px; border: 4px solid #dbeafe; border-top-color: #2563eb; border-radius: 50%; animation: spin 1s linear infinite; }
.tender-conversion-loading h3 { margin: 20px 0 6px; }
.tender-conversion-loading p { max-width: 620px; margin: 0; color: #64748b; }
.tender-conversion-modal > .modal-error { margin: 0 34px 12px; }

@media (max-width: 720px) {
    .tender-conversion-modal { width: 100vw; max-height: 100vh; min-height: 100vh; border-radius: 0; }
    .tender-conversion-head, .tender-conversion-body, .tender-conversion-footer { padding-left: 18px; padding-right: 18px; }
    .tender-conversion-modal > .crm-readonly-tabs { padding: 0 18px; overflow-x: auto; }
    .tender-conversion-footer { align-items: stretch; flex-direction: column; }
    .tender-conversion-footer button { min-height: 44px; width: 100%; }
    .tender-conversion-documents article { flex-direction: column; }
    .tender-conversion-links > div { grid-template-columns: 1fr; }
}

.detail-summary-grid,
.detail-activity-grid {
    margin-top: 18px;
}

.detail-column-stack {
    display: grid;
    gap: 16px;
}

.detail-log-card {
    align-items: flex-start;
}

.detail-log-main {
    flex: 1;
    min-width: 0;
    display: grid;
    gap: 6px;
}

.detail-log-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.detail-log-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.detail-log-meta span {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(248, 250, 252, 0.92);
    color: #667085;
    font-size: 12px;
}

.detail-log-note {
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px dashed rgba(17, 17, 17, 0.08);
    background: rgba(248, 250, 252, 0.76);
    color: #667085;
    font-size: 12px;
    line-height: 1.7;
}

.detail-log-actions {
    display: flex;
    align-items: center;
}

.module-report-page {
    display: grid;
    gap: 18px;
}

.module-report-grid {
    align-items: stretch;
}

.module-report-card {
    display: grid;
    gap: 18px;
}

.module-report-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.module-report-head h4 {
    margin: 8px 0 10px;
    font-size: 22px;
    line-height: 1.3;
}

.module-report-head p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.module-report-score {
    min-width: 66px;
    height: 66px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient(135deg, #2b67e3, #2e98ff);
    box-shadow: 0 16px 34px rgba(43, 103, 227, 0.28);
    font-size: 26px;
}

.module-report-insights,
.report-kv-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.module-report-insights div,
.report-kv-grid div {
    border: 1px solid rgba(112, 155, 255, 0.13);
    border-radius: 16px;
    padding: 12px;
    background: rgba(84, 134, 255, 0.08);
    min-width: 0;
}

.module-report-insights span,
.report-kv-grid span,
.report-detail-item span {
    display: block;
    margin-bottom: 6px;
    color: #7caeff;
    font-size: 12px;
    font-weight: 800;
}

.module-report-insights strong,
.report-kv-grid strong {
    display: block;
    color: var(--text);
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.module-report-modal {
    max-width: 1180px;
}

.module-report-detail-page {
    display: grid;
    gap: 18px;
}

.module-report-detail-hero {
    margin-top: 0;
}

.module-report-detail-hero h2 {
    max-width: 980px;
}

.module-report-detail-hero p {
    max-width: 980px;
}

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

.module-report-detail-grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    margin-top: 4px;
}

.report-summary-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
    overflow: hidden;
}

.report-summary-card::after {
    content: "";
    position: absolute;
    inset: auto -30px -36px auto;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    opacity: 0.13;
    background: currentColor;
}

.report-summary-card .report-icon {
    flex: 0 0 auto;
}

.report-summary-card p {
    margin-bottom: 6px;
}

.report-summary-card strong {
    font-size: clamp(18px, 1.5vw, 24px);
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.report-detail-section {
    padding: 18px;
    gap: 14px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

.report-detail-section .section-head {
    padding-bottom: 10px;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(112, 155, 255, 0.12);
}

.report-detail-section .section-head h4 {
    margin: 4px 0 6px;
    font-size: 20px;
}

.report-detail-section .section-head p {
    margin: 0;
}

.report-card-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.report-card-list.compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.report-field-block {
    display: grid;
    gap: 8px;
}

.report-field-block > strong {
    font-size: 15px;
}

.report-value-list {
    gap: 10px;
}

.report-detail-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(112, 155, 255, 0.12);
    border-radius: 16px;
    background: rgba(84, 134, 255, 0.07);
}

.report-detail-item p {
    margin: 8px 0 0;
    line-height: 1.65;
}

.report-detail-item-body {
    flex: 1;
    min-width: 0;
}

.report-detail-item-body strong {
    display: block;
    line-height: 1.35;
}

.report-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2b67e3;
    background: rgba(43, 103, 227, 0.12);
    border: 1px solid rgba(43, 103, 227, 0.16);
}

.report-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tone-success {
    color: #14966f;
}

.tone-blue,
.tone-info {
    color: #2b67e3;
}

.tone-warn {
    color: #b97705;
}

.tone-danger {
    color: #d92d20;
}

.tone-success .report-icon,
.report-score-card.tone-success .report-icon {
    color: #14966f;
    background: rgba(20, 150, 111, 0.12);
    border-color: rgba(20, 150, 111, 0.18);
}

.tone-warn .report-icon,
.report-score-card.tone-warn .report-icon {
    color: #b97705;
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.2);
}

.tone-danger .report-icon,
.report-score-card.tone-danger .report-icon {
    color: #d92d20;
    background: rgba(217, 45, 32, 0.12);
    border-color: rgba(217, 45, 32, 0.18);
}

.report-score-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.report-score-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(112, 155, 255, 0.12);
    background: linear-gradient(180deg, rgba(84, 134, 255, 0.1), rgba(255, 255, 255, 0.72));
}

.report-score-card-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.report-score-card-head div {
    flex: 1;
    min-width: 0;
}

.report-score-card-head strong {
    display: block;
    color: #111827;
}

.report-score-card-head p {
    margin: 5px 0 0;
    color: #667085;
    line-height: 1.55;
}

.report-score-card-head > span {
    flex: 0 0 auto;
    min-width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #2b67e3;
    font-weight: 900;
}

.report-score-card.tone-success .report-score-card-head > span {
    background: #14966f;
}

.report-score-card.tone-warn .report-score-card-head > span {
    background: #b97705;
}

.report-score-card.tone-danger .report-score-card-head > span {
    background: #d92d20;
}

.report-score-track {
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(17, 24, 39, 0.08);
}

.report-score-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: currentColor;
}

.report-score-meta {
    display: grid;
    gap: 6px;
}

.report-score-meta small {
    color: #667085;
    line-height: 1.55;
}

.report-score-meta small.warn,
.report-score-meta small.success {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 800;
}

.report-score-meta .report-icon {
    width: 20px;
    height: 20px;
    border-radius: 7px;
}

.report-score-meta .report-icon svg {
    width: 12px;
    height: 12px;
}

.tech-competitor-grid,
.tech-assessment-grid,
.tech-insight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tech-competitor-card,
.tech-assessment-card,
.tech-insight-card,
.tech-validation-card {
    border: 1px solid rgba(63, 131, 248, 0.16);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.94), rgba(255, 255, 255, 0.82));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.tech-competitor-card {
    overflow: hidden;
}

.tech-competitor-card header {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    background: rgba(43, 103, 227, 0.08);
    border-bottom: 1px solid rgba(63, 131, 248, 0.12);
}

.tech-competitor-card header strong,
.tech-insight-card > strong {
    color: #101828;
    font-size: 15px;
}

.tech-competitor-card header span {
    color: #475467;
    font-size: 13px;
    line-height: 1.5;
}

.tech-compare-points,
.tech-insight-card {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
}

.tech-compare-points p,
.tech-insight-card p,
.tech-assessment-card p {
    margin: 0;
    color: #344054;
    line-height: 1.65;
}

.tech-compare-points p span,
.tech-insight-card p span,
.tech-assessment-card p span {
    display: inline-flex;
    align-items: center;
    min-width: 48px;
    margin-right: 8px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
}

.tech-assessment-card {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.tech-assessment-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.tech-assessment-head div {
    flex: 1;
    min-width: 0;
}

.tech-assessment-head strong {
    display: block;
    color: #101828;
    font-size: 15px;
}

.tech-assessment-head span {
    display: inline-flex;
    margin-top: 4px;
    color: #2563eb;
    font-weight: 900;
}

.tech-validation-list {
    display: grid;
    gap: 10px;
}

.tech-validation-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
}

.tech-validation-index {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #ffffff;
    background: linear-gradient(135deg, #2b67e3, #2e98ff);
    font-weight: 900;
}

.tech-validation-card strong {
    display: block;
    color: #101828;
    margin-bottom: 6px;
}

.tech-validation-card p {
    margin: 0 0 10px;
    color: #475467;
    line-height: 1.6;
}

.tech-validation-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tech-validation-meta span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    padding: 6px 9px;
    border-radius: 999px;
    color: #344054;
    background: rgba(43, 103, 227, 0.08);
    font-size: 12px;
    line-height: 1.4;
}

.tech-validation-meta b {
    color: #2563eb;
}

.evidence-chain {
    display: grid;
    gap: 10px;
}

.evidence-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(43, 103, 227, 0.13);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(43, 103, 227, 0.08), rgba(255, 255, 255, 0.82));
}

.evidence-index {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 900;
    color: #2b67e3;
}

.evidence-index .report-icon {
    width: 30px;
    height: 30px;
}

.evidence-main {
    min-width: 0;
}

.evidence-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.evidence-head strong {
    color: #111827;
}

.evidence-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.evidence-tags span {
    padding: 4px 8px;
    border-radius: 999px;
    color: #2b67e3;
    background: rgba(43, 103, 227, 0.09);
    font-size: 12px;
    font-weight: 800;
}

.evidence-card p {
    margin: 8px 0;
    color: #344054;
    line-height: 1.7;
}

.evidence-card small {
    color: #667085;
}

.modal-light .module-report-insights div,
.modal-light .report-kv-grid div {
    border-color: rgba(17, 17, 17, 0.06);
    background: rgba(248, 250, 252, 0.9);
}

.modal-light .module-report-insights strong,
.modal-light .report-kv-grid strong {
    color: #111827;
}

@media (max-width: 1480px) {
    .workflow-meta-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .workflow-designer-modal .workflow-workbench-shell {
        grid-template-columns: 250px minmax(0, 1fr) 320px;
    }
}

@media (max-width: 1180px) {
    .intake-workspace,
    .intake-two-col {
        grid-template-columns: 1fr;
    }

    .intake-form-card {
        position: static;
    }

    .intake-pipeline,
    .intake-score-row,
    .intake-confirmed-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .chat-workbench-shell {
        grid-template-columns: 1fr;
    }

    .digital-pet-factory-shell {
        grid-template-columns: 1fr;
    }

    .chat-session-list {
        max-height: 320px;
    }

    .chat-composer-input {
        grid-template-columns: 1fr;
    }

    .chat-attachment-toolbar {
        flex-direction: column;
    }

    .digital-pet-stage-grid {
        grid-template-columns: 1fr;
    }

    .digital-pet-asset-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .chat-composer-input.single {
        grid-template-columns: 1fr;
    }

    .chat-attachment-card {
        grid-template-columns: 1fr;
    }

    .chat-attachment-dropzone {
        grid-template-columns: 1fr;
    }

    .chat-attachment-preview {
        width: 100%;
        height: 180px;
    }

    .workflow-designer-hero,
    .workflow-stage-toolbar {
        flex-direction: column;
    }

    .workflow-designer-summary {
        min-width: 0;
    }

    .workflow-meta-form,
    .workflow-designer-modal .workflow-workbench-shell {
        grid-template-columns: 1fr;
    }

    .workflow-designer-modal .workflow-palette,
    .workflow-designer-modal .workflow-canvas,
    .workflow-designer-modal .workflow-node-editor {
        min-height: auto;
    }

    .workflow-stage {
        min-height: 620px;
    }

    .modal-topbar {
        flex-direction: column;
    }

    .modal-topbar-actions {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .intake-pipeline,
    .intake-score-row,
    .intake-confirmed-grid,
    .intake-field-grid,
    .intake-claim-grid {
        grid-template-columns: 1fr;
    }

    .intake-kv-list div {
        grid-template-columns: 1fr;
    }

    .digital-pet-meta-grid,
    .digital-pet-asset-strip {
        grid-template-columns: 1fr;
    }

    .material-center-layout,
    .material-upload-shell,
    .material-center-body,
    .material-detail-layout {
        grid-template-columns: 1fr;
    }

    .material-detail-analysis {
        position: static;
    }

    .material-dropzone {
        min-height: 220px;
    }

    .material-center-hero {
        align-items: flex-start;
    }

    .material-center-hero .hero-stats {
        width: 100%;
        flex-wrap: wrap;
    }

    .material-library-toolbar,
    .material-task-steps {
        grid-template-columns: 1fr;
    }

    .tech-competitor-grid,
    .tech-assessment-grid,
    .tech-insight-grid {
        grid-template-columns: 1fr;
    }

    .tech-validation-card {
        grid-template-columns: 1fr;
    }
}

/* 20260709 material intake readability */
.intake-material-row {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(37, 99, 235, 0.14);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
    color: #111827;
}

.intake-material-row header strong,
.material-folder-item strong {
    color: #111827;
    font-weight: 700;
}

.intake-material-row header small,
.intake-material-row .field small,
.material-folder-meta,
.material-folder-item p {
    color: #64748b;
}

.intake-material-row .field label {
    color: #334155;
    font-weight: 700;
}

.intake-material-row .field input,
.intake-material-row .field textarea,
.intake-material-row .field select {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    color: #111827;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

.intake-material-row .field input::placeholder,
.intake-material-row .field textarea::placeholder {
    color: #9ca3af;
    opacity: 1;
}

.intake-material-mode {
    padding: 14px;
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: 14px;
    background: #eff6ff;
}

.intake-material-mode-head {
    display: grid;
    gap: 6px;
}

.intake-material-mode-head strong {
    color: #1d4ed8;
    font-size: 14px;
}

.intake-material-mode-head span {
    color: #475569;
    font-size: 12px;
    line-height: 1.7;
}

.intake-upload-box {
    position: relative;
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px dashed rgba(37, 99, 235, 0.28);
    border-radius: 14px;
    background: #f8fbff;
}

.intake-upload-box input[type="file"] {
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    max-width: 100%;
}

.intake-material-row input[type="file"]::file-selector-button {
    margin-right: 12px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 10px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
    padding: 8px 12px;
    cursor: pointer;
}

.intake-material-row .mini-btn {
    background: #ffffff;
    border: 1px solid rgba(37, 99, 235, 0.16);
    color: #1f2937;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
}

.intake-material-row .mini-btn.danger {
    background: #fff5f5;
    border-color: rgba(220, 38, 38, 0.16);
    color: #b91c1c;
}

.intake-material-row .mini-btn:disabled {
    background: #f3f4f6;
    color: #9ca3af;
    box-shadow: none;
}

.material-folder-item {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.material-folder-meta span {
    background: #f1f5f9;
    border-color: rgba(15, 23, 42, 0.08);
    color: #475569;
}

.material-detail-content pre {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.1);
    color: #111827;
}

@media (max-width: 720px) {
    .intake-material-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .material-center-layout,
    .material-upload-shell,
    .material-detail-layout {
        grid-template-columns: 1fr;
    }

    .material-detail-analysis {
        position: static;
    }

    .material-library-toolbar,
    .material-task-steps {
        grid-template-columns: 1fr;
    }

    .module-report-summary,
    .report-score-grid,
    .report-card-list,
    .report-card-list.compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .evidence-card {
        grid-template-columns: 1fr;
    }

    .evidence-head {
        display: grid;
    }

    .evidence-tags {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .module-report-summary,
    .report-score-grid,
    .report-card-list,
    .report-card-list.compact,
    .report-kv-grid {
        grid-template-columns: 1fr;
    }

    .module-report-detail-hero {
        display: grid;
    }

    .report-summary-card,
    .report-detail-item {
        padding: 14px;
    }

    .report-score-card-head {
        display: grid;
    }
}

/* 20260710 material report/table readability */
.material-category-rail button {
    background: #ffffff;
    border-color: #e2e8f0;
    color: #0f172a;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
}

.material-category-rail button.active {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.material-category-rail strong {
    background: #f1f5f9;
    color: #334155;
}

.material-document-table-wrap {
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #ffffff;
}

.material-document-table {
    width: 100%;
    min-width: 1280px;
    border-collapse: collapse;
}

.material-document-table th {
    padding: 12px 14px;
    text-align: left;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    border-bottom: 1px solid #e5e7eb;
}

.material-document-table td {
    padding: 14px;
    border-bottom: 1px solid #eef2f7;
    color: #0f172a;
    vertical-align: middle;
}

.material-document-table tbody tr:hover {
    background: #f8fbff;
}

.material-doc-name button {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.material-doc-name strong {
    display: block;
    max-width: 340px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #0f172a;
}

.material-doc-name small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.material-document-table .material-type-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eff6ff;
    color: #1d4ed8;
}

.material-doc-type,
.material-doc-category {
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.material-doc-type {
    color: #0369a1;
}

.material-doc-category {
    color: #047857;
}

.material-doc-tags {
    min-width: 220px;
}

.material-doc-metadata {
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #334155;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.6;
}

.material-doc-size {
    color: #334155;
    font-weight: 800;
    white-space: nowrap;
}

.material-doc-summary {
    max-width: 420px;
    color: #334155;
    line-height: 1.55;
}

.material-doc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 330px;
}

.material-doc-actions .mini-btn {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #1e293b;
    border-radius: 10px;
    padding: 7px 9px;
}

.material-doc-actions .mini-btn:hover {
    background: #eff6ff;
    color: #1d4ed8;
}

.material-doc-actions .mini-btn.danger {
    background: #fff5f5;
    border-color: #fecaca;
    color: #dc2626;
}

.material-doc-actions .mini-btn.is-pending {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #c2410c;
}

.material-report-page {
    display: grid;
    gap: 12px;
}

.material-report-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, .75fr);
    gap: 14px;
    padding: 16px 18px;
    color: #0f172a;
}

.material-report-summary h3,
.material-report-article h3,
.material-methodology-head h3,
.material-method-table h3 {
    color: #0f172a;
}

.material-report-summary p,
.material-report-article p,
.material-methodology-head p {
    color: #334155;
    line-height: 1.8;
}

.material-detail-hero {
    min-height: 0;
    align-items: center;
    padding: 14px 18px;
    border-radius: 18px;
}

.material-detail-hero .eyebrow {
    font-size: 10px;
    letter-spacing: .14em;
}

.material-detail-hero h2 {
    margin: 4px 0 5px;
    font-size: 18px;
    line-height: 1.35;
}

.material-detail-hero p {
    margin: 0;
    font-size: 12px;
}

.material-detail-hero .actions {
    gap: 8px;
    justify-content: flex-end;
}

.material-detail-hero .actions button {
    min-height: 34px;
    padding: 0 13px;
}

.material-report-summary h3 {
    margin: 4px 0 8px;
    font-size: 19px;
}

.material-report-summary > div:first-child p {
    max-height: 92px;
    overflow: auto;
}

.material-report-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.material-report-meta div {
    min-height: 56px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 13px;
    background: #f8fafc;
}

.material-report-meta span {
    display: block;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.material-report-meta strong {
    display: block;
    margin-top: 5px;
    color: #0f172a;
}

.material-report-tags {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: -2px;
}

.material-report-tags span {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
}

.material-report-tabs {
    display: inline-flex;
    width: fit-content;
    padding: 3px;
    border: 1px solid #dbe7ff;
    border-radius: 14px;
    background: #ffffff;
}

.material-report-tabs button {
    border: 0;
    padding: 9px 14px;
    border-radius: 11px;
    background: transparent;
    color: #475569;
    font-weight: 900;
    cursor: pointer;
}

.material-report-tabs button.active {
    background: #2563eb;
    color: #ffffff;
}

.material-report-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #f8fbff;
}

.material-report-subtabs button {
    border: 1px solid transparent;
    padding: 9px 14px;
    border-radius: 12px;
    background: #ffffff;
    color: #315074;
    font-weight: 900;
    cursor: pointer;
}

.material-report-subtabs button.active {
    border-color: #93c5fd;
    background: #2563eb;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .18);
}

.material-report-article {
    display: grid;
    gap: 22px;
    color: #0f172a;
}

.material-report-article section {
    display: grid;
    gap: 10px;
}

.material-deep-reading {
    display: grid;
    gap: 18px;
    text-align: left;
}

.material-deep-reading-lead {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 22px 28px 24px;
    border: 1px solid #bfdbfe;
    border-left: 4px solid #2563eb;
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(37, 99, 235, .055), rgba(14, 165, 233, .018)),
        #ffffff;
    box-shadow: 0 10px 26px rgba(37, 99, 235, .045);
    text-align: left;
}

.material-deep-reading-lead span {
    display: inline-flex;
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.material-deep-reading-lead h3 {
    margin: 8px 0 10px;
    font-size: 23px;
    line-height: 1.35;
}

.material-deep-reading-lead p {
    max-width: none;
    margin: 0;
    color: #1e293b;
    font-size: 16px;
    line-height: 1.9;
}

.material-deep-reading-body {
    display: block;
    width: 100%;
}

.material-deep-reading-article {
    display: grid;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #fbfdff;
    box-shadow: 0 12px 30px rgba(37, 99, 235, .04);
    text-align: left;
}

.material-deep-reading-section {
    position: relative;
    display: block;
    padding: 22px 24px;
    border: 1px solid #dbeafe;
    border-left: 4px solid #60a5fa;
    border-radius: 12px;
    background: #f7faff;
}

.material-deep-reading-section:nth-child(3n + 2) {
    border-color: #cfeee8;
    border-left-color: #2ab7a9;
    background: #f7fcfb;
}

.material-deep-reading-section:nth-child(3n + 3) {
    border-color: #f5e6c5;
    border-left-color: #e8aa35;
    background: #fffdf8;
}

.material-deep-reading-body h4 {
    display: block;
    margin: 0;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.45;
    text-align: left;
}

.material-deep-reading-body p {
    max-width: none;
    margin: 12px 0 0;
    color: #334155;
    font-size: 16.5px;
    line-height: 1.9;
    text-align: left;
    overflow-wrap: anywhere;
}

.material-reading-table-wrap {
    max-width: 100%;
    margin: 16px 0 4px;
    overflow-x: auto;
    border: 1px solid #dbe5f1;
    border-radius: 12px;
    background: #fff;
}

.material-reading-table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
}

.material-reading-table th,
.material-reading-table td {
    padding: 11px 13px;
    border-right: 1px solid #e5ebf3;
    border-bottom: 1px solid #e5ebf3;
    color: #40516a;
    font-size: 12px;
    line-height: 1.6;
    text-align: left;
    vertical-align: top;
}

.material-reading-table th { background: #eef5ff; color: #243a58; font-weight: 850; white-space: nowrap; }
.material-reading-table tr:last-child td { border-bottom: 0; }
.material-reading-table th:last-child,
.material-reading-table td:last-child { border-right: 0; }

.material-people-panel {
    display: grid;
    gap: 16px;
    padding: 22px;
    border: 1px solid #dbeafe;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(37, 99, 235, .045);
}

.material-people-panel > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e8f1ff;
}

.material-people-panel > header span {
    color: #2563eb;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.material-people-panel > header h3 {
    margin: 5px 0 0;
    font-size: 22px;
}

.material-people-panel > header p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.material-people-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 12px;
}

.material-person-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: linear-gradient(145deg, #ffffff 0%, #f5f9ff 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .045);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.material-person-card:hover {
    transform: translateY(-2px);
    border-color: #93c5fd;
    box-shadow: 0 14px 28px rgba(37, 99, 235, .1);
}

.material-person-index {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #2563eb;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.material-person-main h4 {
    margin: 0;
    font-size: 18px;
}

.material-person-main > strong {
    display: inline-block;
    margin-top: 3px;
    color: #2563eb;
    font-size: 13px;
}

.material-person-main p {
    margin: 8px 0 0;
    color: #334155;
    font-size: 14px;
    line-height: 1.7;
}

.material-person-main p b {
    display: inline-block;
    min-width: 62px;
    margin-right: 8px;
    color: #0f172a;
}

.material-person-main .material-person-role {
    color: #475569;
}

.material-person-main small {
    display: block;
    margin-top: 8px;
    color: #64748b;
    line-height: 1.55;
}

.material-people-chain {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-left: 4px solid #0ea5e9;
    background: #f0f9ff;
}

.material-people-chain strong {
    color: #0369a1;
}

.material-people-chain p {
    margin: 0;
    color: #334155;
    line-height: 1.75;
}

.material-intel-outlook {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 16px;
}

.material-intel-outlook > article {
    padding: 20px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: #fff;
}

.material-intel-outlook article > header span {
    color: #2563eb;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.material-intel-outlook article > header h3 {
    margin: 5px 0 0;
    color: #0f172a;
    font-size: 20px;
}

.intel-evolution-line {
    display: grid;
    gap: 0;
    margin-top: 18px;
}

.intel-evolution-line > section {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    padding: 0 0 18px;
}

.intel-evolution-line > section::before {
    position: absolute;
    top: 28px;
    bottom: 0;
    left: 27px;
    width: 1px;
    background: #bfdbfe;
    content: "";
}

.intel-evolution-line > section:last-child::before {
    display: none;
}

.intel-evolution-line time {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 54px;
    height: 28px;
    border-radius: 8px;
    background: #2563eb;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.intel-evolution-line strong {
    color: #0f172a;
}

.intel-evolution-line p {
    margin: 5px 0;
    color: #475569;
    line-height: 1.7;
}

.intel-evolution-line a {
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
}

.intel-stage-panel {
    align-content: start;
}

.intel-stage-panel > header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}

.intel-stage-panel > header > strong {
    padding: 8px 12px;
    border-radius: 10px;
    background: #dcfce7;
    color: #047857;
    font-size: 16px;
}

.intel-stage-panel > p {
    margin: 18px 0;
    color: #334155;
    line-height: 1.8;
}

.intel-stage-panel dl,
.intel-track-grid dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

.intel-stage-panel dl div,
.intel-track-grid dl div {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px;
}

.intel-stage-panel dt,
.intel-track-grid dt {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.intel-stage-panel dd,
.intel-track-grid dd {
    margin: 0;
    color: #334155;
    line-height: 1.6;
}

.intel-stage-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.intel-stage-signals b {
    width: 100%;
    color: #0f172a;
}

.intel-stage-signals span {
    padding: 6px 9px;
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 12px;
}

.intel-tracks-panel,
.intel-indicators-panel {
    grid-column: 1 / -1;
}

.intel-track-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.intel-track-grid > section {
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #f8fbff;
}

.intel-track-grid > section > header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.intel-track-grid em {
    padding: 4px 8px;
    border-radius: 7px;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.intel-track-grid .potential-high { background: #dcfce7; color: #047857; }
.intel-track-grid .potential-medium { background: #fef3c7; color: #a16207; }
.intel-track-grid .potential-low { background: #fee2e2; color: #b91c1c; }

.intel-track-grid small {
    display: block;
    margin-top: 5px;
    color: #2563eb;
    font-weight: 700;
}

.intel-track-grid > section > p {
    margin: 12px 0;
    color: #334155;
    line-height: 1.7;
}

.intel-indicators-panel > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.intel-indicators-panel > div > span {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    color: #334155;
}

.intel-indicators-panel b {
    color: #2563eb;
}

@media (max-width: 900px) {
    .material-people-grid {
        grid-template-columns: 1fr;
    }

    .material-people-panel > header {
        align-items: start;
        flex-direction: column;
    }

    .material-intel-outlook,
    .intel-track-grid,
    .intel-indicators-panel > div {
        grid-template-columns: 1fr;
    }
}

/* Responsive navigation and accessible intelligence/material status surfaces. */
.topbar { min-width: 0; }
.top-nav {
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
}
.top-nav button { flex: 0 0 auto; scroll-snap-align: center; }
.topbar-actions { flex: 0 0 auto; }
.intelligence-settings-live {
    min-height: 1px;
    color: #475569;
    font-size: 12px;
}
.intelligence-external-consent { grid-column: 1 / -1; padding: 10px 12px; border: 1px solid #dbe7f7; border-radius: 12px; background: #f8fbff; }
.intelligence-external-consent > span:nth-child(2) { display: flex; align-items: flex-start; gap: 8px; font-weight: 600; }
.intelligence-external-consent input { width: auto; margin-top: 2px; }
.intelligence-external-consent small { color: #64748b; line-height: 1.55; }
.intelligence-setup-required,
.material-library-load-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 900px) {
    .topbar { flex-wrap: wrap; gap: 10px; }
    .top-nav { order: 3; width: 100%; }
    .topbar-actions { margin-left: auto; }
}

/* 20260812 compact intelligent material center */
.material-center-layout {
    gap: 12px;
}

.material-center-layout > .table-card {
    margin-top: 12px;
}

.material-center-hero {
    padding: 14px 18px;
}

.material-center-hero h2 {
    margin: 2px 0 3px;
    font-size: 21px;
}

.material-center-hero p {
    overflow: hidden;
    max-width: min(920px, 54vw);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.material-center-hero .hero-stats {
    gap: 7px;
}

.material-center-hero .metric-card {
    width: 96px;
    min-height: 48px;
    padding: 7px 10px;
    border-radius: 12px;
    box-shadow: none;
}

.material-center-hero .metric-card p {
    margin-bottom: 2px;
    font-size: 10px;
}

.material-center-hero .metric-card strong {
    font-size: 17px;
}

.material-upload-card {
    padding: 14px 16px;
}

.material-upload-form,
.material-upload-shell {
    gap: 10px;
}

.material-upload-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.material-upload-primary-row {
    display: grid;
    grid-template-columns: minmax(260px, .32fr) minmax(580px, .68fr);
    gap: 14px;
    align-items: stretch;
}

.material-upload-heading {
    align-items: center !important;
    margin: 0 !important;
    padding: 8px 2px;
}

.material-upload-heading h3 {
    margin: 3px 0 2px;
    font-size: 17px;
}

.material-upload-heading p {
    margin: 0;
    line-height: 1.45;
}

.material-upload-heading .primary-btn {
    flex: 0 0 auto;
    padding-inline: 12px;
}

.material-dropzone {
    display: grid;
    grid-template-columns: 38px minmax(180px, 1fr) auto;
    align-content: center;
    align-items: center;
    min-height: 76px;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    text-align: left;
}

.material-drop-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    font-size: 20px;
    box-shadow: none;
}

.material-drop-copy {
    min-width: 0;
}

.material-dropzone strong {
    overflow: hidden;
    font-size: 14px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.material-dropzone p {
    overflow: hidden;
    margin: 2px 0 0;
    font-size: 11px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.material-upload-actions {
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 6px;
}

.material-upload-actions button {
    min-height: 34px;
    padding: 7px 10px;
    white-space: nowrap;
}

.material-upload-status-row {
    display: grid;
    grid-template-columns: minmax(280px, .34fr) minmax(0, .66fr);
    gap: 10px;
    align-items: stretch;
}

.material-upload-selection {
    display: grid;
    align-content: start;
    gap: 7px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #e5eaf2;
    border-radius: 13px;
    background: #f8fafc;
}

.material-type-chips {
    flex-wrap: nowrap;
    gap: 5px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.material-type-chips span {
    flex: 0 0 auto;
    padding: 4px 7px;
    font-size: 10px;
}

.material-selected-empty {
    min-height: 38px;
    padding: 7px 9px;
    border-radius: 10px;
}

.material-selected-list {
    display: flex;
    gap: 7px;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 2px;
    scrollbar-width: thin;
}

.material-selected-item {
    flex: 0 0 min(320px, 78vw);
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 7px;
    padding: 6px 7px;
    border-radius: 10px;
}

.material-selected-item > span {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 9px;
}

.material-selected-item strong,
.material-selected-item small,
.material-selected-item button {
    font-size: 10px;
}

.material-selected-item button {
    padding: 4px 7px;
}

.material-task-panel {
    min-height: 0;
    gap: 7px;
    padding: 9px 10px;
    border-radius: 13px;
}

.material-task-head {
    align-items: center;
}

.material-task-head > div:first-child {
    display: flex;
    align-items: center;
    gap: 7px;
}

.material-task-head strong {
    font-size: 12px;
}

.material-task-head span,
.material-task-summary span,
.material-task-summary button {
    padding: 3px 6px;
    font-size: 10px;
}

.material-task-list {
    display: flex;
    gap: 7px;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 2px;
    scrollbar-width: thin;
}

.material-task-empty {
    flex: 1 0 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 10px;
    text-align: left;
}

.material-task-empty strong,
.material-task-empty p {
    font-size: 10px;
}

.material-task-empty p {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.material-task-item {
    flex: 0 0 min(500px, 82vw);
    gap: 5px;
    padding: 6px 7px;
    border-radius: 10px;
}

.material-task-title {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 7px;
}

.material-task-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 9px;
}

.material-task-title strong,
.material-task-title small,
.material-task-title em,
.material-task-actions button {
    font-size: 10px;
}

.material-task-actions {
    gap: 4px;
}

.material-task-actions button {
    padding: 3px 6px;
}

.material-task-progress {
    height: 15px;
}

.material-task-progress em {
    padding: 0 7px;
    font-size: 9px;
}

.material-center-library {
    min-width: 0;
    overflow: hidden;
    padding: 16px;
}

.material-center-library > .section-head {
    margin-bottom: 10px;
}

.material-center-library > .section-head h3 {
    margin: 3px 0 2px;
    font-size: 17px;
}

.material-center-library > .section-head p {
    margin: 0;
}

.material-library-stat {
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.material-library-stat + .material-library-stat::before {
    margin-right: 8px;
    color: #cbd5e1;
    content: "·";
}

.material-category-tabs {
    min-width: 0;
    margin-bottom: 10px;
    border-bottom: 1px solid #e5eaf2;
}

.material-category-tabs-scroll {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 1px 10px;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
}

.material-category-tabs button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    max-width: 260px;
    padding: 6px 10px;
    border: 1px solid #dfe5ed;
    border-radius: 999px;
    background: #fff;
    color: #344054;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .035);
    cursor: pointer;
    scroll-snap-align: start;
}

.material-category-tabs button span {
    overflow: hidden;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.material-category-tabs button strong {
    min-width: 22px;
    padding: 2px 6px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #667085;
    font-size: 10px;
    text-align: center;
}

.material-category-tabs button:hover {
    border-color: #bfdbfe;
    background: #f8fbff;
}

.material-category-tabs button.active {
    border-color: #60a5fa;
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: inset 0 -2px #2563eb, 0 4px 12px rgba(37, 99, 235, .08);
}

.material-category-tabs button.active strong {
    background: #dbeafe;
    color: #1d4ed8;
}

.material-category-tabs button:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .2);
    outline-offset: 2px;
}

.material-library-toolbar {
    margin-bottom: 10px;
}

.material-center-body {
    display: block;
    min-width: 0;
}

.material-center-body .material-document-list {
    min-width: 0;
}

@media (max-width: 1180px) {
    .material-library-toolbar {
        grid-template-columns: minmax(220px, 1fr) 116px auto auto;
    }
}

@media (max-width: 720px) {
    .material-upload-primary-row,
    .material-upload-status-row,
    .material-library-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .material-upload-heading {
        padding: 0;
    }

    .material-center-hero {
        gap: 10px;
    }

    .material-center-hero p {
        max-width: 100%;
        white-space: normal;
    }

    .material-center-hero .hero-stats {
        display: grid;
        grid-template-columns: repeat(4, minmax(82px, 1fr));
        overflow-x: auto;
    }

    .material-center-hero .metric-card {
        width: auto;
    }

    .material-dropzone {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .material-drop-icon {
        width: 34px;
        height: 34px;
    }

    .material-upload-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        overflow-x: auto;
    }

    .material-upload-heading {
        flex-direction: row;
        align-items: center !important;
    }

    .material-selected-empty {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .material-task-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .material-task-summary {
        justify-content: flex-start;
    }

    .material-category-tabs-scroll {
        margin-inline: -2px;
    }
}

.material-essence-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, .9fr);
    gap: 16px;
    padding: 18px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fbff, #eff6ff);
}

.material-essence-next {
    align-self: stretch;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #ffffff;
}

.material-essence-next strong {
    color: #2563eb;
    font-size: 13px;
    letter-spacing: .08em;
}

.material-essence-panel span,
.material-intel-head span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.material-essence-panel h3,
.material-intel-head h3 {
    margin: 8px 0 10px;
    color: #0f172a;
    font-size: 24px;
}

.material-essence-panel p {
    margin: 0;
    color: #24324a;
    font-size: 15px;
    line-height: 1.9;
}

.material-essence-panel ol {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.material-essence-panel li {
    padding: 12px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #ffffff;
}

.material-essence-panel li strong {
    color: #0f172a;
}

.material-essence-panel li p {
    margin-top: 5px;
    color: #475569;
    font-size: 13px;
    line-height: 1.6;
}

.material-analysis-module-grid,
.material-analysis-article-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.material-analysis-module-grid article,
.material-analysis-article-grid article {
    overflow: hidden;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #ffffff;
}

.material-analysis-module-grid header,
.material-analysis-article-grid header {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    background: #f6f9ff;
    border-bottom: 1px solid #e5eefc;
}

.material-analysis-module-grid header strong,
.material-analysis-article-grid header strong {
    color: #0f172a;
}

.material-analysis-module-grid header span,
.material-analysis-article-grid header span {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.material-analysis-prose {
    display: grid;
    gap: 10px;
    padding: 14px 16px 16px;
}

.material-analysis-prose p {
    margin: 0;
    color: #24324a;
    font-size: 14px;
    line-height: 1.9;
}

.material-analysis-module-grid table,
.material-analysis-article-grid table {
    width: 100%;
    border-collapse: collapse;
}

.material-analysis-module-grid th,
.material-analysis-module-grid td,
.material-analysis-article-grid th,
.material-analysis-article-grid td {
    padding: 11px 14px;
    border-bottom: 1px solid #eef2f7;
    text-align: left;
    vertical-align: top;
    line-height: 1.65;
}

.material-analysis-module-grid th,
.material-analysis-article-grid th {
    width: 128px;
    color: #1d4ed8;
    font-size: 12px;
}

.material-analysis-module-grid td,
.material-analysis-article-grid td {
    color: #24324a;
}

.material-decision-list {
    display: grid;
    gap: 10px;
}

.material-decision-list article {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) minmax(220px, .5fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #ffffff;
}

.material-decision-list article > span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #2563eb;
    color: #ffffff;
    font-weight: 900;
}

.material-decision-list strong {
    color: #0f172a;
}

.material-decision-list p,
.material-decision-list small {
    display: block;
    margin: 3px 0 0;
    color: #475569;
    line-height: 1.55;
}

.material-decision-list em {
    padding: 10px 12px;
    border-radius: 12px;
    background: #ecfdf5;
    color: #047857;
    font-style: normal;
    font-weight: 900;
    line-height: 1.5;
}

.material-decision-page {
    gap: 18px;
}

.material-decision-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 18px;
    align-items: center;
    padding: 20px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fbff, #eef6ff);
}

.material-decision-hero span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.material-decision-hero h3 {
    margin: 8px 0 8px;
    color: #0f172a;
    font-size: 26px;
}

.material-decision-hero p {
    margin: 0;
    color: #334155;
    font-size: 15px;
    line-height: 1.9;
}

.material-decision-hero > strong {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    border-radius: 22px;
    background: #2563eb;
    color: #ffffff;
    font-size: 30px;
    box-shadow: 0 14px 30px rgba(37, 99, 235, .22);
}

.material-analysis-pending {
    display: grid;
    gap: 18px;
    position: relative;
    overflow: hidden;
    border-color: #bfdbfe;
    background:
        linear-gradient(rgba(37, 99, 235, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, .04) 1px, transparent 1px),
        #ffffff;
    background-size: 28px 28px;
}

.material-analysis-pending::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0%, rgba(56, 189, 248, .12) 42%, transparent 62%);
    transform: translateX(-70%);
    animation: materialPendingSweep 3.2s linear infinite;
}

.material-analysis-pending.failed::before {
    background: linear-gradient(115deg, transparent 0%, rgba(249, 115, 22, .12) 42%, transparent 62%);
}

.material-pending-head {
    display: grid;
    gap: 8px;
    position: relative;
    z-index: 1;
}

.material-pending-title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
}

.material-pending-head span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.material-pending-title-row strong {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: #2563eb;
    font-size: 13px;
}

.pending-live-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 0 rgba(34, 197, 94, .5);
    animation: pendingLivePulse 1.4s ease-out infinite;
}

.material-analysis-pending.failed .pending-live-dot {
    background: #f97316;
    animation-name: pendingWarnPulse;
}

.material-pending-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: 24px;
}

.material-pending-head p {
    max-width: 920px;
    margin: 0;
    color: #334155;
    line-height: 1.8;
}

.material-pending-progress {
    position: relative;
    z-index: 1;
    height: 28px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7eb;
}

.material-pending-progress i {
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #38bdf8, #8b5cf6);
    transition: width .45s ease;
}

.material-pending-progress i::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .52), transparent);
    transform: translateX(-100%);
    animation: materialPendingBar 1.6s linear infinite;
}

.material-analysis-pending.failed .material-pending-progress i {
    background: linear-gradient(90deg, #ef4444, #f97316);
}

.material-pending-progress em {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    height: 100%;
    color: #0f172a;
    font-style: normal;
    font-size: 13px;
    font-weight: 900;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .62);
}

.material-pending-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    position: relative;
    z-index: 1;
}

.material-pending-steps article {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    transition: border-color .25s ease, background .25s ease, transform .25s ease;
}

.material-pending-steps strong {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #64748b;
    font-weight: 900;
}

.material-pending-steps b {
    display: block;
    color: #0f172a;
}

.material-pending-steps small {
    display: block;
    margin-top: 3px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 800;
}

.material-pending-steps p {
    margin: 4px 0 0;
    color: #475569;
    line-height: 1.65;
}

.material-pending-steps article.done strong {
    background: #dcfce7;
    color: #047857;
}

.material-pending-steps article.active {
    border-color: #93c5fd;
    background: #eff6ff;
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(37, 99, 235, .12);
}

.material-pending-steps article.active strong {
    background: #2563eb;
    color: #ffffff;
}

.material-pending-steps article.failed {
    border-color: #fed7aa;
    background: #fff7ed;
}

.material-pending-steps article.failed strong {
    background: #f97316;
    color: #ffffff;
}

.material-pending-error {
    position: relative;
    z-index: 1;
    padding: 12px 14px;
    border: 1px solid #fed7aa;
    border-radius: 14px;
    background: #fff7ed;
    color: #9a3412;
    font-weight: 800;
}

@keyframes materialPendingSweep {
    to {
        transform: translateX(70%);
    }
}

@keyframes materialPendingBar {
    to {
        transform: translateX(100%);
    }
}

@keyframes pendingLivePulse {
    0% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, .42);
    }
    70% {
        box-shadow: 0 0 0 8px rgba(34, 197, 94, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
    }
}

@keyframes pendingWarnPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(249, 115, 22, .42);
    }
    70% {
        box-shadow: 0 0 0 8px rgba(249, 115, 22, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(249, 115, 22, 0);
    }
}

.material-decision-timeline-page {
    gap: 18px;
    padding: 16px 18px 22px;
    border-color: #bfdbfe;
    background:
        linear-gradient(rgba(37, 99, 235, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, .045) 1px, transparent 1px),
        #ffffff;
    background-size: 28px 28px;
}

.material-decision-stage-head {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid #93c5fd;
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
}

.material-decision-stage-head > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, #8b5cf6, #2563eb);
    color: #ffffff;
    font-weight: 950;
}

.material-decision-stage-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: 22px;
}

.material-decision-stage-head p {
    margin: 5px 0 0;
    color: #475569;
    font-weight: 800;
}

.material-decision-timeline {
    position: relative;
    display: grid;
    gap: 12px;
    padding-left: 34px;
}

.material-decision-timeline::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 0;
    bottom: 0;
    width: 3px;
    border-radius: 999px;
    background: #bfdbfe;
}

.material-decision-timeline article {
    position: relative;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    padding: 15px 16px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: rgba(248, 251, 255, .96);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.material-decision-timeline article::before {
    content: "";
    position: absolute;
    left: -34px;
    top: 28px;
    width: 34px;
    border-top: 3px solid #bfdbfe;
}

.material-decision-index {
    display: grid;
    place-items: center;
    align-self: start;
    width: 44px;
    min-height: 44px;
    padding: 0 6px;
    border-radius: 14px;
    background: #2563eb;
    color: #ffffff;
    font-size: 13px;
    font-weight: 950;
}

.material-decision-main {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.material-decision-timeline h4 {
    margin: 0;
    color: #0f172a;
    font-size: 17px;
    line-height: 1.45;
}

.material-decision-timeline p {
    margin: 0;
    color: #334155;
    font-size: 14px;
    line-height: 1.8;
}

.material-decision-next-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.material-decision-evidence,
.material-decision-action {
    display: grid;
    gap: 8px;
    align-items: start;
    padding: 12px 14px;
    border-radius: 14px;
}

.material-decision-evidence {
    border: 1px solid #dbeafe;
    background: #ffffff;
}

.material-decision-action {
    border: 1px solid #fed7aa;
    background: linear-gradient(135deg, #fff7ed, #ffffff);
    box-shadow: inset 4px 0 0 #f97316;
}

.material-decision-evidence span,
.material-decision-action span {
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.material-decision-evidence span {
    background: #eff6ff;
    color: #2563eb;
}

.material-decision-action span {
    background: #ffedd5;
    color: #c2410c;
}

.material-decision-evidence p,
.material-decision-action p {
    font-size: 14px;
    line-height: 1.8;
}

.material-decision-timeline article.summary {
    grid-template-columns: 56px minmax(0, 1fr);
    background: linear-gradient(135deg, #f8fbff, #eef6ff);
    border-color: #bfdbfe;
}

.material-decision-timeline article.summary .material-decision-index {
    background: linear-gradient(135deg, #8b5cf6, #2563eb);
}

.material-report-page mark,
.material-report-summary mark,
.material-report-article mark,
.material-deep-reading mark,
.material-mindmap mark,
.material-methodology-head mark {
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-weight: inherit !important;
    box-shadow: none !important;
}

.material-highlight-list {
    display: grid;
    gap: 10px;
}

.material-highlight-list p {
    margin: 0;
    padding: 14px 16px;
    border-left: 4px solid #2563eb;
    border-radius: 12px;
    background: #eff6ff;
}

.material-highlight-list.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.material-insight-table-wrap {
    overflow: auto;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #ffffff;
}

.material-insight-table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
}

.material-insight-table th,
.material-insight-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #eaf0f8;
    color: #24324a;
    text-align: left;
    vertical-align: top;
    line-height: 1.6;
}

.material-insight-table th {
    background: #f6f9ff;
    color: #315074;
    font-size: 12px;
    font-weight: 900;
}

.material-insight-table tbody tr:hover {
    background: #f8fbff;
}

.competitor-dimension-cell {
    display: grid;
    gap: 8px;
    min-width: 210px;
}

.competitor-dimension-cell p {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 8px;
    margin: 0;
    color: #334155;
    line-height: 1.55;
}

.competitor-dimension-cell b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
}

.competitor-dimension-cell p:nth-child(2) b {
    background: #fff7ed;
    color: #c2410c;
}

.competitor-dimension-cell p:nth-child(3) b {
    background: #ecfdf5;
    color: #047857;
}

.intel-competitor-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(430px, 1fr));
    gap: 14px;
}

.intel-competitor-cards > p {
    margin: 0;
    color: #475569;
}

.intel-competitor-card {
    display: grid;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
    overflow: hidden;
    position: relative;
}

.intel-competitor-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #2563eb, #38bdf8);
}

.intel-competitor-card header {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.intel-competitor-card header > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
    font-weight: 900;
}

.intel-competitor-card header strong {
    color: #0f172a;
    font-size: 16px;
}

.intel-competitor-card header p,
.intel-positioning,
.intel-point-block li,
.intel-dimension-details p {
    margin: 0;
    color: #334155;
    line-height: 1.7;
}

.intel-competitor-card header a {
    color: #2563eb;
    font-weight: 900;
}

.intel-positioning {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 11px 12px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e0edff;
}

.intel-positioning b {
    display: inline-flex;
    justify-content: center;
    padding: 4px 7px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4f46e5;
    font-size: 12px;
}

.intel-competitor-layered {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.intel-point-block {
    display: grid;
    gap: 8px;
    align-items: start;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid #e5eefc;
    background: #fbfdff;
}

.intel-point-block b {
    display: inline-flex;
    width: fit-content;
    justify-content: center;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: 12px;
}

.intel-point-block ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.intel-point-block li {
    position: relative;
    padding-left: 14px;
    font-size: 13px;
}

.intel-point-block li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

.intel-point-block.good {
    background: #f8fbff;
}

.intel-point-block.good b {
    background: #eff6ff;
    color: #2563eb;
}

.intel-point-block.bad {
    background: #fffaf5;
}

.intel-point-block.bad b {
    background: #fff7ed;
    color: #c2410c;
}

.intel-point-block.moat {
    background: #f7fef9;
}

.intel-point-block.moat b {
    background: #ecfdf5;
    color: #047857;
}

.intel-dimension-details {
    border-top: 1px solid #e5eefc;
    padding-top: 11px;
}

.intel-dimension-details summary {
    color: #2563eb;
    font-weight: 900;
    cursor: pointer;
}

.intel-dimension-details > div {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.intel-dimension-details section {
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e5eefc;
}

.intel-dimension-details section {
    padding: 10px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e0edff;
}

.intel-dimension-details section strong {
    display: block;
    margin-bottom: 5px;
    color: #0f172a;
}

.importance-badge,
.risk-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.importance-badge.high,
.risk-badge.high,
.material-follow-list em.high {
    background: #fff1f2;
    color: #e11d48;
    border: 1px solid #fecdd3;
}

.importance-badge.medium,
.risk-badge.medium,
.material-follow-list em.medium {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}

.importance-badge.low,
.risk-badge.low,
.material-follow-list em.low {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

.material-follow-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.material-follow-list li {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 58px;
    gap: 12px;
    align-items: start;
    padding: 14px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #ffffff;
}

.material-follow-list li > span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #2563eb;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
}

.material-follow-list strong {
    color: #0f172a;
    line-height: 1.5;
}

.material-follow-list p {
    margin: 5px 0 0;
    color: #52647f;
    font-size: 13px;
}

.material-follow-list em {
    justify-self: end;
    padding: 5px 9px;
    border-radius: 999px;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.material-chapter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.material-chapter-card {
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.material-methodology-panel {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.material-doc-read-panel {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.material-doc-read-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #ffffff;
}

.material-doc-read-head span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
}

.material-doc-read-head h3 {
    margin: 8px 0 10px;
    color: #0f172a;
    font-size: 24px;
}

.material-doc-read-head p {
    margin: 0;
    color: #24324a;
    font-size: 15px;
    line-height: 1.85;
}

.material-doc-read-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.material-doc-read-card {
    overflow: hidden;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #ffffff;
}

.material-doc-read-card header {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #e5eefc;
    background: #f6f9ff;
}

.material-doc-read-card header > span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #eff6ff;
    color: #2563eb;
    font-weight: 900;
}

.material-doc-read-card strong {
    color: #0f172a;
}

.material-doc-read-card header p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.material-doc-read-list {
    display: grid;
    gap: 10px;
    padding: 14px 16px 16px;
}

.material-doc-read-list div {
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid #e5eefc;
    border-radius: 12px;
    background: #fbfdff;
}

.material-doc-read-list p {
    margin: 0;
    color: #334155;
    font-size: 14px;
    line-height: 1.75;
}

.material-methodology-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 16px;
    align-items: stretch;
}

.material-methodology-head span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.material-methodology-action {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    padding: 16px;
    border-radius: 16px;
    background: #0f172a;
    color: #ffffff;
}

.material-methodology-action strong {
    font-size: 44px;
    line-height: 1;
}

.material-methodology-action span {
    color: #bfdbfe;
    letter-spacing: 0;
    text-transform: none;
}

.material-chart-grid {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr) 240px;
    gap: 14px;
}

.material-chart-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #ffffff;
}

.material-chart-card header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    color: #0f172a;
}

.material-chart-card header span {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.material-chart-card svg {
    width: 100%;
    height: 260px;
}

.radar-grid {
    fill: rgba(37, 99, 235, 0.03);
    stroke: #bfdbfe;
    stroke-width: 1;
}

.radar-axis {
    stroke: #dbeafe;
    stroke-width: 1;
}

.radar-shape {
    fill: rgba(37, 99, 235, 0.24);
    stroke: #2563eb;
    stroke-width: 2;
}

.material-chart-card text {
    fill: #334155;
    font-size: 9px;
    font-weight: 800;
}

.material-bars {
    display: grid;
    gap: 11px;
}

.material-bars div {
    display: grid;
    grid-template-columns: 92px 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    color: #334155;
    font-size: 13px;
}

.material-bars strong {
    color: #0f172a;
}

.material-bars i {
    height: 12px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
}

.material-bars b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #22c55e);
}

.material-score-reasons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.material-score-reasons div {
    display: grid;
    grid-template-columns: minmax(86px, .35fr) 42px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 10px;
    border: 1px solid #e5eefc;
    border-radius: 12px;
    background: #f8fbff;
}

.material-score-reasons span {
    color: #1e293b;
    font-size: 12px;
    font-weight: 900;
}

.material-score-reasons strong {
    display: grid;
    place-items: center;
    min-height: 30px;
    border-radius: 10px;
    background: #eff6ff;
    color: #1d4ed8;
}

.material-score-reasons strong.high {
    background: #ecfdf5;
    color: #047857;
}

.material-score-reasons strong.medium {
    background: #fff7ed;
    color: #c2410c;
}

.material-score-reasons strong.low {
    background: #fef2f2;
    color: #dc2626;
}

.material-score-reasons p,
.material-score-reasons small {
    grid-column: 1 / -1;
    margin: 0;
    color: #475569;
    line-height: 1.55;
}

.material-score-reasons small {
    color: #1d4ed8;
    font-weight: 800;
}

.material-pie {
    width: 150px;
    height: 150px;
    margin: 14px auto;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: conic-gradient(#2563eb calc(var(--score) * 1%), #f97316 0);
    color: #0f172a;
    position: relative;
}

.material-pie::after {
    content: "";
    position: absolute;
    inset: 20px;
    border-radius: 50%;
    background: #ffffff;
}

.material-pie strong,
.material-pie span {
    position: relative;
    z-index: 1;
}

.material-pie strong {
    font-size: 34px;
}

.material-pie span {
    margin-top: 42px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.material-pie-legend {
    display: grid;
    gap: 8px;
    color: #334155;
    font-size: 13px;
}

.material-pie-legend i {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.material-pie-legend span + span i {
    background: #f97316;
}

.material-report-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.material-method-table {
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #ffffff;
}

.material-method-table h3 {
    margin: 0;
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.material-method-table table {
    width: 100%;
    border-collapse: collapse;
}

.material-method-table th,
.material-method-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #eef2f7;
    text-align: left;
    color: #334155;
    vertical-align: top;
}

.material-method-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
}

.material-method-table td span {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-weight: 800;
}

.material-mindmap {
    position: relative;
    display: grid;
    gap: 14px;
    overflow: auto;
    background:
        radial-gradient(circle at 50% 50%, rgba(37, 99, 235, 0.10), transparent 28%),
        linear-gradient(135deg, #f8fbff, #ffffff 48%, #eff6ff);
}

body.mindmap-page-fullscreen-open {
    overflow: hidden;
}

.material-mindmap.is-page-fullscreen {
    position: fixed;
    inset: 0;
    z-index: 9000;
    width: 100vw;
    height: 100vh;
    padding: 10px;
    border: 0;
    border-radius: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 8px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 50%, rgba(37, 99, 235, 0.10), transparent 28%),
        linear-gradient(135deg, #f8fbff, #ffffff 48%, #eff6ff);
}

.material-mindmap-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #0f172a;
    flex-wrap: wrap;
}

.material-mindmap-toolbar span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.material-mindmap.is-page-fullscreen .material-mindmap-toolbar {
    position: relative;
    z-index: 5;
}

.material-mindmap-toolbar small {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
}

.jsmind-canvas {
    position: relative;
    display: grid;
    grid-template-columns: minmax(430px, 1fr) 310px minmax(430px, 1fr);
    align-items: center;
    gap: 42px;
    min-width: 1320px;
    min-height: 720px;
    padding: 28px;
    border: 1px solid #bfdbfe;
    border-radius: 24px;
    background:
        linear-gradient(rgba(37, 99, 235, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, .045) 1px, transparent 1px),
        radial-gradient(circle at 50% 50%, rgba(37, 99, 235, .14), transparent 30%),
        #f8fbff;
    background-size: 24px 24px, 24px 24px, auto, auto;
    overflow: visible;
}

.jsmind-center-column {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    min-height: 640px;
}

.jsmind-center-column::before {
    content: "";
    position: absolute;
    left: -42px;
    right: -42px;
    top: 50%;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #38bdf8, #2563eb, #22c55e);
    opacity: .55;
}

.jsmind-root-node {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 10px;
    width: 310px;
    padding: 22px;
    border: 8px solid #dbeafe;
    border-radius: 28px;
    background: linear-gradient(135deg, #0f172a, #1d4ed8 62%, #0891b2);
    color: #ffffff;
    text-align: center;
    box-shadow: 0 24px 60px rgba(37, 99, 235, .24);
}

.jsmind-root-node span,
.jsmind-root-node em {
    color: #dbeafe;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.jsmind-root-node strong {
    color: #ffffff;
    font-size: 22px;
    line-height: 1.35;
}

.jsmind-root-node p {
    max-height: 220px;
    margin: 0;
    overflow: auto;
    color: #eff6ff;
    line-height: 1.75;
    text-align: left;
}

.jsmind-root-node mark {
    background: rgba(255, 255, 255, .2);
    color: #ffffff;
}

.jsmind-branch-column {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 16px;
    align-content: center;
}

.jsmind-branch-card {
    position: relative;
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08);
}

.jsmind-branch-card::before {
    content: "";
    position: absolute;
    top: 30px;
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: #60a5fa;
}

.jsmind-branch-card.left::before {
    right: -43px;
}

.jsmind-branch-card.right::before {
    left: -43px;
}

.jsmind-branch-card.tone-1::before,
.jsmind-branch-card.tone-1 .jsmind-node.level-1 b {
    background: #22c55e;
}

.jsmind-branch-card.tone-2::before,
.jsmind-branch-card.tone-2 .jsmind-node.level-1 b {
    background: #f59e0b;
}

.jsmind-branch-card.tone-3::before,
.jsmind-branch-card.tone-3 .jsmind-node.level-1 b {
    background: #8b5cf6;
}

.jsmind-branch-card.tone-4::before,
.jsmind-branch-card.tone-4 .jsmind-node.level-1 b {
    background: #14b8a6;
}

.jsmind-node {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 9px;
    align-items: start;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #ffffff;
}

.jsmind-node b {
    display: none;
}

.jsmind-node.level-1 {
    border-color: #93c5fd;
    background: linear-gradient(135deg, #eff6ff, #ffffff);
}

.jsmind-node.level-1 b {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: #2563eb;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
}

.jsmind-node.level-2 {
    background: #f8fbff;
}

.jsmind-node.level-3 {
    background: #f8fafc;
    border-color: #e2e8f0;
}

.jsmind-node.level-4 {
    background: #fff7ed;
    border-color: #fed7aa;
}

.jsmind-node strong {
    display: block;
    color: #0f172a;
    font-size: 14px;
    line-height: 1.45;
}

.jsmind-node p {
    margin: 4px 0 0;
    color: #334155;
    font-size: 13px;
    line-height: 1.7;
}

.jsmind-node mark {
    border-radius: 4px;
    background: #fef3c7;
    color: #92400e;
}

.jsmind-children {
    display: grid;
    gap: 9px;
    margin: 10px 0 0 16px;
    padding: 0 0 0 16px;
    border-left: 2px solid #bfdbfe;
    list-style: none;
}

.jsmind-children li {
    position: relative;
}

.jsmind-children li::before {
    content: "";
    position: absolute;
    left: -16px;
    top: 20px;
    width: 14px;
    border-top: 2px solid #bfdbfe;
}

.jsmind-children.level-3 {
    border-left-color: #cbd5e1;
}

.jsmind-children.level-3 li::before {
    border-top-color: #cbd5e1;
}

.jsmind-children.level-4 {
    border-left-color: #fdba74;
}

.jsmind-children.level-4 li::before {
    border-top-color: #fdba74;
}

.jsmind-mobile-list {
    display: none;
}

.xmind-graph-card {
    overflow: hidden;
}

.xmind-viewport {
    position: relative;
    height: clamp(520px, calc(100vh - 220px), 760px);
    overflow: auto;
    border: 1px solid #bfdbfe;
    border-radius: 24px;
    background:
        linear-gradient(rgba(37, 99, 235, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, .045) 1px, transparent 1px),
        radial-gradient(circle at 50% 50%, rgba(59, 130, 246, .14), transparent 31%),
        #fbfdff;
    background-size: 24px 24px, 24px 24px, auto, auto;
    cursor: grab;
    touch-action: none;
}

.material-mindmap.is-page-fullscreen .xmind-viewport {
    height: 100%;
    min-height: 0;
}

.xmind-viewport.is-panning {
    cursor: grabbing;
}

.xmind-viewport.is-panning .xmind-graph {
    pointer-events: none;
}

.xmind-stage {
    position: relative;
    min-width: 100%;
    min-height: 100%;
}

.xmind-graph {
    position: relative;
    min-width: 100%;
    transform: scale(1);
    transform-origin: 0 0;
    transition: transform .18s ease;
    user-select: none;
}

.xmind-graph-lines {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.xmind-graph-lines path {
    fill: none;
    stroke: #2563eb;
    stroke-width: 5;
    stroke-linecap: round;
    opacity: .92;
}

.xmind-graph-lines path.tone-1 {
    stroke: #16a34a;
}

.xmind-graph-lines path.tone-2 {
    stroke: #f97316;
}

.xmind-graph-lines path.tone-3 {
    stroke: #8b5cf6;
}

.xmind-graph-lines path.tone-4 {
    stroke: #0891b2;
}

.xmind-graph-lines path.tone-5 {
    stroke: #dc2626;
}

.xmind-node-card {
    position: absolute;
    z-index: 4;
    display: grid;
    gap: 8px;
    padding: 14px 16px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 16px 34px rgba(15, 23, 42, .08);
    cursor: grab;
    user-select: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.xmind-node-drag-handle {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(37, 99, 235, .24);
    border-radius: 8px;
    background:
        radial-gradient(circle, rgba(37, 99, 235, .62) 1.5px, transparent 1.7px) 4px 4px / 6px 6px,
        rgba(255, 255, 255, .86);
    cursor: move;
    opacity: 0;
    box-shadow: 0 8px 20px rgba(37, 99, 235, .12);
    transition: opacity .16s ease, transform .16s ease, border-color .16s ease;
}

.xmind-node-card:hover .xmind-node-drag-handle,
.xmind-node-card.is-dragging .xmind-node-drag-handle {
    opacity: 1;
}

.xmind-node-drag-handle:hover {
    border-color: rgba(37, 99, 235, .58);
    transform: scale(1.06);
}

.xmind-node-card:hover {
    border-color: #60a5fa;
    box-shadow: 0 20px 42px rgba(37, 99, 235, .15);
}

.xmind-node-card.is-dragging {
    z-index: 8;
    border-color: #2563eb;
    cursor: grabbing;
    transform: scale(1.015);
    box-shadow: 0 26px 58px rgba(37, 99, 235, .24);
}

.xmind-node-card.root {
    align-content: center;
    padding: 26px;
    border: 8px solid #dbeafe;
    border-radius: 30px;
    background: linear-gradient(135deg, #111827 0%, #1d4ed8 64%, #0e7490 100%);
    color: #ffffff;
    text-align: center;
    box-shadow: 0 28px 72px rgba(37, 99, 235, .26);
}

.xmind-node-card.root span,
.xmind-node-card.root em {
    color: #dbeafe;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.xmind-node-card.root strong {
    color: #ffffff;
    font-size: 22px;
    line-height: 1.35;
}

.xmind-node-card.root p {
    max-height: 150px;
    margin: 0;
    overflow: auto;
    color: #eff6ff;
    line-height: 1.7;
    text-align: left;
}

.xmind-node-card.root mark {
    background: rgba(255, 255, 255, .22);
    color: #ffffff;
}

.xmind-node-card header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
}

.xmind-node-card.side-left header {
    grid-template-columns: 1fr auto;
    text-align: right;
}

.xmind-node-card.side-left header span {
    order: 2;
}

.xmind-node-card.side-left header div {
    order: 1;
}

.xmind-node-card header span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: #2563eb;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.xmind-node-card.tone-1 header span {
    background: #16a34a;
}

.xmind-node-card.tone-2 header span {
    background: #f97316;
}

.xmind-node-card.tone-3 header span {
    background: #8b5cf6;
}

.xmind-node-card.tone-4 header span {
    background: #0891b2;
}

.xmind-node-card.tone-5 header span {
    background: #dc2626;
}

.xmind-node-card strong,
.xmind-mobile-branch strong,
.xmind-mobile-children b {
    color: #0f172a;
    font-weight: 900;
    line-height: 1.45;
}

.xmind-node-card header p,
.xmind-mobile-branch p,
.xmind-mobile-children p {
    margin: 5px 0 0;
    color: #334155;
    font-size: 13px;
    line-height: 1.7;
}

.xmind-node-card mark,
.xmind-mobile-list mark {
    border-radius: 4px;
    background: #fef3c7;
    color: #92400e;
}

.xmind-node-card.depth-3,
.xmind-node-card.depth-4 {
    background: rgba(248, 250, 252, .98);
}

.xmind-node-card.depth-4 {
    border-color: #fed7aa;
    background: #fff7ed;
}

.xmind-node-card.depth-3 header span,
.xmind-node-card.depth-4 header span {
    width: 30px;
    height: 30px;
    border-radius: 11px;
    font-size: 12px;
}

.xmind-node-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 2px;
}

.xmind-node-actions button {
    padding: 4px 8px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    color: #2563eb;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.xmind-node-card.root .xmind-node-actions button {
    border-color: rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .13);
    color: #ffffff;
}

.xmind-node-card[data-collapsed="true"] {
    border-style: dashed;
}

.xmind-node-detail-popover {
    position: absolute;
    z-index: 24;
    top: 82px;
    right: 24px;
    display: grid;
    gap: 12px;
    width: min(430px, calc(100% - 48px));
    max-height: min(420px, calc(100% - 110px));
    padding: 18px;
    overflow: auto;
    border: 1px solid #93c5fd;
    border-radius: 18px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 24px 64px rgba(15, 23, 42, .22);
}

.xmind-node-detail-popover header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.xmind-node-detail-popover header strong {
    color: #0f172a;
    font-size: 17px;
    line-height: 1.45;
}

.xmind-node-detail-popover header button {
    padding: 5px 9px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    cursor: pointer;
}

.xmind-node-detail-popover p {
    margin: 0;
    color: #334155;
    line-height: 1.8;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.xmind-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.xmind-toolbar-actions button {
    min-width: 38px;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #ffffff;
    color: #2563eb;
    font-weight: 900;
    cursor: pointer;
}

.xmind-toolbar-actions button:hover {
    background: #eff6ff;
}

.xmind-view-switch {
    display: inline-flex;
    gap: 3px;
    padding: 3px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
}

.xmind-view-switch button {
    border: 0;
    background: transparent;
    color: #64748b;
}

.xmind-view-switch button.active {
    background: #2563eb;
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(37, 99, 235, .2);
}

.material-mindmap:fullscreen {
    width: 100vw;
    height: 100vh;
    padding: 18px;
    border-radius: 0;
    background:
        radial-gradient(circle at 50% 50%, rgba(37, 99, 235, 0.10), transparent 28%),
        linear-gradient(135deg, #f8fbff, #ffffff 48%, #eff6ff);
}

.material-mindmap:fullscreen .xmind-viewport {
    height: calc(100vh - 104px);
}

.xmind-mobile-list {
    display: none;
}

.material-mindmap.view-list .xmind-viewport {
    display: none;
}

.material-mindmap.view-list .xmind-mobile-list {
    display: grid;
    gap: 12px;
}

.xmind-outline-root {
    display: grid;
    gap: 8px;
    padding: 19px 20px;
    border-radius: 17px;
    background: linear-gradient(135deg, #111827, #1d4ed8 68%, #0e7490);
    color: #ffffff;
}

.xmind-outline-root span {
    color: #bfdbfe;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.xmind-outline-root strong {
    color: #ffffff;
    font-size: 18px;
    line-height: 1.45;
}

.xmind-outline-root p {
    margin: 0;
    color: #eaf2ff;
    font-size: 13px;
    line-height: 1.75;
}

.xmind-mobile-branch {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #ffffff;
}

.xmind-mobile-branch header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
}

.xmind-mobile-branch header span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: #2563eb;
    color: #ffffff;
    font-weight: 900;
}

.xmind-mobile-children {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 22px;
    border-left: 2px solid #bfdbfe;
    list-style: none;
}

.xmind-mobile-children li {
    display: grid;
    gap: 4px;
    padding: 8px 0;
}

.xmind-mindmap,
.jsmind-mindmap {
    overflow: auto;
}

.xmind-map-grid {
    display: grid;
    grid-template-columns: minmax(360px, 1fr) minmax(260px, 320px) minmax(360px, 1fr);
    gap: 34px;
    align-items: center;
    min-width: 1180px;
    padding: 28px;
    border: 1px solid #bfdbfe;
    border-radius: 24px;
    background:
        linear-gradient(rgba(37, 99, 235, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, .045) 1px, transparent 1px),
        radial-gradient(circle at 50% 50%, rgba(37, 99, 235, .14), transparent 30%),
        #f8fbff;
    background-size: 24px 24px, 24px 24px, auto, auto;
}

.xmind-side {
    display: grid;
    gap: 16px;
}

.xmind-center {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 540px;
}

.xmind-center::before {
    content: "";
    position: absolute;
    left: -34px;
    right: -34px;
    top: 50%;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #38bdf8, #2563eb, #22c55e);
    opacity: .56;
}

.xmind-root-node {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 10px;
    width: 100%;
    padding: 22px;
    border: 8px solid #dbeafe;
    border-radius: 28px;
    background: linear-gradient(135deg, #0f172a, #1d4ed8 62%, #0891b2);
    color: #ffffff;
    text-align: center;
    box-shadow: 0 24px 60px rgba(37, 99, 235, .24);
}

.xmind-root-node span,
.xmind-root-node em {
    color: #dbeafe;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.xmind-root-node strong {
    color: #ffffff;
    font-size: 22px;
    line-height: 1.35;
}

.xmind-root-node p {
    margin: 0;
    max-height: 240px;
    overflow: auto;
    color: #eff6ff;
    line-height: 1.75;
    text-align: left;
}

.xmind-root-node mark {
    background: rgba(255, 255, 255, .2);
    color: #ffffff;
}

.xmind-branch-card {
    position: relative;
    display: grid;
    gap: 10px;
    padding: 13px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08);
}

.xmind-branch-card::before {
    content: "";
    position: absolute;
    top: 32px;
    width: 36px;
    height: 3px;
    border-radius: 999px;
    background: #60a5fa;
}

.xmind-branch-card.left::before {
    right: -36px;
}

.xmind-branch-card.right::before {
    left: -36px;
}

.xmind-branch-card header {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 10px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: linear-gradient(135deg, #eff6ff, #ffffff);
}

.xmind-branch-card header > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #2563eb;
    color: #ffffff;
    font-size: 11px;
    font-weight: 950;
}

.xmind-branch-card.tone-1::before,
.xmind-branch-card.tone-1 header > span {
    background: #22c55e;
}

.xmind-branch-card.tone-2::before,
.xmind-branch-card.tone-2 header > span {
    background: #f59e0b;
}

.xmind-branch-card.tone-3::before,
.xmind-branch-card.tone-3 header > span {
    background: #8b5cf6;
}

.xmind-branch-card.tone-4::before,
.xmind-branch-card.tone-4 header > span {
    background: #14b8a6;
}

.xmind-branch-card.tone-5::before,
.xmind-branch-card.tone-5 header > span {
    background: #f43f5e;
}

.xmind-branch-card strong,
.xmind-child-node b {
    color: #0f172a;
    line-height: 1.45;
}

.xmind-branch-card p,
.xmind-child-node p {
    margin: 4px 0 0;
    color: #334155;
    font-size: 13px;
    line-height: 1.65;
}

.xmind-child-tree {
    display: grid;
    gap: 8px;
    margin-left: 16px;
    padding-left: 14px;
    border-left: 2px solid #bfdbfe;
}

.xmind-child-node {
    position: relative;
    padding: 9px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.xmind-child-node::before {
    content: "";
    position: absolute;
    left: -16px;
    top: 20px;
    width: 14px;
    border-top: 2px solid #bfdbfe;
}

.xmind-child-tree.level-3 {
    border-left-color: #cbd5e1;
}

.xmind-child-tree.level-3 .xmind-child-node::before {
    border-top-color: #cbd5e1;
}

.xmind-child-tree.level-4 {
    border-left-color: #fdba74;
}

.xmind-child-tree.level-4 .xmind-child-node {
    background: #fff7ed;
    border-color: #fed7aa;
}

.xmind-child-tree.level-4 .xmind-child-node::before {
    border-top-color: #fdba74;
}

.material-mindmap-flow {
    display: grid;
    gap: 16px;
}

.material-mindmap-core {
    display: grid;
    gap: 8px;
    padding: 18px;
    border: 1px solid #bfdbfe;
    border-radius: 20px;
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(37, 99, 235, .18);
}

.material-mindmap-core span {
    color: #bfdbfe;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.material-mindmap-core strong {
    font-size: 24px;
}

.material-mindmap-core p {
    margin: 0;
    color: #eef6ff;
    line-height: 1.85;
}

.material-mindmap-core mark {
    background: rgba(255, 255, 255, .18);
    color: #ffffff;
}

.material-mindmap-node-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 14px;
}

.material-mindmap-node-grid article {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: rgba(255, 255, 255, .94);
}

.material-mindmap-node-grid h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #0f172a;
}

.material-mindmap-node-grid h3 span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 11px;
    font-weight: 900;
}

.material-mindmap-node-grid ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.material-mindmap-node-grid li {
    position: relative;
    padding-left: 16px;
    color: #334155;
    line-height: 1.75;
}

.material-mindmap-node-grid li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .78em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.material-mindmap-canvas {
    position: relative;
    min-width: 1120px;
    min-height: 720px;
    border: 1px solid #dbeafe;
    border-radius: 24px;
    background-image:
        linear-gradient(rgba(37, 99, 235, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, 0.05) 1px, transparent 1px);
    background-size: 28px 28px;
}

.material-mindmap-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.material-mindmap-lines path {
    fill: none;
    stroke: #60a5fa;
    stroke-width: 4;
    stroke-linecap: round;
    opacity: .78;
}

.material-mindmap-lines path.tone-1 {
    stroke: #22c55e;
}

.material-mindmap-lines path.tone-2 {
    stroke: #f97316;
}

.material-mindmap-root {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 230px;
    min-height: 150px;
    padding: 24px;
    border: 8px solid #e0f2fe;
    border-radius: 28px;
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
    color: #ffffff;
    text-align: center;
    box-shadow: 0 24px 60px rgba(37, 99, 235, .24);
    transform: translate(-50%, -50%);
}

.material-mindmap-root strong {
    font-size: 24px;
    line-height: 1.25;
}

.material-mindmap-root span {
    margin-top: 8px;
    color: #dbeafe;
    font-size: 12px;
    line-height: 1.5;
}

.material-mindmap-branches {
    position: absolute;
    inset: 0;
}

.material-mindmap-branches article {
    position: absolute;
    z-index: 2;
    width: 350px;
    min-height: 154px;
    padding: 16px 18px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.10);
}

.material-mindmap-branches article.left {
    left: 48px;
}

.material-mindmap-branches article.right {
    right: 48px;
}

.material-mindmap-branches article.pos-0 {
    top: 44px;
}

.material-mindmap-branches article.pos-1 {
    top: 276px;
}

.material-mindmap-branches article.pos-2 {
    top: 508px;
}

.material-mindmap-branches h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 10px;
    color: #0f172a;
}

.material-mindmap-branches h3 span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 11px;
    font-weight: 900;
}

.material-mindmap-branches ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    color: #334155;
    line-height: 1.55;
    list-style: none;
}

.material-mindmap-branches li {
    position: relative;
    padding-left: 14px;
    font-size: 13px;
}

.material-mindmap-branches li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563eb;
}

.material-intelligence-report {
    display: grid;
    gap: 16px;
    padding: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.material-insight-report {
    display: grid;
    gap: 16px;
    padding: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

.material-insight-head {
    padding: 20px 22px;
    border: 1px solid #c7d2fe;
    border-radius: 18px;
    background: linear-gradient(135deg, #eef2ff 0%, #f8fbff 55%, #ecfeff 100%);
}

.material-insight-head span {
    color: #4f46e5;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.material-insight-head h3 {
    margin: 6px 0 8px;
    color: #0f172a;
    font-size: 25px;
}

.material-insight-head p {
    max-width: 920px;
    margin: 0;
    color: #475569;
    line-height: 1.8;
}

.bp-deep-overview {
    margin: 22px 0;
    padding: 22px;
    border: 1px solid #cfe0ff;
    background: #f8fbff;
}

.bp-deep-overview > header span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.bp-deep-overview > header h3 {
    margin: 6px 0;
    font-size: 22px;
}

.bp-deep-overview > header p {
    margin: 0;
    color: #53637a;
}

.bp-deep-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.bp-deep-overview-grid article {
    min-width: 0;
    background: #fff;
    border: 1px solid #dbe7f8;
}

.bp-deep-overview-grid h4 {
    margin: 0;
    padding: 13px 16px;
    border-bottom: 1px solid #e5edf8;
    font-size: 15px;
}

.bp-deep-overview-grid table {
    width: 100%;
    border-collapse: collapse;
}

.bp-deep-overview-grid th,
.bp-deep-overview-grid td {
    padding: 13px 16px;
    border-bottom: 1px solid #edf2f8;
    text-align: left;
    vertical-align: top;
}

.bp-deep-overview-grid th {
    width: 31%;
    color: #10213c;
    font-size: 14px;
}

.bp-deep-overview-grid td p {
    margin: 0;
    color: #40516b;
    line-height: 1.7;
}

.bp-deep-overview-grid td div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.bp-deep-overview-grid td div span {
    padding: 4px 8px;
    border-radius: 4px;
    background: #eef5ff;
    color: #2359b8;
    font-size: 12px;
}

@media (max-width: 900px) {
    .bp-deep-overview-grid {
        grid-template-columns: 1fr;
    }
}

.material-intel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 16px 18px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(37, 99, 235, .12), transparent 32%),
        #ffffff;
    box-shadow: inset 4px 0 0 #2563eb;
}

.material-intel-head p,
.material-intel-head em {
    margin: 0;
    color: #475569;
    line-height: 1.75;
}

.material-intel-head > div:last-child {
    display: grid;
    justify-items: end;
    gap: 8px;
    min-width: 190px;
}

.material-intel-head strong {
    color: #0f172a;
}

.material-intel-head h3 {
    margin: 6px 0 8px;
    color: #0f172a;
    font-size: 23px;
    line-height: 1.35;
}

.material-intel-head .eyebrow,
.material-intel-head > div:first-child > span {
    color: #2563eb;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.material-intel-regions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.intel-region-panel {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}

.intel-region-panel > header {
    display: grid;
    gap: 7px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5eefc;
}

.intel-region-panel > header span {
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
}

.intel-region-panel > header p {
    margin: 0;
    color: #475569;
    line-height: 1.7;
}

.intel-region-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 9px;
}

.intel-region-list > p {
    margin: 0;
    color: #475569;
}

.intel-region-list section {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 14px;
    border: 1px solid #e0edff;
    border-radius: 14px;
    background: #ffffff;
}

.intel-region-list section > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #eef4ff;
}

.intel-region-list b {
    width: fit-content;
    max-width: 132px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
    line-height: 1.3;
    white-space: normal;
    flex: 0 0 auto;
    align-self: start;
}

.intel-region-list strong {
    color: #0f172a;
    font-size: 15px;
    line-height: 1.45;
    min-width: 0;
}

.intel-signal-summary {
    padding: 11px 12px;
    border: 1px solid #e5eefc;
    border-left: 4px solid #60a5fa;
    border-radius: 12px;
    background: #f8fbff;
    min-height: 0;
}

.intel-region-list p,
.intel-region-list dd {
    margin: 0;
    color: #334155;
    line-height: 1.75;
}

.intel-region-list dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.intel-region-list dl div {
    display: grid;
    gap: 4px;
    padding: 9px 10px;
    border-radius: 12px;
    background: #f8fbff;
    border: 1px solid #e5eefc;
    min-height: 0;
}

.intel-region-list dt {
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
}

.material-source-list {
    display: grid;
    gap: 10px;
}

.material-source-list a,
.material-source-list p {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #ffffff;
    color: #334155;
    text-decoration: none;
}

.material-source-list a strong {
    color: #1d4ed8;
}

.intake-pipeline article,
.intake-field-grid article,
.intake-claim-grid article,
.intake-signal-list article {
    border-color: #dbe7ff;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.intake-pipeline span {
    display: inline-flex;
    width: fit-content;
    padding: 3px 8px;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
}

.intake-pipeline strong,
.intake-field-grid strong,
.intake-claim-grid strong,
.intake-signal-list strong,
.intake-kv-list strong,
.intake-pill-block > strong,
.intake-question-list {
    color: #0f172a;
}

.intake-pipeline p,
.intake-field-grid p,
.intake-claim-grid p,
.intake-signal-list p,
.intake-empty p {
    color: #475569;
}

.intake-field-grid span,
.intake-kv-list span,
.intake-field-grid small,
.intake-claim-grid small {
    color: #64748b;
}

.intake-field-grid b,
.intake-claim-grid header span {
    color: #047857;
}

.ai-review-card {
    border-color: #bfdbfe;
    background: linear-gradient(135deg, #eff6ff, #ffffff);
    box-shadow: 0 18px 44px rgba(37, 99, 235, 0.08);
}

.ai-review-card span {
    color: #2563eb;
}

.ai-review-card strong {
    color: #0f172a;
}

.ai-review-card ul,
.ai-review-card p {
    color: #334155;
}

.role-badge,
.readonly-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #2563eb;
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
}

.role-badge.admin {
    border-color: #fcd34d;
    background: #fffbeb;
    color: #b45309;
}

.role-badge.user,
.readonly-badge {
    border-color: #bae6fd;
    background: #f0f9ff;
    color: #0369a1;
}

.report-plaza-hero,
.report-plaza-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
    gap: 24px;
    align-items: stretch;
    margin-bottom: 18px;
    padding: 28px;
    border: 1px solid #dbeafe;
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%);
    box-shadow: 0 20px 56px rgba(37, 99, 235, 0.08);
}

.report-plaza-hero h2,
.report-plaza-detail-hero h2 {
    margin: 8px 0 12px;
    color: #0f172a;
    font-size: clamp(28px, 4vw, 54px);
    line-height: 1.05;
    letter-spacing: 0;
}

.report-plaza-hero p,
.report-plaza-detail-hero p {
    max-width: 880px;
    margin: 0;
    color: #475569;
    font-size: 16px;
    line-height: 1.8;
}

.report-classification-rule {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: 18px;
}

.report-classification-rule span {
    padding: 6px 10px;
    border-radius: 999px;
    background: #2563eb;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
}

.report-classification-rule strong {
    color: #1e3a8a;
    font-size: 13px;
}

.report-classification-rule small {
    color: #64748b;
}

.report-plaza-stats,
.report-detail-side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.report-plaza-stats div,
.report-detail-side div {
    padding: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
}

.report-plaza-stats span,
.report-detail-side span {
    display: block;
    margin-bottom: 8px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.report-plaza-stats strong,
.report-detail-side strong {
    color: #0f172a;
    font-size: 24px;
}

.report-plaza-toolbar,
.report-plaza-detail-actions {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 18px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
}

.report-plaza-toolbar {
    align-items: stretch;
    flex-direction: column;
}

.report-plaza-search {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 220px 180px 120px auto auto;
    gap: 10px;
    width: 100%;
}

.report-plaza-search input,
.report-plaza-search select {
    min-height: 44px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: #f8fafc;
    color: #0f172a;
    font-weight: 700;
}

.report-plaza-result {
    flex: 0 0 auto;
    align-self: flex-end;
    color: #64748b;
    font-weight: 800;
}

.report-plaza-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.report-plaza-card,
.report-plaza-detail-card,
.report-plaza-section-card {
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.05);
}

.report-plaza-card {
    display: flex;
    flex-direction: column;
    min-height: 360px;
    padding: 20px;
}

.report-plaza-card-top,
.report-plaza-card-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.report-plaza-card-top {
    margin-bottom: 14px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.report-plaza-card h3 {
    min-height: 62px;
    margin: 0 0 12px;
    color: #0f172a;
    font-size: 21px;
    line-height: 1.45;
}

.report-plaza-card p {
    margin: 0 0 14px;
    color: #334155;
    line-height: 1.75;
}

.report-type,
.report-plaza-tags span,
.report-use-list span {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
}

.report-plaza-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 16px;
}

.report-plaza-findings {
    display: grid;
    gap: 10px;
    margin-top: auto;
}

.report-plaza-findings div {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
    border-radius: 12px;
    background: #f8fafc;
}

.report-plaza-findings strong {
    color: #2563eb;
    font-size: 12px;
}

.report-plaza-findings span,
.report-plaza-card-actions small {
    color: #475569;
    line-height: 1.6;
}

.report-plaza-card-actions {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}

.report-plaza-detail-actions {
    justify-content: flex-start;
}

.report-original-viewer {
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid #cbdcf3;
    border-radius: 20px;
    background: #e8eef7;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .08);
}

.report-original-viewer > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid #d6e0ed;
    background: #ffffff;
}

.report-original-viewer > header div {
    display: grid;
    gap: 3px;
}

.report-original-viewer > header span {
    color: #2563eb;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.report-original-viewer > header strong {
    color: #172033;
    font-size: 14px;
}

.report-original-viewer > header small {
    color: #708096;
}

.pdf-viewer iframe {
    display: block;
    width: 100%;
    height: min(78vh, 920px);
    min-height: 640px;
    border: 0;
    background: #525659;
}

.report-word-page {
    width: min(860px, calc(100% - 40px));
    min-height: 1060px;
    margin: 28px auto 42px;
    padding: 74px 86px 90px;
    border: 1px solid #d7dce3;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
}

.word-page-meta {
    padding-bottom: 16px;
    border-bottom: 2px solid #2563eb;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.report-word-page h1 {
    margin: 32px 0 40px;
    color: #111827;
    font-family: "Songti SC", "SimSun", serif;
    font-size: 34px;
    line-height: 1.45;
    text-align: center;
}

.report-word-page h2 {
    margin: 30px 0 12px;
    padding-left: 12px;
    border-left: 4px solid #2563eb;
    color: #1e293b;
    font-size: 20px;
}

.report-word-page p,
.report-word-page li {
    color: #334155;
    font-family: "Songti SC", "SimSun", serif;
    font-size: 16px;
    line-height: 2;
}

.report-word-page li + li {
    margin-top: 10px;
}

.report-slide-deck {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    padding: 28px;
}

.report-slide {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 20px;
    aspect-ratio: 16 / 9;
    min-height: 300px;
    padding: 34px;
    border-radius: 7px;
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    box-shadow: 0 15px 36px rgba(15, 23, 42, .15);
}

.report-slide.cover {
    background: linear-gradient(135deg, #0f172a, #1e3a8a);
}

.report-slide > b {
    color: #2563eb;
    font-size: 18px;
}

.report-slide.cover > b,
.report-slide.cover h3,
.report-slide.cover p {
    color: #ffffff;
}

.report-slide small {
    color: #3b82f6;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.report-slide h3 {
    margin: 12px 0 20px;
    color: #0f172a;
    font-size: clamp(22px, 2vw, 34px);
    line-height: 1.35;
}

.report-slide p {
    margin: 0;
    color: #475569;
    font-size: 15px;
    line-height: 1.85;
}

.report-plaza-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 18px;
    margin-bottom: 18px;
}

.report-plaza-detail-card {
    padding: 22px;
}

.report-plaza-detail-card h3,
.report-plaza-section-card h3 {
    margin: 8px 0 14px;
    color: #0f172a;
}

.report-finding-list {
    display: grid;
    gap: 12px;
}

.report-finding-list div {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
}

.report-finding-list b,
.report-plaza-section-card b {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #2563eb;
    color: #ffffff;
}

.report-finding-list span,
.report-plaza-section-card p {
    color: #334155;
    line-height: 1.85;
}

.report-use-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.report-plaza-section-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.report-plaza-section-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    padding: 20px;
}

.report-plaza-pagination {
    margin-top: 18px;
}

@media (max-width: 1100px) {
    .report-plaza-hero,
    .report-plaza-detail-hero,
    .report-plaza-detail-grid {
        grid-template-columns: 1fr;
    }

    .report-plaza-grid,
    .report-plaza-section-grid,
    .report-slide-deck {
        grid-template-columns: 1fr;
    }

    .report-plaza-search {
        grid-template-columns: 1fr;
    }

    .report-plaza-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .report-word-page {
        width: calc(100% - 24px);
        min-height: 0;
        margin: 12px;
        padding: 38px 30px 56px;
    }

    .report-slide {
        min-height: 0;
    }

    .pdf-viewer iframe {
        min-height: 520px;
    }

    .material-report-summary,
    .material-methodology-head,
    .material-doc-read-head,
    .material-doc-read-grid,
    .material-analysis-article-grid,
    .material-deep-reading-body,
    .material-chart-grid,
    .material-report-two-col,
    .material-intel-regions,
    .material-mindmap {
        grid-template-columns: 1fr;
    }

    .jsmind-canvas {
        display: none;
    }

    .jsmind-mobile-list {
        display: grid;
        gap: 12px;
    }

    .material-mindmap.view-graph .xmind-viewport {
        display: block;
        height: 520px;
    }

    .material-mindmap.view-graph .xmind-mobile-list {
        display: none;
    }

    .material-mindmap.view-list .xmind-mobile-list {
        display: grid;
        gap: 12px;
    }

    .jsmind-branch-card::before {
        display: none;
    }

    .xmind-map-grid {
        min-width: 0;
        grid-template-columns: 1fr;
    }

    .xmind-center {
        order: -1;
        min-height: auto;
    }

    .xmind-center::before,
    .xmind-branch-card::before {
        display: none;
    }

    .material-pending-steps {
        grid-template-columns: 1fr;
    }

    .material-decision-timeline {
        padding-left: 30px;
    }

    .material-decision-timeline article::before {
        left: -30px;
        width: 28px;
    }

    .material-decision-next-grid,
    .intel-competitor-layered,
    .intel-region-list dl {
        grid-template-columns: 1fr;
    }

    .intel-region-list section {
        grid-template-columns: 1fr;
    }

    .intel-region-list dl,
    .intel-region-list p {
        grid-column: 1;
    }
}

/* Enterprise document intelligence pages */
.enterprise-scene-hero,
.enterprise-automation-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    padding: 30px;
    border: 1px solid #dbe6f4;
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #f4f8ff 70%, #eef5ff 100%);
    box-shadow: 0 16px 40px rgba(30, 64, 175, 0.07);
}

.enterprise-scene-hero h2,
.enterprise-automation-hero h2 {
    margin: 6px 0 9px;
    color: #0f172a;
    font-size: clamp(26px, 2.4vw, 36px);
    letter-spacing: -0.04em;
}

.enterprise-scene-hero p,
.enterprise-automation-hero p {
    max-width: 760px;
    margin: 0;
    color: #5c6b80;
    font-size: 14px;
    line-height: 1.75;
}

.enterprise-scene-summary {
    display: grid;
    gap: 9px;
    min-width: 210px;
}

.enterprise-scene-summary > span {
    display: flex;
    gap: 7px;
    align-items: baseline;
    padding: 9px 12px;
    border: 1px solid #d7e4f5;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    color: #67768a;
    font-size: 12px;
}

.enterprise-scene-summary strong {
    color: #1d4ed8;
    font-size: 14px;
}

.enterprise-scene-list,
.enterprise-toolkit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}

.enterprise-scene-card {
    --scene-accent: #2563eb;
    --scene-soft: #eff6ff;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 16px;
    align-content: start;
    min-width: 0;
    padding: 22px;
    border: 1px solid #dfe7f2;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.enterprise-scene-card.violet { --scene-accent: #7c3aed; --scene-soft: #f5f3ff; }
.enterprise-scene-card.amber { --scene-accent: #d97706; --scene-soft: #fffbeb; }
.enterprise-scene-card.green { --scene-accent: #059669; --scene-soft: #ecfdf5; }

.enterprise-scene-number {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    background: var(--scene-soft);
    color: var(--scene-accent);
    font-size: 14px;
    font-weight: 900;
}

.enterprise-scene-body {
    min-width: 0;
}

.enterprise-scene-body > header {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
}

.enterprise-scene-body > header span {
    display: block;
    margin-bottom: 6px;
    color: var(--scene-accent);
    font-size: 11px;
    font-weight: 800;
}

.enterprise-scene-body h3 {
    margin: 0;
    color: #172033;
    font-size: 19px;
    letter-spacing: -0.02em;
}

.enterprise-scene-body > header em {
    padding: 5px 8px;
    border-radius: 999px;
    background: var(--scene-soft);
    color: var(--scene-accent);
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.enterprise-scene-body > p {
    min-height: 44px;
    margin: 13px 0 17px;
    color: #5f6e82;
    font-size: 13px;
    line-height: 1.65;
}

.enterprise-scene-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.enterprise-scene-columns > div {
    min-width: 0;
    padding: 13px;
    border-radius: 13px;
    background: #f8fafc;
}

.enterprise-scene-columns strong,
.enterprise-toolkit-section > strong,
.enterprise-toolkit-flow > strong {
    display: block;
    margin-bottom: 9px;
    color: #35445a;
    font-size: 12px;
}

.enterprise-scene-columns > div > div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.enterprise-scene-columns span {
    padding: 5px 7px;
    border: 1px solid #dce5ef;
    border-radius: 7px;
    background: #ffffff;
    color: #64748b;
    font-size: 10px;
    line-height: 1.35;
}

.enterprise-scene-card > .primary-btn {
    grid-column: 2;
    justify-self: start;
    margin-top: 1px;
}

.enterprise-count-badge {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 13px;
    border: 1px solid #cbdcf3;
    border-radius: 999px;
    background: #ffffff;
    color: #315b91;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.enterprise-toolkit-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px;
    border: 1px solid #dde7f2;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.enterprise-toolkit-card > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding-bottom: 17px;
    border-bottom: 1px solid #e8eef5;
}

.enterprise-toolkit-card > header > span {
    display: grid;
    place-items: center;
    min-width: 52px;
    height: 38px;
    padding: 0 8px;
    border-radius: 11px;
    background: #eaf2ff;
    color: #2563eb;
    font-size: 11px;
    font-weight: 900;
}

.enterprise-toolkit-card h3 {
    margin: 0 0 6px;
    color: #172033;
    font-size: 18px;
}

.enterprise-toolkit-card header p {
    margin: 0;
    color: #718096;
    font-size: 12px;
    line-height: 1.55;
}

.enterprise-toolkit-card header em {
    color: #94a3b8;
    font-size: 11px;
    font-style: normal;
}

.enterprise-toolkit-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 15px 0;
}

.enterprise-toolkit-metrics span {
    padding: 10px;
    border-radius: 11px;
    background: #f8fafc;
    color: #718096;
    font-size: 10px;
    text-align: center;
}

.enterprise-toolkit-metrics strong {
    display: block;
    margin-bottom: 2px;
    color: #1d4ed8;
    font-size: 16px;
}

.enterprise-toolkit-section {
    margin-top: 2px;
    padding: 13px 0;
    border-top: 1px solid #edf1f6;
}

.enterprise-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.enterprise-chip-row span {
    padding: 6px 8px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #56657a;
    font-size: 10px;
    line-height: 1.35;
}

.enterprise-chip-row.output span {
    background: #eff6ff;
    color: #315b91;
}

.enterprise-toolkit-section ol {
    display: grid;
    gap: 7px;
    margin: 0;
    padding-left: 20px;
    color: #65758b;
    font-size: 11px;
    line-height: 1.5;
}

.enterprise-toolkit-flow {
    margin-top: auto;
    padding: 14px 0 16px;
    border-top: 1px solid #edf1f6;
}

.enterprise-toolkit-flow > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.enterprise-toolkit-flow span {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    color: #66768b;
    font-size: 10px;
}

.enterprise-toolkit-flow i {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #eaf2ff;
    color: #2563eb;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
}

.enterprise-toolkit-card > .primary-btn {
    align-self: flex-start;
}

.enterprise-automation-flow {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #e0e8f2;
    border-radius: 18px;
    background: #ffffff;
}

.enterprise-automation-flow span {
    display: flex;
    gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 9px;
    border-radius: 11px;
    background: #f8fafc;
}

.enterprise-automation-flow i {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 23px;
    height: 23px;
    border-radius: 8px;
    background: #2563eb;
    color: #ffffff;
    font-size: 10px;
    font-style: normal;
}

.enterprise-automation-flow strong {
    color: #526178;
    font-size: 10px;
    line-height: 1.4;
}

.enterprise-rule-list {
    display: grid;
    gap: 10px;
}

.enterprise-rule-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 13px;
    align-items: center;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fbfdff;
}

.enterprise-rule-switch {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #16a34a;
    box-shadow: 0 0 0 5px #dcfce7;
}

.enterprise-rule-switch.off { background: #94a3b8; box-shadow: 0 0 0 5px #e2e8f0; }
.enterprise-rule-card h3 { margin: 0 0 5px; color: #27364a; font-size: 14px; }
.enterprise-rule-card p { margin: 0 0 5px; color: #637187; font-size: 12px; }
.enterprise-rule-card span { color: #8a98aa; font-size: 10px; }
.enterprise-rule-card > em { color: #718096; font-size: 11px; font-style: normal; }

.enterprise-run-table-wrap {
    overflow-x: auto;
}

.enterprise-run-table {
    width: 100%;
    min-width: 820px;
    border-collapse: collapse;
}

.enterprise-run-table th,
.enterprise-run-table td {
    padding: 11px 12px;
    border-bottom: 1px solid #e7edf4;
    color: #5f6f84;
    font-size: 11px;
    text-align: left;
}

.enterprise-run-table td strong,
.enterprise-run-table td small { display: block; }
.enterprise-run-table td strong { color: #334155; margin-bottom: 3px; }
.enterprise-run-table td small { color: #94a3b8; }
.enterprise-run-state { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #f1f5f9; color: #64748b; font-size: 10px; font-weight: 800; }
.enterprise-run-state.done { background: #ecfdf5; color: #047857; }
.enterprise-run-state.failed { background: #fef2f2; color: #dc2626; }

.enterprise-capability-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
    margin-top: 18px;
}

.enterprise-capability-strip > div {
    padding: 13px;
    border: 1px solid #dee7f2;
    border-radius: 13px;
    background: #ffffff;
}

.enterprise-capability-strip span,
.enterprise-capability-strip strong { display: block; }
.enterprise-capability-strip span { margin-bottom: 6px; color: #7a899c; font-size: 10px; }
.enterprise-capability-strip strong { color: #15803d; font-size: 12px; }

.enterprise-hierarchy-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, .8fr);
    gap: 18px;
    margin-top: 18px;
}

.enterprise-hierarchy-layout > .document-simple-section {
    min-width: 0;
    margin-top: 0;
}

.enterprise-department-list,
.enterprise-integration-panel > div {
    display: grid;
    gap: 10px;
}

.enterprise-department-card {
    padding: 15px;
    border: 1px solid #e1e8f1;
    border-radius: 14px;
    background: #fbfdff;
}

.enterprise-department-card > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
}

.enterprise-department-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #eaf2ff;
    color: #2563eb;
    font-weight: 900;
}

.enterprise-department-card h3 { margin: 0 0 4px; color: #27364a; font-size: 14px; }
.enterprise-department-card p { margin: 0; color: #8391a4; font-size: 10px; }
.enterprise-department-card header em { color: #64748b; font-size: 10px; font-style: normal; }
.enterprise-department-card > div { display: grid; gap: 7px; margin: 12px 0 0 49px; }
.enterprise-department-card > div > span { display: flex; gap: 8px; align-items: center; justify-content: space-between; padding: 9px 10px; border-radius: 9px; background: #ffffff; }
.enterprise-department-card > div strong { color: #475569; font-size: 11px; }
.enterprise-department-card > div small { color: #94a3b8; font-size: 9px; }
.enterprise-department-card > div .empty { justify-content: center; color: #94a3b8; font-size: 10px; }

.enterprise-integration-panel > div > button,
.enterprise-integration-placeholder {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    width: 100%;
    padding: 12px;
    border: 1px solid #e1e8f1;
    border-radius: 12px;
    background: #fbfdff;
    color: inherit;
    text-align: left;
}

.enterprise-integration-panel > div > button { cursor: pointer; }
.enterprise-integration-panel > div > button:hover { border-color: #9bbbe6; background: #f4f8ff; }
.enterprise-integration-panel > div > button > span,
.enterprise-integration-placeholder > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #eaf2ff; color: #2563eb; font-size: 10px; font-weight: 900; }
.enterprise-integration-panel strong { display: block; color: #334155; font-size: 12px; }
.enterprise-integration-panel small { color: #94a3b8; font-size: 9px; }
.enterprise-integration-panel em,
.enterprise-integration-placeholder em { color: #64748b; font-size: 9px; font-style: normal; }

.enterprise-budget-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.enterprise-budget-grid article {
    padding: 14px;
    border: 1px solid #e1e8f1;
    border-radius: 13px;
    background: #fbfdff;
}

.enterprise-budget-grid article header { display: flex; align-items: center; justify-content: space-between; }
.enterprise-budget-grid article header strong { color: #334155; font-size: 12px; }
.enterprise-budget-grid article header span { color: #15803d; font-size: 9px; }
.enterprise-budget-grid article header em { color: #dc2626; font-size: 9px; font-style: normal; }
.enterprise-budget-grid article p { margin: 10px 0; color: #65758b; font-size: 11px; }
.enterprise-budget-grid article > div { overflow: hidden; height: 5px; border-radius: 999px; background: #e2e8f0; }
.enterprise-budget-grid article > div i { display: block; height: 100%; border-radius: inherit; background: #2563eb; }
.enterprise-budget-grid article small { display: block; margin-top: 7px; color: #94a3b8; font-size: 9px; }

.enterprise-org-hero,
.enterprise-wecom-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 30px;
    border: 1px solid #dce7f4;
    border-radius: 22px;
    background: linear-gradient(135deg, #f8fbff, #f1f8ff 55%, #edfdf8);
}
.enterprise-org-hero h2,
.enterprise-wecom-hero h2 { margin: 6px 0 8px; color: #152033; font-size: 28px; }
.enterprise-org-hero p,
.enterprise-wecom-hero p { max-width: 760px; margin: 0; color: #65758a; line-height: 1.7; }
.enterprise-org-hero-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.enterprise-org-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.enterprise-org-summary article { display: grid; gap: 4px; padding: 17px 19px; border: 1px solid #e1e9f3; border-radius: 16px; background: #fff; }
.enterprise-org-summary span { color: #718096; font-size: 11px; }
.enterprise-org-summary strong { color: #172033; font-size: 23px; }
.enterprise-org-summary small { color: #93a0b2; font-size: 9px; }
.enterprise-org-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr); gap: 16px; margin-top: 16px; align-items: start; }
.enterprise-org-tree { display: grid; gap: 7px; }
.enterprise-org-node { margin: 0; }
.enterprise-org-node > summary,
.enterprise-org-leaf { display: grid; grid-template-columns: 20px 64px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 12px 13px; border: 1px solid #e2e9f2; border-radius: 13px; background: #fbfdff; list-style: none; }
.enterprise-org-node > summary { cursor: pointer; }
.enterprise-org-node > summary::-webkit-details-marker { display: none; }
.enterprise-org-node > summary:hover { border-color: #b8cdf8; background: #f7faff; }
.enterprise-org-node > summary:focus-visible { outline: 3px solid rgba(37, 99, 235, .2); outline-offset: 2px; }
.enterprise-org-toggle,
.enterprise-org-toggle-spacer { width: 20px; height: 20px; }
.enterprise-org-toggle { position: relative; border: 1px solid #d8e2ee; border-radius: 6px; background: #fff; }
.enterprise-org-toggle::before { content: ""; position: absolute; top: 5px; left: 5px; width: 6px; height: 6px; border-right: 2px solid #5f6f84; border-bottom: 2px solid #5f6f84; transform: rotate(-45deg); transform-origin: center; transition: transform .16s ease; }
.enterprise-org-node[open] > summary .enterprise-org-toggle::before { transform: rotate(45deg); }
.enterprise-org-node-copy { display: grid; gap: 3px; min-width: 0; }
.enterprise-org-node strong { color: #27364a; font-size: 12px; }
.enterprise-org-node small { overflow: hidden; color: #8694a7; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-org-node em { color: #718096; font-size: 9px; font-style: normal; white-space: nowrap; }
.enterprise-org-children { display: grid; gap: 7px; margin: 7px 0 0 22px; padding-left: 18px; border-left: 1px solid #dbe5f1; }
.enterprise-org-type { display: inline-flex; justify-content: center; padding: 5px 7px; border-radius: 8px; background: #eaf2ff; color: #2563eb; font-size: 9px; font-weight: 900; }
.enterprise-org-type.type-subsidiary { background: #ecfdf5; color: #047857; }
.enterprise-org-type.type-business_unit { background: #fff7ed; color: #c2410c; }
.enterprise-org-type.type-department { background: #f1f5f9; color: #475569; }
.enterprise-org-template-panel > div { display: grid; gap: 9px; }
.enterprise-org-template-panel > div > button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; padding: 13px; border: 1px solid #e1e9f3; border-radius: 13px; background: #fff; text-align: left; cursor: pointer; }
.enterprise-org-template-panel button strong { color: #334155; font-size: 12px; }
.enterprise-org-template-panel button small { grid-column: 1; color: #8a98aa; font-size: 9px; line-height: 1.5; }
.enterprise-org-template-panel button em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #2563eb; font-size: 9px; font-style: normal; }
.enterprise-account-panel { margin-top: 16px; }
.enterprise-account-table-wrap { overflow: auto; }
.enterprise-account-table { width: 100%; min-width: 1050px; border-collapse: collapse; }
.enterprise-account-table th { padding: 10px; border-bottom: 1px solid #dce5ef; color: #718096; font-size: 9px; text-align: left; }
.enterprise-account-table td { padding: 12px 10px; border-bottom: 1px solid #edf2f7; color: #475569; font-size: 10px; vertical-align: middle; }
.enterprise-account-table td > strong,
.enterprise-account-table td > small { display: block; }
.enterprise-account-table td > small { margin-top: 3px; color: #94a3b8; }
.enterprise-data-scope { display: inline-flex; padding: 4px 7px; border-radius: 999px; background: #eef6ff; color: #2563eb; font-size: 9px; font-weight: 800; }
.enterprise-permission-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.enterprise-permission-chips span { padding: 3px 6px; border-radius: 6px; background: #f1f5f9; color: #526175; font-size: 8px; }
.enterprise-wecom-bound { color: #047857; font-weight: 800; }
.enterprise-account-permission-options { display: flex; flex-wrap: wrap; gap: 12px; padding: 10px; border: 1px solid #dce5ef; border-radius: 10px; }
.enterprise-account-permission-options > label { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; min-width: 210px; gap: 7px; padding: 8px; border-radius: 8px; background: #f8fafc; }
.enterprise-account-permission-options > label span,
.enterprise-account-permission-options > label strong,
.enterprise-account-permission-options > label small { display: block; }
.enterprise-account-permission-options > label strong { color: #334155; font-size: 10px; }
.enterprise-account-permission-options > label small { margin-top: 2px; color: #8492a6; font-size: 8px; }
.enterprise-workspace-org-list { display: grid; gap: 8px; }
.enterprise-workspace-org-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 11px 13px; border: 1px solid #e3eaf2; border-radius: 12px; background: #fbfdff; }
.enterprise-workspace-org-list strong,
.enterprise-workspace-org-list small { display: block; }
.enterprise-workspace-org-list strong { color: #334155; font-size: 11px; }
.enterprise-workspace-org-list small { margin-top: 3px; color: #94a3b8; font-size: 9px; }
.enterprise-workspace-org-list article > span { color: #2563eb; font-size: 10px; font-weight: 800; }
.enterprise-wecom-hero aside { display: grid; min-width: 230px; gap: 5px; padding: 18px; border-radius: 16px; background: rgba(255,255,255,.85); }
.enterprise-wecom-hero aside strong { color: #15803d; font-size: 18px; }
.enterprise-wecom-hero.waiting aside strong { color: #b45309; }
.enterprise-wecom-hero aside span { color: #64748b; font-size: 11px; }
.enterprise-wecom-hero aside button { margin-top: 8px; }
.enterprise-wecom-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.enterprise-wecom-steps article { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 9px; padding: 15px; border: 1px solid #e1e9f3; border-radius: 15px; background: #fff; }
.enterprise-wecom-steps b { grid-row: 1 / span 2; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 9px; background: #eaf7ef; color: #16825c; }
.enterprise-wecom-steps strong { color: #334155; font-size: 11px; }
.enterprise-wecom-steps small { color: #8a98aa; font-size: 9px; line-height: 1.5; }
.enterprise-wecom-targets,
.enterprise-wecom-deliveries { display: grid; gap: 8px; }
.enterprise-wecom-targets article { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e2e9f2; border-radius: 12px; }
.enterprise-wecom-targets i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #eaf7ef; color: #15803d; font-style: normal; font-weight: 900; }
.enterprise-wecom-targets strong,
.enterprise-wecom-targets small { display: block; }
.enterprise-wecom-targets strong { color: #334155; font-size: 11px; }
.enterprise-wecom-targets small { margin-top: 3px; color: #94a3b8; font-size: 9px; }
.enterprise-wecom-push-card > strong { color: #15803d; font-size: 21px; }
.enterprise-wecom-push-card > p { color: #475569; font-weight: 800; }
.enterprise-wecom-push-card > small { display: block; margin-bottom: 14px; color: #8492a6; }
.enterprise-wecom-deliveries { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.enterprise-wecom-deliveries article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid #e5ebf3; border-radius: 11px; }
.enterprise-wecom-deliveries strong { color: #475569; font-size: 10px; }
.enterprise-wecom-deliveries small { color: #94a3b8; font-size: 9px; }

@media (max-width: 1100px) {
    .enterprise-org-summary,
    .enterprise-wecom-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .enterprise-org-layout { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .enterprise-org-hero,
    .enterprise-wecom-hero { align-items: flex-start; flex-direction: column; padding: 20px; }
    .enterprise-org-hero-actions { justify-content: flex-start; }
    .enterprise-org-summary,
    .enterprise-wecom-steps { grid-template-columns: 1fr; }
    .enterprise-org-node > summary,
    .enterprise-org-leaf { grid-template-columns: 20px 58px minmax(0, 1fr); }
    .enterprise-org-node em { grid-column: 3; }
    .enterprise-org-children { margin-left: 10px; padding-left: 9px; }
}

@media (max-width: 1100px) {
    .enterprise-capability-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .enterprise-automation-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .enterprise-scene-list,
    .enterprise-toolkit-grid,
    .enterprise-hierarchy-layout { grid-template-columns: 1fr; }
    .enterprise-budget-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .enterprise-scene-hero,
    .enterprise-automation-hero { grid-template-columns: 1fr; padding: 22px; }
    .enterprise-scene-summary { min-width: 0; }
    .enterprise-scene-card { grid-template-columns: 42px minmax(0, 1fr); padding: 17px; }
    .enterprise-scene-number { width: 40px; height: 40px; }
    .enterprise-scene-columns,
    .enterprise-toolkit-metrics,
    .enterprise-capability-strip,
    .enterprise-budget-grid,
    .enterprise-automation-flow { grid-template-columns: 1fr; }
    .enterprise-scene-card > .primary-btn { grid-column: 1 / -1; width: 100%; }
    .enterprise-toolkit-card > header { grid-template-columns: auto minmax(0, 1fr); }
    .enterprise-toolkit-card > header > em { display: none; }
    .enterprise-rule-card { grid-template-columns: auto minmax(0, 1fr); }
    .enterprise-rule-card > em,
    .enterprise-rule-card > button { grid-column: 2; justify-self: start; }
}

/* Enterprise public registry */
.enterprise-registry-page { display: grid; gap: 20px; color: #172033; }
.enterprise-registry-hero,
.enterprise-search-card,
.enterprise-managed-card,
.enterprise-agent-card,
.enterprise-run-card {
    border: 1px solid #dce7f4;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(30, 64, 175, .06);
}
.enterprise-registry-hero {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 30px;
    background: linear-gradient(135deg, #fff 0%, #f4f8ff 64%, #eefbf8 100%);
}
.enterprise-registry-eyebrow,
.enterprise-section-heading span { color: #2563eb; font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.enterprise-registry-hero h2 { margin: 7px 0 8px; font-size: 32px; letter-spacing: -.04em; }
.enterprise-registry-hero p { max-width: 760px; margin: 0; color: #607089; line-height: 1.7; }
.enterprise-provider-state { display: grid; align-content: center; min-width: 280px; padding: 20px; border-radius: 18px; }
.enterprise-provider-state.ready { border: 1px solid #a7e3cf; background: #effcf7; }
.enterprise-provider-state.waiting { border: 1px solid #f2d49a; background: #fff9ec; }
.enterprise-provider-state b { font-size: 15px; }
.enterprise-provider-state span { margin-top: 6px; color: #34445c; font-size: 12px; font-weight: 800; }
.enterprise-provider-state small { margin-top: 8px; color: #75849a; line-height: 1.5; }
.enterprise-registry-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.enterprise-registry-summary article { display: grid; gap: 5px; padding: 18px 20px; border: 1px solid #dfe8f3; border-radius: 18px; background: #fff; }
.enterprise-registry-summary span { color: #6b7c92; font-size: 12px; }
.enterprise-registry-summary strong { color: #152033; font-size: 24px; }
.enterprise-registry-summary small { color: #8a98ab; font-size: 11px; }
.enterprise-search-card,
.enterprise-managed-card,
.enterprise-agent-card,
.enterprise-run-card { padding: 22px; }
.enterprise-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.enterprise-section-heading h3 { margin: 5px 0 0; font-size: 20px; }
.enterprise-section-heading > small { color: #718197; }
.enterprise-universe-actions { display: flex; align-items: center; gap: 8px; }
.enterprise-universe-actions label { cursor: pointer; }
.enterprise-universe-actions label.disabled { cursor: not-allowed; opacity: .55; }
.enterprise-universe-actions input { display: none; }
.enterprise-search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.enterprise-search-form input { min-height: 44px; padding: 0 14px; border: 1px solid #cdd9e8; border-radius: 12px; outline: none; }
.enterprise-search-form input:focus { border-color: #5c91e7; box-shadow: 0 0 0 3px rgba(37, 99, 235, .10); }
.enterprise-search-empty,
.enterprise-managed-empty,
.enterprise-search-message { display: grid; gap: 5px; margin-top: 14px; padding: 20px; border: 1px dashed #ccd8e7; border-radius: 15px; color: #718197; text-align: center; }
.enterprise-search-message.waiting { border-style: solid; border-color: #f0d49c; background: #fffaef; color: #8a5b0b; }
.enterprise-search-message.error { border-style: solid; border-color: #ffc4cc; background: #fff4f5; color: #b4233b; }
.enterprise-search-results { display: grid; gap: 10px; margin-top: 14px; }
.enterprise-search-results > article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px; border: 1px solid #e0e8f2; border-radius: 16px; background: #fbfdff; }
.enterprise-company-mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: linear-gradient(145deg, #2563eb, #25a5a5); color: #fff; font-weight: 900; }
.enterprise-search-company > div { display: flex; align-items: center; gap: 8px; }
.enterprise-search-company h4 { margin: 0; font-size: 16px; }
.enterprise-search-company p { margin: 6px 0 9px; color: #6c7b90; font-size: 12px; }
.enterprise-search-company dl { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 0; }
.enterprise-search-company dl div { display: flex; gap: 6px; font-size: 11px; }
.enterprise-search-company dt { color: #8a98a9; }
.enterprise-search-company dd { margin: 0; color: #3b4a60; font-weight: 700; }
.enterprise-company-status { display: inline-flex; width: fit-content; padding: 4px 8px; border-radius: 999px; background: #eaf8f2; color: #14825f; font-size: 10px; font-weight: 800; }
.enterprise-compliance-note { margin: 13px 2px 0; color: #8391a4; font-size: 11px; }
.enterprise-directory-layout { display: grid; grid-template-columns: minmax(300px, 350px) minmax(0, 1fr); gap: 18px; align-items: start; }
.enterprise-company-sidebar { overflow: hidden; border: 1px solid #dce6f2; border-radius: 18px; background: #f8fbff; }
.enterprise-company-filter-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; padding: 12px; border-bottom: 1px solid #e1e9f3; background: #fff; }
.enterprise-company-filter-form input { min-width: 0; height: 36px; padding: 0 10px; border: 1px solid #cfdbea; border-radius: 10px; outline: none; }
.enterprise-company-filter-form input:focus { border-color: #5b8edc; box-shadow: 0 0 0 3px rgba(37, 99, 235, .08); }
.enterprise-company-list-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 13px; color: #34445c; }
.enterprise-company-list-meta b { font-size: 13px; }
.enterprise-company-list-meta span { color: #7e8da1; font-size: 10px; }
.enterprise-company-list { display: grid; border-top: 1px solid #e5ecf4; background: #fff; }
.enterprise-company-select { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 58px; padding: 9px 12px; border: 0; border-bottom: 1px solid #edf2f7; background: #fff; color: inherit; text-align: left; cursor: pointer; }
.enterprise-company-select:hover { background: #f4f8ff; }
.enterprise-company-select.active { background: linear-gradient(90deg, #edf4ff, #f5fbff); box-shadow: inset 3px 0 #2563eb; }
.enterprise-company-list-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(145deg, #dbe9ff, #dff6ef); color: #2767b5; font-size: 13px; font-weight: 900; }
.enterprise-company-select > span:nth-child(2) { min-width: 0; }
.enterprise-company-select b { display: block; overflow: hidden; color: #26354b; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-company-select small { display: block; overflow: hidden; margin-top: 4px; color: #8290a3; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-company-select i { color: #96a4b6; font-size: 20px; font-style: normal; }
.enterprise-company-pagination { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 3px; overflow-x: auto; padding: 13px 8px; background: #f8fbff; }
.enterprise-company-pagination button { flex: 0 0 auto; min-width: 25px; height: 27px; padding: 0 5px; border: 1px solid #d3deeb; border-radius: 8px; background: #fff; color: #53647b; font-size: 10px; cursor: pointer; }
.enterprise-company-pagination button.previous,
.enterprise-company-pagination button.next { padding: 0 6px; }
.enterprise-company-pagination button.active { border-color: #2563eb; background: #2563eb; color: #fff; font-weight: 900; }
.enterprise-company-pagination button:disabled { cursor: not-allowed; opacity: .4; }
.enterprise-company-pagination span { color: #8997a8; font-size: 11px; }
.enterprise-company-profile { min-height: 740px; border: 1px solid #dce6f2; border-radius: 18px; background: #fff; container-type: inline-size; }
.enterprise-profile-placeholder { display: grid; place-items: center; align-content: center; min-height: 740px; padding: 40px; color: #7a899d; text-align: center; }
.enterprise-profile-placeholder b { margin-top: 14px; color: #34445b; font-size: 17px; }
.enterprise-profile-placeholder span { max-width: 460px; margin-top: 7px; line-height: 1.6; }
.enterprise-profile-placeholder-icon { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 22px; background: linear-gradient(145deg, #e3edff, #e2f8f1); color: #3471bf; font-size: 26px; font-weight: 900; }
.enterprise-profile-placeholder.loading .enterprise-profile-placeholder-icon { animation: enterprise-profile-pulse 1.2s ease-in-out infinite; }
@keyframes enterprise-profile-pulse { 50% { opacity: .45; transform: scale(.95); } }
.enterprise-profile-content { display: grid; }
.enterprise-profile-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px; border-bottom: 1px solid #e4ebf3; background: linear-gradient(135deg, #f8fbff, #f3fbf8); border-radius: 18px 18px 0 0; }
.enterprise-profile-brand { display: flex; align-items: center; gap: 13px; min-width: 0; }
.enterprise-profile-brand > div { min-width: 0; }
.enterprise-profile-brand > div > span { color: #3972bc; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.enterprise-profile-brand h3 { overflow: hidden; margin: 4px 0 5px; color: #1d2b40; font-size: 21px; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-profile-brand p { margin: 0; color: #718097; font-size: 11px; }
.enterprise-profile-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.enterprise-profile-section { padding: 20px 22px; border-bottom: 1px solid #e8eef5; }
.enterprise-profile-section:last-child { border-bottom: 0; }
.enterprise-profile-section-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.enterprise-profile-section-title span { color: #3972bc; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.enterprise-profile-section-title h4 { margin: 3px 0 0; color: #26354b; font-size: 17px; }
.enterprise-profile-section-title small { color: #8391a4; font-size: 10px; }
.enterprise-basic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid #e2eaf3; border-radius: 14px; overflow: hidden; }
.enterprise-basic-grid > div { display: grid; grid-template-columns: 116px minmax(0, 1fr); min-height: 46px; border-right: 1px solid #e7edf4; border-bottom: 1px solid #e7edf4; }
.enterprise-basic-grid > div:nth-child(even) { border-right: 0; }
.enterprise-basic-grid > div.wide { grid-column: 1 / -1; border-right: 0; }
.enterprise-basic-grid dt,
.enterprise-basic-grid dd { margin: 0; padding: 12px; line-height: 1.55; }
.enterprise-basic-grid dt { background: #f7f9fc; color: #758399; font-size: 10px; font-weight: 700; }
.enterprise-basic-grid dd { color: #34435a; font-size: 11px; white-space: pre-wrap; }
.enterprise-intelligence-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.enterprise-intelligence-summary article { display: grid; gap: 5px; padding: 13px; border: 1px solid #dee7f1; border-radius: 13px; background: #fbfdff; }
.enterprise-intelligence-summary article.industry { background: #f5f9ff; }
.enterprise-intelligence-summary article.negative,
.enterprise-intelligence-summary article.risk.high { border-color: #f0bdc5; background: #fff6f7; }
.enterprise-intelligence-summary article.risk.medium { border-color: #ecd7a7; background: #fffbf1; }
.enterprise-intelligence-summary article.risk.low { border-color: #bce2d2; background: #f4fcf8; }
.enterprise-intelligence-summary article span { color: #7b899d; font-size: 10px; }
.enterprise-intelligence-summary article strong { color: #29384e; font-size: 17px; }
.enterprise-intelligence-summary article small { color: #8794a6; font-size: 9px; line-height: 1.45; }
.enterprise-intelligence-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 11px; }
.enterprise-intelligence-panel { overflow: hidden; min-height: 170px; border: 1px solid #e0e8f2; border-radius: 14px; background: #fbfdff; }
.enterprise-intelligence-panel > header { display: flex; align-items: center; justify-content: space-between; padding: 11px 12px; border-bottom: 1px solid #e7edf4; background: #f7f9fc; }
.enterprise-intelligence-panel h5 { margin: 0; color: #34445a; font-size: 12px; }
.enterprise-intelligence-panel header span { color: #8593a6; font-size: 9px; }
.enterprise-intelligence-panel > div { display: grid; max-height: 290px; overflow-y: auto; }
.enterprise-intelligence-panel section { padding: 11px 12px; border-bottom: 1px solid #edf2f6; }
.enterprise-intelligence-panel section b { display: block; color: #344258; font-size: 11px; line-height: 1.45; }
.enterprise-intelligence-panel section small { display: block; margin-top: 4px; color: #8795a7; font-size: 9px; }
.enterprise-intelligence-panel section p { margin: 6px 0 0; color: #64748a; font-size: 10px; line-height: 1.55; }
.enterprise-intelligence-empty { display: grid; place-items: center; min-height: 118px; margin: 0; padding: 20px; color: #8a97a8; font-size: 10px; text-align: center; }
.enterprise-profile-sources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.enterprise-profile-sources article { display: grid; gap: 4px; padding: 11px; border: 1px solid #e2eaf2; border-radius: 12px; background: #fafcff; }
.enterprise-profile-sources b { color: #394960; font-size: 11px; }
.enterprise-profile-sources span,
.enterprise-profile-sources small { color: #8391a4; font-size: 9px; }
.enterprise-profile-no-source { padding: 18px; border: 1px dashed #d3deea; border-radius: 13px; color: #8190a3; font-size: 10px; text-align: center; }
.enterprise-profile-disclaimer { margin: 11px 0 0; color: #8693a4; font-size: 9px; line-height: 1.5; }
.enterprise-dossier-header { padding: 24px 24px 20px; background: linear-gradient(120deg, #f5f9ff 0%, #fff 56%, #f1fbf7 100%); }
.enterprise-dossier-header .enterprise-company-mark { width: 52px; height: 52px; border-radius: 14px; font-size: 18px; box-shadow: 0 8px 20px rgba(37, 99, 235, .16); }
.enterprise-dossier-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.enterprise-dossier-badges i { padding: 3px 7px; border-radius: 4px; background: #eef3f8; color: #63748a; font-size: 9px; font-style: normal; font-weight: 800; }
.enterprise-dossier-badges i.status,
.enterprise-dossier-badges i.verified { background: #e8f7f0; color: #147b5a; }
.enterprise-dossier-badges i.waiting { background: #fff4d9; color: #93600c; }
.enterprise-dossier-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid #e3eaf2; background: #fff; }
.enterprise-dossier-metrics article { position: relative; display: grid; gap: 4px; min-width: 0; padding: 16px 18px; border-right: 1px solid #e6ecf3; }
.enterprise-dossier-metrics article:last-child { border-right: 0; }
.enterprise-dossier-metrics article::before { position: absolute; top: 16px; left: 8px; width: 3px; height: 26px; border-radius: 3px; background: #4f84cf; content: ""; }
.enterprise-dossier-metrics article.high::before { background: #d63b54; }
.enterprise-dossier-metrics article.medium::before { background: #d99424; }
.enterprise-dossier-metrics article.low::before { background: #20a275; }
.enterprise-dossier-metrics span { overflow: hidden; color: #7b899c; font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-dossier-metrics strong { overflow: hidden; color: #203148; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-dossier-metrics small { overflow: hidden; color: #929eac; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-dossier-nav { position: sticky; z-index: 6; top: 0; display: flex; gap: 2px; overflow-x: auto; padding: 8px 12px; border-bottom: 1px solid #dfe7f0; background: rgba(255, 255, 255, .96); box-shadow: 0 5px 16px rgba(34, 56, 88, .05); backdrop-filter: blur(10px); scrollbar-width: none; }
.enterprise-dossier-nav::-webkit-scrollbar { display: none; }
.enterprise-dossier-nav a { flex: 0 0 auto; padding: 7px 10px; border-radius: 5px; color: #596a80; font-size: 10px; font-weight: 800; text-decoration: none; }
.enterprise-dossier-nav a:hover { background: #edf4ff; color: #2563b8; }
.enterprise-dossier-section { scroll-margin-top: 58px; padding: 22px 24px; }
.enterprise-dossier-section .enterprise-profile-section-title { align-items: center; padding-bottom: 10px; border-bottom: 1px solid #e8edf3; }
.enterprise-dossier-section .enterprise-profile-section-title h4 { font-size: 16px; }
.enterprise-dossier-section .enterprise-profile-section-title small { max-width: 56%; line-height: 1.5; text-align: right; }
.enterprise-dossier-section .enterprise-basic-grid { border-radius: 7px; }
.enterprise-dossier-section .enterprise-basic-grid > div { grid-template-columns: 120px minmax(0, 1fr); min-height: 42px; }
.enterprise-dossier-section .enterprise-basic-grid dt,
.enterprise-dossier-section .enterprise-basic-grid dd { padding: 10px 12px; }
.enterprise-basic-grid dd a { color: #2868bf; font-weight: 700; text-decoration: none; }
.enterprise-listing-facts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.enterprise-listing-facts div { display: grid; gap: 5px; padding: 11px 12px; border: 1px solid #e0e7ef; border-radius: 7px; background: #f9fbfd; }
.enterprise-listing-facts span { color: #7f8da0; font-size: 9px; }
.enterprise-listing-facts b { overflow: hidden; color: #37475c; font-size: 10px; line-height: 1.5; text-overflow: ellipsis; }
.enterprise-dossier-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.enterprise-dossier-triple { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 10px; align-items: start; }
.enterprise-dossier-panel,
.enterprise-record-panel { min-width: 0; overflow: hidden; border: 1px solid #dfe7f0; border-radius: 7px; background: #fff; }
.enterprise-dossier-panel > header,
.enterprise-record-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 9px 12px; border-bottom: 1px solid #e6ecf2; background: #f7f9fc; }
.enterprise-dossier-panel > header > div,
.enterprise-record-panel > header > div { display: grid; gap: 3px; }
.enterprise-dossier-panel > header b,
.enterprise-record-panel > header b { color: #314157; font-size: 11px; }
.enterprise-dossier-panel > header small,
.enterprise-record-panel > header small { color: #8a97a8; font-size: 8px; }
.enterprise-dossier-panel > header > span,
.enterprise-record-panel > header > span { display: grid; place-items: center; min-width: 25px; height: 25px; padding: 0 6px; border-radius: 999px; background: #eaf2fd; color: #2c67b5; font-size: 9px; font-weight: 900; }
.enterprise-dossier-table-wrap { max-width: 100%; overflow: auto; }
.enterprise-dossier-table { width: 100%; min-width: 600px; border-collapse: collapse; }
.enterprise-dossier-table th { padding: 8px 9px; border-bottom: 1px solid #e2e9f1; background: #fbfcfe; color: #748399; font-size: 8px; text-align: left; white-space: nowrap; }
.enterprise-dossier-table td { padding: 9px; border-bottom: 1px solid #edf1f5; color: #586a80; font-size: 9px; vertical-align: top; }
.enterprise-dossier-table tr:last-child td { border-bottom: 0; }
.enterprise-dossier-table td strong { color: #344359; font-size: 9px; }
.enterprise-personnel-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 376px; overflow-y: auto; }
.enterprise-personnel-list article { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: center; min-height: 67px; padding: 9px 10px; border-right: 1px solid #edf1f5; border-bottom: 1px solid #edf1f5; }
.enterprise-personnel-list article:nth-child(even) { border-right: 0; }
.enterprise-person-avatar { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: #e8f0fb; color: #3169ae; font-size: 11px; font-weight: 900; }
.enterprise-personnel-list article > div:last-child { display: grid; min-width: 0; gap: 2px; }
.enterprise-personnel-list b { color: #334258; font-size: 10px; }
.enterprise-personnel-list span { overflow: hidden; color: #53657a; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-personnel-list small { overflow: hidden; color: #919cab; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-financial-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.enterprise-financial-grid article { display: grid; gap: 6px; padding: 13px 14px; border: 1px solid #dfe7f0; border-radius: 7px; background: linear-gradient(150deg, #fbfdff, #f6f9fd); }
.enterprise-financial-grid span { color: #6f7f94; font-size: 9px; }
.enterprise-financial-grid strong { color: #25364c; font-size: 18px; font-variant-numeric: tabular-nums; }
.enterprise-financial-grid strong i { margin-left: 3px; color: #8190a2; font-size: 8px; font-style: normal; font-weight: 500; }
.enterprise-financial-grid small { color: #98a3b1; font-size: 8px; }
.enterprise-risk-counts,
.enterprise-ip-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
.enterprise-risk-counts article,
.enterprise-ip-counts article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; align-items: center; padding: 10px 12px; border: 1px solid #e0e7ef; border-radius: 6px; background: #fafcfe; }
.enterprise-risk-counts article span,
.enterprise-ip-counts article span { color: #65768b; font-size: 9px; }
.enterprise-risk-counts article strong,
.enterprise-ip-counts article strong { color: #2d3d53; font-size: 16px; }
.enterprise-risk-counts article small { grid-column: 1 / -1; color: #939dab; font-size: 8px; }
.enterprise-risk-section { background: #fffdfd; }
.enterprise-risk-panels .enterprise-record-panel:first-child { border-color: #eed6da; }
.enterprise-record-list { display: grid; max-height: 420px; overflow-y: auto; }
.enterprise-record-list section { padding: 11px 12px; border-bottom: 1px solid #edf1f5; }
.enterprise-record-list section:last-child { border-bottom: 0; }
.enterprise-record-list section.high,
.enterprise-record-list section.risk { background: #fff7f8; }
.enterprise-record-list section.medium { background: #fffbf2; }
.enterprise-record-list section > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.enterprise-record-list section b { color: #334258; font-size: 10px; line-height: 1.5; }
.enterprise-record-list section i { flex: 0 0 auto; padding: 2px 5px; border-radius: 3px; background: #fde6e9; color: #b72d45; font-size: 7px; font-style: normal; font-weight: 900; }
.enterprise-record-list section small { display: block; margin-top: 4px; color: #8996a7; font-size: 8px; }
.enterprise-record-list section p { margin: 6px 0 0; color: #5e6f84; font-size: 9px; line-height: 1.55; }
.enterprise-record-list section footer { margin-top: 6px; }
.enterprise-record-list section a,
.enterprise-profile-sources a { color: #2868bd; font-size: 8px; font-weight: 700; text-decoration: none; }
.enterprise-dossier-empty { display: grid; place-items: center; align-content: center; min-height: 112px; padding: 18px; background: #fbfcfe; text-align: center; }
.enterprise-dossier-empty b { color: #728197; font-size: 10px; }
.enterprise-dossier-empty span { max-width: 360px; margin-top: 5px; color: #98a3b1; font-size: 8px; line-height: 1.5; }
.enterprise-announcement-list { display: grid; border: 1px solid #dfe7f0; border-radius: 7px; overflow: hidden; }
.enterprise-announcement-list article { display: grid; grid-template-columns: 80px 72px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 54px; padding: 9px 12px; border-bottom: 1px solid #e9eef4; }
.enterprise-announcement-list article:last-child { border-bottom: 0; }
.enterprise-announcement-list article:hover { background: #f8fbff; }
.enterprise-announcement-list article.high,
.enterprise-announcement-list article.medium { background: #fff9f8; }
.enterprise-announcement-list time { color: #718197; font-size: 9px; }
.enterprise-announcement-list > article > span { width: fit-content; padding: 3px 6px; border-radius: 3px; background: #eaf2fd; color: #3169b3; font-size: 8px; font-weight: 800; }
.enterprise-announcement-list article.high > span,
.enterprise-announcement-list article.medium > span { background: #fde8eb; color: #b82f47; }
.enterprise-announcement-list article > div { display: grid; min-width: 0; gap: 3px; }
.enterprise-announcement-list b { overflow: hidden; color: #314056; font-size: 10px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.enterprise-announcement-list small { color: #929dab; font-size: 8px; }
.enterprise-announcement-list a { color: #2869be; font-size: 9px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.enterprise-profile-sources article > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.enterprise-profile-sources article i { padding: 2px 5px; border-radius: 3px; background: #e7f6ef; color: #147b5b; font-size: 7px; font-style: normal; font-weight: 900; }
.enterprise-profile-sources article.waiting i { background: #fff0d3; color: #96610b; }
.enterprise-profile-sources article.waiting { border-color: #eddbb5; background: #fffcf5; }

@container (max-width: 900px) {
    .enterprise-dossier-split,
    .enterprise-dossier-triple { grid-template-columns: 1fr; }
    .enterprise-listing-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .enterprise-financial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .enterprise-dossier-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .enterprise-dossier-metrics article:nth-child(3) { border-right: 0; }
    .enterprise-dossier-metrics article:nth-child(n+4) { border-top: 1px solid #e6ecf3; }
}

@container (max-width: 610px) {
    .enterprise-personnel-list { grid-template-columns: 1fr; }
    .enterprise-personnel-list article { border-right: 0; }
}
.enterprise-company-table-wrap { overflow-x: auto; }
.enterprise-company-table { width: 100%; border-collapse: collapse; min-width: 1040px; }
.enterprise-company-table th { padding: 11px 10px; border-bottom: 1px solid #dce5f0; color: #738297; font-size: 11px; text-align: left; }
.enterprise-company-table td { padding: 14px 10px; border-bottom: 1px solid #edf1f6; vertical-align: top; }
.enterprise-company-table td > strong,
.enterprise-company-table td > b { display: block; color: #233047; font-size: 13px; }
.enterprise-company-table td small { display: block; max-width: 240px; margin-top: 6px; color: #8492a5; font-size: 10px; line-height: 1.5; }
.enterprise-company-limit-note { margin: 12px 2px 0; color: #7b899d; font-size: 11px; text-align: right; }
.enterprise-tag-row { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.enterprise-tag-row i { padding: 3px 6px; border-radius: 999px; background: #f0f4fa; color: #6d7d92; font-size: 9px; font-style: normal; }
.enterprise-row-actions { display: flex; gap: 6px; }
.ghost-btn.danger { color: #c7354d; }
.enterprise-agent-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.enterprise-agent-grid article { display: grid; gap: 9px; padding: 16px; border: 1px solid #dfe8f2; border-radius: 16px; background: #fbfdff; }
.enterprise-agent-grid article.ready { border-color: #b7e5d4; background: #f4fcf8; }
.enterprise-agent-grid article.waiting { border-color: #efd8aa; background: #fffbf2; }
.enterprise-agent-grid article > div { display: grid; gap: 6px; }
.enterprise-agent-grid article > div span { width: fit-content; padding: 3px 7px; border-radius: 999px; background: rgba(37, 99, 235, .08); color: #3569b7; font-size: 9px; font-weight: 800; }
.enterprise-agent-grid article p { min-height: 50px; margin: 0; color: #5f6f84; font-size: 11px; line-height: 1.55; }
.enterprise-agent-grid article small { color: #8290a2; font-size: 10px; }
.enterprise-agent-grid article em { color: #3b6fae; font-size: 10px; font-style: normal; font-weight: 700; }
.enterprise-run-list { display: grid; gap: 8px; }
.enterprise-run-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; width: 100%; padding: 13px 14px; border: 1px solid #e1e8f1; border-radius: 14px; background: #fbfdff; color: inherit; text-align: left; cursor: pointer; }
.enterprise-run-row:hover { border-color: #9ebbe4; }
.enterprise-run-row > div { display: grid; gap: 4px; }
.enterprise-run-row small { color: #8290a3; }
.enterprise-run-status { min-width: 68px; padding: 6px 9px; border-radius: 999px; background: #edf2f8; color: #64748b; font-size: 10px; font-weight: 900; text-align: center; }
.enterprise-run-status.completed { background: #e8f8f1; color: #16815f; }
.enterprise-run-status.partial,
.enterprise-run-status.skipped { background: #fff4d9; color: #98610b; }
.enterprise-run-status.failed { background: #fff0f2; color: #b72d44; }
.enterprise-run-row dl { display: flex; gap: 16px; margin: 0; }
.enterprise-run-row dl div { display: grid; text-align: center; }
.enterprise-run-row dt { color: #8a98aa; font-size: 9px; }
.enterprise-run-row dd { margin: 2px 0 0; font-size: 13px; font-weight: 900; }
.enterprise-run-detail { margin-top: 14px; padding: 16px; border: 1px solid #d7e3f0; border-radius: 16px; background: #f8fbff; }
.enterprise-run-detail > div { display: flex; align-items: center; justify-content: space-between; }
.enterprise-run-detail h4 { margin: 0; }
.enterprise-run-detail article { display: grid; grid-template-columns: minmax(180px, 1fr) 90px 70px minmax(180px, 2fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid #e2eaf3; font-size: 11px; }
.enterprise-run-detail article em { font-style: normal; font-weight: 800; }
.enterprise-run-detail article em.success { color: #16815f; }
.enterprise-run-detail article em.failed { color: #bd2c44; }
.enterprise-run-detail article em.skipped { color: #96610e; }
.enterprise-run-detail-pages { display: flex; align-items: center; justify-content: center; gap: 12px; padding-top: 14px; }
.enterprise-run-detail-pages span { color: #607086; font-size: 12px; font-weight: 700; }

/* Project-specific intelligence results */
.project-module-page { display: grid; gap: 16px; min-width: 0; color: #24334a; }
.project-module-toolbar { position: sticky; top: 0; z-index: 8; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid #dbe5f0; border-radius: 8px; background: rgba(255, 255, 255, .96); box-shadow: 0 8px 22px rgba(35, 64, 110, .08); backdrop-filter: blur(12px); }
.project-module-back { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #d7e1ec; border-radius: 7px; background: #fff; color: #35506f; font-size: 20px; cursor: pointer; }
.project-module-back:hover { border-color: #7fa8e7; color: #1f63c8; }
.project-module-tabs { display: flex; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.project-module-tabs::-webkit-scrollbar { display: none; }
.project-module-tabs button { flex: 0 0 auto; height: 34px; padding: 0 13px; border: 0; border-radius: 6px; background: transparent; color: #5d6d82; font-size: 12px; font-weight: 700; cursor: pointer; }
.project-module-tabs button:hover { background: #f0f5fb; color: #2f5f9d; }
.project-module-tabs button.active { background: #2367d1; color: #fff; box-shadow: 0 5px 12px rgba(35, 103, 209, .2); }
.project-module-refresh { height: 34px; white-space: nowrap; }
.project-module-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 4px 2px 0; }
.project-module-heading span,
.project-module-summary > span,
.project-tech-intro span,
.project-result-section-head span { color: #2f6fd0; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.project-module-heading h2 { margin: 4px 0 0; color: #17263c; font-size: 23px; letter-spacing: 0; }
.project-module-heading p { margin: 0; color: #8794a6; font-size: 10px; white-space: nowrap; }
.project-module-loading,
.project-module-empty { display: grid; place-items: center; align-content: center; min-height: 360px; padding: 40px; border: 1px solid #dfe8f2; border-radius: 8px; background: #fff; text-align: center; }
.project-module-loading strong,
.project-module-empty strong { margin-top: 14px; color: #25364d; font-size: 18px; }
.project-module-loading p,
.project-module-empty p { max-width: 520px; margin: 7px 0 16px; color: #77869a; font-size: 11px; }
.project-module-spinner { width: 34px; height: 34px; border: 3px solid #dce8f7; border-top-color: #2563eb; border-radius: 50%; animation: project-module-spin .8s linear infinite; }
@keyframes project-module-spin { to { transform: rotate(360deg); } }
.project-module-entry { white-space: nowrap; }

.project-decision-hero,
.project-tech-intro,
.project-module-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; padding: 18px 20px; border: 1px solid #bcd2ef; border-radius: 8px; background: linear-gradient(110deg, #eef5ff, #f6fbff 58%, #f4fbf8); }
.project-decision-mark { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 8px; background: #2367d1; color: #fff; }
.project-decision-mark svg { width: 26px; height: 26px; }
.project-decision-hero span { color: #4773ad; font-size: 10px; font-weight: 800; }
.project-decision-hero h3,
.project-tech-intro h3,
.project-module-summary h3 { margin: 3px 0 5px; color: #17263c; font-size: 20px; }
.project-decision-hero p,
.project-tech-intro p,
.project-module-summary p { grid-column: 2; margin: 0; color: #53657b; font-size: 12px; line-height: 1.7; }
.project-tech-intro,
.project-module-summary { grid-template-columns: minmax(190px, .42fr) minmax(0, 1fr); }
.project-module-summary > span { grid-column: 1; }
.project-module-summary h3 { grid-column: 1; }
.project-module-summary p { grid-column: 2; grid-row: 1 / span 2; align-self: center; }

.project-result-section { min-width: 0; overflow: hidden; border: 1px solid #dfe7f0; border-radius: 8px; background: #fff; }
.project-result-section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 14px 16px; border-bottom: 1px solid #e4ebf3; background: #f8fafc; }
.project-result-section-head h3 { margin: 3px 0 0; color: #26364d; font-size: 15px; }
.project-result-section-head p { max-width: 55%; margin: 0; color: #78879a; font-size: 10px; line-height: 1.5; text-align: right; }
.project-result-table-wrap { width: 100%; overflow-x: auto; }
.project-result-table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: auto; }
.project-result-table th { padding: 10px 12px; border-bottom: 1px solid #dfe7f0; background: #f5f8fc; color: #6c7c91; font-size: 10px; font-weight: 800; text-align: left; white-space: nowrap; }
.project-result-table td { max-width: 360px; padding: 12px; border-bottom: 1px solid #e9eef4; color: #4b5c72; font-size: 11px; line-height: 1.55; vertical-align: top; }
.project-result-table tr:last-child td { border-bottom: 0; }
.project-result-table tbody tr:hover { background: #f9fbfe; }
.project-result-table td strong { color: #25354b; }
.project-result-empty { padding: 28px !important; color: #8794a5 !important; text-align: center; }
.project-table-tag { display: inline-block; padding: 3px 7px; border-radius: 999px; background: #edf4ff; color: #2867bd; font-size: 9px; font-weight: 800; white-space: nowrap; }
.project-task-checkbox { width: 17px; height: 17px; accent-color: #2563eb; cursor: pointer; }

.project-result-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.project-signal-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.project-signal-columns > div { min-width: 0; padding: 14px 16px; }
.project-signal-columns > div + div { border-left: 1px solid #e5ebf2; }
.project-signal-columns strong { color: #2e3e54; font-size: 11px; }
.project-compact-list { display: grid; gap: 7px; margin: 10px 0 0; padding: 0; list-style: none; }
.project-compact-list li { position: relative; padding: 8px 10px 8px 27px; border-radius: 6px; background: #f7f9fc; color: #52637a; font-size: 10px; line-height: 1.55; }
.project-compact-list li::before { position: absolute; top: 12px; left: 11px; width: 6px; height: 6px; border-radius: 50%; background: #5d91d9; content: ""; }
.project-compact-list.tone-success li { background: #f3fbf7; }
.project-compact-list.tone-success li::before { background: #25a270; }
.project-compact-list.tone-risk li { background: #fff6f7; }
.project-compact-list.tone-risk li::before { background: #d84a60; }
.project-compact-list.tone-action li { background: #fffaf0; }
.project-compact-list.tone-action li::before { background: #db9320; }
.project-compact-list li.empty { color: #8794a5; }

.project-tech-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); padding: 16px; }
.project-tech-flow article { position: relative; min-height: 116px; padding: 15px 14px 14px 48px; border: 1px solid #dce6f1; background: #fbfdff; }
.project-tech-flow article + article { margin-left: 12px; }
.project-tech-flow article:not(:last-child)::after { position: absolute; z-index: 2; top: 50%; right: -18px; color: #5f8ed2; font-size: 20px; content: "→"; transform: translateY(-50%); }
.project-tech-flow article > span { position: absolute; top: 14px; left: 12px; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 6px; background: #2563eb; color: #fff; font-size: 9px; font-weight: 900; }
.project-tech-flow article strong { display: block; color: #25354b; font-size: 12px; }
.project-tech-flow article p { margin: 7px 0 0; color: #6d7d90; font-size: 10px; line-height: 1.55; }
.project-tech-verdicts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.project-tech-verdicts article { display: grid; gap: 7px; min-height: 84px; padding: 14px; border: 1px solid #dfe7f0; border-radius: 8px; background: #fff; }
.project-tech-verdicts span { color: #73839a; font-size: 10px; }
.project-tech-verdicts strong { color: #27384f; font-size: 12px; line-height: 1.5; }

@media (max-width: 1050px) {
    .project-module-toolbar { grid-template-columns: 38px minmax(0, 1fr); }
    .project-module-refresh { grid-column: 1 / -1; justify-self: end; }
    .project-result-split { grid-template-columns: 1fr; }
    .project-tech-verdicts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .project-module-page { gap: 12px; }
    .project-module-toolbar { position: static; padding: 8px; }
    .project-module-tabs button { padding: 0 10px; font-size: 11px; }
    .project-module-heading { display: grid; }
    .project-module-heading p { white-space: normal; }
    .project-decision-hero,
    .project-tech-intro,
    .project-module-summary { grid-template-columns: 1fr; padding: 15px; }
    .project-decision-hero p,
    .project-tech-intro p,
    .project-module-summary p { grid-column: 1; grid-row: auto; }
    .project-result-section-head { align-items: flex-start; flex-direction: column; }
    .project-result-section-head p { max-width: none; text-align: left; }
    .project-signal-columns { grid-template-columns: 1fr; }
    .project-signal-columns > div + div { border-top: 1px solid #e5ebf2; border-left: 0; }
    .project-tech-flow { grid-template-columns: 1fr; }
    .project-tech-flow article + article { margin: 10px 0 0; }
    .project-tech-flow article:not(:last-child)::after { top: auto; right: 50%; bottom: -18px; content: "↓"; transform: translateX(50%); }
    .project-tech-verdicts { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
    .enterprise-registry-summary,
    .enterprise-agent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .enterprise-directory-layout { grid-template-columns: minmax(270px, 310px) minmax(0, 1fr); }
    .enterprise-intelligence-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .enterprise-intelligence-columns { grid-template-columns: 1fr; }
    .enterprise-dossier-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .enterprise-dossier-metrics article:nth-child(3) { border-right: 0; }
    .enterprise-dossier-metrics article:nth-child(n+4) { border-top: 1px solid #e6ecf3; }
    .enterprise-listing-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .enterprise-dossier-triple { grid-template-columns: 1fr; }
    .enterprise-financial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .enterprise-registry-hero { display: grid; padding: 22px; }
    .enterprise-provider-state { min-width: 0; }
    .enterprise-registry-summary,
    .enterprise-agent-grid { grid-template-columns: 1fr; }
    .enterprise-search-form { grid-template-columns: 1fr; }
    .enterprise-search-results > article { grid-template-columns: auto minmax(0, 1fr); }
    .enterprise-search-results > article > button { grid-column: 1 / -1; }
    .enterprise-section-heading { align-items: flex-start; flex-direction: column; }
    .enterprise-universe-actions { width: 100%; flex-wrap: wrap; }
    .enterprise-run-row { grid-template-columns: 1fr; }
    .enterprise-run-row dl { justify-content: flex-start; }
    .enterprise-run-detail article { grid-template-columns: 1fr 1fr; }
    .enterprise-directory-layout { grid-template-columns: 1fr; }
    .enterprise-company-profile,
    .enterprise-profile-placeholder { min-height: 480px; }
    .enterprise-profile-header { display: grid; }
    .enterprise-profile-actions { justify-content: flex-start; }
    .enterprise-basic-grid,
    .enterprise-intelligence-summary,
    .enterprise-profile-sources { grid-template-columns: 1fr; }
    .enterprise-basic-grid > div,
    .enterprise-basic-grid > div:nth-child(even) { border-right: 0; }
    .enterprise-basic-grid > div.wide { grid-column: auto; }
    .enterprise-dossier-header { padding: 18px; }
    .enterprise-dossier-metrics,
    .enterprise-dossier-split,
    .enterprise-listing-facts,
    .enterprise-financial-grid,
    .enterprise-risk-counts,
    .enterprise-ip-counts { grid-template-columns: 1fr; }
    .enterprise-dossier-metrics article { border-top: 1px solid #e6ecf3; border-right: 0; }
    .enterprise-dossier-metrics article:first-child { border-top: 0; }
    .enterprise-dossier-section { padding: 18px 14px; }
    .enterprise-dossier-section .enterprise-profile-section-title { align-items: flex-start; flex-direction: column; }
    .enterprise-dossier-section .enterprise-profile-section-title small { max-width: none; text-align: left; }
    .enterprise-personnel-list { grid-template-columns: 1fr; }
    .enterprise-personnel-list article { border-right: 0; }
    .enterprise-announcement-list article { grid-template-columns: 72px minmax(0, 1fr) auto; }
    .enterprise-announcement-list article > span { grid-column: 1; grid-row: 2; }
    .enterprise-announcement-list article > div { grid-column: 2; grid-row: 1 / span 2; }
    .enterprise-announcement-list article > a { grid-column: 3; grid-row: 1 / span 2; }
}

.report-source-link-viewer { min-height: 0; }
.report-source-link-body { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 28px; background: linear-gradient(135deg, #f7faff, #eef4ff); }
.report-source-link-body b { display: block; margin-bottom: 7px; color: #17233c; font-size: 16px; }
.report-source-link-body p { margin: 0; color: #637089; }
.report-update-modal { width: min(1180px, calc(100vw - 48px)); max-height: calc(100vh - 40px); overflow: auto; padding: 0 28px 28px; }
.report-update-modal .modal-topbar { position: sticky; z-index: 3; top: 0; margin: 0 -28px; padding: 22px 28px 18px; background: rgba(255, 255, 255, .96); border-bottom: 1px solid #e8edf6; backdrop-filter: blur(14px); }
.report-update-summary { display: grid; grid-template-columns: repeat(4, minmax(110px, 1fr)) auto; gap: 12px; align-items: stretch; margin: 22px 0 14px; }
.report-update-summary > div { padding: 16px 18px; border: 1px solid #e3e9f4; border-radius: 14px; background: #f8faff; }
.report-update-summary span, .report-source-counts span { color: #748199; font-size: 12px; }
.report-update-summary strong { display: block; margin-top: 4px; color: #15213a; font-size: 24px; }
.report-update-summary > button { align-self: center; min-height: 46px; }
.report-update-note { display: flex; gap: 12px; padding: 13px 16px; border: 1px solid #d8e4ff; border-radius: 12px; background: #f4f8ff; color: #53627b; font-size: 13px; }
.report-update-note b { flex: 0 0 auto; color: #2455bb; }
.report-update-section { margin-top: 22px; padding: 20px; border: 1px solid #e4e9f2; border-radius: 18px; background: #fff; }
.report-update-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.report-update-section h3, .report-source-row h4, .report-candidate-list h4 { margin: 0; color: #17233c; }
.report-update-section header p { margin: 5px 0 0; color: #758198; font-size: 13px; }
.report-update-section header > span { color: #66738b; font-size: 13px; }
.report-source-list, .report-candidate-list, .report-run-list { display: grid; gap: 10px; }
.report-source-row { display: grid; grid-template-columns: minmax(300px, 1.4fr) auto minmax(320px, auto); gap: 18px; align-items: center; padding: 15px; border: 1px solid #e8edf5; border-radius: 14px; background: #fbfcff; }
.report-source-main { display: flex; gap: 12px; align-items: flex-start; }
.report-source-main > span { display: grid; flex: 0 0 38px; height: 38px; place-items: center; border-radius: 11px; background: #eaf1ff; color: #2457c5; font-weight: 800; }
.report-source-main p, .report-source-main small, .report-candidate-list p { display: block; margin: 4px 0 0; color: #758198; font-size: 12px; line-height: 1.45; }
.report-source-counts { display: flex; gap: 10px; }
.report-source-counts span { padding: 7px 9px; border-radius: 9px; background: #f1f4f9; }
.report-source-counts b { color: #24314a; }
.report-source-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.report-source-controls label { color: #526079; font-size: 12px; white-space: nowrap; }
.report-source-controls label.disabled { opacity: .55; }
.report-source-controls select { min-height: 34px; padding: 0 28px 0 10px; border: 1px solid #dce3ef; border-radius: 9px; background: #fff; }
.report-source-controls button, .report-candidate-list button { min-height: 34px; padding: 0 12px; }
.report-candidate-list article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 15px; border: 1px solid #e9edf4; border-radius: 12px; }
.report-candidate-list .status { display: inline-block; margin-bottom: 5px; padding: 3px 7px; border-radius: 7px; background: #edf2fb; color: #4d5f7c; font-size: 11px; }
.report-candidate-list .status.published_link, .report-candidate-list .status.published_file { background: #e8f8ef; color: #23824d; }
.report-candidate-list .status.review_required { background: #fff3dc; color: #9a6511; }
.report-run-list > div { display: grid; grid-template-columns: 200px 90px 1fr; gap: 14px; padding: 9px 0; border-bottom: 1px solid #edf0f5; color: #536079; font-size: 12px; }
.report-run-list b { color: #26344d; }
.report-run-list small { color: #7b879c; }

@media (max-width: 1100px) {
    .report-update-summary { grid-template-columns: repeat(2, 1fr); }
    .report-update-summary > button { grid-column: 1 / -1; }
    .report-source-row { grid-template-columns: 1fr; }
    .report-source-controls { justify-content: flex-start; }
    .report-run-list > div { grid-template-columns: 1fr; gap: 4px; }
    .report-source-link-body { align-items: flex-start; flex-direction: column; }
}

@media print {
    body * {
        visibility: hidden;
    }

    #material-report-print-area,
    #material-report-print-area * {
        visibility: visible;
    }

    #material-report-print-area {
        position: absolute;
        inset: 0;
        width: 100%;
        background: #ffffff;
    }

    .material-report-tabs,
    .material-methodology-action button {
        display: none !important;
    }
}

/* OA and System Management share one enterprise-messenger style organization tree. */
.oa-organization-tree-card { margin: 16px 0; padding: 18px; border: 1px solid #dce6f3; border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(30, 64, 175, .06); }
.oa-organization-tree-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.oa-organization-tree-card > header span { color: #2563eb; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.oa-organization-tree-card > header h3 { margin: 4px 0 5px; color: #172033; font-size: 18px; }
.oa-organization-tree-card > header p { margin: 0; color: #718096; font-size: 11px; line-height: 1.65; }
.oa-organization-tree-card > header > strong { padding: 7px 10px; border-radius: 999px; background: #eef4ff; color: #245ec7; font-size: 10px; white-space: nowrap; }
.oa-organization-tree { display: grid; gap: 7px; }
.oa-org-node { margin: 0; }
.oa-org-node > summary,
.oa-org-leaf { display: grid; grid-template-columns: 20px 54px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 52px; padding: 9px 12px; border: 1px solid #e1e8f1; border-radius: 12px; background: #fbfdff; list-style: none; }
.oa-org-node > summary { cursor: pointer; }
.oa-org-node > summary::-webkit-details-marker { display: none; }
.oa-org-node > summary:hover { border-color: #b8cdf8; background: #f7faff; }
.oa-org-node > summary:focus-visible { outline: 3px solid rgba(37, 99, 235, .2); outline-offset: 2px; }
.oa-org-toggle,
.oa-org-toggle-spacer { width: 20px; height: 20px; }
.oa-org-toggle { position: relative; border: 1px solid #d8e2ee; border-radius: 6px; background: #fff; }
.oa-org-toggle::before { content: ""; position: absolute; top: 5px; left: 5px; width: 6px; height: 6px; border-right: 2px solid #5f6f84; border-bottom: 2px solid #5f6f84; transform: rotate(-45deg); transform-origin: center; transition: transform .16s ease; }
.oa-org-node[open] > summary .oa-org-toggle::before { transform: rotate(45deg); }
.oa-org-node-type { display: inline-flex; justify-content: center; padding: 5px 7px; border-radius: 8px; background: #eef4ff; color: #2563eb; font-size: 9px; font-weight: 900; }
.oa-org-node > summary > div,
.oa-org-leaf > div { display: grid; gap: 3px; min-width: 0; }
.oa-org-node strong { color: #27364a; font-size: 12px; }
.oa-org-node small { overflow: hidden; color: #8795a8; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.oa-org-node-actions { display: flex; align-items: center; gap: 4px; }
.oa-org-node-actions button { min-height: 32px; padding: 5px 8px; border: 0; border-radius: 7px; background: #eef4ff; color: #245ec7; font-size: 9px; font-weight: 800; cursor: pointer; }
.oa-org-node-actions button:hover { background: #dfeaff; }
.oa-org-node-actions em { color: #8190a4; font-size: 9px; font-style: normal; white-space: nowrap; }
.oa-org-children { display: grid; gap: 7px; margin: 7px 0 0 22px; padding-left: 18px; border-left: 1px solid #dbe5f1; }

@media (max-width: 680px) {
    .oa-organization-tree-card { padding: 13px; }
    .oa-organization-tree-card > header { flex-direction: column; gap: 8px; }
    .oa-org-node > summary,
    .oa-org-leaf { grid-template-columns: 20px 48px minmax(0, 1fr); }
    .oa-org-node-actions { grid-column: 3; }
    .oa-org-children { margin-left: 10px; padding-left: 9px; }
}

/* Enterprise intelligence settings: scoped so product, CRM, OA and material cards keep their own layout. */
.intelligence-settings-page { display:grid; gap:16px; min-width:0; }
.intelligence-settings-page > .table-card { min-width:0; }
.intelligence-settings-page .component-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
    gap:14px;
    margin-top:14px;
}
.intelligence-settings-page .component-card {
    display:flex;
    flex-direction:column;
    gap:12px;
    min-width:0;
    padding:18px;
    border:1px solid #e3e9f3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(30,41,59,.045);
}
.intelligence-settings-page .component-card > header,
.intelligence-settings-page .component-card > footer {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.intelligence-settings-page .component-card > footer { align-items:center; justify-content:flex-end; margin-top:auto; flex-wrap:wrap; }
.intelligence-settings-page .component-card h3,
.intelligence-settings-page .component-card p { overflow-wrap:anywhere; }
.intelligence-settings-page .component-card h3 { margin:5px 0 0; color:#172033; font-size:17px; }
.intelligence-settings-page .component-card p { margin:0; color:#596579; line-height:1.65; }
.intelligence-settings-page .component-origin-badge {
    display:inline-flex;
    padding:4px 8px;
    border-radius:999px;
    background:#eef4ff;
    color:#245ec8;
    font-size:11px;
    font-weight:750;
}
.intelligence-settings-page .component-origin-badge.tenant { background:#eef4ff; color:#245ec8; }
.intelligence-settings-page .field { display:grid; gap:6px; min-width:0; }
.intelligence-settings-page .field > span { color:#5d687a; font-size:12px; font-weight:700; }
.intelligence-settings-page .field > small,
.product-market-selector > small { color:#738097; font-size:11px; line-height:1.5; }
.intelligence-settings-page :is(input,select,textarea) { box-sizing:border-box; width:100%; min-width:0; }
.intelligence-settings-page select[multiple],
#intelligence-setting-edit-form select[multiple] { min-height:104px; }
.product-market-selector {
    display:grid;
    grid-column:1 / -1;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    min-width:0;
    padding:12px;
    border:1px solid #dce6f5;
    border-radius:14px;
    background:#f8fbff;
}
.product-market-selector > small { grid-column:1 / -1; }
.intelligence-settings-page .product-market-path { color:#245ec8; font-size:12px; font-weight:700; }
.intelligence-settings-page .product-link-field { grid-column:span 2; }
.intelligence-settings-page .competitor-product-links {
    display:grid;
    gap:8px;
}
.intelligence-settings-page .competitor-product-links > span {
    display:grid;
    grid-template-columns:minmax(86px,auto) minmax(0,1fr);
    gap:2px 10px;
    padding:10px 12px;
    border-left:3px solid #2d66d5;
    border-radius:10px;
    background:#f5f8fd;
    color:#34445d;
    font-size:12px;
}
.intelligence-settings-page .competitor-product-links strong { color:#245ec8; }
.intelligence-settings-page .competitor-product-links small { grid-column:2; color:#748198; }
.intelligence-settings-page .product-link-warning { padding:10px 12px; border-radius:10px; background:#fff7e8; color:#8a5b12; font-size:12px; }
.intelligence-settings-page .tag-list { display:flex; flex-wrap:wrap; gap:6px; }
.intelligence-settings-page .tag-list > span {
    padding:4px 8px;
    border-radius:999px;
    background:#f3f6fa;
    color:#556176;
    font-size:12px;
}
.intelligence-settings-page .source-row { display:grid; gap:5px; padding:10px 12px; border-radius:10px; background:#f7f9fc; }
.intelligence-settings-page .source-row :is(a,span) { min-width:0; overflow-wrap:anywhere; color:#2865cf; }
.intelligence-settings-page .business-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:10px; align-items:end; }
.intelligence-settings-page .intelligence-candidate-grid .component-card { border-color:#bfdbfe; background:linear-gradient(180deg,#f8fbff,#fff); }
.intelligence-classification-overview > header,
.intelligence-taxonomy-card > header { align-items:flex-start; }
.intelligence-classification-overview > header p,
.intelligence-taxonomy-card > header p { margin:5px 0 0; color:#6c788c; font-size:12px; }
.intelligence-classification-metrics {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}
.intelligence-classification-metrics article {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:4px 12px;
    align-items:baseline;
    padding:16px;
    border:1px solid #dce6f5;
    border-radius:14px;
    background:linear-gradient(150deg,#f8fbff,#fff);
}
.intelligence-classification-metrics strong { grid-row:1 / span 2; color:#245ec8; font-size:26px; line-height:1; }
.intelligence-classification-metrics span { color:#1f2d42; font-size:14px; font-weight:800; }
.intelligence-classification-metrics small { color:#778398; font-size:11px; line-height:1.5; }
.intelligence-taxonomy-list { display:grid; gap:10px; margin-top:14px; }
.intelligence-taxonomy-domain {
    overflow:hidden;
    border:1px solid #dce6f5;
    border-radius:15px;
    background:#fff;
}
.intelligence-taxonomy-domain > summary {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:15px 17px;
    cursor:pointer;
    list-style:none;
    background:#fbfdff;
}
.intelligence-taxonomy-domain > summary::-webkit-details-marker { display:none; }
.intelligence-taxonomy-domain > summary > div { display:grid; gap:3px; }
.intelligence-taxonomy-domain > summary strong { color:#18263a; font-size:15px; }
.intelligence-taxonomy-domain > summary small { color:#7d899d; font-size:11px; }
.intelligence-taxonomy-domain > summary > span {
    padding:5px 9px;
    border-radius:999px;
    background:#edf4ff;
    color:#245ec8;
    font-size:11px;
    font-weight:800;
}
.intelligence-taxonomy-domain[open] > summary { border-bottom:1px solid #dce6f5; background:#f5f9ff; }
.intelligence-taxonomy-domain-body {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
    gap:14px;
    padding:15px;
}
.intelligence-taxonomy-tracks { display:grid; gap:10px; align-content:start; }
.intelligence-taxonomy-tracks section {
    padding:12px;
    border:1px solid #e6ebf3;
    border-radius:12px;
    background:#fff;
}
.intelligence-taxonomy-tracks h4,
.intelligence-policy-kb h4 { margin:0 0 9px; color:#25354b; font-size:13px; }
.intelligence-taxonomy-tracks section > div { display:flex; flex-wrap:wrap; gap:7px; }
.intelligence-taxonomy-tracks section > div > span {
    padding:5px 8px;
    border-radius:8px;
    background:#f3f6fb;
    color:#536176;
    font-size:11px;
}
.intelligence-policy-kb {
    align-self:start;
    padding:15px;
    border:1px solid #bdd3fa;
    border-radius:14px;
    background:linear-gradient(160deg,#f4f8ff,#fff);
}
.intelligence-policy-kb h4 { margin-top:10px; font-size:15px; }
.intelligence-policy-kb p { margin:0 0 12px; color:#66748a; font-size:12px; line-height:1.65; }
.intelligence-policy-kb dl { display:grid; gap:8px; margin:0 0 12px; }
.intelligence-policy-kb dl > div { display:grid; grid-template-columns:64px minmax(0,1fr); gap:8px; }
.intelligence-policy-kb dt { color:#8995a7; font-size:11px; }
.intelligence-policy-kb dd { margin:0; color:#33435a; font-size:11px; line-height:1.55; }

@media (min-width:1280px) {
    .intelligence-settings-page .component-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:640px) {
    .intelligence-settings-page { gap:12px; }
    .intelligence-settings-page .component-grid,
    .intelligence-settings-page .business-form { grid-template-columns:minmax(0,1fr); }
    .product-market-selector { grid-template-columns:minmax(0,1fr); padding:10px; }
    .product-market-selector > small,
    .intelligence-settings-page .product-link-field { grid-column:auto; }
    .intelligence-settings-page .component-card { padding:14px; border-radius:13px; }
    .intelligence-settings-page .component-card > header { align-items:flex-start; }
    .intelligence-settings-page .component-card > footer { justify-content:stretch; }
    .intelligence-settings-page .component-card > footer > button { flex:1 1 auto; }
    .intelligence-classification-metrics,
    .intelligence-taxonomy-domain-body { grid-template-columns:minmax(0,1fr); }
    .intelligence-taxonomy-domain > summary { grid-template-columns:minmax(0,1fr); gap:8px; }
    .intelligence-taxonomy-domain > summary > span { justify-self:start; }
}
.enterprise-announcement-list article.clickable{cursor:pointer}.enterprise-announcement-list article.clickable>div>a{font-weight:700;text-decoration:none;color:#16243b}.enterprise-announcement-list article.clickable>div>a:hover{color:#245ad6;text-decoration:underline}.enterprise-record-list section>div>a{font-weight:700;text-decoration:none;color:#16243b}.enterprise-record-list section>div>a:hover{color:#245ad6;text-decoration:underline}
/* 所有业务表格允许长文本换行，行高由内容自然撑开。 */
.app-shell table th,
.app-shell table td,
.material-report-page table th,
.material-report-page table td {
    height: auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    vertical-align: top;
    line-height: 1.65;
}

.knowledge-scope-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid #d8e6dc;
    border-radius: 12px;
    color: #4f6d5a;
    background: #f4faf6;
    font-size: 12px;
    line-height: 1.6;
}
.knowledge-scope-note strong { flex: 0 0 auto; color: #276844; }
.knowledge-scope-note span { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 680px) {
    .knowledge-scope-note { display: grid; gap: 3px; }
}
.component-catalog-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin: 14px 0;
    padding: 13px 16px;
    border: 1px solid #dbe5f3;
    border-radius: 16px;
    background: #f8fbff;
    color: #526074;
    font-size: 13px;
}

.component-catalog-legend p { margin: 0 12px 0 0; }

.component-origin-badge,
.component-state-badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    min-height: 26px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.component-origin-badge.system {
    color: #5b3ab7;
    border: 1px solid #dacdfc;
    background: linear-gradient(135deg, #f8f4ff, #fff9e9);
}

.component-origin-badge.tenant {
    color: #075fb6;
    border: 1px solid #c7def8;
    background: #eff7ff;
}

.component-identity {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px 10px;
    min-width: 240px;
}

.component-identity > strong { color: #152035; font-size: 14px; }
.component-identity > small,
.component-identity > em {
    grid-column: 1 / -1;
    color: #65738a;
    font-size: 12px;
    font-style: normal;
    line-height: 1.5;
    max-width: 380px;
}

.system-component-row { background: linear-gradient(90deg, rgba(107, 76, 208, .035), rgba(234, 179, 8, .025)); }
.tenant-component-row { background: rgba(37, 99, 235, .018); }
.component-clone-btn { color: #5b3ab7 !important; border-color: #cfc0f7 !important; background: #fbf9ff !important; }

.component-meta-stack,
.component-skill-state,
.component-trust {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    max-width: 300px;
    font-size: 12px;
}

.component-meta-stack strong,
.component-trust strong { color: #27354a; }
.component-meta-stack span,
.component-trust span {
    display: block;
    max-width: 280px;
    overflow: hidden;
    color: #69778d;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.component-trust code { color: #475569; font-size: 12px; }
.component-trust em,
.component-skill-state em { color: #6a7485; font-size: 12px; font-style: normal; line-height: 1.45; }
.component-skill-state small { color: #7b8799; font-size: 12px; }
.component-unavailable { color: #7a8699; font-size: 12px; }

.component-state-badge.not_run,
.component-state-badge.not-run,
.component-state-badge.setup { color: #945100; background: #fff7df; border: 1px solid #f4d38a; }
.component-state-badge.available,
.component-state-badge.completed { color: #08754f; background: #e9fbf3; border: 1px solid #aee8d1; }
.component-state-badge.reference { color: #5b3ab7; background: #f4f0ff; border: 1px solid #d7cafa; }
.component-state-badge.blocked,
.component-state-badge.failed { color: #b42318; background: #fff0ee; border: 1px solid #f6c2bc; }
.component-state-badge.running,
.component-state-badge.queued { color: #075fb6; background: #edf6ff; border: 1px solid #c5ddfa; }

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.prompt-template-catalog {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

.prompt-template-card {
    position: relative;
    display: flex;
    min-height: 310px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #dce5f1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(39, 63, 102, .06);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.prompt-template-card.system { background: linear-gradient(150deg, #fff 0%, #fbf9ff 72%, #fffaf0 100%); }
.prompt-template-card.tenant { background: linear-gradient(150deg, #fff 0%, #f6fbff 100%); }
.prompt-template-card:hover,
.prompt-template-card:focus-within {
    transform: translateY(-2px);
    border-color: #9bbaf0;
    box-shadow: 0 18px 42px rgba(37, 99, 235, .12);
}

.prompt-template-card-open {
    position: absolute;
    inset: 0 0 62px;
    z-index: 1;
    display: block;
    width: 100%;
    border: 0;
    border-radius: 20px 20px 0 0;
    background: transparent;
    cursor: pointer;
}

.prompt-template-card-open:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .38);
    outline-offset: -5px;
}

.prompt-template-card-content {
    display: grid;
    flex: 1;
    align-content: start;
    gap: 17px;
    padding: 20px 20px 14px;
    pointer-events: none;
}

.prompt-template-card-content > header,
.prompt-detail-badges {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.prompt-template-card-content h3 { margin: 0 0 8px; color: #172033; font-size: 19px; line-height: 1.35; }
.prompt-template-card-content p { min-height: 48px; margin: 0; color: #65738a; font-size: 13px; line-height: 1.65; }
.prompt-template-card-content dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.prompt-template-card-content dl > div { min-width: 0; padding: 9px; border-radius: 10px; background: rgba(241, 245, 249, .8); }
.prompt-template-card-content dt { margin-bottom: 3px; color: #8893a3; font-size: 10px; font-weight: 700; }
.prompt-template-card-content dd { overflow: hidden; margin: 0; color: #354257; font-size: 11px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.prompt-template-open-hint { align-self: end; color: #2563eb; font-size: 12px; font-weight: 800; }
.prompt-template-open-hint b { margin-left: 4px; font-size: 15px; }

.prompt-template-card-actions {
    position: relative;
    z-index: 3;
    display: flex;
    min-height: 62px;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 11px 16px;
    border-top: 1px solid #edf1f6;
    background: rgba(255, 255, 255, .9);
}
.prompt-template-card-actions .readonly-badge { margin-right: auto; }
.prompt-template-empty { display: grid; gap: 7px; }

.prompt-detail-mask { overflow-y: auto; }
.prompt-detail-dialog { width: min(1120px, calc(100vw - 40px)); max-height: calc(100vh - 40px); }
.prompt-detail-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 22px;
    align-items: start;
    margin: 20px 0;
}
.prompt-detail-heading h2 { margin: 13px 0 8px; color: #172033; font-size: 28px; line-height: 1.3; }
.prompt-detail-heading p { margin: 0; color: #617087; line-height: 1.7; }
.prompt-detail-badges { justify-content: flex-start; }
.prompt-detail-category { padding: 5px 9px; border-radius: 999px; background: #edf4ff; color: #315eae; font-size: 12px; font-weight: 800; }
.prompt-publication-status { display: inline-flex; align-items: center; min-height: 26px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 850; }
.prompt-publication-status.published { border: 1px solid #aee8d1; background: #e9fbf3; color: #08754f; }
.prompt-publication-status.restricted { border: 1px solid #f0c2bc; background: #fff0ee; color: #a92d24; }
.prompt-detail-ownership-note { display: grid; gap: 5px; padding: 15px 17px; border: 1px solid #dce5f1; border-radius: 14px; background: #f8fbff; }
.prompt-detail-ownership-note.system { border-color: #ddd2f7; background: #faf8ff; }
.prompt-detail-ownership-note.restricted { border-color: #efc5bf; background: #fff6f4; }
.prompt-detail-ownership-note strong { color: #27354a; }
.prompt-detail-ownership-note span { color: #66758a; font-size: 12px; line-height: 1.55; }

.prompt-detail-metadata {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}
.prompt-detail-metadata article { min-width: 0; padding: 15px 17px; border: 1px solid #e1e7f0; border-radius: 14px; background: #fafcff; }
.prompt-detail-metadata h3 { margin: 0 0 9px; color: #3c4a60; font-size: 13px; }
.prompt-detail-metadata ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.prompt-detail-metadata li { max-width: 100%; overflow-wrap: anywhere; padding: 5px 8px; border-radius: 8px; background: #edf3fc; color: #52637c; font-size: 12px; }
.prompt-detail-metadata p { margin: 0; color: #52637c; font-size: 12px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.prompt-detail-empty { color: #8b96a6; font-size: 12px; font-style: normal; }
.prompt-detail-definition-list { display: grid; gap: 6px; margin: 0; }
.prompt-detail-definition-list > div { display: grid; grid-template-columns: minmax(80px, .45fr) minmax(0, 1fr); gap: 9px; font-size: 12px; }
.prompt-detail-definition-list dt { color: #516078; font-weight: 800; overflow-wrap: anywhere; }
.prompt-detail-definition-list dd { margin: 0; color: #6b778a; overflow-wrap: anywhere; }

.prompt-detail-content-section { margin-top: 14px; overflow: hidden; border: 1px solid #dce4ef; border-radius: 16px; background: #fff; }
.prompt-detail-content-section > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 17px; border-bottom: 1px solid #e6ebf2; background: #f8fafc; }
.prompt-detail-content-section > header div { display: grid; gap: 2px; }
.prompt-detail-content-section > header span { color: #3370d1; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.prompt-detail-content-section > header h3 { margin: 0; color: #26354a; font-size: 15px; }
.prompt-detail-prompt {
    box-sizing: border-box;
    max-height: min(44vh, 520px);
    margin: 0;
    overflow: auto;
    padding: 20px;
    border: 0;
    background: #fbfcfe;
    color: #1f2937;
    font: 13px/1.78 "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.prompt-detail-prompt:focus-visible { outline: 3px solid rgba(37, 99, 235, .32); outline-offset: -3px; }
.prompt-detail-content-empty { display: grid; justify-items: center; gap: 7px; padding: 30px 18px; color: #738096; text-align: center; }
.prompt-detail-content-empty strong { color: #46556b; }
.prompt-detail-content-empty span { max-width: 680px; font-size: 12px; line-height: 1.65; }
.prompt-detail-error { gap: 12px; padding: 52px 24px; }

.prompt-detail-proof { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.prompt-detail-proof > div { display: grid; gap: 5px; min-width: 0; padding: 12px 14px; border-radius: 12px; background: #f5f7fa; }
.prompt-detail-proof .wide { grid-column: 1 / -1; }
.prompt-detail-proof span { color: #778397; font-size: 10px; font-weight: 800; }
.prompt-detail-proof code,
.prompt-detail-proof strong,
.prompt-detail-proof p { margin: 0; color: #455268; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.prompt-detail-actions { align-items: center; flex-wrap: wrap; }
.prompt-detail-live { min-height: 20px; margin-top: 8px; color: #08754f; font-size: 12px; text-align: right; }
.prompt-detail-loading { display: grid; justify-items: center; gap: 8px; padding: 80px 24px; text-align: center; }
.prompt-detail-loading > span { width: 34px; height: 34px; border: 3px solid #dbe7fa; border-top-color: #2563eb; border-radius: 50%; animation: prompt-detail-spin .8s linear infinite; }
.prompt-detail-loading h2 { margin: 8px 0 0; color: #27354a; font-size: 21px; }
.prompt-detail-loading p { margin: 0; color: #718096; font-size: 12px; }
@keyframes prompt-detail-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .prompt-template-card { transition: none; }
    .prompt-detail-loading > span { animation-duration: 1.8s; }
}

@media (max-width: 760px) {
    .prompt-template-catalog { grid-template-columns: 1fr; }
    .prompt-template-card { min-height: 0; }
    .prompt-template-card-content dl,
    .prompt-detail-heading,
    .prompt-detail-metadata,
    .prompt-detail-proof { grid-template-columns: 1fr; }
    .prompt-detail-proof .wide { grid-column: 1; }
    .prompt-detail-dialog { width: min(100%, calc(100vw - 16px)); max-height: calc(100vh - 16px); padding: 18px; border-radius: 18px; }
    .prompt-detail-content-section > header { align-items: flex-start; flex-direction: column; }
    .prompt-detail-content-section > header .secondary-btn { width: 100%; }
    .prompt-detail-actions { align-items: stretch; flex-direction: column; }
    .prompt-detail-actions > button { width: 100%; }
}

.skill-import-mask { padding: 24px; overflow-y: auto; }
.skill-import-dialog {
    width: min(1040px, calc(100vw - 48px));
    max-height: none;
    margin: auto;
    padding: 28px;
    font-size: 14px;
}

.skill-import-heading {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: flex-start;
    padding-right: 34px;
    margin-bottom: 22px;
}
.skill-import-heading span:first-child { color: #2563eb; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.skill-import-heading h2 { margin: 5px 0 7px; color: #172033; font-size: 24px; }
.skill-import-heading p { margin: 0; color: #65738a; font-size: 13px; line-height: 1.6; }

.skill-import-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.skill-import-form > .wide,
.skill-import-form > fieldset { grid-column: 1 / -1; }
.skill-import-form > label,
.skill-import-form > fieldset {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0;
    padding: 0;
    border: 0;
}
.skill-import-form label > span,
.skill-import-form legend { color: #344157; font-size: 13px; font-weight: 800; }
.skill-import-form input,
.skill-import-form select,
.skill-import-name input {
    min-height: 44px;
    border: 1px solid #cdd7e5;
    border-radius: 11px;
    padding: 9px 12px;
    background: #fff;
    color: #1f2937;
    font: inherit;
}
.skill-import-form label > small { color: #718096; font-size: 12px; line-height: 1.45; }

.skill-import-permissions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}
.skill-import-permissions label,
.skill-import-approval > label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid #dce5f1;
    border-radius: 12px;
    background: #f9fbfe;
}
.skill-import-permissions input,
.skill-import-approval input[type="checkbox"] { width: 17px; height: 17px; margin: 2px 0 0; accent-color: #2563eb; }
.skill-import-permissions label > span,
.skill-import-approval label > span { display: grid; gap: 3px; }
.skill-import-permissions b,
.skill-import-approval b { color: #26344a; font-size: 13px; }
.skill-import-permissions small,
.skill-import-approval small { color: #6f7b8e; font-size: 12px; line-height: 1.45; }

.skill-import-boundary,
.skill-import-approved {
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid #f1d596;
    border-radius: 13px;
    background: #fffaf0;
    color: #6b4a10;
    font-size: 13px;
}
.skill-import-boundary ul { margin: 8px 0 0; padding-left: 20px; line-height: 1.65; }

.skill-import-proof-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.skill-import-proof-grid article {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px;
    border: 1px solid #dde5ef;
    border-radius: 12px;
    background: #f8fafc;
}
.skill-import-proof-grid article > span { color: #718096; font-size: 12px; }
.skill-import-proof-grid code { overflow: hidden; color: #334155; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.skill-import-proof-grid article.passed { border-color: #a6dfc7; background: #effbf6; }
.skill-import-proof-grid article.blocked { border-color: #f1b8b2; background: #fff4f2; }

.skill-import-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}
.skill-import-result-grid section { padding: 14px; border: 1px solid #dde5ef; border-radius: 12px; }
.skill-import-result-grid h3,
.skill-import-manifest h3,
.skill-import-approval h3 { margin: 0 0 8px; color: #26344a; font-size: 15px; }
.skill-import-result-grid ul { margin: 0; padding-left: 18px; color: #5f6d82; font-size: 12px; line-height: 1.6; }

.skill-import-manifest { margin-top: 14px; border: 1px solid #d9e3ef; border-radius: 13px; overflow: hidden; }
.skill-import-manifest header { display: flex; justify-content: space-between; gap: 16px; padding: 12px 14px; background: #f4f7fb; }
.skill-import-manifest header h3 { margin-bottom: 3px; }
.skill-import-manifest header p { margin: 0; color: #718096; font-size: 12px; }
.skill-import-manifest header > span { color: #5b3ab7; font-size: 12px; font-weight: 800; }
.skill-import-manifest pre {
    max-height: 300px;
    margin: 0;
    overflow: auto;
    padding: 16px;
    background: #111827;
    color: #d9e7ff;
    font: 12px/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    white-space: pre-wrap;
    word-break: break-word;
}

.skill-import-approval { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }
.skill-import-approval > h3,
.skill-import-approval > .skill-import-name { grid-column: 1 / -1; }
.skill-import-name { display: grid !important; grid-template-columns: 1fr !important; }
.skill-import-approved { display: grid; gap: 4px; border-color: #b7e4d2; background: #effbf6; color: #076b48; }
.danger-outline { color: #b42318 !important; border-color: #efb4ae !important; }

@media (max-width: 760px) {
    .skill-import-dialog { width: calc(100vw - 24px); padding: 20px 16px; }
    .skill-import-form,
    .skill-import-permissions,
    .skill-import-proof-grid,
    .skill-import-result-grid,
    .skill-import-approval { grid-template-columns: 1fr; }
    .skill-import-approval > h3,
    .skill-import-approval > .skill-import-name { grid-column: auto; }
    .component-catalog-legend { align-items: flex-start; }
}

/* 20260812 enterprise IA: compact, accessible, collapsed-by-default navigation. */
.console-main {
    grid-template-columns: 252px minmax(0, 1fr);
}

.sidebar {
    min-width: 0;
    padding: 16px 13px 22px;
    overflow-y: auto;
    background:
        radial-gradient(circle at 14% 0%, rgba(79, 70, 229, .07), transparent 30%),
        linear-gradient(180deg, #f8faff 0%, #f5f7fb 100%);
    border-right: 1px solid #e5eaf2;
}

.sidebar .profile-card {
    margin-bottom: 12px;
    padding: 12px 13px;
    border: 1px solid #e5e9f0;
    border-radius: 10px;
    background: rgba(255, 255, 255, .68);
    box-shadow: none;
}

/* The sidebar keeps identity and tenancy visible without the former oversized
   security/admin cards. It is intentionally one compact, non-interactive row. */
.sidebar-identity {
    min-width: 0;
    min-height: 38px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 7px;
    margin: 0 2px 10px;
    padding: 7px 9px;
    border-bottom: 1px solid #e2e7ef;
    color: #5f697c;
}

.sidebar-identity strong {
    min-width: 0;
    overflow: hidden;
    color: #252f42;
    font-size: 12px;
    font-weight: 740;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-identity span,
.sidebar-identity em {
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
}

.sidebar-identity em {
    padding: 4px 6px;
    border-radius: 999px;
    background: #edf2ff;
    color: #4353b8;
    font-style: normal;
    font-weight: 750;
}

.sidebar-identity em.admin {
    background: #fff5df;
    color: #9a5d08;
}

.sidebar .sidebar-menu {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.sidebar-menu-group {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 9px;
    background: transparent;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.sidebar-menu-group:hover {
    background: rgba(255, 255, 255, .58);
    box-shadow: none;
}

.sidebar-menu-group.has-active {
    background: rgba(238, 242, 252, .86);
}

.sidebar .sidebar-menu .sidebar-menu-group-toggle {
    width: 100%;
    min-height: 42px;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 6px 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #30384a;
    box-shadow: none;
    text-align: left;
}

.sidebar .sidebar-menu .sidebar-menu-group-toggle:hover {
    background: rgba(79, 70, 229, .035);
}

.sidebar-menu-group-icon {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #65708a;
}

.sidebar-menu-group.has-active .sidebar-menu-group-icon,
.sidebar-menu-group.expanded .sidebar-menu-group-icon {
    background: #e7edff;
    color: #4f46e5;
}

.sidebar-menu-group-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sidebar-menu-group-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.sidebar-menu-group-copy strong {
    overflow: hidden;
    color: #30384a;
    font-size: 13px;
    font-weight: 680;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-menu-group-copy small {
    overflow: hidden;
    color: #8b95a7;
    font-size: 10px;
    font-weight: 560;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-menu-group-state {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #9aa3b4;
}

.sidebar-menu-group-state i {
    width: 6px;
    height: 6px;
    padding: 0;
    overflow: hidden;
    border-radius: 50%;
    background: #4f46e5;
    color: #4f46e5;
    font-size: 0;
    font-style: normal;
    font-weight: 800;
}

.sidebar-menu-group-state svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .18s ease;
}

.sidebar-menu-group.expanded .sidebar-menu-group-state svg {
    transform: rotate(180deg);
}

.sidebar-menu-group-items {
    position: relative;
    display: grid;
    gap: 2px;
    padding: 2px 6px 7px 35px;
}

.sidebar-menu-group-items[hidden] {
    display: none;
}

.sidebar-menu-group-items::before {
    content: "";
    position: absolute;
    top: 3px;
    bottom: 10px;
    left: 20px;
    width: 1px;
    background: #e2e7f0;
}

.sidebar .sidebar-menu .sidebar-menu-item {
    position: relative;
    width: 100%;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #606a7d;
    box-shadow: none;
    font-size: 13px;
    font-weight: 620;
    line-height: 1.25;
    text-align: left;
}

.sidebar .sidebar-menu > .sidebar-menu-item {
    min-height: 42px;
    padding: 9px 11px;
    border-color: #e3e8f1;
    border-radius: 12px;
    background: rgba(255, 255, 255, .82);
}

.sidebar .sidebar-menu .sidebar-menu-item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -15px;
    width: 2px;
    height: 14px;
    border-radius: 2px;
    background: transparent;
    transform: translateY(-50%);
}

.sidebar .sidebar-menu > .sidebar-menu-item::before {
    display: none;
}

.sidebar .sidebar-menu .sidebar-menu-item:hover {
    border-color: #e0e6f2;
    background: #f2f5fb;
    color: #30384a;
}

.sidebar .sidebar-menu .sidebar-menu-item.active {
    border-color: #cfd8f8;
    background: #edf1ff;
    color: #30358f;
    box-shadow: inset 3px 0 #4f46e5;
}

.sidebar .sidebar-menu .sidebar-menu-item.active::before {
    background: #4f46e5;
    box-shadow: none;
}

.sidebar .sidebar-menu .sidebar-menu-item.active :is(span, b, strong, small) {
    color: inherit;
    -webkit-text-fill-color: currentColor;
}

.sidebar-menu-status {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 2px 6px;
    border: 1px solid #dce2ed;
    border-radius: 999px;
    background: #f7f8fb;
    color: #7a8496;
    font-size: 9px;
    font-weight: 680;
    line-height: 1.25;
}

.sidebar .sidebar-menu .sidebar-menu-item.planned:not(.active) {
    color: #667085;
}

.planned-capability {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
    max-width: 860px;
    margin: 24px auto;
    padding: 28px;
    border: 1px solid #dfe5ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(30, 41, 59, .05);
}
.planned-capability-icon { display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#eef2ff;color:#4338ca;font-weight:800; }
.planned-capability h2 { margin: 5px 0 8px; color:#172033; }
.planned-capability p,.planned-capability li { color:#64748b;line-height:1.7; }
.planned-capability ul { margin:12px 0 0;padding-left:20px; }

.view-titlebar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    min-height: 64px;
    margin: 0 0 16px;
    padding: 4px 2px 14px;
    border-bottom: 1px solid #e7ebf2;
}
.view-titlebar > div { min-width: 0; }
.view-titlebar span { display: block; margin-bottom: 4px; color: #667085; font-size: 12px; font-weight: 700; }
.view-titlebar h2 { margin: 0; overflow: hidden; color: #172033; font-size: clamp(21px, 2vw, 27px); letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
    .sidebar-menu-group,
    .sidebar-menu-group-state svg { transition: none; }
}

.sidebar .sidebar-menu :is(.sidebar-menu-group-toggle, .sidebar-menu-item):focus-visible {
    outline: 3px solid rgba(79, 70, 229, .2);
    outline-offset: 1px;
}

@media (max-width: 1180px) and (min-width: 901px) {
    .console-main {
        grid-template-columns: 226px minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .console-main {
        grid-template-columns: 1fr;
    }

    .sidebar {
        max-height: 44vh;
        border-right: 0;
        border-bottom: 1px solid #e5eaf2;
    }
}

/* CRM/OA interaction sizing contract. Filled actions always fit their content;
   they must never stretch into decorative blue tiles. */
:where(.content, #modal-root) :is(
    .primary-btn, .secondary-btn, .danger-btn, .ghost-btn, .mini-btn,
    .crm-insight-btn, .crm-ws-btn,
    .pb-button, .cc-button, .ca-button,
    .oas-primary, .oas-secondary, .oas-danger,
    .oad-button, .oto-primary, .oto-secondary, .oto-danger,
    .channel-page button, .crm-pool-page button,
    .oa-approval-workspace button, .domain-agent-center button,
    .arl-shell button
) {
    box-sizing: border-box;
    width: max-content;
    max-width: 100%;
    min-height: 38px;
    height: auto;
    padding: 7px 13px;
    flex: 0 0 auto;
    align-self: center;
    line-height: 1.25;
    white-space: nowrap;
}

:where(.content, #modal-root) :is(
    .pb-link, .cc-link, .ca-link, .crm-link-btn, .crm-table-link,
    .crm-pool-page [data-pool-view], .channel-page [data-channel-view],
    .oa-text-button, .arl-link-button
) {
    box-sizing: border-box;
    width: max-content;
    max-width: 100%;
    min-height: 38px;
    padding: 7px 10px;
}

@media (max-width: 680px) {
    :where(.content, #modal-root) :is(
        .primary-btn, .secondary-btn, .danger-btn, .ghost-btn, .mini-btn,
        .crm-insight-btn, .crm-ws-btn,
        .pb-button, .cc-button, .ca-button,
        .oas-primary, .oas-secondary, .oas-danger,
        .oad-button, .oto-primary, .oto-secondary, .oto-danger,
        .channel-page button, .crm-pool-page button,
        .oa-approval-workspace button, .domain-agent-center button,
        .arl-shell button,
        .pb-link, .cc-link, .ca-link, .crm-link-btn, .crm-table-link,
        .oa-text-button, .arl-link-button
    ) {
        min-height: 44px;
    }
}
