.segaswork-console .console-main { display: block; min-height: 0; }
.segaswork-content { height: calc(100vh - 94px); height: calc(100dvh - 94px); min-height: 0; padding: 0; overflow: hidden; }
.segaswork-content > .notice-bar { position: absolute; z-index: 20; top: 10px; left: 50%; transform: translateX(-50%); }

.segaswork-shell {
    --sw-blue: #2868e8;
    --sw-blue-soft: #edf4ff;
    --sw-ink: #182033;
    --sw-muted: #6c778b;
    --sw-line: #e5eaf2;
    --sw-font: Inter, "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    --sw-reading-width: 780px;
    display: grid;
    grid-template-columns: 268px minmax(520px, 1fr) 320px;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    color: var(--sw-ink);
    background: #f7f9fc;
    font-family: var(--sw-font);
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.segaswork-shell *, .segaswork-shell *::before, .segaswork-shell *::after { box-sizing: border-box; }
.segaswork-shell button, .segaswork-shell input, .segaswork-shell textarea, .segaswork-shell select { font: inherit; }
.segaswork-shell button { color: inherit; }

/* Keep every solid/gradient blue action readable without changing pale-blue selection states. */
.segaswork-shell .primary-btn,
.segaswork-shell button.sw-new-task,
.segaswork-shell button.sw-open-ppt-studio,
.segaswork-shell .sw-work-pagination button.active {
    color: #fff !important;
}
.segaswork-shell .primary-btn:hover,
.segaswork-shell .primary-btn:focus-visible,
.segaswork-shell .primary-btn:active,
.segaswork-shell button.sw-new-task:hover,
.segaswork-shell button.sw-new-task:focus-visible,
.segaswork-shell button.sw-new-task:active,
.segaswork-shell button.sw-open-ppt-studio:hover,
.segaswork-shell button.sw-open-ppt-studio:focus-visible,
.segaswork-shell button.sw-open-ppt-studio:active,
.segaswork-shell .sw-work-pagination button.active:hover,
.segaswork-shell .sw-work-pagination button.active:focus-visible {
    color: #fff !important;
}
.segaswork-shell .primary-btn > *,
.segaswork-shell button.sw-new-task > *,
.segaswork-shell button.sw-open-ppt-studio > *,
.segaswork-shell .sw-work-pagination button.active > * {
    color: inherit;
}
.segaswork-shell .primary-btn:disabled {
    color: #fff !important;
    opacity: .55;
    cursor: not-allowed;
}
.sw-icon { width: 19px; height: 19px; flex: 0 0 auto; }

.sw-left, .sw-right, .sw-center { min-width: 0; min-height: 0; background: #fff; }
.sw-left { display: flex; flex-direction: column; border-right: 1px solid var(--sw-line); padding: 18px 14px 14px; }
.sw-left-brand { display: flex; align-items: center; gap: 10px; padding: 4px 7px 18px; }
.sw-left-brand > div:last-child { display: grid; gap: 1px; }
.sw-left-brand strong { color: #121827; font-size: 18px; letter-spacing: -.02em; }
.sw-left-brand small { color: #8a94a6; font-size: 12px; }
.sw-brand-mark, .sw-orb { display: grid; place-items: center; color: white; font-weight: 900; background: linear-gradient(145deg, #2563eb, #42baf4); box-shadow: 0 10px 24px rgba(37, 99, 235, .22); }
.sw-brand-mark { width: 34px; height: 34px; border-radius: 11px; }
.sw-orb { width: 58px; height: 58px; margin-bottom: 4px; border-radius: 20px; font-size: 24px; }

.sw-new-task { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 42px; border: 0; border-radius: 12px; color: white !important; background: linear-gradient(135deg, #2c68ec, #3a8df3); box-shadow: 0 9px 20px rgba(37, 99, 235, .18); cursor: pointer; font-weight: 750; }
.sw-new-task:hover { transform: translateY(-1px); box-shadow: 0 11px 25px rgba(37, 99, 235, .24); }
.sw-session-search { display: flex; align-items: center; gap: 7px; margin: 13px 0 15px; padding: 0 11px; border: 1px solid var(--sw-line); border-radius: 11px; background: #f7f9fc; }
.sw-session-search .sw-icon { width: 16px; color: #98a2b2; }
.sw-session-search input { min-width: 0; width: 100%; height: 36px; border: 0; outline: 0; color: var(--sw-ink); background: transparent; font-size: 13px; }
.sw-session-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 7px 8px; color: #8a94a5; font-size: 12px; font-weight: 700; }
.sw-session-heading b { min-width: 22px; padding: 2px 6px; border-radius: 999px; color: #617087; background: #eef2f7; text-align: center; }
.sw-project-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 2px 5px 7px; color: #8993a4; font-size: 12px; font-weight: 750; }
.sw-project-heading button { display: flex; align-items: center; gap: 5px; min-height: 28px; padding: 0 7px; border: 0; border-radius: 8px; color: #314156; background: transparent; cursor: pointer; font-weight: 750; }
.sw-project-heading button:hover { color: #245ebf; background: #edf4ff; }
.sw-project-heading .sw-icon { width: 15px; height: 15px; }
.sw-project-list { display: grid; gap: 3px; max-height: 148px; margin: 0 0 10px; overflow: auto; }
.sw-project-list > button { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 7px; min-height: 36px; padding: 6px 9px; border: 0; border-radius: 9px; color: #53647d; background: transparent; text-align: left; cursor: pointer; }
.sw-project-list > button:hover, .sw-project-list > button.active { color: #245ebf; background: #edf4ff; }
.sw-project-list .sw-icon { width: 16px; height: 16px; }
.sw-project-list b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sw-project-list small { min-width: 22px; padding: 2px 6px; border-radius: 999px; color: #718096; background: #eef2f7; text-align: center; font-size: 11px; }
.sw-tool-heading { padding-top: 1px; }
.sw-left-tools { display: grid; grid-template-columns: minmax(0,1fr); gap: 3px; margin: 0 0 10px; }
.sw-left-tools button { display: flex; align-items: center; gap: 6px; min-width: 0; min-height: 34px; padding: 7px 8px; border: 1px solid transparent; border-radius: 9px; color: #53647c; background: transparent; cursor: pointer; text-align: left; }
.sw-left-tools button:hover, .sw-left-tools button.active { border-color: #cfe0fa; color: #245ebf; background: #edf4ff; }
.sw-left-tools button:disabled { opacity: .42; cursor: not-allowed; }
.sw-left-tools button > span { display: grid; place-items: center; }
.sw-left-tools .sw-icon { width: 15px; height: 15px; }
.sw-left-tools b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sw-ip-heading { padding-top: 2px; }
.sw-ip-entry { margin: 0 0 11px; }
.sw-ip-entry > button { display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 9px; width: 100%; min-height: 48px; padding: 7px 9px; border: 1px solid #cfe0fa; border-radius: 10px; color: #234e91; background: #f2f7ff; cursor: pointer; text-align: left; }
.sw-ip-entry > button:hover { border-color: #9bbcf0; background: #e8f2ff; transform: translateY(-1px); }
.sw-ip-entry > button:focus-visible { outline: 3px solid rgba(37,94,191,.24); outline-offset: 2px; }
.sw-ip-entry > button > span:first-child { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #fff; background: #2c66b8; }
.sw-ip-entry .sw-icon { width: 16px; height: 16px; }
.sw-ip-entry > button > span:last-child { display: grid; min-width: 0; gap: 2px; }
.sw-ip-entry b, .sw-ip-entry small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sw-ip-entry b { color: #173d76; font-size: 12px; }
.sw-ip-entry small { color: #667b98; font-size: 11px; }
.sw-space-heading { padding-top: 2px; }
.sw-space-list { display: grid; gap: 5px; margin: 0 0 12px; }
.sw-space-list > div { display: grid; grid-template-columns: 27px minmax(0,1fr); align-items: center; gap: 2px 8px; padding: 8px 9px; border-radius: 10px; color: #526680; background: #f4f7fb; }
.sw-space-list > div > span { grid-row: 1 / span 2; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; color: #2e66c4; background: #e8f1ff; }
.sw-space-list .sw-icon { width: 15px; height: 15px; }
.sw-space-list b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sw-space-list small { color: #8d98a9; font-size: 12px; }
.sw-session-history { display: flex; flex: 1; min-height: 0; flex-direction: column; overflow: hidden; }
.sw-session-list { display: grid; align-content: start; gap: 5px; flex: 1; min-height: 0; overflow: auto; padding-right: 2px; scrollbar-gutter: stable; }
.sw-session-item { position: relative; border-radius: 11px; border: 1px solid transparent; overflow: hidden; }
.sw-session-item:hover, .sw-session-item.active { border-color: #dce7fa; background: #f0f5fd; }
.sw-session-main { display: grid; gap: 4px; width: 100%; padding: 10px 30px 10px 11px; border: 0; background: transparent; text-align: left; cursor: pointer; }
.sw-session-main strong, .sw-session-main span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sw-session-main strong { color: #2a3448; font-size: 13px; }
.sw-session-main span { color: #7c8799; font-size: 12px; }
.sw-session-main small { color: #a0a9b8; font-size: 11px; }
.sw-session-actions { position: absolute; top: 7px; right: 5px; display: flex; opacity: 0; }
.sw-session-item:hover .sw-session-actions, .sw-session-item.active .sw-session-actions { opacity: 1; }
.sw-session-actions button { width: 24px; height: 22px; border: 0; border-radius: 7px; color: #8190a3; background: transparent; cursor: pointer; }
.sw-session-actions button:hover { color: #1d4ed8; background: white; }
.sw-shared-session { position: absolute; top: 9px; right: 7px; padding: 3px 7px; border-radius: 999px; color: #708097; background: #eef2f7; font-size: 12px; font-weight: 700; }
.sw-left-foot { display: flex; align-items: center; gap: 9px; margin-top: 12px; padding: 11px; border-top: 1px solid #edf0f5; color: #59708e; }
.sw-left-foot > div { display: grid; gap: 2px; }
.sw-left-foot b { font-size: 12px; }
.sw-left-foot small { color: #98a3b3; font-size: 11px; }
.sw-left-privacy { display: flex; align-items: center; gap: 6px; margin-top: 8px; padding: 0 4px; color: #8b96a7; font-size: 12px; }.sw-left-privacy .sw-icon { width: 13px; height: 13px; }

.sw-center { position: relative; isolation: isolate; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; background: #fff; }
.sw-chat-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 58px; padding: 9px 22px; border-bottom: 1px solid #eceff3; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.sw-chat-head > div { display: flex; align-items: center; gap: 9px; min-width: 0; }
.sw-chat-head > div:first-child > div { min-width: 0; }
.sw-status-dot { width: 8px; height: 8px; border-radius: 999px; background: #29b67a; box-shadow: 0 0 0 4px rgba(41, 182, 122, .11); }
.sw-chat-head h2 { overflow: hidden; margin: 0; color: #202123; font-size: 15px; font-weight: 650; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.sw-chat-head p { margin: 2px 0 0; color: #8b8d92; font-size: 12px; }
.sw-chat-head > div:last-child { justify-content: flex-end; gap: 12px; flex-wrap: nowrap; }
.sw-chat-head > div:last-child span { overflow: hidden; max-width: 220px; padding: 0; color: #7a7d83; background: transparent; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sw-chat-head > div:last-child span + span { padding-left: 12px; border-left: 1px solid #e4e5e7; }
.sw-chat-head > div:last-child .sw-runtime-chip { max-width: 96px; color: #295fbc; font-weight: 750; }

.sw-message-board { min-height: 0; overflow-x: hidden; overflow-y: auto; overflow-anchor: none; overscroll-behavior: contain; scrollbar-gutter: stable; scroll-behavior: auto; padding: 34px clamp(24px, 6vw, 96px) 20px; }
.sw-empty-chat { display: grid; justify-items: center; max-width: 720px; margin: 8vh auto 0; text-align: center; }
.sw-empty-chat h2 { margin: 14px 0 7px; color: #172033; font-size: clamp(23px, 2.3vw, 32px); letter-spacing: -.035em; }
.sw-empty-chat p { max-width: 580px; margin: 0; color: #6d788c; line-height: 1.75; }
.sw-tool-landing { width: min(880px, 100%); margin: 12px auto 24px; padding-bottom: 24px; }
.sw-tool-landing > header { display: grid; grid-template-columns: 54px minmax(0,1fr); align-items: center; gap: 15px; padding: 18px 20px; border: 1px solid #e0e7f1; border-radius: 20px; background: linear-gradient(135deg,#fff,#f5f8ff); box-shadow: 0 13px 38px rgba(38,69,119,.08); }
.sw-tool-landing > header > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; color: white; background: linear-gradient(135deg,#2868e8,#38bdf8); }.sw-tool-landing > header .sw-icon { width: 26px; height: 26px; }
.sw-tool-landing > header small { color: #2f6bd3; font-size: 11px; font-weight: 850; letter-spacing: .1em; }.sw-tool-landing > header h2 { margin: 3px 0 4px; color: #172033; font-size: 23px; }.sw-tool-landing > header p { margin: 0; color: #6b7890; font-size: 13px; line-height: 1.65; }
.sw-tool-categories { display: flex; flex-wrap: wrap; gap: 7px; padding: 14px 2px 4px; }.sw-tool-categories span { padding: 6px 10px; border: 1px solid #dce5f2; border-radius: 999px; color: #526580; background: #fff; font-size: 12px; }
.sw-tool-starters, .sw-tool-real-cases { margin-top: 15px; }.sw-tool-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 9px; }.sw-tool-section-title b { color: #202c42; font-size: 15px; }.sw-tool-section-title span { color: #8a96a8; font-size: 11px; }
.sw-tool-starters > div:last-of-type, .sw-tool-real-cases > div:last-child { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.sw-tool-starters button:not(.sw-open-ppt-studio), .sw-tool-real-cases button { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 2px 9px; min-width: 0; padding: 12px; border: 1px solid #e0e7f0; border-radius: 13px; color: #26344b; background: white; text-align: left; cursor: pointer; }
.sw-tool-starters button:hover, .sw-tool-real-cases button:hover { border-color: #b9cff2; box-shadow: 0 9px 24px rgba(45,85,151,.09); transform: translateY(-1px); }.sw-tool-starters button > span, .sw-tool-real-cases button > span { grid-row: 1 / span 2; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: #2868e8; background: #edf4ff; }.sw-tool-starters button .sw-icon, .sw-tool-real-cases button .sw-icon { width: 16px; }.sw-tool-starters button b, .sw-tool-real-cases button b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.sw-tool-starters button small, .sw-tool-real-cases button small { overflow: hidden; color: #7e8a9d; font-size: 11px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.sw-open-ppt-studio { margin-top: 10px; padding: 9px 14px; border: 0; border-radius: 10px; color: white; background: #2868e8; cursor: pointer; font-weight: 750; }.sw-tool-case-empty { grid-column: 1 / -1; padding: 22px; border: 1px dashed #d8e1ed; border-radius: 13px; color: #8995a7; background: #fbfcfe; text-align: center; font-size: 12px; }
.sw-example-tasks { width: min(760px, 100%); margin-top: 20px; text-align: left; }
.sw-example-tasks > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; padding: 0 2px; }
.sw-example-tasks > div:first-child b { color: #344259; font-size: 13px; }.sw-example-tasks > div:first-child span { color: #929cad; font-size: 12px; }
.sw-starter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; width: 100%; margin-top: 25px; }
.sw-example-tasks .sw-starter-grid { margin-top: 0; }
.sw-starter-grid button { display: grid; gap: 3px; min-height: 66px; padding: 12px; border: 1px solid #e2e8f2; border-radius: 13px; color: #4c5a70; background: #fff; cursor: pointer; line-height: 1.45; text-align: left; }
.sw-starter-grid button b { font-size: 13px; }.sw-starter-grid button span { color: #8d98a9; font-size: 12px; }
.sw-starter-grid button:hover { border-color: #a9c2f5; color: #2257b9; box-shadow: 0 8px 22px rgba(37,99,235,.08); }

.sw-message { contain: inline-size; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 13px; width: min(var(--sw-reading-width), 100%); margin: 0 auto 28px; overflow-anchor: none; }
.sw-message.user { grid-template-columns: minmax(0, 1fr); }
.sw-message.user .sw-message-body { grid-column: 1; grid-row: 1; justify-self: end; max-width: min(74%, 620px); padding: 11px 15px; border: 1px solid #e2e9f5; border-radius: 18px 6px 18px 18px; background: #f2f6fc; }
.sw-message-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: white; background: linear-gradient(145deg,#2868e8,#41a9ee); box-shadow: 0 4px 12px rgba(40,104,232,.14); font-size: 11px; font-weight: 800; }
.sw-message-body { min-width: 0; }
.sw-message-meta { display: flex; align-items: center; gap: 8px; min-height: 24px; }
.sw-message-meta strong { color: #27282b; font-size: 13px; font-weight: 650; }
.sw-message-meta time { color: #a0a2a7; font-size: 11px; }
.sw-live-badge { padding: 3px 7px; border-radius: 999px; color: #21714f; background: #e8f8f0; font-size: 11px; font-weight: 700; }
.sw-markdown { color: #292a2d; font-size: 16px; line-height: 1.75; letter-spacing: .002em; overflow-wrap: anywhere; }
.sw-markdown p { margin: 7px 0 12px; }
.sw-markdown h2, .sw-markdown h3, .sw-markdown h4 { margin: 20px 0 9px; color: #151e30; line-height: 1.4; }
.sw-markdown h2 { font-size: 20px; }.sw-markdown h3 { font-size: 17px; }.sw-markdown h4 { font-size: 15px; }
.sw-markdown ul, .sw-markdown ol { margin: 8px 0 12px; padding-left: 22px; }
.sw-markdown li { margin: 5px 0; }
.sw-markdown strong { color: #202124; font-weight: 680; background: none; }
.sw-markdown code { padding: 2px 5px; border-radius: 5px; color: #1d4ed8; background: #edf3fc; font-size: .92em; }
.sw-markdown pre { max-width: 100%; overflow: auto; padding: 14px; border-radius: 11px; color: #e7edf7; background: #172033; }
.sw-markdown pre code { padding: 0; color: inherit; background: transparent; }
.sw-markdown blockquote { margin: 10px 0; padding: 8px 13px; border-left: 3px solid #79a3f2; color: #586980; background: #f3f7fd; }
.sw-markdown a { color: #2466d9; text-decoration: none; }
.sw-message .sw-markdown hr { display: none; }
.sw-markdown-table { max-width: 100%; margin: 12px 0; overflow-x: auto; border: 1px solid #dfe6f0; border-radius: 11px; }
.sw-markdown table { width: 100%; border-collapse: collapse; table-layout: fixed; background: white; }
.sw-markdown th, .sw-markdown td { min-width: 120px; padding: 9px 10px; border-right: 1px solid #e5eaf2; border-bottom: 1px solid #e5eaf2; vertical-align: top; text-align: left; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.sw-markdown th { color: #4d5d74; background: #f3f6fa; font-size: 12px; }
.sw-message-actions { display: flex; align-items: center; gap: 2px; margin-top: 7px; opacity: .64; transition: opacity .12s ease; }
.sw-message:hover .sw-message-actions, .sw-message:focus-within .sw-message-actions { opacity: 1; }
.sw-message-actions button { display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 8px; color: #8c97a8; background: transparent; cursor: pointer; }
.sw-message-actions button:hover, .sw-message-actions button.active { color: #2868e8; background: #edf4ff; }
.sw-message-actions .sw-icon { width: 15px; height: 15px; }
.sw-load-older { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; margin: 0 auto 22px; padding: 0 14px; border: 1px solid #dbe4f0; border-radius: 999px; color: #4a6386; background: #fff; cursor: pointer; font-size: 12px; font-weight: 700; box-shadow: 0 5px 15px rgba(35,57,91,.05); }
.sw-load-older:hover { border-color: #9ebcf0; color: #245ebf; background: #f5f9ff; }
.sw-load-older .sw-icon { width: 14px; height: 14px; }
.sw-message-state { display: grid; gap: 3px; margin: 7px 0; padding: 10px 12px; border: 1px solid #dfe6ef; border-radius: 10px; color: #66758b; background: #f7f9fc; font-size: 12px; line-height: 1.55; }
.sw-message-state.failed { border-color: #f1c9ce; color: #9f3440; background: #fff1f2; }
.sw-message-state.cancelled { border-color: #e2e6ec; color: #697487; background: #f3f5f8; }

.sw-task-steps { display: grid; gap: 7px; margin: 6px 0 13px; padding: 12px; border: 1px solid #e3e9f2; border-radius: 12px; background: #f8fafc; }
.sw-task-steps > strong { color: #536278; font-size: 12px; }
.sw-task-step { display: flex; align-items: flex-start; gap: 8px; }
.sw-task-step i { display: grid; place-items: center; width: 18px; height: 18px; margin-top: 1px; border-radius: 999px; color: white; background: #37af79; font-size: 11px; font-style: normal; }
.sw-task-step.running i { border: 2px solid #c8d8fa; border-top-color: #2868e8; background: transparent; animation: sw-spin .8s linear infinite; }
.sw-task-step.failed i { background: #e04b55; }
.sw-task-step.cancelled i { background: #8b96a7; }
.sw-task-step span { display: grid; gap: 2px; }
.sw-task-step > em { margin-left: auto; color: #60718a; font-size: 12px; font-style: normal; font-weight: 700; }
.sw-task-step b { color: #354258; font-size: 13px; }
.sw-task-step small { color: #7f899a; font-size: 12px; line-height: 1.5; }
.sw-task-step .sw-task-step-kind { display: block; color: #7587a2; font-size: 11px; font-weight: 800; letter-spacing: .055em; }
.sw-task-step.tool-event { padding: 7px 8px; border: 1px solid #dae6f7; border-radius: 9px; background: #f4f8ff; }
.sw-task-step.tool-event i { background: #356dcc; }
.sw-citations { margin-top: 12px; border: 1px solid #dce6f4; border-radius: 10px; background: #f7faff; }
.sw-citations summary { padding: 8px 11px; color: #315f9f; cursor: pointer; font-size: 12px; font-weight: 700; }
.sw-citations > div { display: grid; gap: 5px; padding: 0 10px 9px; }
.sw-citations a, .sw-citations > div > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 8px; border-radius: 7px; color: #44536a; background: white; text-decoration: none; font-size: 12px; }
.sw-citations a > em, .sw-citations > div > div > em { margin-right: auto; padding: 2px 6px; border-radius: 999px; color: #245ebf; background: #eaf2ff; font-style: normal; font-weight: 750; }
.sw-citations a > span, .sw-citations > div > div > span { overflow: hidden; max-width: 66%; text-overflow: ellipsis; white-space: nowrap; }
.sw-citations a:hover { color: #1d5ecb; }
.sw-running-line { display: flex; align-items: center; gap: 9px; padding: 11px 0; color: #63728a; font-size: 13px; }
.sw-running-line i { width: 17px; height: 17px; border: 2px solid #cfddf5; border-top-color: #2868e8; border-radius: 999px; animation: sw-spin .8s linear infinite; }
@keyframes sw-spin { to { transform: rotate(360deg); } }

.sw-composer-wrap { position: relative; z-index: 8; flex: 0 0 auto; width: 100%; padding: 10px max(16px, calc((100% - 820px) / 2)) 12px; background: linear-gradient(180deg, rgba(255,255,255,0), #fff 22%); }
.sw-composer { position: relative; width: min(780px, calc(100% - 32px)); min-height: 116px; margin: 0 auto; border: 0; border-radius: 18px; background: #fff; box-shadow: none; overflow: visible; transition: background-color .14s ease; }
.sw-composer-wrap.empty-active, .sw-composer-wrap.conversation-active { padding-top: 10px; padding-bottom: 12px; }
.sw-composer-wrap.empty-active .sw-composer, .sw-composer-wrap.conversation-active .sw-composer { min-height: 116px; border-radius: 18px; }
.sw-composer:focus-within { border: 0; box-shadow: none; background: #fbfcfe; }
.sw-composer.drag-active { background: #f5f8fd; outline: 2px dashed #4d83e8; outline-offset: -2px; box-shadow: none; }
.sw-composer textarea { display: block; width: 100%; min-height: 64px; max-height: 160px; resize: none; padding: 16px 17px 8px; border: 0; outline: 0; color: #252629; background: transparent; box-shadow: none; font-size: 16px; line-height: 1.55; overflow-y: hidden; scrollbar-gutter: stable; }
.sw-composer textarea::placeholder { color: #989ba2; }
.sw-composer-bar { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 4px 8px 8px; overflow: visible; }
.sw-composer-left { display: flex; align-items: center; flex-wrap: nowrap; gap: 8px; min-width: 0; overflow-x: auto; overflow-y: visible; overscroll-behavior-inline: contain; scrollbar-width: none; }
.sw-composer-left::-webkit-scrollbar { display: none; }
.sw-composer-tool-group { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 6px; }
.sw-composer-tool-group + .sw-composer-tool-group { padding-left: 8px; border-left: 1px solid #e7e8eb; }
.sw-composer-tool-group.primary-tools { color: #4f535a; }
.sw-composer-tool-group.context-tools { color: #74777d; }
.sw-icon-button { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 9px; color: #6d7b90; background: #f4f6f9; cursor: pointer; }
.sw-composer-pill { display: inline-flex; align-items: center; gap: 5px; min-width: 0; min-height: 34px; padding: 0 9px; border: 1px solid transparent; border-radius: 999px; color: #555960; background: transparent; font-size: 12px; white-space: nowrap; }
button.sw-composer-pill { cursor: pointer; }
.sw-composer-pill:hover { border-color: #dfe4ec; color: #245ebf; background: #f6f8fb; }
.sw-composer-pill.attachment { border-color: #dfe2e7; background: #fafafa; }
.sw-composer-pill .sw-icon { width: 15px; height: 15px; }
.sw-composer-pill select { min-width: 0; max-width: 180px; height: 30px; padding: 0 22px 0 0; border: 0; outline: 0; color: inherit; background: transparent; font-size: 12px; cursor: pointer; }
.sw-composer-pill.model select { max-width: 220px; }
.sw-model-field-label { color: #778399; font-size: 11px; font-weight: 750; }
.sw-composer-pill.model-mode { gap: 4px; border-color: #dce7f7; color: #315c99; background: #f4f8ff; }
.sw-model-mode-label { color: #73829a; font-size: 11px; }
.sw-composer-pill.model-mode select { max-width: 88px; font-weight: 750; }
.sw-composer-pill.model-mode select:disabled { cursor: default; opacity: 1; }
.sw-composer-pill.runtime-mode { gap: 4px; border-color: #d8e8df; color: #23694c; background: #f2faf6; }
.sw-composer-pill.runtime-mode select { max-width: 104px; font-weight: 750; }
.sw-composer-pill.runtime-mode select:disabled { cursor: default; opacity: 1; }
.sw-composer-pill.image-upload { position: relative; cursor: pointer; }
.sw-composer-pill.image-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.sw-composer-pill.voice:disabled { opacity: .56; cursor: not-allowed; }
.sw-composer-base-action { position: relative; display: grid; grid-template-rows: 18px auto; place-items: center; gap: 1px; min-width: 52px; min-height: 42px; padding: 3px 8px; border: 1px solid transparent; border-radius: 10px; color: #4e5662; background: transparent; cursor: pointer; font-size: 11px; line-height: 1.1; white-space: nowrap; }
.sw-composer-base-action:hover, .sw-composer-base-action:focus-visible, .sw-composer-base-action.active { border-color: #cbdcf5; color: #245ebf; background: #f1f6fe; outline: 0; }
.sw-composer-base-action .sw-icon { width: 18px; height: 18px; }
.sw-composer-base-action > b { position: absolute; top: 0; right: 2px; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; color: white; background: #2868e8; font-size: 11px; }
.sw-composer-add { position: relative; }
.sw-composer-add-menu { position: absolute; z-index: 90; bottom: 49px; left: 8px; display: grid; width: 244px; padding: 7px; border: 1px solid #dae2ed; border-radius: 14px; background: white; box-shadow: 0 18px 48px rgba(22,39,69,.18); }
.sw-composer-add-menu > button { display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px; border: 0; border-radius: 10px; color: #3c4b61; background: transparent; text-align: left; cursor: pointer; }
.sw-composer-add-menu > button:hover { color: #245ebf; background: #f2f7ff; }
.sw-composer-add-menu > button > .sw-icon { width: 19px; height: 19px; }
.sw-composer-add-menu > button > span { display: grid; gap: 2px; }
.sw-composer-add-menu b { font-size: 13px; }.sw-composer-add-menu small { color: #8b96a7; font-size: 11px; }
.sw-composer-agent-menu { width: 380px; max-height: min(620px, 72vh); overflow-y: auto; }
.sw-composer-agent-menu > header { display: grid; gap: 2px; padding: 6px 9px 8px; border-bottom: 1px solid #edf1f5; }
.sw-composer-agent-menu > header b { color: #2c3a50; }
.sw-composer-agent-menu > header small { color: #7c899c; line-height: 1.4; }
.sw-composer-agent-menu > button.active { color: #245ebf; background: #edf4ff; }
.sw-composer-agent-menu > button:disabled { opacity: .48; cursor: not-allowed; }
.sw-composer-agent-menu > .sw-agent-directory-link { margin-top: 4px; border-top: 1px solid #edf1f5; border-radius: 0 0 10px 10px; }
.sw-agent-choice-list { display: grid; gap: 3px; padding: 6px 0; border-bottom: 1px solid #edf1f5; }
.sw-agent-choice-list > button { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 8px; width: 100%; padding: 9px; border: 0; border-radius: 10px; color: #3c4b61; background: transparent; text-align: left; cursor: pointer; }
.sw-agent-choice-list > button:hover, .sw-agent-choice-list > button:focus-visible, .sw-agent-choice-list > button.active { outline: 0; color: #245ebf; background: #edf4ff; }
.sw-agent-choice-list > button:disabled { opacity: .5; cursor: not-allowed; }
.sw-agent-choice-list .sw-icon { width: 18px; height: 18px; }
.sw-agent-choice-list span { display: grid; gap: 2px; min-width: 0; }
.sw-agent-choice-list span b, .sw-agent-choice-list span small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sw-agent-choice-list em { max-width: 94px; padding: 3px 6px; border-radius: 999px; color: #64748b; background: #f0f3f7; font-size: 11px; font-style: normal; white-space: nowrap; }
.sw-composer-agent-menu > .sw-agent-create-link { margin: 5px 0; border: 1px dashed #b9cff1; color: #245ebf; background: #f7faff; }
.sw-agent-runtime-details { margin: 2px 0; border-top: 1px solid #edf1f5; border-bottom: 1px solid #edf1f5; }
.sw-agent-runtime-details summary { padding: 9px; color: #5e6d83; cursor: pointer; font-size: 12px; font-weight: 750; }
.sw-agent-runtime-details > button { display: grid; grid-template-columns: 26px minmax(0,1fr); align-items: center; gap: 8px; width: 100%; padding: 8px 9px; border: 0; border-radius: 9px; color: #526177; background: transparent; text-align: left; cursor: pointer; }
.sw-agent-runtime-details > button:hover, .sw-agent-runtime-details > button.active { color: #245ebf; background: #f2f7ff; }
.sw-agent-runtime-details > button:disabled { opacity: .48; cursor: not-allowed; }
.sw-agent-runtime-details .sw-icon { width: 16px; height: 16px; }
.sw-agent-runtime-details span { display: grid; gap: 1px; }
.sr-only { 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; }
.sw-model-setup-button { height: 32px; padding: 0 8px; border: 0; border-radius: 8px; color: #73777e; background: transparent; cursor: pointer; font-size: 12px; white-space: nowrap; }
.sw-model-setup-button:hover { border-color: #a8c1ee; color: #245ebf; }
.sw-doc-count { overflow: hidden; max-width: 150px; color: #929cad; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sw-send-button { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border: 0; border-radius: 999px; color: white !important; background: #2868e8; cursor: pointer; box-shadow: 0 4px 12px rgba(40,104,232,.2); }
.sw-send-button:disabled { color: #aab3c2 !important; background: #edf0f4; cursor: not-allowed; }
.sw-send-button.stop { background: #445168; }
.sw-selected-docs { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px 0; }
.sw-selected-docs > span { display: flex; align-items: center; gap: 5px; max-width: 240px; padding: 5px 7px; border: 1px solid #d9e5f7; border-radius: 8px; color: #3d5f92; background: #f3f7fe; font-size: 12px; }
.sw-selected-docs .sw-icon { width: 13px; height: 13px; }
.sw-selected-docs b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sw-selected-docs button { border: 0; color: #7891b7; background: transparent; cursor: pointer; }
.sw-selected-knowledge-bases { display: flex; flex-wrap: wrap; gap: 6px; padding: 7px 12px 0; }
.sw-selected-knowledge-bases > span { display: flex; align-items: center; gap: 5px; max-width: 290px; padding: 5px 7px; border: 1px solid #d8e7dc; border-radius: 8px; color: #236344; background: #f0faf4; font-size: 12px; }
.sw-selected-knowledge-bases .sw-icon { width: 13px; height: 13px; }
.sw-selected-knowledge-bases b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sw-selected-knowledge-bases small { color: #668675; white-space: nowrap; }
.sw-selected-knowledge-bases button { border: 0; color: #668675; background: transparent; cursor: pointer; }
.sw-image-attachments { display: flex; gap: 8px; padding: 12px 14px 0; overflow-x: auto; }
.sw-image-attachments figure { position: relative; flex: 0 0 78px; width: 78px; margin: 0; }
.sw-image-attachments img { display: block; width: 78px; height: 62px; border: 1px solid #d8e1ee; border-radius: 11px; background: #f2f5f9; object-fit: cover; }
.sw-image-attachments figcaption { overflow: hidden; margin-top: 3px; color: #7a8799; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sw-image-attachments button { position: absolute; top: -6px; right: -6px; display: grid; place-items: center; width: 20px; height: 20px; padding: 0; border: 2px solid white; border-radius: 999px; color: white; background: #344157; cursor: pointer; font-size: 13px; }
.sw-mode-guide { display: flex; gap: 8px; padding: 9px 13px; border-bottom: 1px solid #edf1f6; color: #64748b; background: #f7faff; font-size: 12px; line-height: 1.5; }
.sw-mode-guide b { flex: 0 0 auto; color: #245ebf; }
.sw-ai-note { margin: 7px 0 0; color: #9a9da3; text-align: center; font-size: 11px; }
.sw-message-thinking { display: block; margin-bottom: 22px; }
.sw-message-thinking .sw-message-body { width: 100%; }
.sw-message-thinking .sw-message-actions { display: none; }
.sw-generation-status { display: inline-flex; align-items: center; gap: 8px; min-height: 28px; margin: 0; padding: 0; border: 0; color: #69778c; background: transparent; font-size: 13px; }
.sw-generation-indicator { flex: 0 0 auto; width: 7px; height: 7px; border: 0; border-radius: 999px; background: #5e8ddb; animation: sw-thinking-pulse 1.3s ease-in-out infinite; }
.sw-generation-status.delayed { color: #8b6b35; }
.sw-generation-status.delayed .sw-generation-indicator { background: #c9953d; }
.sw-generation-status > button { min-height: 28px; padding: 0 5px; border: 0; color: #315f9f; background: transparent; cursor: pointer; font-size: 12px; white-space: nowrap; }
@keyframes sw-thinking-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
.sw-model-warning, .sw-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: min(780px, calc(100% - 32px)); margin: 0 auto 7px; padding: 8px 11px; border-radius: 9px; font-size: 12px; }
.sw-model-warning { color: #8a5c1f; background: #fff6df; }.sw-error { color: #9c3440; background: #fff0f1; }
.sw-model-warning button, .sw-error button { border: 0; color: inherit; background: transparent; cursor: pointer; font-weight: 800; }

.sw-document-popover, .sw-knowledge-popover { position: absolute; z-index: 85; left: 50%; bottom: 102px; width: min(660px, calc(100% - 32px)); max-height: min(620px, 76vh); transform: translateX(-50%); border: 1px solid #dce3ed; border-radius: 16px; background: white; box-shadow: 0 24px 70px rgba(25,43,74,.2); overflow: hidden; }
.sw-navigation-fault { display: grid; gap: 8px; margin: 12px 2px; padding: 13px; border: 1px solid #f0d1a0; border-radius: 12px; color: #805b1f; background: #fff8e8; font-size: 12px; line-height: 1.5; }
.sw-navigation-fault b { color: #6f4c17; font-size: 13px; }.sw-navigation-fault button { justify-self: start; min-height: 30px; padding: 0 9px; border: 1px solid #e5c480; border-radius: 8px; color: #765117; background: white; cursor: pointer; font-weight: 750; }
.sw-service-fault .primary-btn { min-height: 38px; margin-top: 4px; padding: 0 14px; border: 0; border-radius: 10px; color: white; background: #2868e8; cursor: pointer; font-weight: 750; }
.sw-popover-head, .sw-popover-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; }
.sw-popover-head { border-bottom: 1px solid #edf0f4; }
.sw-popover-head > div { display: grid; gap: 2px; }.sw-popover-head strong { font-size: 15px; }.sw-popover-head small { color: #8d97a8; font-size: 12px; }
.sw-popover-head > button { display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 8px; background: #f3f5f8; cursor: pointer; }
.sw-document-search { display: flex; align-items: center; gap: 7px; margin: 10px 14px; padding-left: 10px; border: 1px solid #e1e7ef; border-radius: 10px; background: #f8fafc; }
.sw-document-search .sw-icon { width: 15px; color: #98a2b2; }.sw-document-search input { flex: 1; min-width: 0; height: 38px; border: 0; outline: 0; background: transparent; font-size: 13px; }.sw-document-search button { align-self: stretch; padding: 0 13px; border: 0; border-left: 1px solid #e1e7ef; color: #3266ba; background: white; cursor: pointer; font-size: 12px; }
.sw-document-list { display: grid; align-content: start; max-height: 330px; overflow: auto; padding: 2px 14px 10px; }
.sw-document-row-wrap { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; border-bottom: 1px solid #f0f2f5; }
.sw-document-row-wrap .sw-document-row { border-bottom: 0; }
.sw-document-knowledge-action { margin-right: 7px; padding: 6px 8px; border: 1px solid #d9e4f4; border-radius: 8px; color: #2b64c1; background: #f7faff; cursor: pointer; font-size: 12px; white-space: nowrap; }
.sw-document-knowledge-action:hover { border-color: #a9c2ec; background: #edf4ff; }
.sw-document-row { display: grid; grid-template-columns: auto 31px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px 7px; border-bottom: 1px solid #f0f2f5; cursor: pointer; }
.sw-document-row:hover { background: #f8faff; }.sw-document-row input { width: 16px; height: 16px; accent-color: #2868e8; }.sw-document-row > span:last-child { display: grid; gap: 2px; min-width: 0; }.sw-document-row b, .sw-document-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sw-document-row b { color: #38455a; font-size: 13px; }.sw-document-row small { color: #8d97a7; font-size: 12px; }
.sw-document-row.pending { cursor: wait; opacity: .82; background: #f8fafc; }
.sw-document-row.pending:hover { background: #f8fafc; }
.sw-document-row.pending input { cursor: not-allowed; }
.sw-document-row.pending.failed { cursor: default; border-color: #f1d7da; background: #fff7f7; }
.sw-document-row.pending.failed .sw-file-icon { color: #ae3c47; background: #ffeaec; }
.sw-file-icon { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 8px; color: #3166bd; background: #eaf2ff; font-size: 11px; font-weight: 850; }
.sw-popover-foot { border-top: 1px solid #edf0f4; color: #8b95a5; font-size: 12px; }
.sw-upload-button { display: flex; align-items: center; gap: 5px; color: #2868e8; cursor: pointer; font-weight: 750; }.sw-upload-button .sw-icon { width: 14px; }.sw-upload-button input { display: none; }.sw-upload-button.disabled { opacity: .5; pointer-events: none; }
.sw-popover-foot .primary-btn { min-height: 34px; padding: 0 13px; border-radius: 9px; font-size: 12px; }
.sw-document-pages { display: flex; align-items: center; justify-content: center; gap: 7px; }
.sw-document-pages button { min-height: 30px; padding: 0 9px; border: 1px solid #dce4ee; border-radius: 8px; color: #50617a; background: white; cursor: pointer; font-size: 12px; }
.sw-document-pages button:disabled { opacity: .4; cursor: not-allowed; }
.sw-knowledge-privacy-note { display: flex; align-items: flex-start; gap: 7px; margin: 0 14px 10px; padding: 9px 10px; border: 1px solid #d9eadf; border-radius: 10px; color: #3e7156; background: #f2faf5; font-size: 12px; line-height: 1.55; }.sw-knowledge-privacy-note .sw-icon { flex: 0 0 auto; width: 15px; margin-top: 1px; }
.sw-knowledge-list { display: grid; align-content: start; max-height: 350px; overflow: auto; padding: 0 14px 10px; }
.sw-knowledge-group { display: grid; gap: 2px; }.sw-knowledge-group + .sw-knowledge-group { margin-top: 10px; }
.sw-knowledge-group > header { display: flex; align-items: center; justify-content: space-between; padding: 7px 6px; color: #68778d; font-size: 12px; }.sw-knowledge-group > header span { color: #9aa4b2; }
.sw-knowledge-row { display: grid; grid-template-columns: auto 34px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px 7px; border-radius: 9px; cursor: pointer; }
.sw-knowledge-row:hover { background: #f8faff; }.sw-knowledge-row.disabled { cursor: not-allowed; opacity: .58; }
.sw-knowledge-row input { width: 16px; height: 16px; accent-color: #2868e8; }.sw-knowledge-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: #2c68c7; background: #eaf2ff; }.sw-knowledge-icon .sw-icon { width: 17px; }
.sw-knowledge-row > span:last-child { display: grid; gap: 2px; min-width: 0; }.sw-knowledge-row b { overflow: hidden; color: #344359; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.sw-knowledge-row small { color: #8793a5; font-size: 12px; }.sw-knowledge-row small em { color: #2f6bbf; font-style: normal; font-weight: 750; }.sw-knowledge-row i { overflow: hidden; color: #9aa4b2; font-size: 12px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.sw-knowledge-selection-error { margin: 0 14px 10px; padding: 9px 10px; border: 1px solid #f1d0a1; border-radius: 9px; color: #865b1c; background: #fff8eb; font-size: 12px; line-height: 1.5; }
.sw-knowledge-error { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 14px 10px; padding: 9px 10px; border: 1px solid #f2cbd0; border-radius: 9px; color: #9f3541; background: #fff5f6; font-size: 12px; }.sw-knowledge-error button { border: 0; color: inherit; background: transparent; cursor: pointer; font-weight: 750; }
.sw-knowledge-more, .sw-knowledge-dialog-more { min-height: 32px; padding: 0 11px; border: 1px solid #d8e3f2; border-radius: 8px; color: #2b64bf; background: #f7faff; cursor: pointer; font-size: 12px; }
.sw-session-pagination { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 8px 3px 10px; color: #8c98aa; font-size: 12px; }.sw-session-pagination button { min-height: 32px; padding: 0 8px; border: 1px solid #dde4ed; border-radius: 8px; color: #52647e; background: white; cursor: pointer; font-size: 12px; }.sw-session-pagination button:disabled { opacity: .4; cursor: not-allowed; }

.sw-knowledge-external-mask { position: fixed; z-index: 3000; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(19,28,45,.48); backdrop-filter: blur(4px); }
.sw-knowledge-external-dialog { display: grid; width: min(700px,calc(100vw - 36px)); max-height: min(760px,calc(100vh - 36px)); border: 1px solid #d9e2ee; border-radius: 20px; color: #1f2939; background: white; box-shadow: 0 30px 90px rgba(15,28,51,.28); overflow: hidden; }
.sw-knowledge-external-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; border-bottom: 1px solid #edf0f4; }.sw-knowledge-external-dialog > header > div { display: flex; align-items: center; gap: 11px; }.sw-knowledge-external-dialog > header > div > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: #2868e8; background: #eaf2ff; }.sw-knowledge-external-dialog > header h2, .sw-knowledge-external-dialog > header p { margin: 0; }.sw-knowledge-external-dialog > header h2 { font-size: 18px; }.sw-knowledge-external-dialog > header p { overflow: hidden; max-width: 470px; margin-top: 3px; color: #7b8799; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.sw-knowledge-external-dialog > header > button { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 9px; background: #f3f5f8; cursor: pointer; }
.sw-knowledge-external-dialog .sw-knowledge-privacy-note { margin-top: 12px; }.sw-knowledge-dialog-search { display: flex; gap: 8px; margin: 0 14px 10px; }.sw-knowledge-dialog-search input { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid #dce4ee; border-radius: 10px; outline: 0; }.sw-knowledge-dialog-search button { padding: 0 14px; border: 0; border-radius: 10px; color: white; background: #2868e8; cursor: pointer; }
.sw-knowledge-dialog-list { min-height: 100px; max-height: 280px; margin: 0 14px; overflow: auto; }.sw-knowledge-dialog-more { justify-self: center; margin: 6px 0; }
.sw-knowledge-dialog-state { display: grid; gap: 3px; margin: 0 14px 10px; padding: 10px; border-radius: 9px; font-size: 12px; }.sw-knowledge-dialog-state.processing { color: #805b1f; background: #fff7e5; }.sw-knowledge-dialog-state.failed { color: #9f3541; background: #fff1f2; }
.sw-knowledge-new { display: grid; grid-template-columns: minmax(0,1fr) 280px; align-items: center; gap: 14px; margin: 12px 14px; padding: 12px; border: 1px solid #dfe6ef; border-radius: 12px; background: #f8fafc; }.sw-knowledge-new label { display: grid; gap: 3px; }.sw-knowledge-new b { font-size: 13px; }.sw-knowledge-new span { color: #8490a2; font-size: 12px; line-height: 1.5; }.sw-knowledge-new input { height: 40px; padding: 0 11px; border: 1px solid #d6dfeb; border-radius: 9px; outline: 0; background: white; }
.sw-knowledge-external-dialog > footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; border-top: 1px solid #edf0f4; }.sw-knowledge-external-dialog > footer button { min-height: 38px; padding: 0 15px; border-radius: 10px; cursor: pointer; }.sw-knowledge-external-dialog > footer .secondary-btn { border: 1px solid #dce3ec; color: #526179; background: white; }.sw-knowledge-external-dialog > footer .primary-btn { border: 0; color: white; background: #2868e8; }.sw-knowledge-external-dialog > footer button:disabled { opacity: .5; cursor: not-allowed; }

.sw-right { display: grid; grid-template-rows: auto auto minmax(0,1fr); border-left: 1px solid var(--sw-line); }
.sw-right-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 42px; padding: 7px 10px 0 13px; }
.sw-right-head strong { color: #405068; font-size: 13px; }
.sw-right-head button { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #e1e6ed; border-radius: 8px; color: #66758b; background: white; cursor: pointer; font-size: 18px; }
.sw-right-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; padding: 10px 10px 0; border-bottom: 1px solid var(--sw-line); }
.sw-right-tabs button { display: flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; padding: 10px 3px; border: 0; border-bottom: 2px solid transparent; color: #7b8799; background: transparent; cursor: pointer; font-size: 12px; font-weight: 700; }
.sw-right-tabs button > span { display: none; }.sw-right-tabs button b { overflow: hidden; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; }
.sw-right-tabs button.active { border-bottom-color: #2868e8; color: #2868e8; }
.sw-right-content { min-height: 0; overflow: auto; padding: 13px; }
.sw-panel-empty { padding: 34px 13px; color: #929dad; text-align: center; font-size: 12px; line-height: 1.7; }
.sw-artifact-list, .sw-file-list { display: grid; gap: 8px; }
.sw-artifact-card { display: flex; align-items: center; gap: 4px; padding: 7px; border: 1px solid #e4e9f0; border-radius: 11px; background: white; }
.sw-artifact-card > button:first-child { display: grid; grid-template-columns: 35px minmax(0,1fr); align-items: center; gap: 9px; flex: 1; min-width: 0; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }.sw-artifact-card > button:first-child > span:last-child { display: grid; gap: 3px; min-width: 0; }.sw-artifact-card b, .sw-artifact-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sw-artifact-card b { font-size: 13px; }.sw-artifact-card small { color: #929cac; font-size: 11px; }
.sw-artifact-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 9px; color: #2d67c8; background: #edf4ff; }.sw-artifact-icon .sw-icon { width: 17px; }
.sw-download { display: grid; place-items: center; width: 27px; height: 27px; border: 0; border-radius: 7px; color: #78869b; background: #f3f5f8; cursor: pointer; }.sw-download .sw-icon { width: 14px; }
.sw-file-list article { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; padding: 8px; border: 1px solid #e4e9f0; border-radius: 10px; }.sw-file-list article > div { display: grid; gap: 3px; min-width: 0; }.sw-file-list b, .sw-file-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sw-file-list b { font-size: 13px; }.sw-file-list small { color: #929cad; font-size: 11px; }
.sw-preview { display: grid; align-content: start; gap: 13px; }.sw-preview-head { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 9px; }.sw-preview-head > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: #2868e8; background: #edf4ff; }.sw-preview-head > div { display: grid; gap: 3px; min-width: 0; }.sw-preview-head b { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }.sw-preview-head small { color: #919cad; font-size: 11px; }.sw-preview-content { max-height: 55vh; overflow: auto; padding: 11px; border: 1px solid #e4e9f0; border-radius: 10px; background: #fbfcfe; font-size: 12px; }.sw-preview-placeholder { padding: 28px 10px; border: 1px dashed #dbe2eb; border-radius: 10px; color: #919cac; text-align: center; font-size: 12px; }.sw-preview .primary-btn { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; border-radius: 10px; font-size: 12px; }.sw-preview .primary-btn .sw-icon { width: 15px; }
.sw-website-preview { width: 100%; min-height: 460px; border: 1px solid #dfe6ef; border-radius: 11px; background: white; }.sw-website-files { display: grid; gap: 6px; padding: 10px; border: 1px solid #e1e8f1; border-radius: 10px; background: #fbfcfe; }.sw-website-files > b { color: #33445b; font-size: 13px; }.sw-website-files > div { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; padding: 5px 0; border-top: 1px solid #edf1f5; font-size: 11px; }.sw-website-files span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sw-website-files .added { color: #087a55; }.sw-website-files .deleted { color: #b33a47; }
.sw-execution-panel { display: grid; align-content: start; gap: 12px; }
.sw-execution-panel > header { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 9px; }
.sw-execution-panel > header > span { padding: 5px 7px; border-radius: 7px; color: #52627a; background: #eef2f7; font-size: 11px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.sw-execution-panel > header > span.agent { color: #176345; background: #e8f8f0; }
.sw-execution-panel > header > div { display: grid; gap: 2px; min-width: 0; }.sw-execution-panel > header b { color: #2e3d53; font-size: 13px; }.sw-execution-panel > header small { color: #8490a2; font-size: 11px; line-height: 1.45; }
.sw-execution-boundary { display: grid; gap: 4px; padding: 10px; border: 1px solid #dce6f1; border-radius: 10px; background: #f8fafc; }.sw-execution-boundary b { color: #40516a; font-size: 11px; }.sw-execution-boundary span { color: #6f7d91; font-size: 11px; line-height: 1.5; }.sw-execution-boundary em { color: #9a5d1b; font-size: 11px; font-style: normal; }
.sw-tool-approvals { display: grid; gap: 8px; }.sw-tool-approvals > h3 { display: flex; align-items: center; gap: 6px; margin: 0; color: #37475d; font-size: 12px; }.sw-tool-approvals > h3 span { display: grid; place-items: center; min-width: 18px; height: 18px; border-radius: 999px; color: #8a5318; background: #fff0d9; font-size: 11px; }
.sw-tool-approvals article { display: grid; gap: 6px; padding: 10px; border: 1px solid #ead8ba; border-left: 3px solid #d99a39; border-radius: 10px; background: #fffbf4; }.sw-tool-approvals article.high,.sw-tool-approvals article.critical { border-color: #edc4c8; border-left-color: #cf4653; background: #fff8f8; }.sw-tool-approvals article.approved { border-color: #c7e7d8; border-left-color: #29946b; background: #f7fcf9; }.sw-tool-approvals article.rejected,.sw-tool-approvals article.cancelled,.sw-tool-approvals article.expired { border-color: #dfe4eb; border-left-color: #8995a5; background: #fafbfc; }
.sw-tool-approvals article header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.sw-tool-approvals article header span { color: #9a5e19; font-size: 11px; font-weight: 850; letter-spacing: .04em; }.sw-tool-approvals article header em { color: #7d8998; font-size: 11px; font-style: normal; }.sw-tool-approvals article > b { color: #35455a; font-size: 12px; }.sw-tool-approvals article > p { margin: 0; color: #66758a; font-size: 11px; line-height: 1.55; }.sw-tool-approvals article > code { overflow: hidden; color: #2b63ad; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.sw-tool-approvals article > small,.sw-tool-approvals article > footer { color: #8995a5; font-size: 11px; }.sw-tool-approvals article > div { display: grid; grid-template-columns: 1fr 1.35fr; gap: 7px; }.sw-tool-approvals article button { min-height: 32px; border: 1px solid #d8dee7; border-radius: 8px; color: #5c6878; background: white; cursor: pointer; font-size: 11px !important; font-weight: 750; }.sw-tool-approvals article button.approve { border-color: #326ed0; color: white; background: #326ed0; }.sw-tool-approvals article button:disabled { cursor: wait; opacity: .55; }
.sw-execution-ledger { display: grid; gap: 0; }
.sw-execution-ledger article { position: relative; display: grid; grid-template-columns: 10px minmax(0,1fr) auto; gap: 8px; padding: 9px 0; border-bottom: 1px solid #edf1f5; }
.sw-execution-ledger article > i { width: 8px; height: 8px; margin-top: 5px; border: 2px solid white; border-radius: 999px; background: #3a75d6; box-shadow: 0 0 0 1px #b7c9e4; }.sw-execution-ledger article.failed > i { background: #d94c58; }.sw-execution-ledger article.running > i { background: #2da777; }
.sw-execution-ledger article > div { display: grid; gap: 3px; min-width: 0; }.sw-execution-ledger article span { color: #74839a; font-size: 11px; font-weight: 800; letter-spacing: .035em; }.sw-execution-ledger article b { color: #334258; font-size: 12px; }.sw-execution-ledger article p { margin: 0; color: #6f7d90; font-size: 11px; line-height: 1.5; }.sw-execution-ledger article code { overflow: hidden; color: #285fae; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.sw-execution-ledger article small { color: #929dad; font-size: 11px; }.sw-execution-ledger article > em { color: #7c899b; font-size: 11px; font-style: normal; white-space: nowrap; }
.sw-execution-empty { padding: 24px 12px; border: 1px dashed #d8e0eb; border-radius: 10px; color: #8490a2; text-align: center; font-size: 12px; line-height: 1.65; }

.segaswork-shell.right-collapsed { grid-template-columns: 268px minmax(520px,1fr) 54px; }
.sw-right.collapsed { grid-template-rows: auto auto; align-content: start; }
.sw-right.collapsed .sw-right-head { justify-content: center; padding: 7px 0 2px; }
.sw-right.collapsed .sw-right-head strong, .sw-right.collapsed .sw-right-content { display: none; }
.sw-right.collapsed .sw-right-tabs { grid-template-columns: 1fr; gap: 5px; padding: 6px; border-bottom: 0; }
.sw-right.collapsed .sw-right-tabs button { display: grid; place-items: center; height: 40px; padding: 0; border: 0; border-radius: 9px; }
.sw-right.collapsed .sw-right-tabs button > span { display: grid; }.sw-right.collapsed .sw-right-tabs button b { display: none; }
.sw-right.collapsed .sw-right-tabs button.active { color: #2868e8; background: #edf4ff; }

.sw-model-setup-mask { position: absolute; z-index: 95; inset: 0; display: grid; place-items: center; padding: 28px; background: rgba(18,29,48,.42); backdrop-filter: blur(3px); }
.sw-model-setup { width: min(900px, 100%); max-height: min(720px, 92vh); overflow: auto; border: 1px solid #dce4ef; border-radius: 20px; background: #fff; box-shadow: 0 28px 90px rgba(18,32,55,.28); }
.sw-model-setup > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px 18px; border-bottom: 1px solid #e8ecf2; }
.sw-model-setup > header > div { display: flex; align-items: center; gap: 12px; min-width: 0; }.sw-model-setup h2 { margin: 0; color: #172036; font-size: 20px; }.sw-model-setup header p { margin: 5px 0 0; color: #718096; font-size: 13px; line-height: 1.55; }
.sw-model-setup > header > button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #e0e5ec; border-radius: 10px; background: #f8fafc; cursor: pointer; }
.sw-model-template-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 20px 24px; }
.sw-model-template { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: start; gap: 8px 12px; min-width: 0; padding: 16px; border: 1px solid #e1e7ef; border-radius: 15px; background: #fbfcfe; }
.sw-model-template.ready { border-color: #bcd4f8; background: #f6faff; }.sw-model-template.selected { box-shadow: 0 0 0 2px rgba(40,104,232,.13); }
.sw-model-template-logo { grid-row: 1 / span 3; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #fff; background: linear-gradient(145deg,#2b67e6,#47aaf0); font-size: 16px; font-weight: 900; }
.sw-model-template > div:nth-child(2) { min-width: 0; }.sw-model-template h3 { margin: 0; color: #29374d; font-size: 15px; }.sw-model-template p { margin: 4px 0; color: #69778c; font-size: 12px; line-height: 1.45; }.sw-model-template small { display: block; overflow: hidden; color: #8a95a6; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sw-model-template-status { align-self: start; padding: 4px 7px; border-radius: 999px; color: #96621f; background: #fff1d8; font-size: 12px; font-weight: 750; }.sw-model-template.ready .sw-model-template-status { color: #257254; background: #e6f7ef; }
.sw-model-template > button { grid-column: 2 / -1; justify-self: start; min-height: 32px; padding: 0 12px; border: 1px solid #cddbf0; border-radius: 9px; color: #285fae; background: white; cursor: pointer; font-size: 12px; font-weight: 750; }
.sw-model-quick-form { display: grid; grid-template-columns: 180px minmax(260px,1fr) auto; align-items: end; gap: 12px; margin: 0 24px 20px; padding: 16px; border: 1px solid #dce6f5; border-radius: 14px; background: #f7faff; }
.sw-model-quick-form > div { display: grid; gap: 6px; }.sw-model-quick-form label { color: #52627a; font-size: 12px; font-weight: 750; }
.sw-model-quick-form input, .sw-model-quick-form select { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid #d7e0ed; border-radius: 9px; color: #273449; background: #fff; font-size: 14px; }
.sw-model-quick-form input[type="password"]::placeholder { user-select: none; -webkit-user-select: none; }
.sw-model-quick-form details { grid-column: 1 / -1; color: #64748b; font-size: 12px; }.sw-model-quick-form summary { width: max-content; cursor: pointer; font-weight: 750; }.sw-model-quick-form details label { display: block; margin: 10px 0 5px; }
.sw-model-quick-form .primary-btn { min-height: 40px; white-space: nowrap; }.sw-model-admin-note { grid-column: 1 / -1; margin: 0; color: #8b5b1e; font-size: 13px; }
.sw-model-quick-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 24px 12px; padding: 11px 13px; border: 1px solid #fecaca; border-radius: 10px; color: #9f1d1d; background: #fff7f7; font-size: 13px; }
.sw-model-quick-error button { border: 0; color: #9f1d1d; background: transparent; cursor: pointer; font-size: 18px; }
.sw-model-setup > footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 24px 20px; border-top: 1px solid #edf0f4; color: #7c889a; font-size: 12px; }

.sw-personal-agent-mask { position: fixed; z-index: 175; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(18,29,48,.52); backdrop-filter: blur(5px); }
.sw-personal-agent-mask:focus { outline: 0; }
.sw-personal-agent-dialog { width: min(780px, 100%); max-height: min(820px, calc(100vh - 48px)); overflow: auto; border: 1px solid #dce4ef; border-radius: 20px; background: #fff; box-shadow: 0 32px 100px rgba(18,32,55,.3); }
.sw-personal-agent-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px 18px; border-bottom: 1px solid #e8ecf2; }
.sw-personal-agent-dialog > header > div { min-width: 0; }
.sw-personal-agent-dialog > header small { color: #2868e8; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.sw-personal-agent-dialog > header h2 { margin: 4px 0 0; color: #172036; font-size: 21px; letter-spacing: -.02em; }
.sw-personal-agent-dialog > header p { margin: 6px 0 0; color: #718096; font-size: 13px; line-height: 1.55; }
.sw-personal-agent-dialog > header > button { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid #e0e5ec; border-radius: 10px; background: #f8fafc; cursor: pointer; }
.sw-personal-agent-dialog form { padding: 20px 24px 22px; }
.sw-personal-agent-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 0; padding: 15px 24px 14px; border-bottom: 1px solid #edf0f4; list-style: none; }
.sw-personal-agent-progress li { position: relative; display: flex; align-items: center; gap: 7px; min-width: 0; color: #8994a5; font-size: 12px; }
.sw-personal-agent-progress li:not(:last-child)::after { position: absolute; z-index: 0; top: 50%; right: 10px; left: 38px; height: 1px; background: #dfe5ed; content: ""; }
.sw-personal-agent-progress li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; border: 1px solid #d7dee8; border-radius: 50%; background: #fff; font-size: 11px; font-weight: 800; }
.sw-personal-agent-progress li > span .sw-icon { width: 13px; height: 13px; }
.sw-personal-agent-progress li b { position: relative; z-index: 1; overflow: hidden; padding-right: 8px; background: #fff; text-overflow: ellipsis; white-space: nowrap; }
.sw-personal-agent-progress li.active { color: #235fbf; }
.sw-personal-agent-progress li.active > span { border-color: #2868e8; color: #fff; background: #2868e8; }
.sw-personal-agent-progress li.complete { color: #37725a; }
.sw-personal-agent-progress li.complete > span { border-color: #4b9274; color: #fff; background: #4b9274; }
.sw-personal-agent-progress li.complete::after { background: #8ebda9; }
.sw-personal-agent-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.sw-personal-agent-fields label, .sw-personal-agent-prompt { display: grid; gap: 7px; min-width: 0; color: #41516a; font-size: 13px; font-weight: 750; }
.sw-personal-agent-fields label.full { grid-column: 1 / -1; }
.sw-personal-agent-fields .full { grid-column: 1 / -1; }
.sw-personal-agent-fields input, .sw-personal-agent-fields select, .sw-personal-agent-fields textarea, .sw-personal-agent-prompt textarea { width: 100%; min-height: 42px; padding: 10px 11px; border: 1px solid #d7e0ed; border-radius: 10px; outline: 0; color: #273449; background: #fff; font-size: 14px; font-weight: 450; line-height: 1.55; }
.sw-personal-agent-fields textarea { min-height: 108px; resize: vertical; }
.sw-personal-agent-fields .sw-personal-agent-idea textarea { min-height: 154px; font-size: 15px; line-height: 1.68; }
.sw-personal-agent-fields input:focus, .sw-personal-agent-fields select:focus, .sw-personal-agent-fields textarea:focus, .sw-personal-agent-prompt textarea:focus { border-color: #75a0e8; box-shadow: 0 0 0 3px rgba(40,104,232,.1); }
.sw-personal-agent-fields label > small, .sw-personal-agent-prompt small { color: #7e8a9c; font-size: 12px; font-weight: 450; line-height: 1.5; }
.sw-personal-agent-fields label.consent { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; padding: 11px 12px; border: 1px solid #d7e5f8; border-radius: 10px; color: #3f5f8f; background: #f6f9ff; font-weight: 550; }
.sw-personal-agent-fields label.consent input { width: 17px; height: 17px; min-height: 0; margin-top: 2px; padding: 0; }
.sw-personal-agent-context { display: grid; grid-template-columns: auto minmax(0,1fr); align-content: center; gap: 4px 8px; padding: 10px 12px; border: 1px solid #e1e7ef; border-radius: 10px; color: #7c889a; background: #f8fafc; font-size: 12px; }
.sw-personal-agent-context b { overflow: hidden; color: #34445a; text-overflow: ellipsis; white-space: nowrap; }
.sw-personal-agent-advanced { border-top: 1px solid #e8edf3; }
.sw-personal-agent-advanced > summary { width: max-content; margin-top: 2px; padding: 10px 0 4px; color: #52627a; cursor: pointer; font-size: 12px; font-weight: 750; }
.sw-personal-agent-advanced > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding-top: 12px; }
.sw-personal-agent-dialog form > footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #edf0f4; }
.sw-personal-agent-dialog form > footer button { min-height: 40px; padding: 0 15px; }
.sw-personal-agent-error { margin: 16px 24px 0; padding: 11px 13px; border: 1px solid #fecaca; border-radius: 10px; color: #9f1d1d; background: #fff7f7; font-size: 13px; line-height: 1.5; }
.sw-personal-agent-review-meta { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
.sw-personal-agent-review-meta > div { display: grid; gap: 4px; padding: 11px 12px; border: 1px solid #e0e7f0; border-radius: 10px; background: #f8fafc; }
.sw-personal-agent-review-meta span { color: #8490a2; font-size: 12px; }
.sw-personal-agent-review-meta b { overflow: hidden; color: #314156; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.sw-personal-agent-review-summary { display: grid; gap: 5px; margin-bottom: 14px; padding: 12px 0; border-top: 1px solid #edf0f4; border-bottom: 1px solid #edf0f4; }
.sw-personal-agent-review-summary span { color: #8490a2; font-size: 12px; }
.sw-personal-agent-review-summary p { margin: 0; color: #314156; font-size: 13px; line-height: 1.65; }
.sw-personal-agent-prompt { display: grid; gap: 9px; }
.sw-personal-agent-prompt > summary { width: max-content; color: #3b5271; cursor: pointer; font-size: 13px; font-weight: 760; }
.sw-personal-agent-prompt textarea { min-height: 280px; resize: vertical; font-family: var(--sw-font); }
.sw-personal-agent-success-body { display: grid; justify-items: center; padding: 28px 24px 18px; text-align: center; }
.sw-personal-agent-success-mark { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 13px; border-radius: 50%; color: #fff; background: #2d8062; }
.sw-personal-agent-success-mark .sw-icon { width: 24px; height: 24px; }
.sw-personal-agent-success-body h3 { margin: 0; color: #1f2d42; font-size: 20px; }
.sw-personal-agent-success-body > p { max-width: 540px; margin: 7px 0 20px; color: #69778c; line-height: 1.6; }
.sw-personal-agent-success-body dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: 100%; margin: 0; border-top: 1px solid #e4e9f0; border-bottom: 1px solid #e4e9f0; }
.sw-personal-agent-success-body dl > div { min-width: 0; padding: 13px 10px; }
.sw-personal-agent-success-body dl > div + div { border-left: 1px solid #e4e9f0; }
.sw-personal-agent-success-body dt { color: #8792a3; font-size: 11px; }
.sw-personal-agent-success-body dd { overflow: hidden; margin: 4px 0 0; color: #35465d; font-size: 12px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.sw-personal-agent-activation-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: 16px; padding: 11px 12px; border: 1px solid #f2c4c4; border-radius: 10px; color: #963b3b; background: #fff8f8; font-size: 12px; text-align: left; }
.sw-personal-agent-activation-error button { min-height: 32px; padding: 0 10px; border: 1px solid #dda7a7; border-radius: 8px; color: #963b3b; background: #fff; cursor: pointer; white-space: nowrap; }
.sw-personal-agent-success-actions { display: flex; justify-content: flex-end; gap: 9px; padding: 15px 24px 20px; border-top: 1px solid #edf0f4; }
.sw-personal-agent-manager { width: min(880px,100%); }
.sw-personal-agent-manager-toolbar { display: flex; align-items: center; gap: 8px; padding: 14px 24px; border-bottom: 1px solid #edf0f4; }
.sw-personal-agent-manager-toolbar > span { padding: 5px 9px; border-radius: 999px; color: #52627a; background: #f0f3f7; font-size: 12px; font-weight: 750; }
.sw-personal-agent-manager-toolbar > button { display: flex; align-items: center; gap: 6px; min-height: 34px; margin-left: auto; padding: 0 11px; border: 1px solid #bcd1f2; border-radius: 9px; color: #245ebf; background: #f6f9ff; cursor: pointer; font-size: 12px; font-weight: 750; }
.sw-personal-agent-manager-toolbar .sw-icon { width: 15px; height: 15px; }
.sw-personal-agent-manager-list { display: grid; gap: 9px; padding: 16px 24px 24px; }
.sw-personal-agent-manager-list > h3 { margin: 7px 0 1px; color: #44536a; font-size: 13px; }
.sw-personal-agent-card { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 13px; border: 1px solid #e0e7ef; border-radius: 13px; background: #fff; }
.sw-personal-agent-card.selected { border-color: #aec9f3; background: #f7faff; box-shadow: 0 0 0 2px rgba(40,104,232,.07); }
.sw-personal-agent-card-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #2868e8; background: #eaf2ff; }
.sw-personal-agent-card-icon .sw-icon { width: 19px; height: 19px; }
.sw-personal-agent-card > div:nth-child(2) { min-width: 0; }
.sw-personal-agent-card h3 { margin: 0; overflow: hidden; color: #273449; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.sw-personal-agent-card p { margin: 4px 0; overflow: hidden; color: #69778c; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sw-personal-agent-card small { color: #8a95a6; font-size: 11px; }
.sw-personal-agent-card-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 5px; max-width: 235px; }
.sw-personal-agent-card-actions button { min-height: 30px; padding: 0 8px; border: 1px solid #d7e0ed; border-radius: 8px; color: #4b5c75; background: #fff; cursor: pointer; font-size: 11px; }
.sw-personal-agent-card-actions button:hover { border-color: #a9c2e9; color: #245ebf; }
.sw-personal-agent-card-actions button.danger { color: #a13b3b; }
.sw-personal-agent-editor .prompt-editor { min-height: 280px; font-family: var(--sw-font); }

@media (max-width: 1380px) {
    .segaswork-shell { grid-template-columns: 244px minmax(480px, 1fr) 292px; }
    .segaswork-shell.right-collapsed { grid-template-columns: 244px minmax(480px,1fr) 54px; }
    .sw-composer select { max-width: 145px; }
    .sw-doc-count { display: none; }
}

@media (max-width: 980px) {
    .segaswork-content { height: auto; min-height: 0; overflow: visible; }
    .segaswork-shell { grid-template-columns: 210px minmax(0, 1fr); height: auto; min-height: calc(100vh - 80px); overflow: visible; }
    .segaswork-shell.right-collapsed { grid-template-columns: 210px minmax(0,1fr); }
    .sw-left { max-height: 760px; }
    .sw-center { min-height: 760px; }
    .sw-right { grid-column: 1 / -1; min-height: 380px; border-top: 1px solid var(--sw-line); border-left: 0; }
    .segaswork-shell.right-collapsed .sw-right { grid-column: 1 / -1; grid-template-columns: 48px minmax(0,1fr); grid-template-rows: 58px; min-height: 58px; }
    .segaswork-shell.right-collapsed .sw-right-head { grid-column: 1; grid-row: 1; padding: 7px 0; }
    .segaswork-shell.right-collapsed .sw-right-tabs { grid-column: 2; grid-row: 1; grid-template-columns: repeat(4,44px); justify-content: center; padding: 7px; }
    .sw-personal-agent-review-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
    .sw-model-quick-form { grid-template-columns: 1fr; margin-right: 14px; margin-left: 14px; }
    .sw-personal-agent-mask { padding: 0; }
    .sw-personal-agent-dialog { width: 100%; max-height: 100vh; border-radius: 0; }
    .sw-personal-agent-dialog > header, .sw-personal-agent-dialog form { padding-right: 15px; padding-left: 15px; }
    .sw-personal-agent-fields { grid-template-columns: 1fr; }
    .sw-personal-agent-fields label.full { grid-column: 1; }
    .sw-personal-agent-fields .full { grid-column: 1; }
    .sw-personal-agent-advanced > div { grid-template-columns: 1fr; }
    .sw-personal-agent-review-meta { grid-template-columns: 1fr; }
    .sw-personal-agent-progress { padding-inline: 15px; }
    .sw-personal-agent-progress li b { font-size: 11px; }
    .sw-personal-agent-success-body dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .sw-personal-agent-success-body dl > div:nth-child(3) { border-left: 0; border-top: 1px solid #e4e9f0; }
    .sw-personal-agent-success-body dl > div:nth-child(4) { border-top: 1px solid #e4e9f0; }
    .sw-personal-agent-activation-error, .sw-personal-agent-success-actions { align-items: stretch; flex-direction: column; }
    .sw-personal-agent-manager-toolbar { align-items: flex-start; flex-wrap: wrap; padding-right: 15px; padding-left: 15px; }
    .sw-personal-agent-manager-toolbar > button { width: 100%; margin-left: 0; justify-content: center; }
    .sw-personal-agent-manager-list { padding-right: 15px; padding-left: 15px; }
    .sw-personal-agent-card { grid-template-columns: 34px minmax(0,1fr); }
    .sw-personal-agent-card-actions { grid-column: 1 / -1; justify-content: flex-start; max-width: none; }
    .sw-personal-agent-dialog form > footer { align-items: stretch; flex-direction: column-reverse; }
    .sw-personal-agent-dialog form > footer button { width: 100%; }
}

@media (max-width: 680px) {
    .segaswork-shell { display: block; }
    .sw-left { max-height: 260px; border-right: 0; border-bottom: 1px solid var(--sw-line); }
    .sw-chat-navigation { overflow-y: auto; overscroll-behavior: contain; }
    .sw-session-history { flex: 0 0 auto; min-height: 150px; overflow: visible; }
    .sw-left-brand, .sw-left-foot { display: none; }
    .sw-space-heading, .sw-space-list { display: none; }
    .sw-session-list { max-height: 125px; }
    .sw-center { min-height: 690px; }
    .sw-chat-head > div:last-child, .sw-doc-count { display: none; }
    .sw-message-board, .sw-composer-wrap { padding-right: 13px; padding-left: 13px; }
    .sw-starter-grid { grid-template-columns: 1fr; }
    .sw-tool-landing { padding: 0 3px 20px; }.sw-tool-landing > header { grid-template-columns: 42px minmax(0,1fr); padding: 14px; }.sw-tool-landing > header > span { width: 42px; height: 42px; border-radius: 12px; }.sw-tool-landing > header h2 { font-size: 19px; }.sw-tool-starters > div:last-of-type, .sw-tool-real-cases > div:last-child { grid-template-columns: 1fr; }.sw-tool-section-title { align-items: flex-start; flex-direction: column; gap: 3px; }
    .sw-composer-left { max-width: calc(100% - 42px); overflow-x: auto; }
    .sw-composer select { flex: 0 0 135px; }
    .sw-document-popover, .sw-knowledge-popover { left: 10px; bottom: 115px; width: calc(100% - 20px); max-height: min(620px,80vh); transform: none; }
    .sw-popover-foot { flex-wrap: wrap; }
    .sw-composer-add-menu { position: fixed; right: 12px; bottom: 94px; left: 12px; width: auto; }
    .sw-document-row-wrap { grid-template-columns: minmax(0,1fr); }.sw-document-knowledge-action { justify-self: end; margin: 0 7px 7px; }
    .sw-knowledge-external-mask { padding: 8px; }.sw-knowledge-external-dialog { width: calc(100vw - 16px); max-height: calc(100vh - 16px); }.sw-knowledge-new { grid-template-columns: 1fr; }.sw-knowledge-external-dialog > header p { max-width: 230px; }
    .sw-model-setup-mask { position: fixed; padding: 10px; }.sw-model-template-grid { grid-template-columns: 1fr; padding: 14px; }.sw-model-setup > header, .sw-model-setup > footer { padding-right: 15px; padding-left: 15px; }.sw-model-setup > footer { align-items: stretch; flex-direction: column; }
    .sw-message { grid-template-columns: 28px minmax(0,1fr); gap: 10px; margin-bottom: 24px; }
    .sw-message.user { grid-template-columns: minmax(0,1fr) 28px; }
    .sw-message-avatar { width: 28px; height: 28px; }
    .sw-message.user .sw-message-body { max-width: 88%; }
    .sw-markdown { font-size: 15px; line-height: 1.72; }
    .sw-composer { width: 100%; border-radius: 20px; }
    .sw-composer-wrap.empty-active .sw-composer, .sw-composer-wrap.conversation-active .sw-composer { border-radius: 20px; }
    .sw-composer-tool-group + .sw-composer-tool-group { padding-left: 6px; }
}

html.sageslink-native-client .segaswork-content { height: 100vh; }

/* 20260822 task cockpit: keep the task central and progressively disclose system controls. */
html[data-sages-theme] .segaswork-console .topbar {
    grid-template-columns: 176px minmax(0, 1fr) auto;
    grid-template-rows: 64px;
    gap: 0 14px;
    min-height: 64px;
    padding: 0 16px;
    overflow: visible;
}
html[data-sages-theme] .segaswork-console .topbar-brand { grid-column: 1; }
html[data-sages-theme] .segaswork-console .topbar-brand h1 { font-size: 14px; }
html[data-sages-theme] .segaswork-console .top-nav { grid-column: 2; grid-row: 1; justify-content: center; gap: 4px; overflow: visible; padding: 6px 0; }
html[data-sages-theme] .segaswork-console .top-nav > button {
    flex: 0 1 116px;
    width: auto;
    min-width: 88px;
    max-width: 116px;
    min-height: 48px;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 6px;
    padding: 5px 8px;
    border-radius: 11px;
    box-shadow: none;
}
html[data-sages-theme] .segaswork-console .top-nav > button:hover { transform: none; box-shadow: none; }
html[data-sages-theme] .segaswork-console .top-nav-card-icon { width: 26px; height: 26px; border-radius: 8px; }
html[data-sages-theme] .segaswork-console .top-nav-card-copy { gap: 1px; }
html[data-sages-theme] .segaswork-console .top-nav-card-copy strong { font-size: 11px; }
html[data-sages-theme] .segaswork-console .top-nav-card-copy small { font-size: 11px; }
html[data-sages-theme] .segaswork-console .topbar-actions { grid-column: 3; grid-row: 1; }
@media (min-width: 681px) {
    html[data-sages-theme] .segaswork-console .topbar { grid-template-columns: minmax(0,1fr) max-content minmax(0,1fr); }
    html[data-sages-theme] .segaswork-console .topbar-brand { justify-self: start; }
    html[data-sages-theme] .segaswork-console .top-nav { width: max-content; max-width: 100%; justify-self: center; justify-content: center; }
    html[data-sages-theme] .segaswork-console .top-nav > button { flex: 0 0 clamp(96px,7.5vw,116px); width: clamp(96px,7.5vw,116px); min-width: clamp(96px,7.5vw,116px); max-width: clamp(96px,7.5vw,116px); }
    html[data-sages-theme] .segaswork-console .topbar-actions { justify-self: end; }
}
.top-nav-more { position: relative; flex: 0 0 auto; }
html[data-sages-theme] .segaswork-console .top-nav .top-nav-more-trigger { display: grid; place-items: center; grid-template-columns: 1fr; gap: 1px; width: auto; min-width: 64px; max-width: none; min-height: 48px; padding: 4px 8px; border: 1px solid var(--theme-border, #dfe5ed); border-radius: 11px; color: #516078 !important; background: #fff !important; cursor: pointer; font-size: 11px; box-shadow: none; }
html[data-sages-theme] .segaswork-console .top-nav .top-nav-more-trigger span { font-size: 13px; line-height: 1; letter-spacing: .08em; }
html[data-sages-theme] .segaswork-console .top-nav .top-nav-more-trigger b { font-size: 11px; }
html[data-sages-theme] .segaswork-console .top-nav .top-nav-more-trigger[aria-expanded="true"], html[data-sages-theme] .segaswork-console .top-nav .top-nav-more-trigger:hover { transform: none; border-color: #a9c2e9; color: #245ebf !important; background: #f4f8ff !important; box-shadow: none; }
.top-nav-more-panel { position: absolute; z-index: 180; top: calc(100% + 8px); right: 70px; display: grid; grid-template-columns: repeat(2, minmax(132px, 1fr)); gap: 6px; width: 292px; max-height: min(560px, calc(100dvh - 88px)); overflow: auto; padding: 8px; border: 1px solid #dce4ee; border-radius: 13px; background: #fff; box-shadow: 0 18px 46px rgba(30, 44, 67, .18); }
.top-nav-more-panel[hidden] { display: none; }
html[data-sages-theme] .segaswork-console .top-nav-more-panel > button { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 7px; min-width: 0; min-height: 48px; padding: 6px 8px; border: 1px solid #e1e7ef; border-radius: 9px; color: #29364a; background: #fff; text-align: left; box-shadow: none; cursor: pointer; }
html[data-sages-theme] .segaswork-console .top-nav-more-panel > button:hover { border-color: #b7cae7; color: #245ebf; background: #f4f8ff; }
.segaswork-console .segaswork-content { height: calc(100vh - 65px); height: calc(100dvh - 65px); }

.sw-left { padding: 14px 12px 10px; }
.sw-new-task { min-height: 40px; border-radius: 10px; background: #2868e8; box-shadow: none; }
.sw-new-task:hover { transform: none; box-shadow: none; background: #1f5dcf; }
.sw-session-search { margin: 10px 0 11px; }
.sw-session-heading { color: #657289; font-size: 12px; }
.sw-left-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.sw-left-tools button { min-height: 40px; padding: 7px 8px; }
.sw-ip-entry { grid-column: 1 / -1; margin-bottom: 8px; }
.sw-ip-entry > button { min-height: 44px; }
.sw-sidebar-section { margin: 0 0 8px; border-top: 1px solid #edf1f5; border-bottom: 1px solid #edf1f5; }
.sw-sidebar-section > summary { display: flex; align-items: center; justify-content: space-between; min-height: 36px; padding: 0 6px; color: #53637a; cursor: pointer; list-style: none; font-size: 12px; font-weight: 750; }
.sw-sidebar-section > summary::-webkit-details-marker { display: none; }
.sw-sidebar-section > summary::after { content: "⌄"; margin-left: 7px; color: #8491a3; }
.sw-sidebar-section[open] > summary::after { transform: rotate(180deg); }
.sw-sidebar-section > summary b { margin-left: auto; padding: 2px 6px; border-radius: 999px; color: #6d7b8f; background: #eef2f7; font-size: 11px; }
.sw-project-heading { padding-top: 0; }
.sw-session-main { padding-right: 34px; }
.sw-session-actions { top: 5px; right: 4px; gap: 2px; pointer-events: none; }
.sw-session-item:hover .sw-session-actions, .sw-session-item.active .sw-session-actions, .sw-session-item:focus-within .sw-session-actions { opacity: 1; pointer-events: auto; }
.sw-session-actions button { width: 30px; height: 30px; }
.sw-session-main small, .sw-left-privacy, .sw-artifact-card small, .sw-file-list small, .sw-preview-head small { color: #707d90; }

.segaswork-shell { grid-template-columns: 248px minmax(0, 1fr) 304px; background: #f4f6f9; }
.segaswork-shell.right-collapsed { grid-template-columns: 248px minmax(0, 1fr) 48px; }
.segaswork-shell.right-collapsed.right-empty { grid-template-columns: 248px minmax(0, 1fr) 0; }
.sw-right.empty.collapsed { display: none; }
.sw-chat-head { min-height: 54px; padding: 7px 18px; }
.sw-chat-head p { color: #66758b; }
.sw-chat-actions { display: flex; align-items: center; gap: 8px; }
.sw-chat-runtime-summary { max-width: 260px; color: #627087 !important; font-size: 11px !important; }
.sw-chat-actions > button { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 9px; border: 1px solid #dce4ee; border-radius: 9px; color: #40516a; background: #fff; cursor: pointer; font-size: 12px; }
.sw-chat-actions > button:hover, .sw-chat-actions > button[aria-expanded="true"] { border-color: #aec6eb; color: #245ebf; background: #f4f8ff; }
.sw-chat-actions > button .sw-icon { width: 15px; height: 15px; }
.sw-chat-actions > button b { display: grid; place-items: center; min-width: 18px; height: 18px; border-radius: 999px; color: #fff; background: #2868e8; font-size: 11px; }
.sw-message-board { padding-top: 26px; }
.sw-composer-wrap { padding-top: 8px; }
.sw-composer { border: 1px solid #dfe5ed; box-shadow: 0 8px 24px rgba(28, 43, 67, .07); }
.sw-composer:focus-within { border: 1px solid #dfe5ed; background: #fff; box-shadow: 0 8px 24px rgba(28, 43, 67, .07); }
.sw-composer-left { overflow: visible; }
.sw-composer-tool-group + .sw-composer-tool-group { border-left: 0; }
.sw-runtime-settings-trigger { display: grid; grid-template-columns: 17px minmax(0, 1fr); align-items: center; gap: 7px; min-width: 176px; min-height: 40px; padding: 4px 9px; border: 1px solid #e0e6ee; border-radius: 10px; color: #4e5c71; background: #f8fafc; cursor: pointer; text-align: left; }
.sw-runtime-settings-trigger:hover, .sw-runtime-settings-trigger[aria-expanded="true"] { border-color: #b5cbed; color: #245ebf; background: #f2f7ff; }
.sw-runtime-settings-trigger .sw-icon { width: 16px; height: 16px; }
.sw-runtime-settings-trigger > span { display: grid; gap: 1px; min-width: 0; }
.sw-runtime-settings-trigger b, .sw-runtime-settings-trigger small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sw-runtime-settings-trigger b { font-size: 11px; }
.sw-runtime-settings-trigger small { color: #718096; font-size: 11px; }
.sw-resource-menu { width: 286px; }
.sw-resource-upload { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 9px; padding: 9px; border-radius: 10px; color: #3c4b61; cursor: pointer; }
.sw-resource-upload:hover { color: #245ebf; background: #f2f7ff; }
.sw-resource-upload > span { display: grid; gap: 2px; }
.sw-resource-upload b { font-size: 13px; }
.sw-resource-upload small { color: #7c899c; font-size: 11px; }
.sw-resource-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.sw-runtime-settings { position: absolute; z-index: 92; right: 8px; bottom: 52px; display: grid; width: min(520px, calc(100vw - 32px)); padding: 12px; border: 1px solid #d8e1ec; border-radius: 14px; background: #fff; box-shadow: 0 18px 48px rgba(22, 39, 69, .18); }
.sw-runtime-settings > header, .sw-runtime-settings > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sw-runtime-settings > header { padding: 0 2px 10px; border-bottom: 1px solid #edf1f5; }
.sw-runtime-settings > header > div { display: grid; gap: 2px; }
.sw-runtime-settings > header b { font-size: 13px; }
.sw-runtime-settings > header small, .sw-runtime-settings > footer span { color: #718096; font-size: 11px; }
.sw-runtime-settings > header button { width: 32px; height: 32px; border: 0; border-radius: 8px; background: #f1f4f8; cursor: pointer; }
.sw-runtime-settings > div { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 8px; padding: 12px 0; }
.sw-runtime-settings .sw-composer-pill { display: grid; gap: 4px; min-height: 54px; padding: 6px 9px; border-color: #dfe5ed; border-radius: 10px; background: #fafbfc; }
.sw-runtime-settings .sw-composer-pill select { width: 100%; max-width: none; }
.sw-runtime-settings > footer { padding-top: 9px; border-top: 1px solid #edf1f5; }
.sw-model-setup-button { min-height: 32px; border: 1px solid #d8e1ec; background: #fff; }
.sw-mobile-nav { display: none; }

.segaswork-shell :is(button, [role="button"], input, textarea, select, summary):focus-visible {
    outline: 3px solid rgba(40, 104, 232, .24) !important;
    outline-offset: 2px;
}
.sw-session-search:focus-within { border-color: #9ebbe8; box-shadow: 0 0 0 3px rgba(40, 104, 232, .1); }
.sw-selected-docs button, .sw-selected-knowledge-bases button { min-width: 28px; min-height: 28px; }
.sw-right-head button { width: 32px; height: 32px; }
.sw-right-tabs button { min-height: 42px; }
.sw-ppt-thumb-real { position: relative; }
.sw-ppt-thumb-real em { display: none; }
.sw-ppt-thumb-real.preview-failed img { display: none; }
.sw-ppt-thumb-real.preview-failed em { display: grid; padding: 8px; color: #9b4a43; background: #fff5f4; text-align: center; }
.sw-ppt-main-preview { position: relative; }
.sw-ppt-preview-error { position: absolute; inset: 0; display: none; place-content: center; justify-items: center; gap: 10px; color: #8d3d3d; background: #fff8f7; }
.sw-ppt-main-preview.preview-failed > img { display: none; }
.sw-ppt-main-preview.preview-failed .sw-ppt-preview-error { display: grid; }
.sw-ppt-preview-error button { min-height: 36px; padding: 0 12px; border: 1px solid #d8a9a6; border-radius: 8px; color: #8d3d3d; background: #fff; cursor: pointer; }

@media (max-width: 1120px) and (min-width: 681px) {
    .segaswork-shell { grid-template-columns: 224px minmax(0, 1fr) 0; }
    .segaswork-shell.right-collapsed { grid-template-columns: 224px minmax(0, 1fr) 0; }
    .sw-right { position: absolute; z-index: 40; top: 0; right: 0; bottom: 0; width: min(360px, 42vw); border-left: 1px solid var(--sw-line); box-shadow: -12px 0 30px rgba(24, 36, 54, .12); }
    .sw-right.collapsed { display: none; }
    .sw-chat-runtime-summary { display: none; }
}

@media (max-width: 680px) {
    html[data-sages-theme] .segaswork-console .topbar { grid-template-columns: 38px minmax(0, 1fr) auto; grid-template-rows: 56px; min-height: 56px; gap: 0 6px; padding: 0 8px; }
    html[data-sages-theme] .segaswork-console .topbar-brand > div:last-child { display: none; }
    html[data-sages-theme] .segaswork-console .top-nav { justify-content: flex-start; overflow-x: auto; padding: 5px 0; }
    html[data-sages-theme] .segaswork-console .top-nav > button { flex: 0 0 92px; min-width: 92px; min-height: 44px; grid-template-columns: 24px minmax(0, 1fr); padding: 4px 6px; }
    html[data-sages-theme] .segaswork-console .top-nav > button:not(.active) .top-nav-card-copy small { display: none; }
    html[data-sages-theme] .segaswork-console .top-nav .top-nav-more-trigger { width: auto; min-width: 52px; min-height: 44px; }
    .top-nav-more-panel { position: fixed; top: 58px; right: 8px; left: 8px; width: auto; max-height: 60vh; overflow: auto; }
    .segaswork-console .segaswork-content { height: calc(100vh - 57px); height: calc(100dvh - 57px); overflow: hidden; }
    .segaswork-shell, .segaswork-shell.work-mode, .segaswork-shell.develop-mode, .segaswork-shell.right-collapsed { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 58px; height: 100%; min-height: 0; overflow: hidden; }
    .sw-left, .sw-center, .sw-work-center, .sw-right { grid-column: 1; grid-row: 1; display: none; width: auto; min-height: 0; max-height: none; border: 0; }
    .mobile-pane-navigation .sw-left { display: flex; }
    .mobile-pane-work .sw-center, .mobile-pane-work .sw-work-center { display: grid; min-height: 0; }
    .mobile-pane-context .sw-right { position: static; display: grid; min-height: 0; border: 0; box-shadow: none; }
    .mobile-pane-context .sw-right.collapsed { display: grid; }
    .mobile-pane-context .sw-right.collapsed .sw-right-content { display: block; }
    .mobile-pane-context .sw-right.collapsed .sw-right-head { justify-content: space-between; padding: 7px 10px 0 13px; }
    .mobile-pane-context .sw-right.collapsed .sw-right-head strong { display: block; }
    .mobile-pane-context .sw-right.collapsed .sw-right-tabs { grid-template-columns: repeat(4, 1fr); padding: 10px 10px 0; }
    .mobile-pane-context .sw-right.collapsed .sw-right-tabs button b { display: block; }
    .mobile-pane-context .sw-right.empty { display: grid; }
    .sw-mobile-nav { z-index: 70; grid-column: 1; grid-row: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 5px 8px calc(5px + env(safe-area-inset-bottom)); border-top: 1px solid #dfe5ed; background: rgba(255, 255, 255, .97); }
    .sw-mobile-nav button { position: relative; display: grid; justify-items: center; gap: 2px; min-height: 46px; border: 0; border-radius: 9px; color: #6d798b; background: transparent; font-size: 11px; }
    .sw-mobile-nav button.active { color: #245ebf; background: #edf4ff; }
    .sw-mobile-nav button:disabled { opacity: .38; }
    .sw-mobile-nav .sw-icon { width: 17px; height: 17px; }
    .sw-mobile-nav b { position: absolute; top: 2px; left: calc(50% + 7px); min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; color: #fff; background: #2868e8; font-size: 11px; }
    .sw-chat-head { min-height: 52px; padding: 7px 10px; }
    .sw-chat-actions > .sw-chat-runtime-summary { display: none; }
    .sw-chat-actions > button span { display: none; }
    .sw-chat-actions > button { min-width: 40px; justify-content: center; }
    .sw-message-board { padding: 18px 13px 10px; }
    .sw-composer-wrap { padding: 7px 8px 8px; }
    .sw-composer { width: 100%; min-height: 108px; border-radius: 16px; }
    .sw-composer textarea { min-height: 58px; padding: 13px 13px 6px; font-size: 16px; }
    .sw-composer-bar { align-items: flex-end; padding: 3px 5px 6px; }
    .sw-composer-left { max-width: calc(100% - 42px); overflow: visible; }
    .sw-composer-base-action { min-width: 48px; min-height: 44px; }
    .sw-runtime-settings-trigger { min-width: 48px; width: 48px; grid-template-columns: 1fr; justify-items: center; padding: 0; }
    .sw-runtime-settings-trigger > span { display: none; }
    .sw-runtime-settings { position: fixed; right: 8px; bottom: 66px; left: 8px; width: auto; }
    .sw-runtime-settings > div { grid-template-columns: 1fr; }
    .sw-composer-add-menu { position: fixed; right: 8px; bottom: 66px; left: 8px; width: auto; }
    .sw-ai-note { display: none; }
    .sw-session-history { min-height: 180px; }
    .sw-session-list { max-height: none; }
    .sw-left { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
}

/* Readability baseline: dense enterprise UI without miniature text. */
.sw-left-brand small,
.sw-session-search input,
.sw-session-heading,
.sw-session-main strong,
.sw-session-main span,
.sw-session-main small,
.sw-left-foot b,
.sw-left-foot small,
.sw-chat-head p,
.sw-chat-head > div:last-child span,
.sw-message-meta strong,
.sw-message-meta time,
.sw-live-badge,
.sw-markdown th,
.sw-task-steps > strong,
.sw-task-step b,
.sw-task-step small,
.sw-citations summary,
.sw-citations a,
.sw-citations > div > div,
.sw-running-line,
.sw-stop-button,
.sw-composer select,
.sw-doc-count,
.sw-selected-docs > span,
.sw-mode-guide,
.sw-ai-note,
.sw-model-warning,
.sw-error,
.sw-popover-head small,
.sw-document-search input,
.sw-document-search button,
.sw-document-row b,
.sw-document-row small,
.sw-file-icon,
.sw-popover-foot,
.sw-popover-foot .primary-btn,
.sw-right-tabs button,
.sw-panel-empty,
.sw-artifact-card b,
.sw-artifact-card small,
.sw-file-list b,
.sw-file-list small,
.sw-preview-head b,
.sw-preview-head small,
.sw-preview-content,
.sw-preview-placeholder,
.sw-preview .primary-btn { font-size: 12px; }

.sw-markdown { font-size: 16px; }
.sw-composer textarea { font-size: 16px; }
.sw-chat-head h2 { font-size: 17px; }
.sw-panel-empty { line-height: 1.65; }

/* Presentation studio — real outline, rendering and QA workflow. */
.segaswork-shell { position: relative; }
.sw-document-popover { z-index: 80; }
.sw-ppt-studio {
    position: absolute;
    z-index: 50;
    inset: 0;
    display: grid;
    grid-template-rows: 70px minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
    color: var(--sw-ink);
    background: #f5f7fb;
}
.sw-ppt-studio > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: 0;
    padding: 10px 22px;
    border-bottom: 1px solid #dfe5ef;
    background: rgba(255,255,255,.98);
    box-shadow: 0 2px 12px rgba(30,48,76,.05);
}
.sw-ppt-studio > header > div:first-child { display: flex; align-items: center; gap: 12px; min-width: 0; }
.sw-ppt-studio > header button { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #dfe5ee; border-radius: 11px; background: white; cursor: pointer; }
.sw-ppt-studio > header > div:first-child > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: white; background: linear-gradient(145deg,#2868e8,#42b4ed); }
.sw-ppt-studio > header > div:first-child > div { display: grid; gap: 3px; min-width: 0; }
.sw-ppt-studio > header b { overflow: hidden; color: #152036; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
.sw-ppt-studio > header small { color: #748198; font-size: 12px; }
.sw-ppt-status { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; color: #2458ae; background: #edf4ff; font-size: 12px; font-weight: 750; }
.sw-ppt-status i { width: 8px; height: 8px; border-radius: 999px; background: #2f74ec; box-shadow: 0 0 0 4px rgba(47,116,236,.12); }
.sw-ppt-studio-body { min-width: 0; min-height: 0; overflow: auto; }

.sw-ppt-setup { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; width: min(1120px, calc(100% - 40px)); margin: 24px auto 40px; }
.sw-ppt-intro { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 20px 22px; border: 1px solid #dce6f4; border-radius: 18px; background: linear-gradient(125deg,#fff,#f4f8ff); box-shadow: 0 12px 30px rgba(38,71,120,.06); }
.sw-ppt-intro > div:first-child { display: flex; align-items: center; gap: 14px; min-width: 0; }
.sw-ppt-intro > div:first-child > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 15px; color: white; background: linear-gradient(145deg,#2868e8,#45a8ef); }
.sw-ppt-intro h2, .sw-ppt-stage-copy h2, .sw-ppt-progress-stage h2 { margin: 0; color: #172036; font-size: 22px; letter-spacing: -.025em; }
.sw-ppt-intro p, .sw-ppt-stage-copy p, .sw-ppt-progress-stage > p { margin: 5px 0 0; color: #6e7c91; font-size: 14px; line-height: 1.65; }
.sw-ppt-principles { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.sw-ppt-principles span { padding: 7px 10px; border: 1px solid #d9e6fa; border-radius: 999px; color: #3e6092; background: white; font-size: 12px; }
.sw-ppt-composer-notice { grid-column: 1 / -1; display: grid; grid-template-columns: 34px minmax(0,1fr) 30px; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid #cfe0fa; border-radius: 13px; color: #254f8c; background: #edf5ff; }
.sw-ppt-composer-notice > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #2868e8; background: white; }
.sw-ppt-composer-notice p { margin: 0; font-size: 13px; line-height: 1.55; }
.sw-ppt-composer-notice button { width: 30px; height: 30px; border: 0; border-radius: 8px; color: #58739b; background: transparent; cursor: pointer; font-size: 20px; }
.sw-ppt-composer-notice button:hover { color: #245ebf; background: rgba(255,255,255,.72); }

.sw-ppt-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; padding: 22px; border: 1px solid #e0e6ee; border-radius: 18px; background: white; box-shadow: 0 12px 32px rgba(31,50,81,.05); }
.sw-ppt-form label, .sw-ppt-revise label, .sw-ppt-outline-list label { display: grid; align-content: start; gap: 7px; min-width: 0; color: #425169; font-size: 13px; font-weight: 700; }
.sw-ppt-form label.wide, .sw-ppt-form .wide { grid-column: 1 / -1; }
.sw-ppt-form input, .sw-ppt-form textarea, .sw-ppt-form select,
.sw-ppt-revise input, .sw-ppt-revise textarea, .sw-ppt-revise select,
.sw-ppt-outline-list input, .sw-ppt-outline-list textarea {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid #dce3ed;
    border-radius: 10px;
    outline: 0;
    color: #253249;
    background: #fbfcfe;
    font-size: 14px;
    line-height: 1.5;
}
.sw-ppt-form textarea, .sw-ppt-revise textarea, .sw-ppt-outline-list textarea { resize: vertical; }
.sw-ppt-form input:focus, .sw-ppt-form textarea:focus, .sw-ppt-form select:focus,
.sw-ppt-revise input:focus, .sw-ppt-revise textarea:focus, .sw-ppt-revise select:focus,
.sw-ppt-outline-list input:focus, .sw-ppt-outline-list textarea:focus { border-color: #75a3ef; box-shadow: 0 0 0 3px rgba(53,113,225,.11); background: white; }
.sw-ppt-form .sw-ppt-check { grid-column: 1 / -1; display: flex; align-items: center; gap: 9px; padding: 10px 12px; border-radius: 10px; background: #f4f8ff; font-weight: 600; }
.sw-ppt-fundraising { display: grid; gap: 14px; padding: 17px; border: 1px solid #ead8b6; border-radius: 14px; background: linear-gradient(135deg,#fffdf8,#fff8e9); }
.sw-ppt-fundraising-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.sw-ppt-fundraising-heading > div { display: grid; gap: 4px; }
.sw-ppt-fundraising-heading b { color: #3d3424; font-size: 15px; }
.sw-ppt-fundraising-heading small { color: #76684f; font-size: 12px; font-weight: 500; line-height: 1.55; }
.sw-ppt-fundraising-heading > span { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: #795415; background: #f7e8c8; font-size: 12px; font-weight: 750; }
.sw-ppt-fundraising-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.sw-ppt-fundraising-fields .wide { grid-column: 1 / -1; }
.sw-ppt-check input { width: 17px; min-height: auto; height: 17px; padding: 0; accent-color: #2868e8; }
.sw-ppt-visual-control { display: grid; gap: 13px; padding: 16px; border: 1px solid #cfe0f7; border-radius: 14px; background: linear-gradient(135deg,#f8fbff,#eef5ff); }
.sw-ppt-visual-heading { display: flex; align-items: center; gap: 11px; }
.sw-ppt-visual-heading > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: white; background: linear-gradient(145deg,#2868e8,#54b3ef); }
.sw-ppt-visual-heading > div { display: grid; gap: 3px; }
.sw-ppt-visual-heading b { color: #1d3151; font-size: 15px; }
.sw-ppt-visual-heading small { color: #64748b; font-size: 12px; font-weight: 500; }
.sw-ppt-visual-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.sw-ppt-image-warning { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid #f0d3a2; border-radius: 10px; color: #815c1f; background: #fff9eb; font-size: 12px; line-height: 1.55; }
.sw-ppt-image-warning button { flex: 0 0 auto; min-height: 32px; padding: 0 10px; border: 1px solid #e5c581; border-radius: 8px; color: #835b14; background: white; cursor: pointer; font-weight: 750; }
.sw-ppt-sensitive-optin { display: flex !important; align-items: flex-start !important; gap: 10px !important; padding: 11px 12px; border: 1px solid #f0d39e; border-radius: 10px; color: #684c1f !important; background: #fff9eb; }
.sw-ppt-sensitive-optin input { flex: 0 0 auto; width: 17px !important; min-height: 17px !important; height: 17px; margin-top: 2px; padding: 0 !important; accent-color: #2868e8; }
.sw-ppt-sensitive-optin > span { display: grid; gap: 3px; }
.sw-ppt-sensitive-optin b { color: #694a18; font-size: 13px; }
.sw-ppt-sensitive-optin small { color: #826b44; font-size: 12px; font-weight: 500; line-height: 1.55; }
.sw-ppt-image-policy { padding: 10px 12px; border-radius: 10px; color: #50637d; background: rgba(255,255,255,.8); font-size: 12px; line-height: 1.55; }
.sw-ppt-references, .sw-ppt-submit { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; border: 1px solid #dce6f4; border-radius: 12px; background: #f8fbff; }
.sw-ppt-references > div { display: grid; gap: 3px; }
.sw-ppt-references b { color: #26334a; font-size: 14px; }
.sw-ppt-references span, .sw-ppt-submit > span { color: #718096; font-size: 12px; line-height: 1.5; }
.sw-ppt-references small { max-width: 720px; color: #8a6519; font-size: 12px; line-height: 1.55; }
.sw-ppt-references button, .sw-ppt-progress-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 0 13px; border: 1px solid #cddbf0; border-radius: 10px; color: #2f63b8; background: white; cursor: pointer; font-size: 13px; font-weight: 700; }
.sw-ppt-submit .primary-btn, .sw-ppt-outline-actions .primary-btn, .sw-ppt-revise .primary-btn, .sw-ppt-progress-actions .primary-btn { min-height: 42px; padding: 0 17px; border: 0; border-radius: 11px; color: white !important; background: linear-gradient(135deg,#2868e8,#3da8ee); cursor: pointer; font-size: 13px; font-weight: 750; }
.sw-ppt-submit button:disabled, .sw-ppt-outline-actions button:disabled, .sw-ppt-revise button:disabled { opacity: .55; cursor: wait; }
.sw-ppt-existing { align-self: start; display: grid; gap: 8px; padding: 17px; border: 1px solid #e0e6ee; border-radius: 18px; background: white; }
.sw-ppt-existing h3 { margin: 0 0 4px; font-size: 16px; }
.sw-ppt-existing button { display: grid; grid-template-columns: 35px minmax(0,1fr); align-items: center; gap: 2px 10px; padding: 10px; border: 1px solid #e4e9f1; border-radius: 11px; background: #fbfcfe; text-align: left; cursor: pointer; }
.sw-ppt-existing button > span { grid-row: 1 / span 2; color: #2868e8; }
.sw-ppt-existing button b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.sw-ppt-existing button small { color: #8490a3; font-size: 12px; }

.sw-ppt-outline-stage { width: min(1040px, calc(100% - 40px)); margin: 28px auto 44px; }
.sw-ppt-stage-copy { margin-bottom: 18px; }
.sw-ppt-outline-list { display: grid; gap: 12px; }
.sw-ppt-outline-list article { display: grid; grid-template-columns: 46px minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.7fr) minmax(220px,1.35fr); align-items: start; gap: 13px; padding: 15px; border: 1px solid #dfe6f0; border-radius: 14px; background: white; box-shadow: 0 8px 22px rgba(31,52,84,.04); }
.sw-ppt-outline-list article > i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #2e68ca; background: #eaf2ff; font-style: normal; font-size: 13px; font-weight: 850; }
.sw-ppt-outline-list textarea { min-height: 68px; }
.sw-ppt-visual-plan { grid-column: 2 / -1; border: 1px solid #d6e3f5; border-radius: 11px; background: #f8fbff; overflow: hidden; }
.sw-ppt-visual-plan summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; color: #355c94; cursor: pointer; list-style: none; }
.sw-ppt-visual-plan summary::-webkit-details-marker { display: none; }
.sw-ppt-visual-plan summary b { font-size: 13px; }
.sw-ppt-visual-plan summary span { color: #71829b; font-size: 12px; font-weight: 500; }
.sw-ppt-visual-plan > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; padding: 0 12px 12px; }
.sw-ppt-visual-plan label.prompt { grid-column: 1 / -1; }
.sw-ppt-visual-plan select { min-height: 40px; padding: 0 34px 0 11px; border: 1px solid #dce3ed; border-radius: 9px; outline: 0; color: #2f3d52; background: white; }
.sw-ppt-outline-actions { position: sticky; z-index: 2; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; padding: 14px 16px; border: 1px solid #dce4ee; border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 12px 28px rgba(27,48,81,.1); }
.sw-ppt-outline-actions span { color: #718096; font-size: 12px; }

.sw-ppt-progress-stage { display: grid; justify-items: center; width: min(880px, calc(100% - 40px)); margin: 10vh auto 0; padding: 30px; text-align: center; }
.sw-ppt-progress-visual { position: relative; display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 18px; border-radius: 23px; color: white; background: linear-gradient(145deg,#2a67e8,#48acef); box-shadow: 0 18px 40px rgba(41,103,224,.23); }
.sw-ppt-progress-visual .sw-icon { width: 34px; height: 34px; }
.sw-ppt-progress-visual > i { position: absolute; inset: -7px; border: 2px solid transparent; border-top-color: #367ce8; border-radius: 999px; animation: sw-spin 1s linear infinite; }
.sw-ppt-progress-track { display: grid; grid-template-columns: repeat(5,1fr); width: 100%; margin: 30px 0 24px; }
.sw-ppt-progress-track > div { position: relative; display: grid; justify-items: center; gap: 8px; color: #929cac; font-size: 12px; }
.sw-ppt-progress-track > div::before { position: absolute; z-index: 0; top: 16px; right: 50%; width: 100%; height: 2px; content: ""; background: #dfe5ed; }
.sw-ppt-progress-track > div:first-child::before { display: none; }
.sw-ppt-progress-track i { position: relative; z-index: 1; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; color: #8b96a7; background: #e8ecf2; font-style: normal; font-weight: 800; }
.sw-ppt-progress-track .done, .sw-ppt-progress-track .active { color: #2d5eae; font-weight: 750; }
.sw-ppt-progress-track .done i, .sw-ppt-progress-track .active i { color: white; background: #2f72e7; }
.sw-ppt-progress-track .done::before, .sw-ppt-progress-track .active::before { background: #74a4ef; }
.sw-ppt-failure { width: 100%; margin-bottom: 18px; padding: 13px 15px; border: 1px solid #f4cbd0; border-radius: 11px; color: #a33542; background: #fff1f2; font-size: 13px; line-height: 1.6; text-align: left; }
.sw-ppt-failure b, .sw-ppt-failure span { display: block; }
.sw-ppt-failure b { margin-bottom: 3px; font-size: 14px; }
.sw-ppt-progress-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

.sw-ppt-editor { display: grid; grid-template-columns: 216px minmax(420px,1fr) 300px; height: 100%; min-height: 0; }
.sw-ppt-thumbnails, .sw-ppt-revise { min-width: 0; min-height: 0; overflow: auto; background: white; }
.sw-ppt-thumbnails { border-right: 1px solid #dfe5ee; padding: 14px 12px; }
.sw-ppt-thumbnails-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.sw-ppt-thumbnails-head b { font-size: 14px; }
.sw-ppt-thumbnails-head select { min-width: 94px; height: 34px; border: 1px solid #dfe5ed; border-radius: 9px; background: #f8fafc; font-size: 12px; }
.sw-ppt-thumbnails > div:last-child { display: grid; gap: 10px; }
.sw-ppt-thumbnails button { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 6px 8px; padding: 8px; border: 1px solid transparent; border-radius: 11px; background: transparent; text-align: left; cursor: pointer; }
.sw-ppt-thumbnails button:hover, .sw-ppt-thumbnails button.active { border-color: #9fbeef; background: #f2f7ff; }
.sw-ppt-thumbnails button > i { align-self: start; color: #758299; font-size: 12px; font-style: normal; font-weight: 750; }
.sw-ppt-thumb-real { grid-column: 2; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid #dbe2eb; border-radius: 7px; background: #edf1f6; }
.sw-ppt-thumb-real img, .sw-ppt-main-preview img { display: block; width: 100%; height: 100%; object-fit: contain; background: white; }
.sw-ppt-thumb-real em { display: grid; place-items: center; width: 100%; height: 100%; color: #8d98aa; font-size: 12px; font-style: normal; }
.sw-ppt-thumbnails button > b { grid-column: 2; overflow: hidden; font-size: 12px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.sw-ppt-canvas { display: grid; grid-template-rows: auto minmax(0,1fr) auto; min-width: 0; min-height: 0; padding: 15px 18px 20px; overflow: auto; background: #e9edf3; }
.sw-ppt-canvas-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.sw-ppt-canvas-toolbar > div:first-child { display: grid; gap: 3px; min-width: 0; }
.sw-ppt-canvas-toolbar b { overflow: hidden; color: #223047; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.sw-ppt-canvas-toolbar span { color: #737f91; font-size: 12px; }
.sw-ppt-canvas-toolbar > div:last-child { display: flex; gap: 7px; }
.sw-ppt-canvas-toolbar button { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 11px; border: 1px solid #d6dee8; border-radius: 9px; color: #45546b; background: white; cursor: pointer; font-size: 12px; }
.sw-ppt-canvas-toolbar button:disabled { opacity: .45; cursor: not-allowed; }
.sw-ppt-main-preview { align-self: center; width: min(100%, 980px); margin: 0 auto; overflow: hidden; border-radius: 5px; background: white; box-shadow: 0 18px 48px rgba(20,34,55,.19); }
.sw-ppt-main-preview.ratio-wide { aspect-ratio: 16 / 9; }
.sw-ppt-main-preview.ratio-standard { width: min(74%, 760px); aspect-ratio: 4 / 3; }
.sw-ppt-page-claim { width: min(100%,980px); margin: 14px auto 0; padding: 12px 14px; border-radius: 11px; background: rgba(255,255,255,.9); }
.sw-ppt-page-claim b { color: #26334a; font-size: 14px; }
.sw-ppt-page-claim p { margin: 5px 0 0; color: #637086; font-size: 12px; line-height: 1.6; }
.sw-ppt-real-empty { display: grid; place-items: center; min-height: 180px; padding: 24px; border: 1px dashed #cfd8e5; border-radius: 12px; color: #79869a; background: #f8fafc; font-size: 13px; line-height: 1.7; text-align: center; }
.sw-ppt-revise { border-left: 1px solid #dfe5ee; padding: 15px; }
.sw-ppt-qa { display: grid; gap: 5px; margin-bottom: 18px; padding: 13px; border: 1px solid; border-radius: 11px; }
.sw-ppt-qa b { font-size: 13px; }.sw-ppt-qa span { font-size: 12px; line-height: 1.5; }
.sw-ppt-qa.passed { border-color: #bde8d4; color: #217651; background: #edfaf4; }
.sw-ppt-qa.waiting { border-color: #f0d9a9; color: #835d20; background: #fff8e9; }
.sw-ppt-revise form { display: grid; gap: 13px; }
.sw-ppt-revise h3 { margin: 0 0 2px; color: #202d43; font-size: 17px; }
.sw-ppt-page-visual { display: grid; gap: 5px; margin: 0 0 16px; padding: 12px; border: 1px solid #dde5ef; border-radius: 11px; color: #52637a; background: #f8fafc; }
.sw-ppt-page-visual > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sw-ppt-page-visual b { color: #33445d; font-size: 13px; }
.sw-ppt-page-visual span, .sw-ppt-page-visual small { color: #718096; font-size: 12px; }
.sw-ppt-page-visual p { margin: 2px 0; color: #765123; font-size: 12px; line-height: 1.55; }
.sw-ppt-page-visual.generated { border-color: #bde8d4; background: #f0fbf6; }
.sw-ppt-page-visual.generated b { color: #217651; }
.sw-ppt-page-visual.fallback, .sw-ppt-page-visual.failed { border-color: #f0d4a8; background: #fff9ed; }
.sw-ppt-visual-retry { margin-bottom: 20px; padding-bottom: 19px; border-bottom: 1px solid #e4e9f0; }
.sw-ppt-sensitive-optin.compact { padding: 9px 10px; }
.sw-ppt-visual-retry .secondary-btn { min-height: 40px; border: 1px solid #b8cef0; border-radius: 10px; color: #285fae; background: #f5f9ff; cursor: pointer; font-size: 13px; font-weight: 750; }
.sw-ppt-visual-retry .secondary-btn:disabled { opacity: .5; cursor: not-allowed; }

@media (max-width: 1180px) {
    .sw-ppt-editor { grid-template-columns: 190px minmax(420px,1fr); }
    .sw-ppt-revise { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(220px,.65fr) minmax(420px,1.35fr); gap: 18px; border-top: 1px solid #dfe5ee; border-left: 0; }
    .sw-ppt-revise form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .sw-ppt-revise h3, .sw-ppt-revise label:nth-of-type(2), .sw-ppt-revise button { grid-column: 1 / -1; }
}

@media (max-width: 850px) {
    .sw-ppt-studio { position: fixed; }
    .sw-ppt-studio > header { padding: 9px 12px; }
    .sw-ppt-studio > header small, .sw-ppt-status { display: none; }
    .sw-ppt-setup { grid-template-columns: 1fr; width: min(100% - 24px,720px); margin-top: 12px; }
    .sw-ppt-intro { align-items: flex-start; flex-direction: column; padding: 16px; }
    .sw-ppt-principles { justify-content: flex-start; }
    .sw-ppt-form, .sw-ppt-existing { grid-column: 1; }
    .sw-ppt-outline-stage { width: calc(100% - 24px); margin-top: 18px; }
    .sw-ppt-outline-list article { grid-template-columns: 38px minmax(0,1fr); }
    .sw-ppt-outline-list article label { grid-column: 2; }
    .sw-ppt-visual-plan { grid-column: 2; }
    .sw-ppt-visual-plan > div { grid-template-columns: 1fr; }
    .sw-ppt-visual-plan label, .sw-ppt-visual-plan label.prompt { grid-column: 1 !important; }
    .sw-ppt-editor { display: grid; grid-template-columns: 1fr; height: auto; overflow: auto; }
    .sw-ppt-thumbnails { position: sticky; z-index: 3; top: 0; border-right: 0; border-bottom: 1px solid #dfe5ee; }
    .sw-ppt-thumbnails > div:last-child { display: flex; overflow-x: auto; }
    .sw-ppt-thumbnails button { flex: 0 0 150px; }
    .sw-ppt-canvas { min-height: 560px; }
    .sw-ppt-revise { grid-column: 1; grid-template-columns: 1fr; }
    .sw-ppt-revise form { grid-template-columns: 1fr; }
    .sw-ppt-revise h3, .sw-ppt-revise label:nth-of-type(2), .sw-ppt-revise button { grid-column: 1; }
}

@media (max-width: 560px) {
    .sw-ppt-studio { grid-template-rows: 60px minmax(0,1fr); }
    .sw-ppt-studio > header > div:first-child > span { display: none; }
    .sw-ppt-form { grid-template-columns: 1fr; padding: 15px; }
    .sw-ppt-form label.wide, .sw-ppt-form .wide, .sw-ppt-form .sw-ppt-check { grid-column: 1; }
    .sw-ppt-visual-fields, .sw-ppt-fundraising-fields { grid-template-columns: 1fr; }
    .sw-ppt-fundraising-fields .wide { grid-column: 1; }
    .sw-ppt-image-warning { align-items: stretch; flex-direction: column; }
    .sw-ppt-references, .sw-ppt-submit, .sw-ppt-outline-actions, .sw-ppt-canvas-toolbar { align-items: stretch; flex-direction: column; }
    .sw-ppt-canvas { min-height: 430px; padding: 12px; }
    .sw-ppt-progress-stage { width: calc(100% - 20px); padding: 18px 8px; }
    .sw-ppt-progress-track > div span { writing-mode: vertical-rl; }
}

/* SagesWork 对话 / 工作 / 开发统一工作区 */
.segaswork-shell.work-mode, .segaswork-shell.develop-mode { grid-template-columns: 268px minmax(0,1fr); }
.sw-area-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; margin-bottom: 13px; padding: 3px; border: 1px solid #e3e9f2; border-radius: 11px; background: #f1f4f8; }
.sw-area-tabs button { min-height: 32px; border: 0; border-radius: 8px; color: #748096; background: transparent; cursor: pointer; font-size: 12px; font-weight: 760; }
.sw-area-tabs button:hover { color: #245ebf; }
.sw-area-tabs button.active { color: #245ebf; background: white; box-shadow: 0 2px 7px rgba(30,48,78,.09); }
.sw-area-panel { min-height: 0; }
.sw-chat-navigation { display: flex; flex: 1; flex-direction: column; overflow: hidden; }
.sw-work-navigation, .sw-develop-navigation { flex: 1; overflow: auto; padding: 1px 2px 6px; }
.sw-nav-group { margin: 0 0 16px; }
.sw-nav-group h3 { margin: 0 7px 6px; color: #929cac; font-size: 11px; font-weight: 780; letter-spacing: .04em; text-transform: uppercase; }
.sw-nav-list { display: grid; gap: 3px; }
.sw-nav-list button { display: flex; align-items: center; gap: 9px; min-height: 38px; padding: 7px 10px; border: 1px solid transparent; border-radius: 10px; color: #4e5e75; background: transparent; cursor: pointer; text-align: left; }
.sw-nav-list button:hover, .sw-nav-list button.active { border-color: #d5e3f8; color: #245ebf; background: #edf4ff; }
.sw-nav-list .sw-icon { width: 16px; height: 16px; }
.sw-nav-list b { font-size: 13px; font-weight: 720; }
.sw-role-nav-group { padding: 9px; border: 1px solid #dbe6f5; border-radius: 13px; background: #f8fbff; }
.sw-role-nav-group > header { display: grid; gap: 2px; margin: 0 2px 8px; }
.sw-role-nav-group > header small { color: #70829c; font-size: 11px; font-weight: 760; }
.sw-role-nav-group > header b { color: #1f4f9d; font-size: 13px; }
.sw-role-nav-group .sw-nav-list button { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 1px 8px; }
.sw-role-nav-group .sw-nav-list button > span { grid-row: 1 / span 2; }
.sw-role-nav-group .sw-nav-list button small { overflow: hidden; color: #8490a3; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sw-nav-empty { padding: 18px 10px; color: #8c97a8; font-size: 12px; line-height: 1.6; text-align: center; }

.sw-work-center { display: grid; grid-template-rows: auto minmax(0,1fr); min-width: 0; min-height: 0; background: #f7f9fc; }
.sw-work-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 112px; padding: 20px clamp(22px,3vw,42px); border-bottom: 1px solid #e4eaf2; background: rgba(255,255,255,.97); }
.sw-work-head > div { min-width: 0; }
.sw-work-head small { color: #2868e8; font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.sw-work-head h1 { margin: 5px 0 4px; color: #172033; font-size: 25px; letter-spacing: -.03em; }
.sw-work-head p { max-width: 820px; margin: 0; color: #788498; font-size: 13px; line-height: 1.6; }
.sw-work-head-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; flex: 0 0 auto; }
.sw-work-head .secondary-btn { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; min-height: 36px; padding: 0 12px; border: 1px solid #d9e1ed; border-radius: 9px; color: #51627b; background: white; cursor: pointer; }
.sw-work-head .sw-icon { width: 15px; height: 15px; }
.sw-work-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px clamp(22px,3vw,42px) 0; padding: 11px 13px; border: 1px solid #fecaca; border-radius: 10px; color: #991b1b; background: #fff7f7; font-size: 13px; line-height: 1.5; }
.sw-work-error button { flex: 0 0 auto; border: 0; color: #991b1b; background: transparent; font-size: 20px; cursor: pointer; }
.sw-work-content { position: relative; min-height: 0; overflow: auto; padding: 24px clamp(22px,3vw,42px) 42px; }
.sw-role-workspace-shell { display: grid; gap: 18px; }
.sw-role-workspace { display: grid; gap: 14px; padding: 18px 20px; border: 1px solid #dbe5f2; border-radius: 16px; background: #fff; box-shadow: 0 8px 26px rgba(40,67,108,.045); }
.sw-role-workspace > header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 18px; }
.sw-role-workspace > header small { color: #2d69c8; font-size: 11px; font-weight: 800; }
.sw-role-workspace h1 { margin: 3px 0 4px; color: #17233a; font-size: 23px; letter-spacing: -.025em; }
.sw-role-workspace p { max-width: 760px; margin: 0; color: #6f7f95; font-size: 13px; line-height: 1.6; }
.sw-role-workspace-roles { display: grid; justify-items: end; gap: 3px; min-width: 150px; padding: 9px 11px; border-left: 2px solid #76a2eb; }
.sw-role-workspace-roles span { color: #8794a8; font-size: 11px; }
.sw-role-workspace-roles b { color: #30425d; font-size: 12px; text-align: right; }
.sw-role-workspace > nav { display: flex; gap: 7px; padding-top: 12px; border-top: 1px solid #edf1f6; overflow-x: auto; }
.sw-role-workspace > nav button { display: grid; gap: 2px; flex: 0 0 auto; min-width: 132px; padding: 9px 11px; border: 1px solid #dfe6ef; border-radius: 10px; color: #4e5e74; background: #fff; text-align: left; cursor: pointer; }
.sw-role-workspace > nav button:hover, .sw-role-workspace > nav button:focus-visible, .sw-role-workspace > nav button.active { border-color: #9fbee9; color: #245ebf; background: #f0f5fd; outline: 0; }
.sw-role-workspace > nav button b { font-size: 12px; }
.sw-role-workspace > nav button small { color: #8490a3; font-size: 11px; }
.sw-role-workspace > footer { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; color: #7d899c; font-size: 11px; }
.sw-role-workspace > footer b { padding: 4px 7px; border: 1px solid #e0e6ee; border-radius: 7px; color: #52637a; background: #f8fafc; font-size: 11px; font-weight: 700; }
.sw-role-workspace > footer button { margin-left: auto; padding: 5px 8px; border: 0; border-radius: 7px; color: #2863bf; background: transparent; cursor: pointer; font-size: 11px; font-weight: 760; }
.sw-role-workspace > footer button:hover { background: #edf4ff; }
.sw-work-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(320px,1fr)); gap: 15px; }
.sw-work-card { display: grid; align-content: start; min-width: 0; padding: 18px; border: 1px solid #e0e7f0; border-radius: 16px; background: white; box-shadow: 0 8px 24px rgba(38,62,102,.045); }
.sw-work-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.sw-work-card > header small { color: #3372d6; font-size: 11px; font-weight: 800; letter-spacing: .05em; }
.sw-work-card h3 { margin: 4px 0 0; color: #202b3e; font-size: 16px; line-height: 1.45; }
.sw-work-card-content { min-width: 0; margin-top: 12px; color: #4c5a6f; font-size: 13px; line-height: 1.72; }
.sw-work-card-content .sw-markdown { font-size: 13px; }
.sw-state-badge { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; color: #54657d; background: #eef2f7; font-size: 11px; font-weight: 800; }
.sw-state-badge.running, .sw-state-badge.queued { color: #245ebf; background: #e8f1ff; }
.sw-state-badge.succeeded, .sw-state-badge.completed { color: #19714c; background: #e8f8f0; }
.sw-state-badge.failed, .sw-state-badge.dead_letter, .sw-state-badge.high, .sw-state-badge.critical { color: #a03543; background: #fff0f2; }
.sw-source-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; padding-top: 12px; border-top: 1px solid #edf1f5; }
.sw-source-meta span { padding: 4px 7px; border-radius: 7px; color: #79869a; background: #f5f7fa; font-size: 11px; overflow-wrap: anywhere; }
.sw-work-empty { display: grid; justify-items: center; max-width: 720px; margin: 9vh auto 0; padding: 34px; border: 1px dashed #cfd9e7; border-radius: 18px; color: #778498; background: rgba(255,255,255,.72); text-align: center; }
.sw-work-empty > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: #4276ca; background: #eaf2ff; }
.sw-work-empty h3 { margin: 13px 0 5px; color: #2a3548; font-size: 17px; }
.sw-work-empty p { max-width: 540px; margin: 0; font-size: 13px; line-height: 1.65; }
.sw-work-empty.compact { margin-top: 20px; padding: 22px; }
.sw-unavailable { border-color: #efd5ad; background: #fffaf0; }
.sw-unavailable > span { color: #986218; background: #fff0ce; }
.sw-work-empty button, .sw-required-connections button { margin-top: 15px; min-height: 34px; padding: 0 12px; border: 1px solid #cdd9e9; border-radius: 9px; color: #2c62b7; background: white; cursor: pointer; }
.sw-required-connections { display: grid; gap: 4px; margin-top: 14px; padding: 12px; border-radius: 10px; color: #55677e; background: #edf4ff; font-size: 12px; }

.sw-setup-guide { display: grid; gap: 16px; margin-bottom: 20px; padding: 20px; border: 1px solid #d8e5f7; border-radius: 17px; background: linear-gradient(145deg,#fff 0%,#f7faff 100%); box-shadow: 0 8px 28px rgba(42,78,133,.055); }
.sw-setup-guide > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.sw-setup-guide > header > div { min-width: 0; }
.sw-setup-guide header small { color: #2e6fd3; font-size: 11px; font-weight: 850; letter-spacing: .06em; }
.sw-setup-guide h2 { margin: 4px 0 5px; color: #213047; font-size: 20px; }
.sw-setup-guide header p { max-width: 720px; margin: 0; color: #708096; font-size: 12px; line-height: 1.6; }
.sw-setup-guide header > strong { flex: 0 0 auto; min-width: 58px; padding: 7px 10px; border-radius: 999px; color: #8a5d18; background: #fff1ce; font-size: 12px; text-align: center; }
.sw-setup-guide header > strong.ready { color: #19714c; background: #e7f8ef; }
.sw-setup-guide > .sw-permission-note { margin: -4px 0 0; }
.sw-setup-progress { height: 7px; overflow: hidden; border-radius: 999px; background: #e8eef7; }
.sw-setup-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2868e8,#34b7ef); transition: width .25s ease; }
.sw-setup-guide ol { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.sw-setup-guide li { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: start; gap: 10px; min-width: 0; padding: 13px; border: 1px solid #e0e7f1; border-radius: 12px; background: rgba(255,255,255,.92); }
.sw-setup-guide li > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #617187; background: #edf1f6; font-size: 12px; font-weight: 850; }
.sw-setup-guide li.completed { border-color: #ccebdc; background: #f7fdf9; }
.sw-setup-guide li.completed > span { color: white; background: #21a06b; }
.sw-setup-guide li > div { min-width: 0; }
.sw-setup-guide li b { display: block; color: #314158; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.sw-setup-guide li p { margin: 5px 0 0; color: #78869a; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.sw-setup-guide li > small { color: #96681e; font-size: 11px; font-weight: 780; white-space: nowrap; }
.sw-setup-guide li.completed > small { color: #23815a; }
.sw-guide-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.sw-guide-actions .secondary-btn { min-height: 31px; padding: 0 9px; border: 1px solid #cfdced; border-radius: 8px; color: #2d65bd; background: #fff; cursor: pointer; font-size: 11px; }
.sw-guide-actions small { color: #896229; font-size: 11px; line-height: 1.45; }
.sw-setup-guide > footer { color: #7d899a; font-size: 11px; line-height: 1.55; }
.sw-setup-compatibility { border-color: #ead8b9; background: linear-gradient(145deg,#fff 0%,#fffbf2 100%); }

.sw-notification-panel { display: grid; gap: 16px; margin-top: 22px; padding: 20px; border: 1px solid #dce5f1; border-radius: 17px; background: #fff; box-shadow: 0 8px 28px rgba(42,63,99,.045); }
.sw-notification-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.sw-notification-panel header small { color: #2e6fd3; font-size: 11px; font-weight: 850; letter-spacing: .06em; }
.sw-notification-panel h2 { margin: 4px 0 5px; color: #233148; font-size: 19px; }
.sw-notification-panel header p { max-width: 700px; margin: 0; color: #758297; font-size: 12px; line-height: 1.55; }
.sw-notification-panel > header > div:last-child { display: grid; justify-items: end; gap: 2px; flex: 0 0 auto; }
.sw-notification-panel > header > div:last-child b { color: #2d64bc; font-size: 17px; }
.sw-notification-panel > header > div:last-child span { color: #8a96a6; font-size: 11px; }
.sw-notification-channels { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 9px; }
.sw-notification-channels article, .sw-notification-channel { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; min-width: 0; padding: 12px; border: 1px solid #e1e8f1; border-radius: 11px; color: inherit; background: #f9fbfd; text-align: left; }
.sw-notification-channel { width: 100%; font: inherit; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.sw-notification-channel:hover { border-color: #9dbbee; box-shadow: 0 7px 18px rgba(45,96,177,.1); transform: translateY(-1px); }
.sw-notification-channel:focus-visible { outline: 3px solid rgba(40,104,232,.22); outline-offset: 2px; }
.sw-notification-channel:disabled { cursor: not-allowed; opacity: .66; transform: none; }
.sw-notification-channels article > span, .sw-notification-channel > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #64758d; background: #eef2f7; }
.sw-notification-channels article .sw-icon, .sw-notification-channel .sw-icon { width: 17px; }
.sw-notification-channels article > div, .sw-notification-channel > div { display: grid; gap: 2px; min-width: 0; }
.sw-notification-channels article b, .sw-notification-channels article small, .sw-notification-channel b, .sw-notification-channel small { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.sw-notification-channels article b, .sw-notification-channel b { color: #33445c; font-size: 12px; }
.sw-notification-channels article small, .sw-notification-channel small { color: #7d899b; font-size: 12px; line-height: 1.45; }
.sw-notification-channels article > strong, .sw-notification-channel > strong { color: #6c788b; font-size: 12px; white-space: nowrap; }
.sw-notification-channels article.connected, .sw-notification-channel.connected { border-color: #c8e8d8; background: #f4fbf7; }
.sw-notification-channels article.connected > span, .sw-notification-channel.connected > span { color: #23815a; background: #e2f5eb; }
.sw-notification-channels article.connected > strong, .sw-notification-channel.connected > strong { color: #23815a; }
.sw-notification-channels article.error, .sw-notification-channel.error { border-color: #f1d1d6; background: #fff7f8; }
.sw-notification-channels article.error > strong, .sw-notification-channel.error > strong { color: #a03543; }
.sw-notification-channels article.status-unknown > strong { color: #9a6720; }
.sw-notification-deliveries { display: grid; gap: 6px; }
.sw-notification-deliveries > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border-radius: 9px; background: #f6f8fb; }
.sw-notification-deliveries span { display: grid; min-width: 0; gap: 2px; }
.sw-notification-deliveries b, .sw-notification-deliveries small { overflow-wrap: anywhere; word-break: break-word; }
.sw-notification-deliveries b { color: #40516a; font-size: 11px; }
.sw-notification-deliveries small { color: #8591a2; font-size: 11px; }
.sw-notification-deliveries strong { flex: 0 0 auto; color: #596980; font-size: 11px; }
.sw-notification-deliveries strong.succeeded { color: #19714c; }.sw-notification-deliveries strong.failed, .sw-notification-deliveries strong.dead_letter { color: #a03543; }
.sw-notification-panel > footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 13px; border-top: 1px solid #e8edf3; color: #748197; font-size: 11px; }
.sw-notification-panel > footer .secondary-btn { min-height: 34px; padding: 0 11px; border: 1px solid #d4dfed; border-radius: 9px; color: #2c62b7; background: #fff; cursor: pointer; }
.sw-notification-panel > footer b { color: #23815a; }

.sw-calendar { position: relative; min-height: 100%; }
.sw-calendar-toolbar { display: grid; grid-template-columns: auto minmax(280px,1fr) auto; align-items: center; gap: 14px; margin-bottom: 16px; padding: 12px; border: 1px solid #e0e7f0; border-radius: 14px; background: white; }
.sw-calendar-views { display: flex; gap: 3px; padding: 3px; border-radius: 9px; background: #f0f3f7; }
.sw-calendar-views button, .sw-connector-toolbar button { min-height: 30px; padding: 0 10px; border: 0; border-radius: 7px; color: #6d7a8e; background: transparent; cursor: pointer; font-size: 12px; }
.sw-calendar-views button.active, .sw-connector-toolbar button.active { color: #245ebf; background: white; box-shadow: 0 2px 6px rgba(30,48,78,.09); }
.sw-calendar-period { display: flex; align-items: center; justify-content: center; gap: 6px; }
.sw-calendar-period button, .sw-calendar-period input, .sw-calendar-filters select { min-height: 34px; padding: 0 9px; border: 1px solid #dce3ed; border-radius: 8px; color: #4f5f76; background: white; }
.sw-calendar-period button { cursor: pointer; }
.sw-calendar-filters { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.sw-calendar-filters .primary-btn { display: inline-flex; align-items: center; gap: 5px; min-height: 34px; padding: 0 11px; border: 0; border-radius: 8px; color: white; background: #2868e8; cursor: pointer; white-space: nowrap; }
.sw-calendar-filters .sw-icon { width: 14px; }
.sw-calendar-create, .sw-finance-workspace > form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; padding: 16px; border: 1px solid #cfddf2; border-radius: 14px; background: #f6f9ff; }
.sw-calendar-create h3, .sw-finance-workspace > form h3 { grid-column: 1 / -1; margin: 0; font-size: 16px; }
.sw-calendar-create label, .sw-finance-workspace label, .sw-schedule-assistant label, .sw-connector-dialog label { display: grid; gap: 6px; color: #56667d; font-size: 12px; font-weight: 720; }
.sw-calendar-create input, .sw-calendar-create select, .sw-finance-workspace input, .sw-finance-workspace select, .sw-schedule-assistant input, .sw-schedule-assistant textarea, .sw-schedule-assistant select, .sw-connector-dialog input, .sw-connector-dialog select, .sw-connector-dialog textarea { width: 100%; min-height: 39px; padding: 8px 10px; border: 1px solid #d7e0ec; border-radius: 9px; outline: 0; color: #29364a; background: white; }
.sw-calendar-create input:focus, .sw-calendar-create select:focus, .sw-schedule-assistant input:focus, .sw-schedule-assistant textarea:focus, .sw-schedule-assistant select:focus, .sw-connector-dialog input:focus, .sw-connector-dialog textarea:focus { border-color: #80a9ee; box-shadow: 0 0 0 3px rgba(45,107,221,.1); }
.sw-calendar-create > div:last-child { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.sw-calendar-list { display: grid; gap: 8px; }
.sw-calendar-event { display: grid; grid-template-columns: 145px minmax(0,1fr) auto; align-items: center; gap: 14px; min-width: 0; padding: 14px 16px; border: 1px solid #e0e7f0; border-radius: 13px; color: #435169; background: white; text-align: left; cursor: pointer; }
.sw-calendar-event:hover, .sw-calendar-event.active { border-color: #9fbeef; box-shadow: 0 7px 20px rgba(35,76,145,.07); }
.sw-calendar-event time { color: #2c65c0; font-size: 12px; font-weight: 760; }
.sw-calendar-event > div { display: grid; gap: 3px; min-width: 0; }
.sw-calendar-event b { overflow: hidden; color: #273348; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.sw-calendar-event span { overflow: hidden; color: #7b8799; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sw-calendar-event small { padding: 4px 7px; border-radius: 999px; background: #f0f3f7; }
.sw-event-drawer { position: absolute; z-index: 8; top: 0; right: 0; width: min(420px,100%); height: 100%; overflow: auto; border-left: 1px solid #dce4ee; border-radius: 14px 0 0 14px; background: white; box-shadow: -18px 0 45px rgba(24,42,72,.14); }
.sw-event-drawer > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px; border-bottom: 1px solid #e8edf3; }
.sw-event-drawer h3 { margin: 3px 0 0; font-size: 18px; }
.sw-event-drawer small { color: #2d69ca; font-size: 11px; font-weight: 800; }
.sw-event-drawer > header button { width: 30px; height: 30px; border: 0; border-radius: 8px; background: #f0f3f7; cursor: pointer; }
.sw-event-detail { padding: 18px; }
.sw-event-detail > p { color: #536278; line-height: 1.7; }
.sw-event-detail dl { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 9px; margin: 18px 0; }
.sw-event-detail dt { color: #8b96a6; }.sw-event-detail dd { margin: 0; color: #334158; }

.sw-schedule-assistant { display: grid; grid-template-columns: minmax(320px,1fr) minmax(320px,1fr); gap: 18px; }
.sw-schedule-modes { grid-column: 1 / -1; display: flex; align-items: center; gap: 4px; width: fit-content; padding: 4px; border-radius: 11px; background: #edf1f6; }
.sw-schedule-modes button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 8px; color: #64748a; background: transparent; cursor: pointer; font-size: 12px; font-weight: 760; }
.sw-schedule-modes button.active { color: #245ebf; background: #fff; box-shadow: 0 2px 7px rgba(30,48,78,.1); }
.sw-schedule-assistant > form { display: grid; align-content: start; gap: 12px; padding: 19px; border: 1px solid #e0e7f0; border-radius: 15px; background: white; }
.sw-schedule-assistant > form h3 { margin: 0; color: #293950; font-size: 17px; }
.sw-schedule-assistant > form > p { margin: -4px 0 2px; color: #758399; font-size: 12px; line-height: 1.55; }
.sw-schedule-manual { grid-template-columns: repeat(2,minmax(0,1fr)); }
.sw-schedule-manual > h3, .sw-schedule-manual > p, .sw-schedule-manual > label.wide, .sw-schedule-manual > div:last-child { grid-column: 1 / -1; }
.sw-schedule-assistant textarea { resize: vertical; }
.sw-schedule-assistant form > div { display: flex; gap: 8px; }.sw-schedule-assistant select { flex: 1; }
.sw-schedule-draft { padding: 19px; border: 1px solid #d4e2f7; border-radius: 15px; background: #f7faff; }
.sw-schedule-draft header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.sw-schedule-draft header span { color: #9a6720; font-size: 12px; }
.sw-schedule-draft pre { max-height: 340px; padding: 12px; overflow: auto; border-radius: 9px; color: #4b5a70; background: white; white-space: pre-wrap; overflow-wrap: anywhere; }
.sw-finance-workspace { display: grid; gap: 18px; }
.sw-finance-results { display: grid; gap: 14px; }
.sw-finance-results > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 17px 18px; border: 1px solid #dce5f1; border-radius: 15px; background: #fff; }
.sw-finance-results > header small { color: #2e6fd3; font-size: 11px; font-weight: 850; letter-spacing: .06em; }
.sw-finance-results > header h2 { margin: 4px 0 5px; color: #26354b; font-size: 19px; }
.sw-finance-results > header p { max-width: 720px; margin: 0; color: #758398; font-size: 12px; line-height: 1.55; }
.sw-finance-results > header .primary-btn { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 0; border-radius: 9px; color: #fff; background: #2868e8; cursor: pointer; }
.sw-finance-results > header .sw-icon { width: 15px; }
.sw-finance-agent-tabs { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 8px; }
.sw-finance-agent-tabs button { display: grid; gap: 3px; min-width: 0; padding: 11px 12px; border: 1px solid #dfe6ef; border-radius: 11px; color: #4d5e76; background: #fff; cursor: pointer; text-align: left; }
.sw-finance-agent-tabs button:hover, .sw-finance-agent-tabs button.active { border-color: #93b6ee; color: #245ebf; background: #f2f7ff; }
.sw-finance-agent-tabs b, .sw-finance-agent-tabs small { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.sw-finance-agent-tabs b { font-size: 12px; }.sw-finance-agent-tabs small { color: #8793a4; font-size: 11px; }
.sw-finance-agent-detail { display: grid; gap: 14px; padding: 18px; border: 1px solid #d7e3f3; border-radius: 15px; background: linear-gradient(145deg,#fff,#f7faff); }.sw-finance-agent-detail > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }.sw-finance-agent-detail header > div { min-width: 0; }.sw-finance-agent-detail header small { color: #2f69c6; font-size: 12px; font-weight: 800; }.sw-finance-agent-detail h3 { margin: 4px 0; color: #27364c; font-size: 18px; }.sw-finance-agent-detail header p { margin: 0; color: #68788e; font-size: 12px; line-height: 1.6; }.sw-finance-agent-detail header > span { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 800; }.sw-finance-agent-detail header > span.ready { color: #19714c; background: #e5f7ee; }.sw-finance-agent-detail header > span.setup { color: #92621d; background: #fff1d2; }
.sw-finance-agent-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }.sw-finance-agent-facts > div { display: grid; gap: 4px; padding: 11px; border-radius: 10px; background: #fff; }.sw-finance-agent-facts b, .sw-finance-agent-detail > section > b { color: #68778c; font-size: 12px; }.sw-finance-agent-facts span { color: #32445d; font-size: 12px; overflow-wrap: anywhere; }.sw-finance-agent-detail > section > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 7px; }.sw-finance-agent-detail > section span { padding: 5px 8px; border-radius: 8px; color: #405979; background: #eaf2ff; font-size: 12px; }.sw-finance-agent-missing { display: grid; gap: 5px; padding: 11px; border-radius: 10px; color: #8f3540; background: #fff2f4; font-size: 12px; }.sw-finance-agent-detail > footer { display: flex; justify-content: flex-end; }
.sw-finance-workspace > form { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sw-finance-workspace > form button { align-self: end; min-height: 39px; }
.sw-finance-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.sw-finance-materials { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px 16px; padding: 13px; border: 1px solid #dbe5f3; border-radius: 11px; background: #fff; }
.sw-finance-materials > div:first-child { display: grid; gap: 4px; }.sw-finance-materials > div:first-child b { color: #31425a; font-size: 13px; }.sw-finance-materials > div:first-child span, .sw-finance-materials > p { margin: 0; color: #718096; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.sw-finance-materials > button { align-self: center !important; display: inline-flex; align-items: center; gap: 6px; min-height: 36px !important; white-space: nowrap; }.sw-finance-materials > button .sw-icon { width: 15px; }
.sw-finance-selected-docs { grid-column: 1 / -1; display: flex !important; flex-wrap: wrap; gap: 7px; }
.sw-finance-selected-docs > span { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 6px 8px 6px 10px; border-radius: 9px; color: #365274; background: #edf4ff; font-size: 12px; }
.sw-finance-selected-docs b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sw-finance-selected-docs button { min-height: 22px !important; width: 22px; padding: 0; border: 0; border-radius: 6px; color: #6d7c90; background: rgba(255,255,255,.78); cursor: pointer; }
.sw-finance-sources { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 13px; border: 1px solid #dbe5f3; border-radius: 11px; background: #fff; }.sw-finance-sources legend { padding: 0 5px; color: #31425a; font-size: 13px; font-weight: 760; }.sw-finance-sources > p { margin: 0 0 10px; color: #718096; font-size: 12px; line-height: 1.55; }.sw-finance-sources > div { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 9px; }.sw-finance-sources label { display: flex; grid-template-columns: none; align-items: center; gap: 9px; min-width: 0; padding: 10px; border: 1px solid #e1e8f2; border-radius: 9px; background: #f8fbff; cursor: pointer; }.sw-finance-sources input { flex: 0 0 auto; width: 17px; min-height: 17px; margin: 0; }.sw-finance-sources label span { display: grid; min-width: 0; gap: 2px; }.sw-finance-sources label b, .sw-finance-sources label small { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }.sw-finance-sources label b { color: #34465f; }.sw-finance-sources label small { color: #7d899a; font-weight: 450; }
.sw-finance-source-empty { grid-column: 1 / -1; margin: 0; padding: 11px 13px; border: 1px dashed #d7e1ef; border-radius: 10px; color: #728197; background: #fbfcfe; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.sw-finance-workspace > .sw-document-popover { position: fixed; z-index: 140; top: 50%; bottom: auto; left: 50%; width: min(720px,calc(100vw - 36px)); max-height: min(680px,calc(100vh - 36px)); transform: translate(-50%,-50%); }
.sw-finance-analysis-list { display: grid; gap: 14px; }
.sw-finance-analysis-card { min-width: 0; padding: 18px; border: 1px solid #dfe7f1; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(38,62,102,.045); }
.sw-finance-analysis-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.sw-finance-analysis-card header small { color: #3372d6; font-size: 11px; font-weight: 800; }.sw-finance-analysis-card h3 { margin: 4px 0 0; font-size: 17px; overflow-wrap: anywhere; }
.sw-finance-conclusion { margin-top: 13px; color: #43536a; font-size: 13px; line-height: 1.72; overflow-wrap: anywhere; }
.sw-finance-summary { display: flex; flex-wrap: wrap; gap: 7px; margin: 13px 0; }.sw-finance-summary span { padding: 5px 8px; border-radius: 8px; color: #52647d; background: #f2f6fb; font-size: 11px; }
.sw-finance-detail { display: grid; gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #e7edf4; }.sw-finance-detail h4 { margin: 0 0 8px; color: #2e3e54; font-size: 14px; }
.sw-finance-detail-loading, .sw-finance-detail-error { margin-top: 14px; padding: 16px; border: 1px solid #dce6f2; border-radius: 11px; color: #5f7189; background: #f8fbff; font-size: 12px; line-height: 1.6; }.sw-finance-detail-error { border-color: #efcbd0; color: #943443; background: #fff8f9; }.sw-finance-detail-error b { display: block; font-size: 13px; }.sw-finance-detail-error p { margin: 4px 0 10px; }.sw-finance-narrative { padding: 12px; border: 1px solid #e3e9f1; border-radius: 10px; color: #42536b; background: #f9fbfe; font-size: 12px; line-height: 1.72; overflow-wrap: anywhere; }
.sw-finance-records { display: grid; gap: 8px; }.sw-finance-record { min-width: 0; padding: 12px; border: 1px solid #e2e9f2; border-radius: 11px; background: #f9fbfe; }.sw-finance-record > b { display: block; margin-bottom: 9px; color: #2f4057; overflow-wrap: anywhere; }
.sw-finance-record dl { display: grid; grid-template-columns: minmax(80px,130px) minmax(0,1fr); gap: 7px 10px; margin: 0; font-size: 12px; }.sw-finance-record dt { color: #8090a4; }.sw-finance-record dd { min-width: 0; margin: 0; color: #42536b; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.sw-finance-table-wrap { width: 100%; overflow-x: auto; border: 1px solid #e1e8f1; border-radius: 11px; background: #fff; }
.sw-finance-table { width: 100%; min-width: 820px; border-collapse: collapse; table-layout: fixed; color: #405169; font-size: 12px; }
.sw-finance-table th, .sw-finance-table td { min-width: 0; padding: 10px 11px; border-right: 1px solid #e6ebf2; border-bottom: 1px solid #e6ebf2; vertical-align: top; text-align: left; white-space: normal; overflow-wrap: anywhere; word-break: break-word; line-height: 1.55; }
.sw-finance-table th { color: #62738a; background: #f3f6fa; font-weight: 780; }
.sw-finance-table tr:last-child td { border-bottom: 0; }.sw-finance-table th:last-child, .sw-finance-table td:last-child { border-right: 0; }
.sw-finance-evidence { display: grid; gap: 8px; }.sw-finance-evidence article { display: grid; gap: 4px; min-width: 0; padding: 11px; border-left: 3px solid #5d8ce0; border-radius: 8px; background: #f4f8ff; }.sw-finance-evidence b, .sw-finance-evidence span, .sw-finance-evidence small { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }.sw-finance-evidence span { color: #465a73; font-size: 12px; line-height: 1.6; }.sw-finance-evidence small { color: #7c899c; }
.sw-finance-no-evidence { margin: 0; padding: 11px; border-radius: 9px; color: #8b5d23; background: #fff7e8; font-size: 12px; }
.sw-work-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 18px; }.sw-work-pagination button { min-width: 34px; min-height: 34px; padding: 0 9px; border: 1px solid #d8e1ed; border-radius: 9px; color: #51627a; background: #fff; cursor: pointer; }.sw-work-pagination button.active { border-color: #2868e8; color: #fff; background: #2868e8; }.sw-work-pagination button:disabled { opacity: .42; cursor: not-allowed; }.sw-work-pagination span, .sw-work-pagination small { color: #7c899b; font-size: 12px; }
.sw-permission-note { padding: 13px; border: 1px solid #efd9a9; border-radius: 10px; color: #805c25; background: #fff8e8; font-size: 12px; }

.sw-work-agent-mask { position: fixed; z-index: 160; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(18,29,49,.52); backdrop-filter: blur(5px); }
.sw-work-agent-dialog { width: min(820px,100%); max-height: min(820px,calc(100vh - 40px)); overflow: auto; border-radius: 20px; background: #fff; box-shadow: 0 34px 100px rgba(16,27,47,.3); }
.sw-work-agent-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 21px 23px 18px; border-bottom: 1px solid #e5ebf3; }
.sw-work-agent-dialog > header > div { min-width: 0; }.sw-work-agent-dialog header small { color: #2d69ca; font-size: 12px; font-weight: 850; letter-spacing: .06em; }.sw-work-agent-dialog h2 { margin: 4px 0 5px; color: #223149; font-size: 22px; }.sw-work-agent-dialog header p { margin: 0; color: #718096; font-size: 13px; line-height: 1.55; }.sw-work-agent-dialog header button { flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 9px; color: #53627a; background: #eef2f7; cursor: pointer; font-size: 20px; }
.sw-work-agent-loading { display: grid; justify-items: center; gap: 7px; padding: 54px 24px; color: #53647d; text-align: center; }.sw-work-agent-loading i { width: 32px; height: 32px; border: 3px solid #d9e5f7; border-top-color: #2868e8; border-radius: 50%; animation: sw-spin .75s linear infinite; }.sw-work-agent-loading b { color: #2b3a51; font-size: 15px; }.sw-work-agent-loading span { font-size: 12px; }
@keyframes sw-spin { to { transform: rotate(360deg); } }
.sw-work-agent-steps { display: grid; gap: 9px; margin: 0; padding: 19px 23px 8px; list-style: none; }.sw-work-agent-steps li { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: start; gap: 11px; min-width: 0; padding: 13px; border: 1px solid #e0e7f0; border-radius: 12px; background: #fafbfd; }.sw-work-agent-steps li > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #6b778a; background: #e9eef5; font-size: 12px; font-weight: 850; }.sw-work-agent-steps li.completed { border-color: #c8ead9; background: #f6fcf8; }.sw-work-agent-steps li.completed > span { color: #fff; background: #20a16a; }.sw-work-agent-steps li > div { min-width: 0; }.sw-work-agent-steps b { color: #2f4058; font-size: 13px; }.sw-work-agent-steps p { margin: 4px 0 0; color: #708096; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }.sw-work-agent-steps strong { color: #9a6720; font-size: 12px; white-space: nowrap; }.sw-work-agent-steps .completed strong { color: #19714c; }
.sw-work-agent-missing, .sw-work-agent-error { margin: 10px 23px 0; padding: 12px 14px; border: 1px solid #efcbd0; border-radius: 11px; color: #97313f; background: #fff5f6; font-size: 12px; line-height: 1.55; }.sw-work-agent-missing ul { margin: 7px 0 0; padding-left: 19px; }.sw-work-agent-dialog > .secondary-btn { margin: 10px 23px 0; }
.sw-work-agent-sources { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 8px; margin: 14px 23px 0; padding: 13px; border: 1px solid #dbe5f3; border-radius: 12px; background: #f8fbff; }.sw-work-agent-sources legend { padding: 0 6px; color: #33465f; font-size: 13px; font-weight: 780; }.sw-work-agent-sources label { display: flex; align-items: flex-start; gap: 9px; min-width: 0; padding: 10px; border: 1px solid #e0e7f0; border-radius: 9px; background: #fff; cursor: pointer; }.sw-work-agent-sources input { flex: 0 0 auto; width: 17px; height: 17px; margin: 1px 0 0; }.sw-work-agent-sources label span { display: grid; min-width: 0; gap: 3px; }.sw-work-agent-sources label b { color: #35475f; font-size: 12px; overflow-wrap: anywhere; }.sw-work-agent-sources label small { color: #78879a; font-size: 12px; }
.sw-work-agent-dialog > footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 19px; padding: 16px 23px; border-top: 1px solid #e5ebf3; }.sw-work-agent-dialog button:focus-visible { outline: 3px solid rgba(40,104,232,.2); outline-offset: 2px; }.sw-work-agent-dialog button:disabled { cursor: not-allowed; opacity: .48; }

.sw-connector-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; padding: 10px 12px; border: 1px solid #e0e7f0; border-radius: 13px; background: white; }
.sw-connector-toolbar > div { display: flex; gap: 3px; padding: 3px; border-radius: 9px; background: #f0f3f7; }
.sw-connector-toolbar p { margin: 0; color: #7b8799; font-size: 12px; }
.sw-connector-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(320px,1fr)); gap: 14px; }
.sw-connector-card { min-width: 0; padding: 17px; border: 1px solid #e0e7f0; border-radius: 15px; background: white; }
.sw-connector-card > header { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.sw-connector-card > header > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #2c66c6; background: #eaf2ff; }
.sw-connector-card > header .sw-icon { width: 19px; }.sw-connector-card h3 { margin: 2px 0 0; font-size: 15px; }.sw-connector-card header small { color: #8390a3; font-size: 11px; }
.sw-connector-status { padding: 4px 7px; border-radius: 999px; color: #5f6e83; background: #eef2f7; font-size: 11px; }
.sw-connector-status.connected { color: #19714c; background: #e8f8f0; }.sw-connector-status.error { color: #9f3541; background: #fff0f2; }.sw-connector-status.configured { color: #2b63b9; background: #eaf2ff; }
.sw-connector-card dl { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 7px; margin: 15px 0; font-size: 12px; }.sw-connector-card dt { color: #8a95a6; }.sw-connector-card dd { min-width: 0; margin: 0; color: #43536a; overflow-wrap: anywhere; }
.sw-connector-error { padding: 8px; border-radius: 8px; color: #9b3542; background: #fff0f2; font-size: 11px; line-height: 1.5; }
.sw-connector-dialog > header p { margin: 4px 0 0; color: #77859a; font-size: 12px; line-height: 1.5; }
.sw-connector-guide { display: grid; gap: 12px; margin: 0 18px 16px; padding: 15px; border: 1px solid #dce6f3; border-radius: 13px; background: #f8fbff; }
.sw-connector-guide > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.sw-connector-guide h3, .sw-connector-guide p { margin: 0; }.sw-connector-guide h3 { margin-top: 3px; color: #263750; font-size: 15px; }.sw-connector-guide header small { color: #6781a8; font-size: 12px; }.sw-connector-guide header strong { padding: 4px 8px; border-radius: 999px; color: #2864c4; background: #e8f1ff; font-size: 12px; }
.sw-connector-guide ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.sw-connector-guide li { display: grid; grid-template-columns: 25px minmax(0,1fr); align-items: start; gap: 7px; min-width: 0; padding: 9px; border: 1px solid #e3e9f1; border-radius: 10px; background: #fff; }
.sw-connector-guide li > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #6e7d92; background: #edf1f6; font-size: 12px; font-weight: 800; }.sw-connector-guide li p { color: #596a82; font-size: 12px; line-height: 1.55; }.sw-connector-guide li.current { border-color: #a9c5f3; background: #f3f7ff; }.sw-connector-guide li.current > span { color: #fff; background: #2868e8; }.sw-connector-guide li.completed > span { color: #fff; background: #21a16b; }
.sw-connector-guide-links { display: flex; flex-wrap: wrap; gap: 8px 16px; }.sw-connector-guide-links a { width: fit-content; color: #2865c5; font-size: 12px; font-weight: 760; text-decoration: none; }.sw-connector-guide-links a:hover, .sw-connector-guide-links a:focus-visible { text-decoration: underline; }
.sw-connector-security-tips { display: grid; gap: 4px; margin: 0; padding: 10px 12px 10px 28px; border: 1px solid #f2dfb8; border-radius: 10px; color: #6d571e; background: #fffaf0; font-size: 12px; line-height: 1.55; }.sw-connector-guide > p { color: #78869a; font-size: 12px; line-height: 1.55; }
.sw-connector-inline-error { margin: 0 18px 14px; padding: 10px 12px; border: 1px solid #efc5cc; border-radius: 10px; color: #a33042; background: #fff4f5; font-size: 12px; line-height: 1.5; }
@media (max-width: 760px) { .sw-connector-guide ol { grid-template-columns: 1fr; } }
.sw-connector-card > footer { display: flex; flex-wrap: wrap; gap: 6px; }.sw-connector-card > footer button { min-height: 32px; padding: 0 9px; border: 1px solid #d9e1ec; border-radius: 8px; color: #4d607c; background: white; cursor: pointer; font-size: 11px; }.sw-connector-card > footer button:disabled { opacity: .43; cursor: not-allowed; }
.sw-connector-mask { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(18,29,49,.48); backdrop-filter: blur(4px); }
.sw-connector-dialog { width: min(760px,100%); max-height: min(760px,calc(100vh - 36px)); overflow: auto; border-radius: 18px; background: white; box-shadow: 0 30px 90px rgba(16,27,47,.26); }
.sw-connector-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 19px 21px; border-bottom: 1px solid #e7ecf2; }.sw-connector-dialog h2 { margin: 3px 0 0; font-size: 21px; }.sw-connector-dialog header small { color: #2d69ca; font-size: 11px; font-weight: 850; letter-spacing: .08em; }.sw-connector-dialog header button { width: 32px; height: 32px; border: 0; border-radius: 9px; background: #f0f3f7; cursor: pointer; }
.sw-connector-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; padding: 18px 21px; }.sw-connector-form-grid .wide { grid-column: 1 / -1; }.sw-connector-dialog label small { color: #8b96a7; font-weight: 400; }
.sw-secret-input { user-select: none; -webkit-user-select: none; }
.sw-connector-dialog > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 15px 21px; border-top: 1px solid #e7ecf2; }
.sw-delivery-test { display: grid; gap: 10px; margin: 0 21px 21px; padding: 15px; border: 1px solid #d7e4f7; border-radius: 12px; background: #f7faff; }.sw-delivery-test h3 { margin: 0; font-size: 15px; }.sw-delivery-test p { margin: 0; color: #7b8799; font-size: 11px; }.sw-delivery-test button { justify-self: start; }
.sw-delivery-records { display: grid; gap: 12px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #dfe6ef; }.sw-delivery-records > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.sw-delivery-records h2 { margin: 3px 0 0; font-size: 18px; }.sw-delivery-records header small { color: #3372d6; font-size: 12px; font-weight: 850; letter-spacing: .08em; }.sw-delivery-records header button { min-height: 34px; }
.sw-delivery-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: 10px; }.sw-delivery-record { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px 12px; min-width: 0; padding: 14px; border: 1px solid #e0e7f0; border-radius: 13px; background: #fff; }.sw-delivery-record > div { display: grid; gap: 3px; min-width: 0; }.sw-delivery-record > div b, .sw-delivery-record > div span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sw-delivery-record > div span { color: #77869a; font-size: 12px; }.sw-delivery-record > strong { align-self: start; padding: 4px 7px; border-radius: 999px; color: #52647d; background: #eef2f7; font-size: 11px; }.sw-delivery-record > strong.queued, .sw-delivery-record > strong.running { color: #245ebf; background: #e8f1ff; }.sw-delivery-record > strong.succeeded { color: #19714c; background: #e8f8f0; }.sw-delivery-record > strong.failed, .sw-delivery-record > strong.dead_letter { color: #a03543; background: #fff0f2; }
.sw-delivery-record dl { grid-column: 1 / -1; display: grid; grid-template-columns: 74px minmax(0,1fr); gap: 5px 9px; margin: 0; font-size: 11px; }.sw-delivery-record dt { color: #8a96a7; }.sw-delivery-record dd { min-width: 0; margin: 0; color: #4b5d75; white-space: normal; overflow-wrap: anywhere; }.sw-delivery-record > p { grid-column: 1 / -1; margin: 0; padding: 8px; border-radius: 8px; color: #9b3542; background: #fff0f2; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.sw-develop-loop { display: grid; gap: 18px; max-width: 1180px; margin: 0 auto; }
.sw-develop-loop > header { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 20px; border: 1px solid #dce6f2; border-radius: 16px; background: #fff; }
.sw-develop-loop > header > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; color: #2868e8; background: #edf4ff; }.sw-develop-loop > header .sw-icon { width: 23px; }.sw-develop-loop h2, .sw-develop-loop p { margin: 0; }.sw-develop-loop h2 { margin: 2px 0 4px; font-size: 21px; }.sw-develop-loop header small { color: #3473d1; font-size: 11px; font-weight: 850; letter-spacing: .12em; }.sw-develop-loop header p { color: #728198; font-size: 13px; line-height: 1.55; }
.sw-develop-loop > nav { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; }
.sw-develop-loop > nav button { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 2px 9px; min-width: 0; padding: 13px; border: 1px solid #dce5f0; border-radius: 13px; color: #40536e; background: #fff; text-align: left; cursor: pointer; }.sw-develop-loop > nav button:hover, .sw-develop-loop > nav button:focus-visible { border-color: #9bbcf0; background: #f7faff; }.sw-develop-loop > nav button.active { border-color: #4f8be8; background: #eef5ff; box-shadow: inset 3px 0 #2b73d2; }.sw-develop-loop > nav span { grid-row: 1 / 3; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #2c68c6; background: #eaf2ff; font-size: 12px; font-weight: 850; }.sw-develop-loop > nav b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.sw-develop-loop > nav small { color: #8793a5; font-size: 11px; }
.sw-develop-loop-note { display: flex; align-items: flex-start; gap: 10px; padding: 13px 15px; border: 1px solid #dfe7f1; border-radius: 12px; color: #617188; background: #f8fafc; font-size: 12px; line-height: 1.6; }.sw-develop-loop-note b { flex: 0 0 auto; color: #30445f; }

@media (max-width: 1180px) {
    .segaswork-shell.work-mode, .segaswork-shell.develop-mode { grid-template-columns: 244px minmax(0,1fr); }
    .sw-calendar-toolbar { grid-template-columns: 1fr 1fr; }.sw-calendar-filters { grid-column: 1 / -1; }
}
@media (max-width: 980px) {
    .segaswork-shell.work-mode, .segaswork-shell.develop-mode { grid-template-columns: 210px minmax(0,1fr); }
    .sw-work-center { min-height: 760px; }
    .sw-work-card-grid, .sw-connector-grid { grid-template-columns: 1fr; }
    .sw-schedule-assistant { grid-template-columns: 1fr; }
    .sw-schedule-modes { grid-column: 1; }
    .sw-setup-guide ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .sw-develop-loop > nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
    .segaswork-shell.work-mode, .segaswork-shell.develop-mode { display: block; }
    .sw-left { max-height: 360px; }.sw-work-navigation, .sw-develop-navigation { max-height: 240px; }
    .sw-work-head { align-items: flex-start; flex-direction: column; min-height: 0; padding: 16px; }.sw-work-head h1 { font-size: 21px; }.sw-work-head-actions { justify-content: flex-start; width: 100%; }
    .sw-work-content { padding: 14px 12px 28px; }
    .sw-role-workspace { padding: 15px; }.sw-role-workspace > header { grid-template-columns: 1fr; }.sw-role-workspace-roles { justify-items: start; padding-left: 9px; }.sw-role-workspace-roles b { text-align: left; }.sw-role-workspace > footer button { width: 100%; margin-left: 0; text-align: left; }
    .sw-setup-guide, .sw-notification-panel { padding: 15px; }.sw-setup-guide > header, .sw-notification-panel > header, .sw-finance-results > header { flex-direction: column; }.sw-setup-guide ol { grid-template-columns: 1fr; }.sw-notification-panel > header > div:last-child { justify-items: start; }.sw-notification-channels { grid-template-columns: 1fr; }
    .sw-calendar-toolbar { grid-template-columns: 1fr; }.sw-calendar-filters { grid-column: 1; justify-content: flex-start; flex-wrap: wrap; }.sw-calendar-period { justify-content: flex-start; }
    .sw-calendar-event { grid-template-columns: 1fr auto; }.sw-calendar-event time { grid-column: 1 / -1; }
    .sw-calendar-create, .sw-finance-workspace > form, .sw-schedule-manual { grid-template-columns: 1fr; }.sw-calendar-create label, .sw-finance-workspace > form label, .sw-schedule-manual > h3, .sw-schedule-manual > p, .sw-schedule-manual > label.wide, .sw-schedule-manual > div:last-child { grid-column: 1; }
    .sw-finance-materials { grid-template-columns: 1fr; }.sw-finance-selected-docs { grid-column: 1; }.sw-finance-record dl { grid-template-columns: 1fr; }.sw-delivery-list { grid-template-columns: 1fr; }
    .sw-finance-agent-facts { grid-template-columns: 1fr; }
    .sw-connector-toolbar { align-items: flex-start; flex-direction: column; }.sw-connector-toolbar > div { flex-wrap: wrap; }
    .sw-connector-form-grid { grid-template-columns: 1fr; }.sw-connector-form-grid .wide { grid-column: 1; }
    .sw-work-agent-mask { padding: 0; }.sw-work-agent-dialog { width: 100%; max-height: 100vh; border-radius: 0; }.sw-work-agent-dialog > header, .sw-work-agent-steps { padding-left: 15px; padding-right: 15px; }.sw-work-agent-missing, .sw-work-agent-error, .sw-work-agent-sources { margin-left: 15px; margin-right: 15px; }.sw-work-agent-sources { grid-template-columns: 1fr; }.sw-work-agent-dialog > footer { padding-left: 15px; padding-right: 15px; }
    .sw-develop-loop > header { grid-template-columns: 44px minmax(0,1fr); }.sw-develop-loop > header > button { grid-column: 1 / -1; }.sw-develop-loop > nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .segaswork-shell *, .segaswork-shell *::before, .segaswork-shell *::after { scroll-behavior: auto !important; transition: none !important; animation-duration: .001ms !important; }
}

/* SagesWork conversation typography — compact baseline requested for Web and mobile. */
.segaswork-shell {
    --sw-session-primary-font-size: 13px;
    --sw-session-secondary-font-size: 11px;
    --sw-conversation-font-size: 14px;
    --sw-composer-font-size: 14px;
    --sw-chat-title-font-size: 14px;
    --sw-button-font-size: 13px;
}

.sw-session-main strong,
.sw-project-list b,
.sw-left-tools b,
.sw-space-list b,
.sw-left-foot b {
    font-size: var(--sw-session-primary-font-size);
}

.sw-session-heading,
.sw-project-heading,
.sw-session-main span,
.sw-session-main small,
.sw-project-list small,
.sw-space-list small,
.sw-left-foot small,
.sw-left-privacy {
    font-size: var(--sw-session-secondary-font-size);
}

.sw-message-body { font-size: var(--sw-conversation-font-size); }
.sw-markdown { font-size: inherit; }
.sw-composer textarea { font-size: var(--sw-composer-font-size); }
.sw-chat-head h2 { font-size: var(--sw-chat-title-font-size); }
.segaswork-shell button { font-size: var(--sw-button-font-size) !important; }

/* Icon-only controls retain their visual glyph size; labelled buttons use 13px above. */
.sw-right-head button { font-size: 18px !important; }
.sw-model-quick-error button,
.sw-ppt-composer-notice button,
.sw-work-agent-dialog header button { font-size: 20px !important; }

/* Keep the task-cockpit responsive contract last so legacy workspace breakpoints cannot restack all panes. */
.segaswork-shell.work-mode,
.segaswork-shell.develop-mode { grid-template-columns: 248px minmax(0, 1fr); }
@media (max-width: 1120px) and (min-width: 681px) {
    .segaswork-shell.work-mode,
    .segaswork-shell.develop-mode { grid-template-columns: 224px minmax(0, 1fr); }
}
@media (max-width: 680px) {
    .segaswork-shell,
    .segaswork-shell.work-mode,
    .segaswork-shell.develop-mode,
    .segaswork-shell.right-collapsed {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) 58px;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }
    .sw-left,
    .sw-center,
    .sw-work-center,
    .sw-right { grid-column: 1; grid-row: 1; display: none; width: auto; min-height: 0; max-height: none; }
    .mobile-pane-navigation .sw-left { display: flex; }
    .mobile-pane-work .sw-center,
    .mobile-pane-work .sw-work-center { display: grid; }
    .mobile-pane-context .sw-right { display: grid; }
}

/* SagesWork dual-mode task experience: personal assistance with governed enterprise handoff. */
.sw-area-tabs button { min-width: 0; padding: 0 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.sw-empty-chat { justify-items: stretch; width: min(760px, 100%); max-width: none; margin: clamp(28px, 7vh, 72px) auto 0; text-align: left; }
.sw-empty-intro { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 15px; max-width: 680px; }
.sw-empty-intro .sw-orb { width: 48px; height: 48px; margin: 0; border-radius: 14px; background: #2868e8; box-shadow: 0 8px 20px rgba(40, 104, 232, .18); font-size: 19px; }
.sw-empty-chat .sw-empty-intro h2 { margin: 0 0 5px; font-size: clamp(23px, 2.2vw, 30px); line-height: 1.2; letter-spacing: -.025em; }
.sw-empty-chat .sw-empty-intro p { max-width: 640px; margin: 0; line-height: 1.65; }
.sw-example-tasks { width: 100%; margin-top: 24px; }
.sw-example-tasks > div:first-child { margin-bottom: 9px; }
.sw-starter-grid button { min-height: 72px; border-radius: 12px; box-shadow: none; }
.sw-starter-grid button:hover { border-color: #9bbcf0; background: #f7faff; box-shadow: 0 7px 18px rgba(37, 99, 235, .07); transform: translateY(-1px); }
.sw-starter-grid button:active { transform: translateY(0); }
.sw-enterprise-handoff { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; padding: 17px 2px 0; border-top: 1px solid #e2e8f1; }
.sw-enterprise-handoff > div { display: grid; gap: 3px; min-width: 0; }
.sw-enterprise-handoff b { color: #2a3850; font-size: 13px; }
.sw-enterprise-handoff span { color: #708096; font-size: 12px; line-height: 1.55; }
.sw-enterprise-handoff button { flex: 0 0 auto; min-height: 36px; padding: 0 13px; border: 1px solid #b9cdec; border-radius: 9px; color: #245ebf; background: #fff; cursor: pointer; font-weight: 760; }
.sw-enterprise-handoff button:hover { border-color: #7fa5df; background: #f2f7ff; }

.sw-center { grid-template-rows: minmax(0, 1fr) auto; }
.sw-message-board { padding-top: 24px; }
.sw-composer-wrap { padding: 8px max(14px, calc((100% - 828px) / 2)) 11px; background: #fff; }
.sw-composer, .sw-composer-wrap.empty-active .sw-composer, .sw-composer-wrap.conversation-active .sw-composer { width: min(800px, 100%); min-height: 102px; border: 1px solid #dde2e9; border-radius: 16px; background: #fff; box-shadow: 0 2px 8px rgba(28, 43, 67, .07); transition: border-color .15s ease, box-shadow .15s ease; }
.sw-composer:focus-within { border-color: #dde2e9; background: #fff; box-shadow: 0 2px 8px rgba(28, 43, 67, .07); }
.sw-composer textarea, .sw-composer textarea:hover, .sw-composer textarea:is(:focus, :focus-visible) { border: 0 !important; border-radius: 0; outline: 0 !important; background: transparent !important; box-shadow: none !important; }
.sw-composer textarea { min-height: 58px; padding: 13px 15px 6px; color: #20242b; line-height: 1.55; }
.sw-composer textarea::placeholder { color: #7f8793; }
.sw-composer:has(.sw-image-attachments) { min-height: 184px; }
.sw-composer-bar { min-height: 40px; padding: 2px 7px 7px; }
.sw-composer-left { gap: 3px; max-width: calc(100% - 44px); overflow-x: auto; }
.sw-composer-tool-group { gap: 3px; }
.sw-composer-tool-group + .sw-composer-tool-group { padding-left: 0; border-left: 0; }
.sw-task-scope { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px; min-height: 30px; padding: 0 7px; border-radius: 8px; color: #315f9f; background: #f2f5f9; white-space: nowrap; }
.sw-task-scope .sw-icon { width: 14px; height: 14px; }
.sw-task-scope b { font-size: 11px; }
.sw-task-scope.enterprise { color: #24694d; background: #eef8f2; }
.sw-composer-base-action, .sw-runtime-settings-trigger, .sw-composer-context-action { display: inline-flex; grid-template-columns: none; grid-template-rows: none; place-items: initial; align-items: center; justify-content: center; gap: 5px; min-width: 0; min-height: 30px; padding: 0 7px; border: 1px solid transparent; border-radius: 8px; color: #515b69; background: transparent; cursor: pointer; font-size: 12px !important; line-height: 1; white-space: nowrap; }
.sw-composer-base-action:hover, .sw-composer-base-action:focus-visible, .sw-composer-base-action.active, .sw-runtime-settings-trigger:hover, .sw-runtime-settings-trigger[aria-expanded="true"], .sw-composer-context-action:hover, .sw-composer-context-action[aria-expanded="true"] { border-color: #d7e0ec; color: #245ebf; background: #f5f7fa; }
.sw-composer-base-action .sw-icon, .sw-runtime-settings-trigger .sw-icon, .sw-composer-context-action .sw-icon { width: 16px; height: 16px; }
.sw-composer-base-action > b, .sw-composer-context-action > b { position: static; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; color: #fff; background: #2868e8; font-size: 11px; }
.sw-runtime-settings-trigger { min-width: 0; text-align: left; }
.sw-runtime-settings-trigger > span { display: block; min-width: 0; }
.sw-runtime-settings-trigger b { font-size: 12px; font-weight: 600; }
.sw-runtime-settings-trigger small { display: none; }
.sw-composer-context-action > span { font-weight: 600; }
.sw-send-button { width: 32px; height: 32px; box-shadow: 0 3px 8px rgba(40, 104, 232, .18); }
.sw-send-button:hover:not(:disabled) { background: #1f5fd5; transform: translateY(-1px); }
.sw-send-button:active:not(:disabled) { transform: translateY(0); }

/* Intelligent Work operating analysis: real-source cockpit, never a synthetic dashboard. */
.iw-operating-page { display: grid; gap: 16px; padding: 20px; color: #1f2b3d; }
.iw-operating-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 16px; border-bottom: 1px solid #dfe6ef; }
.iw-operating-head small, .iw-operating-section > header small, .iw-operating-source header small, .iw-operating-template-grid header small { color: #58708f; font-size: 11px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.iw-operating-head h1 { margin: 4px 0; font-size: 27px; letter-spacing: -.025em; }
.iw-operating-head p, .iw-operating-section > header p { margin: 0; color: #68778a; line-height: 1.55; }
.iw-operating-head-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.iw-operating-head-actions > span { min-height: 34px; padding: 8px 10px; border: 1px solid #dbe4ef; border-radius: 8px; color: #51647d; background: #f8fafc; font-size: 12px; font-weight: 720; }
.iw-operating-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #dce4ee; border-radius: 12px; overflow: hidden; background: #fff; }
.iw-operating-kpis button { display: grid; gap: 4px; min-height: 92px; padding: 14px 16px; border: 0; border-right: 1px solid #e4eaf1; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.iw-operating-kpis button:last-child { border-right: 0; }
.iw-operating-kpis button:hover, .iw-operating-kpis button:focus-visible { background: #f5f8fc; outline: 0; }
.iw-operating-kpis small { color: #66768a; font-size: 12px; }
.iw-operating-kpis b { font-size: 24px; letter-spacing: -.025em; }
.iw-operating-kpis span { color: #8793a3; font-size: 11px; }
.iw-operating-policy { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 10px 13px; border: 1px solid; border-radius: 9px; }
.iw-operating-policy b { flex: 0 0 auto; font-size: 13px; }
.iw-operating-policy span { color: #58687b; font-size: 12px; line-height: 1.5; }
.iw-operating-policy.ready { border-color: #b9ddcc; background: #f3faf6; }
.iw-operating-policy.ready b { color: #14714d; }
.iw-operating-policy.missing { border-color: #efd79a; background: #fffaf0; }
.iw-operating-policy.missing b { color: #875b09; }
.iw-operating-section { display: grid; gap: 12px; scroll-margin-top: 18px; }
.iw-operating-section > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.iw-operating-section > header h2 { margin: 3px 0 0; font-size: 18px; }
.iw-operating-section > header p { max-width: 620px; font-size: 12px; text-align: right; }
.iw-operating-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #dce4ee; border-radius: 12px; overflow: hidden; background: #fff; }
.iw-operating-source { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 14px; border-right: 1px solid #e5ebf2; border-bottom: 1px solid #e5ebf2; }
.iw-operating-source:nth-child(3n) { border-right: 0; }
.iw-operating-source header { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.iw-operating-source header > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; color: #315f9f; background: #eef4fb; }
.iw-operating-source header .sw-icon { width: 17px; height: 17px; }
.iw-operating-source h3 { margin: 2px 0 0; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.iw-operating-source header strong { max-width: 110px; color: #7b8796; font-size: 11px; text-align: right; }
.iw-operating-source.ready header strong { color: #14714d; }
.iw-operating-source.waiting header strong { color: #9a6710; }
.iw-operating-source p, .iw-operating-source > small { margin: 0; color: #69788a; font-size: 11px; line-height: 1.5; }
.iw-operating-source > small { color: #8a6670; }
.iw-operating-source footer { display: flex; align-items: center; gap: 7px; margin-top: auto; }
.iw-operating-source footer button { min-height: 32px; padding: 0 10px; }
.iw-operating-table-wrap { width: 100%; overflow: auto; border: 1px solid #dce4ee; border-radius: 10px; background: #fff; }
.iw-operating-table-wrap table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 12px; }
.iw-operating-table-wrap th, .iw-operating-table-wrap td { padding: 10px 12px; border-bottom: 1px solid #e5ebf2; color: #435267; text-align: left; vertical-align: top; }
.iw-operating-table-wrap th { position: sticky; top: 0; z-index: 1; color: #5c6c80; background: #f5f8fb; font-weight: 760; white-space: nowrap; }
.iw-operating-table-wrap tr:last-child td { border-bottom: 0; }
.iw-operating-table-wrap td b { color: #263750; }
.iw-operating-table-action { padding: 0; border: 0; color: #245ebf; background: transparent; cursor: pointer; font-weight: 740; white-space: nowrap; }
.iw-operating-run-status { display: inline-flex; padding: 3px 7px; border-radius: 6px; color: #526278; background: #eef2f7; white-space: nowrap; }
.iw-operating-run-status.completed, .iw-operating-run-status.succeeded, .iw-operating-run-status.ready { color: #14714d; background: #eaf7f0; }
.iw-operating-run-status.failed, .iw-operating-run-status.blocked { color: #9c3d3d; background: #fff0f0; }
.iw-operating-result-grid, .iw-operating-template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.iw-operating-result-grid > section, .iw-operating-template-grid > section { min-width: 0; border: 1px solid #dce4ee; border-radius: 11px; overflow: hidden; background: #fff; }
.iw-operating-result-grid > section > header, .iw-operating-template-grid > section > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid #e4eaf1; }
.iw-operating-result-grid h3, .iw-operating-template-grid h3 { margin: 0; font-size: 14px; }
.iw-operating-result-grid header span, .iw-operating-template-grid header span { color: #718096; font-size: 11px; }
.iw-operating-result-grid .sw-finance-table-wrap, .iw-operating-template-grid .iw-operating-table-wrap { border: 0; border-radius: 0; }
.iw-operating-result-grid .sw-finance-table { min-width: 620px; }
.iw-operating-template-grid tbody td { padding: 20px 12px; color: #7d8999; text-align: center; }
.iw-operating-no-runs { display: grid; gap: 4px; padding: 22px; border: 1px dashed #cfd9e6; border-radius: 10px; color: #526278; background: #fafbfd; text-align: center; }
.iw-operating-no-runs p { margin: 0; color: #788699; font-size: 12px; }
.iw-operating-results + .iw-operating-section .sw-finance-analysis-list { margin-top: 2px; }
.iw-operating-page .sw-finance-analysis-card { border-radius: 10px; box-shadow: none; }

@media (max-width: 680px) {
    .sw-area-tabs button { padding: 0 3px; font-size: 11px !important; }
    .sw-empty-chat { margin-top: 18px; }
    .sw-empty-intro { grid-template-columns: 40px minmax(0, 1fr); gap: 11px; }
    .sw-empty-intro .sw-orb { width: 40px; height: 40px; border-radius: 12px; font-size: 16px; }
    .sw-empty-chat .sw-empty-intro h2 { font-size: 22px; }
    .sw-empty-chat .sw-empty-intro p { font-size: 13px; line-height: 1.55; }
    .sw-example-tasks { margin-top: 18px; }
    .sw-starter-grid { grid-template-columns: 1fr; gap: 7px; }
    .sw-starter-grid button { min-height: 58px; }
    .sw-enterprise-handoff { align-items: stretch; flex-direction: column; gap: 10px; margin-top: 18px; padding-top: 14px; }
    .sw-enterprise-handoff button { align-self: flex-start; }
    .sw-message-board { padding-top: 14px; }
    .sw-composer-wrap { padding: 7px 8px 8px; }
    .sw-composer, .sw-composer-wrap.empty-active .sw-composer, .sw-composer-wrap.conversation-active .sw-composer { width: 100%; min-height: 98px; border-radius: 15px; }
    .sw-composer textarea { min-height: 58px; padding: 12px 13px 6px; }
    .sw-composer-bar { padding: 1px 6px 6px; }
    .sw-task-scope { min-height: 30px; padding: 0 7px; }
    .sw-composer-base-action, .sw-runtime-settings-trigger, .sw-composer-context-action { width: 30px; min-width: 30px; min-height: 30px; padding: 0; }
    .sw-composer-base-action > span, .sw-runtime-settings-trigger > span, .sw-composer-context-action > span { display: none; }
    .iw-operating-page { gap: 14px; padding: 14px 10px; }
    .iw-operating-head, .iw-operating-section > header { align-items: stretch; flex-direction: column; gap: 10px; }
    .iw-operating-head-actions { flex-wrap: wrap; }
    .iw-operating-section > header p { text-align: left; }
    .iw-operating-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .iw-operating-kpis button { min-height: 78px; border-bottom: 1px solid #e4eaf1; }
    .iw-operating-kpis button:nth-child(2n) { border-right: 0; }
    .iw-operating-kpis button:last-child { grid-column: 1 / -1; }
    .iw-operating-source-grid, .iw-operating-result-grid, .iw-operating-template-grid { grid-template-columns: 1fr; }
    .iw-operating-source { border-right: 0; }
    .iw-operating-source header { grid-template-columns: 34px minmax(0, 1fr); }
    .iw-operating-source header strong { grid-column: 2; max-width: none; text-align: left; }
    .iw-operating-table-wrap table { min-width: 700px; }
}

@media (max-width: 1080px) and (min-width: 681px) {
    .iw-operating-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .iw-operating-kpis button:nth-child(3n) { border-right: 0; }
    .iw-operating-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .iw-operating-source:nth-child(3n) { border-right: 1px solid #e5ebf2; }
    .iw-operating-source:nth-child(2n) { border-right: 0; }
}
