/* ══════════════════════════════════════════════════════════════
   15-redesign —— Aurora Executive 视觉重铸层
   定位：全站最后加载，统一接管布局观感（面板头 / 对话 / 仪表盘 /
   弹窗 / 表单控件 / 看板 / 信息库 / 滚动条）。
   只写样式覆盖，不依赖任何 HTML/JS 结构变化。
   ══════════════════════════════════════════════════════════════ */

/* ───────────────────────── 0. 全局基底 ───────────────────────── */
::selection { background: color-mix(in srgb, var(--primary) 38%, transparent); color: var(--text); }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--border-strong) 72%, transparent);
  border-radius: 99px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover { background: var(--text3); background-clip: padding-box; border: 2px solid transparent; }
* { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--border-strong) 72%, transparent) transparent; }

/* 主内容区：极轻的顶部径向光泽，让深色背景有"空间感"而非死黑 */
.main {
  background:
    radial-gradient(1100px 480px at 78% -12%, color-mix(in srgb, var(--primary) 7%, transparent), transparent 62%),
    radial-gradient(900px 520px at 8% 108%, color-mix(in srgb, var(--primary) 4%, transparent), transparent 60%),
    var(--bg);
}
[data-theme="light"] .main,
[data-theme="cloud"] .main {
  background:
    radial-gradient(1100px 480px at 78% -12%, rgba(91,92,246,0.05), transparent 62%),
    var(--bg);
}

/* ───────────────────────── 1. 面板头（.ph） ───────────────────────── */
/* 顶栏已承担当前页面标题：隐藏与之重复的静态面板头，动作按钮保留 */
#panel-dashboard > .ph,
#panel-wftemplates > .ph { display: none; }
#panel-team > .ph .ph-title,
#panel-notifications > .ph .ph-title { display: none; }
#panel-team > .ph, #panel-notifications > .ph {
  justify-content: flex-end;
}
.ph {
  height: 62px;
  background: transparent;
  border-bottom: 1px solid var(--hairline);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.ph-title {
  font-size: 19px; font-weight: 750; letter-spacing: -0.4px;
  display: flex; align-items: center; gap: 10px;
}
.ph-action-btn {
  background: var(--grad-primary); color: #fff; border: none; border-radius: 10px;
  padding: 8px 18px; font-size: 13px; font-weight: 650; cursor: pointer; letter-spacing: 0.2px;
  box-shadow: 0 4px 16px -3px color-mix(in srgb, var(--primary) 48%, transparent),
              inset 0 1px 0 rgba(255,255,255,0.2);
  transition: filter .15s, transform .12s, box-shadow .15s;
}
.ph-action-btn:hover { filter: brightness(1.09); transform: translateY(-1px); opacity: 1; }
.ph-action-btn:active { transform: translateY(0); }
.ph-action-btn-ghost {
  background: transparent; color: var(--text2); border: 1px solid var(--hairline);
  border-radius: 10px; padding: 7px 14px; font-size: 13px; cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
}
.ph-action-btn-ghost:hover { border-color: var(--border-strong); color: var(--text); background: var(--surface2); }

/* ───────────────────────── 2. 对话面板 ───────────────────────── */
/* 会话列表侧栏 */
.chat-sessions-sidebar {
  width: 236px;
  background: color-mix(in srgb, var(--surface) 66%, transparent);
  border-right: 1px solid var(--hairline);
}
.chat-sessions-header { padding: 14px 12px 12px; border-bottom: none; }
.btn-new-chat {
  background: var(--grad-primary); color: #fff; border: none;
  border-radius: 11px; padding: 10px 12px;
  font-size: 13px; font-weight: 700; letter-spacing: 0.2px;
  box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary) 48%, transparent),
              inset 0 1px 0 rgba(255,255,255,0.2);
  transition: filter .15s, transform .12s, box-shadow .15s;
}
.btn-new-chat:hover { background: var(--grad-primary); filter: brightness(1.09); transform: translateY(-1px); }
.btn-new-chat:active { transform: none; }
.chat-sessions-list { padding: 4px 8px 10px; }
.session-item { padding: 9px 11px; border-radius: 10px; margin-bottom: 2px; font-size: 13px; }
.session-item:hover { background: color-mix(in srgb, var(--surface2) 82%, transparent); }
.session-item.active {
  background: var(--grad-primary-soft);
  color: var(--text);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 26%, transparent);
}
.session-item-time { color: var(--text3); }

/* 消息流：宽屏居中列，阅读宽度收敛 */
.chat-messages {
  padding: 26px max(28px, calc((100% - 940px) / 2)) 18px;
  display: flex; flex-direction: column;
}
.msg { max-width: 78%; margin-bottom: 18px; width: fit-content; }
.msg .bubble {
  padding: 13px 17px; border-radius: 16px;
  font-size: 14px; line-height: 1.72;
  box-shadow: var(--shadow-sm);
}
.msg.user .bubble {
  background: var(--grad-primary);
  border-bottom-right-radius: 5px;
  box-shadow: 0 4px 16px -4px color-mix(in srgb, var(--primary) 45%, transparent);
}
.msg.assistant .bubble {
  background: color-mix(in srgb, var(--surface2) 88%, transparent);
  border: 1px solid var(--hairline);
  border-bottom-left-radius: 5px;
}
.msg .time { font-size: 10.5px; color: var(--text3); margin-top: 5px; letter-spacing: 0.2px; }
.chat-archived-link { padding: 10px; font-size: 12.5px; }

/* 输入区：悬浮式圆角卡片组合框 */
.chat-input-area {
  border-top: none;
  background: transparent;
  padding: 6px max(28px, calc((100% - 940px) / 2)) 18px;
  gap: 10px;
}
.chat-input-stack {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 10px 12px 6px;
  box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.04);
  transition: border-color .18s, box-shadow .18s;
}
.chat-input-stack:focus-within {
  border-color: var(--primary);
  box-shadow: var(--shadow-md), 0 0 0 3.5px color-mix(in srgb, var(--primary) 20%, transparent);
}
.chat-input-area textarea {
  background: transparent; border: none; border-radius: 0;
  padding: 4px 6px 8px; font-size: 14px; min-height: 26px;
}
.chat-input-area textarea:focus { border: none; }
.chat-voice-toolbar { padding: 0 2px; }
.chat-voice-status { font-size: 11.5px; color: var(--text3); }
.chat-input-area > button {
  border-radius: 13px; font-weight: 650;
  height: 44px; padding: 0 20px;
  flex-shrink: 0;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  transition: filter .15s, transform .12s, border-color .15s, background .15s;
}
.chat-input-area > button:hover { background: var(--surface2); border-color: var(--border-strong); }
.chat-input-area > button#chat-send {
  background: var(--grad-primary); border: none; color: #fff;
  box-shadow: 0 4px 16px -3px color-mix(in srgb, var(--primary) 48%, transparent),
              inset 0 1px 0 rgba(255,255,255,0.2);
}
.chat-input-area > button#chat-send:hover { filter: brightness(1.09); background: var(--grad-primary); }
.chat-input-area > button:active { transform: scale(.97); }
.chat-voice-draft { border-radius: 12px; margin-bottom: 8px; }

/* ───────────────────────── 3. 仪表盘 ───────────────────────── */
.dashboard-hero {
  background:
    radial-gradient(720px 300px at 88% -30%, color-mix(in srgb, var(--primary) 26%, transparent), transparent 64%),
    radial-gradient(560px 320px at -8% 118%, color-mix(in srgb, var(--green) 13%, transparent), transparent 58%),
    linear-gradient(150deg, color-mix(in srgb, var(--surface2) 92%, var(--primary)) 0%, var(--surface) 58%, color-mix(in srgb, var(--surface) 92%, var(--bg)) 100%);
  border: 1px solid color-mix(in srgb, var(--primary) 22%, transparent);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.06);
  padding: 26px 28px;
}
.dashboard-eyebrow { color: var(--primary-hover); letter-spacing: 0.14em; }
.dashboard-headline { font-size: 30px; letter-spacing: -0.8px; }
.dashboard-score-card {
  background: color-mix(in srgb, var(--surface) 62%, transparent);
  border: 1px solid var(--hairline);
  border-radius: 16px;
}

/* 统计卡：左侧色条 + 柔色渐变底 + 悬浮上浮 */
.stat-card {
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.stat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--border-strong); }
.stat-card .num { font-size: 30px; font-weight: 800; letter-spacing: -1px; }
.stat-card.primary { border-color: color-mix(in srgb, var(--primary) 26%, transparent); background: linear-gradient(150deg, color-mix(in srgb, var(--primary) 10%, var(--surface)) 0%, var(--surface) 70%); }
.stat-card.green   { border-color: color-mix(in srgb, var(--green) 26%, transparent);  background: linear-gradient(150deg, color-mix(in srgb, var(--green) 9%, var(--surface)) 0%, var(--surface) 70%); }
.stat-card.yellow  { border-color: color-mix(in srgb, var(--yellow) 26%, transparent); background: linear-gradient(150deg, color-mix(in srgb, var(--yellow) 9%, var(--surface)) 0%, var(--surface) 70%); }
.stat-card.red     { border-color: color-mix(in srgb, var(--red) 26%, transparent);    background: linear-gradient(150deg, color-mix(in srgb, var(--red) 9%, var(--surface)) 0%, var(--surface) 70%); }

/* 通用内容卡 */
.dashboard-card, .dashboard-live-card, .dashboard-discussion-card {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
.panel-section-title { font-size: 16px; font-weight: 750; letter-spacing: -0.2px; }
.panel-section-subtitle { color: var(--text2); }

/* 分段切换（团队仪表盘 列表/看板/信息库） */
.team-view-tabs {
  display: flex; gap: 3px;
  background: color-mix(in srgb, var(--bg) 45%, transparent);
  border: 1px solid var(--hairline);
  border-radius: 11px; padding: 3px;
}
.team-view-tab {
  background: none; border: none; color: var(--text2);
  font-size: 12.5px; padding: 6px 16px; border-radius: 8px;
  cursor: pointer; font-weight: 600; transition: all .15s;
}
.team-view-tab.active {
  background: var(--surface3); color: var(--text);
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.06);
}
.team-view-tab:not(.active):hover { color: var(--text); background: color-mix(in srgb, var(--surface2) 70%, transparent); }

/* ───────────────────────── 4. 弹窗体系 ───────────────────────── */
.modal-overlay {
  background: color-mix(in srgb, var(--bg) 62%, rgba(0,0,0,0.55));
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.modal-overlay.show .modal { animation: redesignModalIn .24s cubic-bezier(.22,.8,.32,1); }
@keyframes redesignModalIn {
  from { opacity: 0; transform: translateY(16px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
.modal {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,0.05);
  padding: 26px;
}
.modal h3 { font-size: 18px; font-weight: 750; letter-spacing: -0.3px; margin-bottom: 16px; }
.modal select, .modal textarea, .modal-input {
  background: color-mix(in srgb, var(--bg) 40%, transparent);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 13px;
  color: var(--text); font-size: 14px;
  transition: border-color .15s, box-shadow .15s;
  outline: none;
}
.modal select:focus, .modal textarea:focus, .modal-input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);
}
.modal-buttons button { border-radius: 10px; font-weight: 600; }
.btn-submit {
  background: var(--grad-primary); color: #fff; border: none;
  border-radius: 10px; font-weight: 650;
  box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary) 45%, transparent);
  transition: filter .15s, transform .12s;
}
.btn-submit:hover { filter: brightness(1.09); transform: translateY(-1px); opacity: 1; }
.btn-submit:active { transform: none; }
.btn-cancel {
  border-radius: 10px; border: 1px solid var(--hairline);
  background: transparent; color: var(--text2);
  transition: border-color .15s, color .15s, background .15s;
}
.btn-cancel:hover { border-color: var(--border-strong); color: var(--text); background: var(--surface2); }

/* 公告弹窗 */
.announcement-modal { border-radius: var(--r-xl); overflow: hidden; }
.announcement-modal-actions .acknowledge {
  background: var(--grad-primary); border: none; color: #fff;
  border-radius: 10px; font-weight: 650;
  box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary) 45%, transparent);
}

/* ───────────────────────── 5. 表单控件（面板内通用） ───────────────────────── */
.panel select, .panel input[type="text"], .panel input[type="search"],
.panel input[type="number"], .panel input[type="email"], .panel input[type="password"],
.panel textarea {
  font-family: inherit;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.panel select:focus, .panel input:focus, .panel textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);
  outline: none;
}
/* 对话组合框的焦点态由外层卡片承担，内层 textarea 不再画圈 */
.chat-input-area textarea:focus { box-shadow: none; }

/* ───────────────────────── 6. 看板 ───────────────────────── */
.kanban-filter-bar {
  gap: 10px;
  padding: 14px var(--sp-5) 10px;
}
.kanban-filter-bar select {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 12.5px; color: var(--text);
  box-shadow: var(--shadow-sm);
}
.kanban-kpi-strip { padding: 0 var(--sp-5); }
.kanban-board { padding: 12px var(--sp-5) 20px; }
.kanban-column {
  background: color-mix(in srgb, var(--surface) 70%, transparent);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
}
.kanban-column-header, .kanban-col-header {
  font-weight: 700; letter-spacing: 0.2px;
  border-bottom: 1px solid var(--hairline);
}
.kanban-card {
  border-radius: var(--r-md);
  border: 1px solid var(--hairline);
  background: var(--surface2);
  box-shadow: var(--shadow-sm);
}
.kanban-card:hover { border-color: var(--primary-a35); }

/* ───────────────────────── 7. 信息库 ───────────────────────── */
.library-space-switcher {
  gap: 3px;
  background: color-mix(in srgb, var(--bg) 45%, transparent);
  border: 1px solid var(--hairline);
  border-radius: 11px; padding: 3px;
  width: fit-content;
  margin: 14px var(--sp-5) 0;
}
.library-space-tab {
  border-radius: 8px; font-weight: 600;
  transition: all .15s;
}
.library-space-tab.active {
  background: var(--surface3); color: var(--text);
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.06);
}
.library-composer, .library-filter-panel {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
.library-publish-button {
  background: var(--grad-primary); border: none; color: #fff;
  border-radius: 10px; font-weight: 650;
  box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary) 45%, transparent);
  transition: filter .15s, transform .12s;
}
.library-publish-button:hover { filter: brightness(1.09); transform: translateY(-1px); }
.library-feed > * { border-radius: var(--r-lg); }
.library-post-card, .library-item-card, .library-card {
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.library-post-card:hover, .library-item-card:hover, .library-card:hover {
  border-color: var(--border-strong);
  box-shadow: var(--shadow-md);
}

/* 个人信息库 */
.pl-sidebar {
  background: color-mix(in srgb, var(--surface) 70%, transparent);
  border-right: 1px solid var(--hairline);
}
.pl-nav-item { border-radius: 9px; }
.pl-nav-item.active { background: var(--primary-a12); color: var(--text); font-weight: 600; }
.pl-primary-btn {
  background: var(--grad-primary); border: none; color: #fff;
  border-radius: 10px; font-weight: 650;
  box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary) 45%, transparent);
}
.pl-primary-btn:hover { filter: brightness(1.09); }

/* ───────────────────────── 8. 通知 / 任务 ───────────────────────── */
.notif-card {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--primary);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-sm);
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.notif-card:hover { transform: translateX(3px); box-shadow: var(--shadow-md); }
.tasks-section-title { font-size: 14.5px; font-weight: 750; letter-spacing: 0.1px; }
.briefing-box {
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

/* ───────────────────────── 9. 成员 / 团队 ───────────────────────── */
.member-card { border-radius: var(--r-lg); }
.member-avatar {
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
}
.team-focus-board {
  background: linear-gradient(140deg, color-mix(in srgb, var(--primary) 12%, var(--surface)) 0%, var(--surface) 55%);
  border: 1px solid color-mix(in srgb, var(--primary) 22%, transparent);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-sm);
}
.progress-bar { background: color-mix(in srgb, var(--bg) 50%, transparent); }
.progress-bar .fill { background: linear-gradient(90deg, var(--primary) 0%, var(--green) 100%); }

/* ───────────────────────── 10. 记事本（聊天室） ───────────────────────── */
.chatroom-input-area textarea, .chatroom-input-area input {
  border-radius: 12px;
}
.chatroom-input-area button {
  border-radius: 12px; font-weight: 650;
  background: var(--grad-primary);
  box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary) 45%, transparent);
}
.chatroom-input-area button:hover { filter: brightness(1.09); }
.chatroom-meeting-banner { border-radius: var(--r-lg); }
.cr-msg .cr-msg-content { border-radius: 14px; }

/* ───────────────────────── 11. 模板中心 ───────────────────────── */
.wft-generate-bar {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
#wft-generate-btn {
  background: var(--grad-primary); border: none; color: #fff;
  border-radius: 10px; font-weight: 650;
  box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary) 45%, transparent);
  transition: filter .15s, transform .12s;
}
#wft-generate-btn:hover { filter: brightness(1.09); transform: translateY(-1px); }
.wft-card { border-radius: var(--r-lg); }

/* ───────────────────────── 12. 杂项精修 ───────────────────────── */
/* 徽标/药丸 */
.bl-badge {
  background: var(--primary-a12); color: var(--primary-hover);
  border: 1px solid color-mix(in srgb, var(--primary) 26%, transparent);
  border-radius: 999px; padding: 2px 10px; font-weight: 650;
}
.panel-chip {
  background: var(--primary-a12);
  border: 1px solid color-mix(in srgb, var(--primary) 24%, transparent);
  color: var(--primary-hover);
}
/* 开关、链接、详情 */
a { color: var(--primary-hover); }
summary::-webkit-details-marker { color: var(--text3); }

/* 暖岩主题按钮文字色（渐变底 + 深字） */
[data-theme="warm"] .btn-new-chat,
[data-theme="warm"] .chat-input-area > button#chat-send,
[data-theme="warm"] .ph-action-btn,
[data-theme="warm"] .btn-submit,
[data-theme="warm"] .btn-primary,
[data-theme="warm"] .library-publish-button,
[data-theme="warm"] .pl-primary-btn,
[data-theme="warm"] #wft-generate-btn,
[data-theme="warm"] .announcement-modal-actions .acknowledge,
[data-theme="warm"] .chatroom-input-area button { color: #1a1408; }

/* ───────────────────────── 13. 面板进入动效细化 ───────────────────────── */
.panel.active { animation: redesignPanelIn .22s cubic-bezier(.22,.8,.32,1); }
@keyframes redesignPanelIn {
  from { opacity: 0; transform: translateY(7px); }
  to   { opacity: 1; transform: none; }
}
