:root { --sidebar: 216px; }
::selection { background: #cbe5f0; color: #162b36; }
* { scrollbar-color: #9aafb9 #edf2f5; scrollbar-width: thin; }
input,textarea { caret-color: var(--accent); }
.auth-body { min-height:100vh; display:grid; place-items:center; background:#edf2f5; padding:32px; }
.auth-layout { width:min(940px,100%); display:grid; grid-template-columns:1fr 1fr; background:white; border-radius:16px; overflow:hidden; box-shadow:0 18px 70px #162b3614; }
.auth-intro { background:#183441; color:#f6fafc; padding:52px 44px; display:flex; flex-direction:column; }
.auth-brand { font-size:22px; font-weight:800; color:white; text-decoration:none; }
.auth-intro h1 { font-size:36px; line-height:1.5; margin:68px 0 18px; letter-spacing:0; }
.auth-intro p { color:#c8d9e2; line-height:1.9; }
.auth-note { margin-top:auto; padding-top:60px; font-size:12px; color:#c8d9e2; }
.auth-form { padding:48px 42px; }
.auth-form h2 { margin:0 0 8px; font-size:26px; }
.auth-form .field { margin:20px 0; }
.auth-form input { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:white; }
.auth-form .button { margin-top:14px; }
.muted { color:#516874; }
.page-wrap { max-width:1600px; padding:34px 36px 64px; animation:none; }
.nav-list { margin-top:38px; gap:5px; }
.nav-item { border:1px solid transparent; border-radius:6px; padding:11px 13px; font-size:14px; }
.nav-item.is-active { border-color:#526c78; background:#ffffff12; }
.sidebar-foot { text-transform:none; letter-spacing:0; }
.sidebar-foot strong,.sidebar-foot span { display:block; color:#d3e0e7; font-size:12px; }
.sidebar-foot span { margin:4px 0 9px; color:#afc3ce; }
.sidebar-foot button { border:0; padding:0; color:#d3e0e7; background:none; cursor:pointer; font-size:12px; }
.sidebar-note { border:1px solid #ffffff20; border-radius:6px; }
.mobile-nav { display:none; }
.workspace-header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:0 0 28px; }
.workspace-header h1 { margin:0 0 8px; font-size:28px; line-height:1.4; overflow-wrap:anywhere; letter-spacing:0; }
.workspace-header p { margin:0; color:#516874; max-width:70ch; }
.workspace-header>.button { flex-shrink:0; }
h2 { margin:0 0 16px; font-size:18px; line-height:1.5; }
h3 { font-size:14px; }
.paper-panel { background:white; border:1px solid #cbd7dd; border-radius:8px; margin-bottom:24px; overflow:hidden; }
.padded { padding:24px; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 22px; }
.section-heading h2 { margin:0; }
.padded .section-heading,.review-entry .section-heading { padding:0; }
.metric-strip { display:grid; grid-template-columns:repeat(6,1fr); border:1px solid #cbd7dd; border-radius:8px; background:#fff; margin-bottom:28px; overflow:hidden; }
.metric-strip>a { padding:18px 20px; color:#344f5d; text-decoration:none; border-right:1px solid #e1e9ed; transition:background .15s; }
.metric-strip>a:hover { background:#edf5f8; }
.metric-strip>a:last-child { border-right:0; }
.metric-strip span { display:block; font-size:12px; }
.metric-strip strong { display:block; margin-top:8px; font-size:27px; line-height:1.2; font-variant-numeric:tabular-nums; color:#183441; }
.small-metrics { grid-template-columns:repeat(4,1fr); }
.status-summary { display:flex; flex-wrap:wrap; gap:24px; padding:0 22px 24px; }
.status-summary a { color:#344f5d; text-decoration:none; }
.status-summary strong { margin-left:16px; font-variant-numeric:tabular-nums; }
.data-table { width:100%; min-width:850px; border-collapse:collapse; text-align:left; font-variant-numeric:tabular-nums; }
.data-table th { padding:12px 16px; background:#f1f5f7; border-block:1px solid #e0e8ec; color:#516874; font-size:12px; font-weight:650; white-space:nowrap; }
.data-table td { padding:17px 16px; border-bottom:1px solid #e5ecef; font-size:13px; vertical-align:top; }
.data-table tbody tr:last-child td { border-bottom:0; }
.data-table tr[data-row-href] { cursor:pointer; }
.data-table tr[data-row-href]:hover { background:#f4f8fa; }
.data-table tr:focus-visible { outline:2px solid #256b8f; outline-offset:-2px; }
.data-table small { display:block; color:#5d727d; margin-top:5px; font-size:11px; }
.data-table .row-title { color:#183441; font-weight:700; display:block; text-decoration:none; min-width:160px; max-width:340px; overflow-wrap:anywhere; }
.data-table .row-title:hover { text-decoration:underline; text-underline-offset:4px; }
.danger-text { color:#a23a30!important; }
.filter-panel { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; padding:18px; border:1px solid #cbd7dd; border-radius:8px; background:#f9fbfc; margin-bottom:22px; }
.filter-panel label { display:grid; gap:6px; }
.filter-panel label>span { font-size:12px; color:#516874; }
.filter-panel input,.filter-panel select,.inline-form select { min-height:40px; padding:8px 10px; border:1px solid #b8c9d1; border-radius:5px; background:#fff; max-width:100%; }
.filter-panel .search-field { flex:1; min-width:190px; }
.empty-inline { padding:32px 24px; color:#516874; }
.empty-inline strong { color:#233e4c; font-size:16px; }
.empty-inline p { max-width:65ch; }
.empty-inline .text-link { margin-left:16px; }
.session-list { list-style:none; margin:0; padding:0 22px; }
.session-list li { border-top:1px solid #e1e9ed; }
.session-list a { display:flex; justify-content:space-between; gap:16px; padding:18px 0; text-decoration:none; }
.session-list span { font-size:12px; color:#516874; }
.settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.stack-form { display:grid; gap:16px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; align-items:end; }
.field { display:grid; gap:7px; margin:0; min-width:0; }
.field>span { font-size:13px; font-weight:650; color:#344f5d; }
.field input,.field textarea,.field select { width:100%; padding:10px 11px; border:1px solid #b8c9d1; border-radius:5px; background:white; min-height:42px; color:#162b36; max-width:100%; }
.field textarea { resize:vertical; line-height:1.7; }
.span-two { grid-column:1/-1; }
.inline-form { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:16px 0; }
.inline-form>span { flex:1; min-width:200px; }
.compact-list { padding:0; list-style:none; }
.compact-list li { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid #e1e9ed; }
.link-button { border:0; padding:0; background:none; color:#1b6386; cursor:pointer; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.button-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.button:disabled { cursor:not-allowed; opacity:.55; transform:none; }
.detail-layout { grid-template-columns:minmax(0,1fr) 340px; gap:24px; }
.detail-aside { display:block; min-width:0; }
.detail-aside .padded { padding:22px; }
.detail-main { min-width:0; }
.detail-main .content-block { padding:0; border:0; margin:22px 0 0; }
.content-block p,.review-entry p,.timeline p,.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.review-entry { padding:18px 0; border-top:1px solid #e1e9ed; }
.review-entry:first-of-type { border-top:0; padding-top:0; }
.review-entry small { color:#516874; }
.public-feedback,.internal-note { padding:14px; border:1px solid #c9dce6; border-radius:5px; background:#f0f6f9; margin-top:12px; }
.internal-note { background:#f6f4ec; border-color:#dcd6c2; }
.plan-summary { display:grid; gap:10px; margin:0 0 18px; }
.plan-summary>div { display:flex; justify-content:space-between; gap:14px; }
.plan-summary dt { color:#516874; }
.plan-summary dd { margin:0; text-align:right; font-weight:600; }
details { margin-top:16px; }
summary { cursor:pointer; font-weight:650; color:#245d79; padding:8px 0; }
details[open]>summary { margin-bottom:14px; }
.status-已暂缓 { color:#805b1b; background:#fff3d6; }
.sidebar-foot button:hover,.mobile-nav a:hover { color:#fff; }
.sheet-page-header .kicker { display:none; }
.sheet-page-header h1 { font-size:28px; }
@media(max-width:1200px) { .page-wrap{padding:28px 24px 50px;} .metric-strip{grid-template-columns:repeat(3,1fr);} .metric-strip>a:nth-child(3){border-right:0;} .metric-strip>a:nth-child(n+4){border-top:1px solid #e1e9ed;} .detail-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px;} }
@media(max-width:960px) { .detail-layout{grid-template-columns:1fr;} .detail-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;} .detail-aside .paper-panel{margin:0;} .settings-grid{grid-template-columns:1fr;} .workspace-header{align-items:flex-start;} }
@media(max-width:820px) { .mobile-nav{display:flex;gap:18px;padding:10px 18px;background:#234452;align-items:center;overflow-x:auto;white-space:nowrap;} .mobile-nav a,.mobile-nav button{color:#e4eff4;text-decoration:none;font-size:12px;} .mobile-nav form{margin-left:auto;} .mobile-nav button{border:0;background:none;padding:0;cursor:pointer;} .page-wrap{padding:24px 18px 44px;} .workspace-header h1{font-size:25px;} .padded{padding:20px;} .filter-panel{padding:14px;gap:10px;} .filter-panel label{flex:1;min-width:120px;} .filter-panel .search-field{min-width:100%;} }
@media(max-width:560px) { .workspace-header{flex-direction:column;gap:15px;} .workspace-header>.button{width:100%;} .metric-strip{grid-template-columns:repeat(3,1fr);} .metric-strip>a{padding:15px 12px;} .metric-strip strong{font-size:24px;} .small-metrics{grid-template-columns:repeat(2,1fr);} .small-metrics>a:nth-child(3){border-right:1px solid #e1e9ed;} .small-metrics>a:nth-child(n+3){border-top:1px solid #e1e9ed;} .detail-aside,.form-grid{grid-template-columns:1fr;} .span-two{grid-column:auto;} .section-heading{padding:18px;align-items:flex-start;} .session-list a{flex-direction:column;gap:6px;} .status-summary{gap:15px;} .meta-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:700px) { .auth-body{padding:18px;} .auth-layout{grid-template-columns:1fr;max-width:480px;} .auth-intro{padding:24px 28px;} .auth-intro h1{font-size:26px;margin:24px 0 0;} .auth-intro h1 br{display:none;} .auth-intro p{margin:12px 0 0;font-size:13px;} .auth-note{display:none;} .auth-form{padding:28px;} }
.department-context{display:flex;gap:12px;align-items:center;justify-content:flex-end;padding:12px 36px;border-bottom:1px solid var(--line);font-size:13px}.department-context label{display:flex;gap:10px;align-items:center}.department-context select{min-width:160px;min-height:36px;border:1px solid var(--line-dark);border-radius:5px;background:white;color:var(--ink);padding:5px 9px}.sidebar-foot .password-link{color:#d0dbe0;text-decoration:underline;text-underline-offset:3px;font-size:12px;margin-bottom:8px}@media(max-width:560px){.department-context{justify-content:flex-start;padding:12px 18px;gap:8px}.department-context select{min-width:0;max-width:190px}}

.wecom-signin{margin:22px 0}.wecom-signin p{font-size:13px;line-height:1.7}.local-login{margin-top:20px}.local-login summary{font-size:13px;color:var(--muted);cursor:pointer;margin-bottom:20px}
