/* p14-density（2026-10-21 老板：字体偏大、内容偏多、重复多，文字做成角标或 tips）。
   整体小一号、收紧间距。单独一份、最后加载，不去改 style/workspace/ux.css 和各模块的样式——那几份好几个会话同时在改，
   覆盖都放这里合并时不打架。以后调字号先改这里。 */
:root{font-size:14px;line-height:1.55}

/* 外壳：顶栏、侧栏、按钮、输入框 */
.tab-bar{height:48px}
.tab-list{top:48px}
.sidebar-heading{height:44px}
.side-link,.tree-group summary{min-height:32px;padding:5px 8px}
.sidebar-label{margin:12px 8px 4px;font-size:11px}
.primary,.secondary{min-height:34px;padding:6px 14px;border-radius:9px}
input,textarea,select{padding:7px 10px}
.empty-state h2,.empty-state h3{font-size:16px}
.dialog-top h2{font-size:17px}
.login-card h1{font-size:26px}

/* 图标栏：主导航带两个字的名字，二级侧栏就不用再列一遍同样的东西 */
.rail-main .rail-button,.rail>.rail-button[data-nav="admin"]{flex-direction:column;gap:2px;height:auto;min-height:48px;width:52px;padding:6px 0 5px}
.rail-main .rail-button svg,.rail>.rail-button[data-nav="admin"] svg{width:20px;height:20px}
.rail-label{font-size:11px;line-height:1.2;letter-spacing:0}
.rail-button.active:before{top:50%;margin-top:-7px}

/* 页标题：一行，说明收进旁边的 i（悬停看） */
.page{padding:28px clamp(20px,3vw,40px)}
.page-heading{margin-bottom:18px;align-items:center}
.page-heading h1{font-size:20px;letter-spacing:-.2px;margin:0;line-height:1.4;display:flex;align-items:center;gap:8px}
.page-heading p{font-size:13px}
.page-tip{display:inline-flex;align-items:center;color:var(--muted);cursor:help;border-radius:50%}
.page-tip svg{width:15px;height:15px}
.page-tip:hover,.page-tip:focus-visible{color:var(--text)}

/* 首页 */
.page.ux-home{padding:24px 40px 20px;max-width:1080px}
.home-top{margin-bottom:6px}
.ux-home .home-task-area{margin-bottom:20px}
.ux-home .home-greeting{font-size:13px;margin:0}
.ux-home .home-task-area h1{font-size:22px;margin:0 0 14px;letter-spacing:-.3px}
.ux-home .ai-composer{padding:14px 16px 10px}
.ux-home .ai-composer textarea{font-size:15px;min-height:52px;height:52px}
.home-health{margin-bottom:20px}
.home-health-grid{gap:10px}
.home-health-card{padding:10px 14px}
.home-health-card strong{font-size:22px;margin:2px 0 0}
.home-bottom{grid-template-columns:1fr}

/* 监控：正常的站不写原因，多列排；出问题的才写一句 */
.monitor-timestamp{margin:-12px 0 16px}
.monitor-block{margin:20px 0}
.monitor-sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 18px;padding:4px 14px}
.monitor-site{padding:8px 0;gap:10px}
.monitor-site b{font-size:13px}
.monitor-site p{font-size:11px}
.monitor-site.warn p{color:var(--ux-warn)}.monitor-site.bad p{color:var(--ux-bad)}
.monitor-servers{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.monitor-server{padding:12px 14px}
.monitor-server h3{margin-bottom:8px}
.monitor-meter{margin:8px 0}
.monitor-todo{padding:10px 0}
.monitor-todo h3{font-size:13px}
.monitor-todo p{margin:3px 0}

/* 应用：卡片小一号，一行四个 */
.app-categories{margin:14px 0 18px}
.app-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.app-card{padding:12px 14px;flex-direction:row;align-items:center;gap:12px}
.app-symbol{width:34px;height:34px;flex-shrink:0}
.app-card-body{flex:1;min-width:0}
.app-card h2{font-size:14px;margin:0}
.app-card p{font-size:12px;margin:2px 0 0;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-card .app-pin{flex-shrink:0;padding:4px}
.app-card .app-pin svg{width:15px;height:15px}
.app-card .app-open{position:absolute;inset:0;border-radius:inherit}
.app-card{position:relative}
.app-card .app-pin{position:relative;z-index:1}

/* 对话页欢迎区、专家页、项目页 */
.ai-workspace .ai-welcome{padding:28px 0}
.ai-welcome .ai-welcome-mark{margin-bottom:8px}.ai-welcome-mark svg{width:28px;height:28px}
.ai-workspace .ai-welcome h1{font-size:clamp(19px,1.6vw,22px);margin:0 0 16px}
.ai-pane .ai-welcome h1{font-size:clamp(17px,1.4vw,20px)}
.ai-experts-intro h1,.project-heading h1{font-size:20px}

/* 其余页面的大数字和大标题 */
.usage-page .page-heading h1,.doc-detail header h1,.ide-elevate-card h1{font-size:20px}
.usage-amount{font-size:34px}
.usage-total strong{font-size:22px}
.hub-card strong{font-size:20px}

@media(max-width:760px){
  .page{padding:20px 16px}
  .ux-home .home-task-area h1{font-size:20px}
  .page.ux-home{padding:20px 16px}
}

/* p17（老板：「这些都是废话」）：说明进小 i，状态变角标 */
.tag{display:inline-flex;align-items:center;margin-left:6px;font-size:11px;line-height:1.5;padding:0 6px;vertical-align:middle;font-weight:400}
.tag.ok{color:var(--ux-good);border-color:color-mix(in srgb,var(--ux-good),transparent 60%)}
.tag.warn{color:var(--ux-warn);border-color:color-mix(in srgb,var(--ux-warn),transparent 60%)}
.tag.bad{color:var(--ux-bad);border-color:color-mix(in srgb,var(--ux-bad),transparent 60%)}
h2 .page-tip,h3 .page-tip,label .page-tip,legend .page-tip,b+.page-tip,.page-tools .page-tip,.task-new-row .page-tip{margin-left:6px;vertical-align:-2px}
.page-tip svg{width:14px;height:14px}
.monitor-stale{display:inline-block;margin:0 0 0 8px;padding:0 6px;border-radius:4px;font-size:11px;color:var(--ux-warn);border:1px solid color-mix(in srgb,var(--ux-warn),transparent 60%);cursor:help}
.monitor-source{margin-left:8px;font-size:11px;color:var(--muted);font-weight:400}
.empty-state p:empty,.ai-conversation-header p:empty{display:none}
.key-models{display:flex;flex-wrap:wrap;gap:4px}.key-models .tag{margin-left:0}
.task-new-row{align-items:flex-end}

/* 图标栏上固定的应用：和主导航一样「图标在上、名字在下」，光看图标分不清是什么 */
.rail-pins .rail-button{flex-direction:column;gap:2px;height:auto;min-height:46px;width:52px;padding:5px 0 4px}
.rail-pins .rail-button svg{width:19px;height:19px}
.rail-pins .rail-label{max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-default-model label>span{display:flex;align-items:center}

/* 对话输入区：全权开关、线路小 i 并进底部那一排；模型设置、工具只留图标 */
.composer-bottom .ai-scope-slot{display:inline-flex;align-items:center;gap:2px}
.composer-bottom .ai-root-switch{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:12px;color:var(--danger);white-space:nowrap}.composer-bottom .ai-root-switch input{margin:0}
.composer-bottom .ai-provider-note{margin:0 0 0 2px}
/* 选择框按当前选中那项的宽度来，别按最长的选项撑出一截空白（不支持 field-sizing 的浏览器退回按最长选项） */
.ai-composer .ai-composer-model{flex:0 1 auto}.ai-composer .ai-composer-model select{width:auto;field-sizing:content}
.ai-composer .composer-bottom .send-button{margin-left:auto}
.ai-model-picker>summary,.ai-plugin-picker>summary{gap:0}
