*{margin:0;padding:0;box-sizing:border-box}
:root{
/* 红白主题（与官网一致，主色 #E60023） */
--red:#E60023;--red-dark:#B8001C;--red-light:#FF4D6A;--red-bg:#FFF1F3;
--bg:#F6F7F9;--surface:#FFFFFF;--border:#E8EAEE;
--text:#1F2329;--muted:#6B7280;--dim:#9CA3AF;
--green:#16A34A;--orange:#EA8600;
}
body{font-family:'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}
input,select,textarea{background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 12px;font-size:13px;outline:none;transition:.2s;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(230,0,35,.1)}
input::placeholder,textarea::placeholder{color:var(--dim)}
textarea{font-family:monospace;resize:vertical}
code{font-family:'Cascadia Code','Consolas',monospace;font-size:12px;color:var(--red)}
pre{background:#F8F9FB;border:1px solid var(--border);padding:12px;border-radius:6px;overflow:auto;font-size:12px;max-height:400px;white-space:pre-wrap;word-break:break-all}
h1{font-size:22px;margin-bottom:20px;color:var(--text)}
h1::before{content:"";display:inline-block;width:5px;height:20px;background:var(--red);border-radius:3px;margin-right:10px;vertical-align:-3px}
h2{font-size:16px;color:var(--text);margin-bottom:12px}
h3{font-size:14px;color:var(--red);margin-bottom:8px}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:#fff;color:var(--text);border:1px solid var(--border);transition:.2s;text-decoration:none}
.btn:hover{border-color:var(--red);color:var(--red)}
.btn.primary{background:linear-gradient(135deg,var(--red),var(--red-light));color:#fff;border:none}
.btn.primary:hover{box-shadow:0 4px 16px rgba(230,0,35,.3);color:#fff}
.btn.ghost{background:transparent}
.btn.danger{background:linear-gradient(135deg,var(--red-dark),var(--red));color:#fff;border:none}
.btn.small{padding:4px 10px;font-size:12px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.error-text{color:var(--red);font-size:13px;margin:8px 0;min-height:18px}
.hint{font-size:12px;color:var(--dim);margin-top:8px}

/* 页面切换 */
.page{display:none}
.page.active{display:block}

/* 登录页（红白） */
#page-login{display:none;min-height:100vh;align-items:center;justify-content:center;background:linear-gradient(160deg,#fff 40%,var(--red-bg))}
#page-login.active{display:flex}
.login-card{width:380px;padding:40px 32px;text-align:center;background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--red);border-radius:12px;box-shadow:0 12px 40px rgba(230,0,35,.08)}
.login-card .btn.primary{width:100%;justify-content:center;margin-top:6px}
.login-card .form-group{text-align:left}
.login-logo{margin-bottom:20px}
.logo-ring{width:60px;height:60px;margin:0 auto;border:2px solid transparent;border-top-color:var(--red);border-right-color:var(--red-light);border-radius:50%;animation:spin 3s linear infinite}
.logo-text{font-size:22px;font-weight:800;margin-top:12px;color:var(--red);letter-spacing:1px}
.login-subtitle{color:var(--muted);font-size:13px;margin:8px 0 24px}
@keyframes spin{to{transform:rotate(360deg)}}

/* 主布局：精简顶栏 + 内容区（无侧边导航） */
#page-main{display:none;flex-direction:column;height:100vh;overflow:hidden}
#page-main.active{display:flex}
.topbar{display:flex;align-items:center;gap:20px;padding:0 24px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}
.brand{font-weight:800;font-size:17px;color:var(--red)}
.brand span{font-weight:500;font-size:13px;color:var(--muted);margin-left:6px}
.topnav{display:flex;gap:4px}
.topnav button{padding:7px 20px;border:none;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;border-radius:8px;transition:.2s}
.topnav button:hover{color:var(--red);background:var(--red-bg)}
.topnav button.active{background:linear-gradient(135deg,var(--red),var(--red-light));color:#fff;font-weight:600;box-shadow:0 3px 10px rgba(230,0,35,.25)}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.topbar-user{font-size:12px;color:var(--muted)}
.main-area{flex:1;overflow-y:auto;padding:24px 28px}

/* 管理视图子导航 */
.admin-subnav{margin-bottom:20px}

/* ===== 员工视图 ===== */
.emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.emp-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px 20px;cursor:pointer;transition:.25s;overflow:hidden}
.emp-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--red-light))}
.emp-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(230,0,35,.14);border-color:#F3C2CB}
.emp-card .emp-icon{width:48px;height:48px;border-radius:12px;background:var(--red-bg);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px}
.emp-card h4{font-size:16px;margin-bottom:6px;color:var(--text)}
.emp-card p{font-size:12px;color:var(--muted);line-height:1.7;min-height:42px}
.emp-card .emp-role{font-family:'Cascadia Code','Consolas',monospace;font-size:11px;color:var(--red);margin-top:10px;display:inline-block;background:var(--red-bg);padding:2px 8px;border-radius:10px}
.emp-report-title{font-size:16px;font-weight:700;color:var(--text)}
.emp-report-title .emp-role-tag{color:var(--red);font-size:12px;font-weight:500;margin-left:8px}
.report-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin-bottom:14px}
.report-card .report-meta{font-size:12px;color:var(--dim);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.report-body{font-size:14px;line-height:1.9;color:var(--text)}
.report-body h1,.report-body h2,.report-body h3,.report-body h4{margin:14px 0 8px;color:var(--text)}
.report-body h1::before{display:none}
.report-body h1{font-size:19px}.report-body h2{font-size:16px}.report-body h3{font-size:15px}.report-body h4{font-size:14px}
.report-body h3{color:var(--red)}
.report-body ul,.report-body ol{margin:6px 0 10px 22px}
.report-body li{margin-bottom:4px}
.report-body code{background:var(--red-bg);padding:1px 6px;border-radius:4px}
.report-body pre{margin:10px 0}
.report-body blockquote{border-left:3px solid var(--red);background:var(--red-bg);padding:8px 14px;margin:8px 0;border-radius:0 8px 8px 0;color:var(--muted)}
.report-body table{border-collapse:collapse;margin:10px 0;width:100%}
.report-body th,.report-body td{border:1px solid var(--border);padding:6px 10px;font-size:13px;text-align:left}
.report-body th{background:var(--red-bg)}
.report-empty{text-align:center;color:var(--dim);padding:60px 0;font-size:14px}

/* 卡片 */
.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 1px 4px rgba(0,0,0,.03)}

/* 统计 */
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:20px}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;text-align:center}
.stat-card span{display:block;font-size:12px;color:var(--muted)}
.stat-card b{display:block;font-size:22px;margin-top:4px;color:var(--red)}

/* 表格 */
.data-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface)}
.data-table th{background:var(--red-bg);padding:8px 10px;text-align:left;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}
.data-table td{padding:8px 10px;border-bottom:1px solid #F2F3F5}
.data-table tr:hover td{background:#FBFCFD}
.info-table{width:100%;font-size:13px;background:var(--surface)}
.info-table td{padding:6px 10px;border-bottom:1px solid #F2F3F5}
.info-table td:first-child{color:var(--muted);width:150px}
.table-scroll{overflow-x:auto}

/* 徽标 */
.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:4px}
.badge.green{background:rgba(22,163,74,.12);color:var(--green)}
.badge.orange{background:rgba(234,134,0,.12);color:var(--orange)}
.badge.gray{background:rgba(0,0,0,.06);color:var(--dim)}
.badge.red{background:rgba(230,0,35,.1);color:var(--red)}

/* 工具条 */
.toolbar{display:flex;gap:8px;margin-bottom:12px;align-items:center;flex-wrap:wrap}

/* 表单 */
.form-group{margin-bottom:12px}
.form-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.btn-row{display:flex;gap:6px;margin-top:6px}
.actions{display:flex;gap:4px}

/* 标签页 */
.tabs{display:flex;gap:0;margin-bottom:16px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:3px;width:fit-content;flex-wrap:wrap}
.tabs button{padding:6px 16px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:6px;font-size:13px;transition:.2s}
.tabs button.active{background:linear-gradient(135deg,var(--red),var(--red-light));color:#fff}
.tabs button:not(.active):hover{color:var(--red)}

/* 分页 */
.pagination{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:12px;font-size:13px;color:var(--muted)}

/* 弹窗 */
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(31,35,41,.45);display:flex;align-items:center;justify-content:center;z-index:1000}
.modal{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--red);border-radius:12px;padding:24px;width:500px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.modal .input{margin-bottom:8px}

/* 区域 */
.section{margin-bottom:24px}

/* 数据流轮次 */
.round-header{font-size:13px;color:var(--muted);margin-bottom:8px}
details{margin-bottom:8px}
details summary{cursor:pointer;color:var(--red);font-size:13px;padding:4px 0}
details summary:hover{opacity:.8}

/* 语音对话条目 */
.dialogue-entries{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.dialogue-entries>div{padding:6px 10px;border-radius:6px;font-size:13px;line-height:1.5}
.entry-ai{background:var(--red-bg);border-left:3px solid var(--red)}
.entry-user{background:rgba(22,163,74,.08);border-left:3px solid var(--green)}
.entry-system{background:rgba(0,0,0,.03);border-left:3px solid var(--muted)}
.entry-time{font-size:11px;color:var(--dim);margin-right:6px}
.entry-ai b{color:var(--red)}
.entry-user b{color:var(--green)}
.entry-system b{color:var(--muted)}

/* ===== 我的（设备/会话/工具） ===== */
.claim-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:#FBFCFD}
.mysess-dev-panel{background:var(--red-bg);padding:10px 14px}
.tool-block{margin-bottom:16px}
.tool-block h4{font-size:13px;color:var(--muted);margin-bottom:8px}
.chip-row{display:flex;gap:6px;flex-wrap:wrap}
.tool-chip{display:inline-block;font-family:'Cascadia Code','Consolas',monospace;font-size:11px;padding:3px 10px;border-radius:10px;background:var(--red-bg);color:var(--red)}
.tool-chip.emp{background:rgba(22,163,74,.1);color:var(--green)}
.tool-chip.mcp{background:rgba(234,134,0,.1);color:var(--orange)}
.tool-chip.dev{background:rgba(0,0,0,.05);color:var(--muted)}
.dev-tools-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;background:#FBFCFD}
.dev-tools-card b{font-size:13px}

/* ===== 员工详情页（日期控制条 + 四区块） ===== */
.emp-detail-toolbar{gap:12px}
.emp-detail-user{font-size:12px;color:var(--muted)}
.emp-date-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.emp-mode-tabs{margin-bottom:0}
.emp-date-inputs{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.emp-date-slot{display:flex;align-items:center;gap:8px}
.emp-date-slot label{margin-bottom:0;white-space:nowrap}
.emp-range-sep{color:var(--muted);font-size:12px}
.emp-detail-status{margin:0 0 8px}
.emp-block{padding:0;overflow:hidden}
.emp-block-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;background:linear-gradient(90deg,var(--red-bg),transparent);border-bottom:1px solid var(--border)}
.emp-block-head h3{margin:0;font-size:14px}
.emp-block-head:hover h3{color:var(--red-dark)}
.emp-block-toggle{font-size:12px;color:var(--red)}
.emp-block-body{padding:16px 18px}
.emp-item{margin-bottom:12px}
.emp-item:last-child{margin-bottom:0}
.emp-fold-btn{margin-top:6px}
.emp-report-body{margin-top:4px}

/* ===== 🔧 v1.31.1：团队架构总览 + 团长工作总视图汇报区 ===== */
.team-node{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:8px;border:1px solid transparent}
.team-node:hover{background:var(--red-bg);border-color:var(--border)}
.team-node .who{font-weight:600}
.team-node .scope{font-size:11px;padding:2px 8px;border-radius:12px;background:var(--red-bg);color:var(--red-dark);border:1px solid #E6002333}
.team-node .scope.inherit{background:#FFF7E6;color:var(--orange);border-color:#EA860033}
.team-node .acts{margin-left:auto;display:flex;gap:6px}
.team-sub{margin:2px 0 8px 34px;font-size:12px;color:var(--muted);border-top:1px dashed var(--border);padding-top:6px}
.team-edit-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.team-reports{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.team-report-item{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff}
.team-report-item h4{font-size:13.5px;margin:0 0 4px}
.team-report-item .meta{font-size:11.5px;color:var(--muted);margin-bottom:6px}
.team-report-item .body{font-size:12.5px;line-height:1.7;white-space:pre-wrap;max-height:140px;overflow:hidden}
.team-report-item .body.open{max-height:none}
.link-btn{color:var(--red);cursor:pointer;font-size:12px;background:none;border:none;padding:0}

/* 报表模板：KPI 指标卡 */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.kpi-card{background:linear-gradient(160deg,#fff,var(--red-bg));border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.kpi-card .kpi-label{font-size:12px;color:var(--muted)}
.kpi-card .kpi-value{font-size:24px;color:var(--red);line-height:1.2}
.kpi-card .kpi-value small{font-size:12px;color:var(--muted);margin-left:3px;font-weight:500}
.kpi-delta{font-size:12px;font-weight:600}
.kpi-delta.up{color:var(--green)}
.kpi-delta.down{color:var(--red-dark)}

/* 报表模板：纯 CSS 柱状图 */
.bar-chart{display:flex;align-items:flex-end;gap:14px;padding:16px 6px 0;min-height:200px}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:36px}
.bar-val{font-size:11px;color:var(--muted);margin-bottom:4px;white-space:nowrap}
.bar-track{width:100%;max-width:56px;height:150px;background:#F2F4F7;border-radius:6px 6px 0 0;display:flex;align-items:flex-end;overflow:hidden}
.bar-fill{width:100%;background:linear-gradient(180deg,var(--red-light),var(--red));border-radius:6px 6px 0 0;transition:height .35s}
.bar-label{font-size:11px;color:var(--dim);margin-top:6px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 报表模板：内联 SVG 折线图 */
.line-chart{width:100%;height:auto;background:#fff;border:1px solid var(--border);border-radius:8px}
.line-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}
.line-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.line-legend i{width:12px;height:3px;border-radius:2px;display:inline-block}

/* 报表模板：表格 */
.emp-tpl-table{margin:0}

/* 报表 kind=html：沙箱 iframe */
.emp-report-iframe{width:100%;height:300px;border:1px solid var(--border);border-radius:8px;background:#fff}

/* 对话记录 */
.emp-conv-list{max-height:460px;overflow-y:auto;padding:4px 2px}
.emp-conv-title{font-size:13px;font-weight:600;color:var(--muted);margin:8px 0 6px;padding-bottom:4px;border-bottom:1px dashed var(--border)}
.msg-stream{display:flex;flex-direction:column;gap:10px;padding:4px 0}
.msg-row{display:flex}
.msg-row.msg-user{justify-content:flex-end}
.msg-row.msg-ai{justify-content:flex-start}
.msg-row.msg-sys{justify-content:center}
.msg-bubble{max-width:78%;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.7;border:1px solid var(--border);background:#fff}
.msg-user .msg-bubble{background:linear-gradient(135deg,var(--red),var(--red-light));color:#fff;border:none}
.msg-user .msg-bubble .msg-text p,.msg-user .msg-bubble .msg-text b{color:#fff}
.msg-user .msg-bubble code{background:rgba(255,255,255,.2);color:#fff}
.msg-ai .msg-bubble{background:var(--red-bg);border-color:#F3C2CB}
.msg-sys .msg-bubble{background:#F2F4F7;color:var(--muted);font-size:12px}
.msg-text{margin:0}
.msg-text p{margin:2px 0}
.msg-text h1,.msg-text h2,.msg-text h3,.msg-text h4{margin:8px 0 4px;color:inherit;font-size:14px}
.msg-text h1::before{display:none}
.msg-text ul,.msg-text ol{margin:4px 0 4px 18px}
.msg-time{font-size:10px;color:var(--dim);margin-top:6px;text-align:right}
.msg-user .msg-time{color:rgba(255,255,255,.8)}
.emp-subagent{margin:10px 0;border:1px solid var(--border);border-radius:8px;padding:6px 12px;background:#FBFCFD}
.emp-subagent summary{font-size:12px;color:var(--muted)}
.emp-chat-bar{display:flex;gap:8px;align-items:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.emp-chat-bar textarea{flex:1}
.emp-chat-bar .btn{flex-shrink:0}

/* 滚动条 */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(230,0,35,.25);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(230,0,35,.45)}
