:root{color:#16384a;background:radial-gradient(circle at top left,rgba(61,170,214,.18),transparent 28%),linear-gradient(180deg,#f3fafc,#edf6f8 40%,#f6fbfc);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page-shell: #f5fbfc;--panel-bg: rgba(255, 255, 255, .86);--panel-border: rgba(129, 178, 194, .2);--ink-strong: #16384a;--ink-body: #446776;--ink-soft: #668796;--brand-primary: #3daad6;--brand-deep: #205d78;--brand-pale: #dceff4}*{box-sizing:border-box}body{margin:0;min-width:320px;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--ink-strong);background:var(--page-shell)}#root{min-height:100vh}.route-loading{min-height:100vh;display:grid;place-items:center;background:var(--page-shell)}.app-shell{min-height:100vh;background:transparent}.app-sider{background:linear-gradient(180deg,#14384afa,#123443f0),linear-gradient(135deg,rgba(61,170,214,.24),transparent 60%);padding:18px 14px;border-right:1px solid rgba(255,255,255,.08);position:sticky!important;top:0;height:100vh;overflow:auto}.brand-panel{display:flex;gap:12px;align-items:center;padding:6px 8px 14px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#82d2e6,#3daad6);color:#103346;font-family:STSong,Songti SC,"Noto Serif CJK SC",serif;font-size:20px;font-weight:700;box-shadow:0 18px 30px #0925313d}.brand-title,.brand-note-label,.brand-note-title,.header-title,.page-eyebrow,.page-description,.login-eyebrow,.login-description,.login-footnote{color:inherit}.brand-title{display:block;color:#f6fdff;font-size:18px;font-family:STSong,Songti SC,"Noto Serif CJK SC",serif}.brand-subtitle{margin:3px 0 0;color:#dff1f7c7;line-height:1.45;font-size:12px}.ant-layout-sider-collapsed .brand-copy,.ant-layout-sider-collapsed .brand-note{display:none}.ant-layout-sider-collapsed .brand-panel{justify-content:center;padding:6px 0 14px}.ant-layout-sider-collapsed .brand-mark{width:46px;height:46px;border-radius:14px;font-size:20px}.brand-note{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,#fcffff1f,#7bc0d614);border:1px solid rgba(203,236,245,.15);margin-bottom:12px}.brand-note-label{flex:none;color:#8ecbdd;font-size:12px;letter-spacing:.04em}.brand-note-title{min-width:0;color:#f6fdff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-menu{background:transparent;border-inline-end:none!important}.nav-menu .ant-menu-item{height:auto;margin-block:8px;padding-block:14px;border-radius:16px;color:#e2f3f8d6;font-size:15px}.nav-menu .ant-menu-item-selected{background:linear-gradient(90deg,#3daad638,#ffffff14);color:#fff}.app-main{background:transparent}.app-header{height:auto;min-height:48px;padding:6px 18px;display:flex;justify-content:space-between;align-items:center;background:#f5fbfcc2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(148,189,202,.2);position:sticky;top:0;z-index:20}.header-title-block{display:flex;gap:10px;align-items:center;min-width:0}.sider-toggle{width:30px;height:30px;border-radius:8px}.header-title{min-width:0;color:var(--ink-strong);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user{padding:3px 8px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(146,192,208,.22)}.header-user .ant-avatar{width:24px;height:24px;line-height:24px}.header-actions .ant-badge-count{height:22px;line-height:22px;padding:0 8px}.app-content{padding:20px 24px 28px}.page-hero{padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#fffffff0,#e9f7fae0),linear-gradient(135deg,rgba(61,170,214,.14),transparent 52%);border:1px solid var(--panel-border);box-shadow:0 10px 28px #4b798a0d}.page-hero-main{display:flex;align-items:center;gap:14px}.page-hero-copy{min-width:0;flex:1}.page-hero-title-row{display:flex;align-items:baseline;gap:10px;min-width:0}.page-eyebrow{flex:none;color:var(--brand-deep);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.page-title.ant-typography{margin:0;color:var(--ink-strong);line-height:1.35;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-description.ant-typography{margin:4px 0 0;color:var(--ink-body);line-height:1.55;font-size:13px}.context-tag{border-radius:999px;padding:2px 9px;background:#dceff4d1;border:1px solid rgba(142,198,216,.4);color:var(--brand-deep);font-size:12px}.page-hero-tags{flex:none}.panel-card,.metric-card,.info-card,.stat-card{border-radius:12px!important;border:1px solid var(--panel-border)!important;background:var(--panel-bg)!important;box-shadow:0 18px 45px #5c829014}.metric-card{padding:20px}.dashboard-entry-card{height:100%;border-radius:12px!important;border:1px solid var(--panel-border)!important;background:#ffffffe6!important;box-shadow:0 16px 36px #5c829014}.dashboard-entry-card .ant-card-body{height:100%}.dashboard-entry-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-entry-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--brand-deep);background:#dceff4e6;font-size:20px}.dashboard-entry-title.ant-typography{margin:0;color:var(--ink-strong);font-size:17px}.dashboard-entry-desc.ant-typography{min-height:44px;margin:8px 0 0;color:var(--ink-body);line-height:1.65}.dashboard-entry-action.ant-btn{align-self:flex-start;height:auto;padding:0;color:var(--brand-deep)}.selected-row>td{background:#3daad624!important;box-shadow:inset 3px 0 0 var(--brand)}.table-subtext.ant-typography{margin:2px 0 0;color:var(--ink-soft);font-size:12px}.section-heading .ant-typography{margin-bottom:0}.section-heading .ant-typography+.ant-typography{margin-top:8px;color:var(--ink-body);line-height:1.9}.questionnaire-context{padding:12px 14px;border:1px dashed rgba(104,162,181,.42);border-radius:12px;background:#f6fbfce0}.questionnaire-context.active{border-style:solid;border-color:#3daad657;background:linear-gradient(180deg,#eef9fcf5,#f8fdfef5)}.context-label.ant-typography{color:var(--ink-soft);font-size:12px}.rich-editor-placeholder{min-height:220px;padding:18px;border:1px dashed rgba(104,162,181,.56);border-radius:18px;background:linear-gradient(180deg,#f3fafcf2,#e8f5f8e6)}.rich-editor{border:1px solid rgba(129,178,194,.28);border-radius:12px;background:#fafeffeb;overflow:hidden}.rich-editor .rich-editor-toolbar{border-bottom:1px solid rgba(129,178,194,.22);--w-e-toolbar-bg-color: rgba(242, 250, 252, .96)}.rich-editor-extra{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(129,178,194,.22);background:#fafefff0}.rich-editor-video-hint{color:var(--ink-soft);font-size:12px}.rich-editor .rich-editor-surface{min-height:320px;overflow-y:auto;--w-e-textarea-bg-color: rgba(250, 254, 255, .96);--w-e-textarea-color: var(--ink-strong)}.rich-editor .w-e-text-container [data-slate-editor]{padding:0 18px}.rich-editor .w-e-text-container [data-slate-editor] h2,.rich-editor .w-e-text-container [data-slate-editor] h3{color:var(--brand-deep)}.rich-editor-help{padding:10px 14px 12px;color:var(--ink-soft);font-size:12px;border-bottom:1px solid rgba(129,178,194,.22);background:#f6fbfce6}.article-image-field,.image-upload-field{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.image-upload-preview{object-fit:cover;border-radius:8px;border:1px solid rgba(129,178,194,.24);background:#f6fbfce6}.image-upload-empty{display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:12px;border:1px dashed rgba(129,178,194,.46);border-radius:8px;background:#f6fbfce6}.option-box{background:#f3fafce6}.login-page{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at top left,rgba(61,170,214,.3),transparent 28%),radial-gradient(circle at bottom right,rgba(123,192,214,.26),transparent 24%),linear-gradient(135deg,#eff8fb,#dfeff4 48%,#edf7f9)}.login-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(114,160,176,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(114,160,176,.08) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.48),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.48),transparent 85%)}.login-shell{position:relative;z-index:1;min-height:100vh;padding:48px}.login-copy{max-width:720px}.login-eyebrow{color:var(--brand-deep);letter-spacing:.14em;text-transform:uppercase}.login-title.ant-typography{margin:10px 0 18px;font-family:STSong,Songti SC,"Noto Serif CJK SC",serif;font-size:clamp(34px,4vw,58px);line-height:1.2;color:#17384a}.login-description.ant-typography{max-width:620px;margin:0;color:var(--ink-body);line-height:2;font-size:16px}.login-card{border-radius:18px!important;background:#ffffffe6!important;box-shadow:0 28px 80px #4c748429}.login-footnote.ant-typography{margin:0;color:var(--ink-soft)}@media(max-width:1100px){.app-shell{flex-direction:column}.app-sider{width:100%!important;max-width:none!important;flex:none!important;height:auto;position:static!important;padding:16px}.ant-layout-sider-collapsed .brand-copy,.ant-layout-sider-collapsed .brand-note{display:block}.ant-layout-sider-collapsed .brand-panel{justify-content:flex-start}.app-header{gap:8px;flex-wrap:wrap}.page-hero-main{align-items:flex-start;flex-direction:column;gap:8px}.page-hero-tags{flex:1}.brand-note{display:none}.nav-menu .ant-menu-item{margin-block:4px;padding-block:10px}.header-actions,.app-header>.ant-space{width:100%;justify-content:space-between}}@media(max-width:768px){.app-content,.app-header,.login-shell{padding:18px}.page-hero,.brand-note{padding:12px}.header-user{display:none}.page-hero{border-radius:12px}.page-hero-title-row{align-items:flex-start;flex-direction:column;gap:2px}.page-title.ant-typography{white-space:normal}.filter-form{display:grid;grid-template-columns:1fr;gap:12px}.filter-form .ant-form-item,.filter-form .ant-picker,.filter-form .ant-select,.filter-form .ant-input-number{width:100%!important;margin-inline-end:0}.ant-card .ant-card-head{flex-direction:column;align-items:flex-start;gap:12px}.ant-card .ant-card-extra{margin-inline-start:0;width:100%}.ant-card .ant-card-extra .ant-space,.page-hero-actions .ant-space{width:100%}.ant-card .ant-card-extra .ant-btn{white-space:normal}}
