:root{--primary:#2563EB;--primary-2:#1D4ED8;--accent:#2563EB;--bg:#F5F7FA;--surface:#FFFFFF;--text:#1F2937;--muted:#667085;--border:#E5E7EB;--line:#E5E7EB;--primary-soft:#EFF6FF;--surface-2:#F9FAFB;--success:#16A34A;--warn:#D97706;--danger:#DC2626;--info:#2563EB;--r:8px;--shadow:0 1px 2px rgba(16,24,40,.06);--sidebar:248px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Microsoft YaHei UI","Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;color:var(--text);background:var(--bg);line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.btn{height:40px;padding:0 16px;border:1px solid transparent;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:600;transition:.18s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-2)}.btn-secondary{background:#fff;border-color:var(--border);color:var(--primary)}.btn-danger{background:#fff1f1;color:var(--danger);border-color:#f1caca}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.public-header{height:70px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.public-nav{height:100%;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;color:var(--text);margin-right:auto}.brand-mark{width:32px;height:32px;background:var(--primary);border-radius:8px;position:relative}.brand-mark:after{content:"";position:absolute;inset:8px 6px;border:2px solid #FFFFFF;border-top:0;transform:skewY(-10deg)}.nav-links{display:flex;gap:24px;color:var(--muted);font-size:14px}.hero{padding:80px 0;background:linear-gradient(180deg,#FFFFFF 0,#F5F7FA 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.eyebrow{color:var(--primary-2);font-weight:700;letter-spacing:.06em;font-size:13px}.hero h1{font-size:44px;line-height:1.25;margin:15px 0 20px;letter-spacing:-.025em}.hero p{font-size:18px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;margin-top:30px}.product-shot{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:14px;transform:rotate(1deg)}.shot-bar{height:34px;background:#edf3f4;border-radius:8px;margin-bottom:12px}.shot-body{display:grid;grid-template-columns:100px 1fr;gap:12px;height:300px}.shot-side{background:#1F2937;border-radius:8px}.shot-main{display:grid;grid-template-rows:70px 1fr;gap:12px}.shot-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.shot-stats i,.shot-list i{display:block;background:#EFF6FF;border-radius:6px}.shot-list{display:grid;gap:8px}.section{padding:82px 0}.section.white{background:#fff}.section-head{text-align:center;max-width:700px;margin:0 auto 42px}.section-head h2{font-size:30px;margin:8px}.section-head p{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{padding:25px;border-top:3px solid var(--primary);background:#fff;border-radius:4px 4px var(--r) var(--r)}.feature b{display:block;font-size:17px;margin:12px 0 6px}.feature p{font-size:14px;color:var(--muted);margin:0}.icon{width:40px;height:40px;background:#EFF6FF;color:var(--primary);border-radius:8px;display:grid;place-items:center;font-weight:800}.steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.steps:before{content:"";height:2px;background:var(--border);position:absolute;left:12%;right:12%;top:25px}.step{text-align:center;position:relative;padding:0 18px}.step-no{width:50px;height:50px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;margin:auto;font-weight:750}.step h3{font-size:16px}.step p{color:var(--muted);font-size:14px}.advantages{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.adv{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--border)}.faq{max-width:800px;margin:auto}.faq details{background:#fff;border-bottom:1px solid var(--border);padding:18px 4px}.faq summary{font-weight:650;cursor:pointer}.faq p{color:var(--muted)}.public-footer{background:#1F2937;color:#F3F4F6;padding:45px 0 25px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-minor{border-top:1px solid #374151;margin-top:30px;padding-top:20px;font-size:12px;color:#9CA3AF}.app-layout{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#FFFFFF;color:var(--text);padding:24px 16px;display:flex;flex-direction:column;z-index:60;border-right:1px solid var(--border)}.sidebar .brand{color:var(--text);padding:0 8px;margin:0 0 24px}.side-nav{display:grid;gap:4px}.side-link{padding:10px 12px;border-radius:6px;color:var(--muted);font-size:14px;display:flex;gap:12px}.side-link.active,.side-link:hover{background:#EFF6FF;color:var(--primary)}.side-user{margin-top:auto;border-top:1px solid var(--border);padding:16px 8px 4px;font-size:13px;color:var(--muted)}.app-main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;padding:0 24px;position:sticky;top:0;z-index:30}.mobile-menu{display:none}.content{padding:24px;max-width:1240px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-head h1{font-size:20px;line-height:1.4;margin:0}.page-head p{margin:5px 0 0;color:var(--muted)}.panel{background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px;box-shadow:var(--shadow)}.upload{border:1px dashed #9CA3AF;border-radius:8px;min-height:240px;display:grid;place-items:center;text-align:center;padding:30px;background:#FFFFFF;transition:.2s}.upload.drag{border-color:var(--primary);background:#EFF6FF}.upload input{display:none}.field{display:grid;gap:7px;margin:18px 0}.field label{font-size:13px;font-weight:650}.input{height:44px;border:1px solid var(--border);border-radius:8px;padding:0 12px;background:#fff;width:100%}.textarea{min-height:140px;padding:12px}.input:focus{outline:2px solid #BFDBFE;border-color:var(--primary)}.summary-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border)}.points-highlight{font-size:34px;color:var(--primary);font-weight:800}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:100;display:grid;place-items:center;padding:20px}.modal{background:#fff;border:1px solid var(--border);border-radius:10px;width:min(520px,100%);padding:0;box-shadow:0 16px 40px rgba(15,23,42,.14)}.hidden{display:none!important}.progress-ring{height:8px;background:#E5E7EB;border-radius:8px;overflow:hidden}.progress-ring i{display:block;height:100%;background:var(--accent);transition:width .8s}.stage-list{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:28px 0}.stage{text-align:center;font-size:12px;color:var(--muted);position:relative;padding-top:24px}.stage:before{content:"";position:absolute;top:0;left:50%;width:14px;height:14px;border-radius:50%;background:#d7e1e3;transform:translateX(-50%)}.stage.done:before,.stage.current:before{background:var(--accent)}.stage.current{color:var(--primary);font-weight:700}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px}.tab{padding:10px 18px;border-bottom:2px solid transparent;cursor:pointer}.tab.active{border-color:var(--primary);color:var(--primary);font-weight:700}.task-list{display:grid;gap:12px}.task{background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px}.task h3{margin:0 0 5px;font-size:16px}.meta{font-size:13px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap}.badge{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:12px;background:#F3F4F6;color:#4B5563}.badge.success{background:#F0FDF4;color:var(--success)}.badge.warn{background:#FFFBEB;color:var(--warn)}.badge.danger{background:#FEF2F2;color:var(--danger)}.issue{background:#fff;border:1px solid var(--border);border-left:4px solid var(--warn);padding:18px;margin:12px 0;border-radius:8px}.issue h3{font-size:16px;margin:0 0 8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--border);padding:20px;border-radius:8px}.stat b{display:block;font-size:28px;color:var(--primary)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product{background:#fff;border:1px solid var(--border);padding:24px;border-radius:8px;position:relative}.product.recommended{border:2px solid var(--accent)}.product .price{font-size:30px;font-weight:800}.announcement{padding:20px 0;border-bottom:1px solid var(--border);cursor:pointer}.announcement h3{margin:0 0 5px}.pin{color:var(--warn);font-size:12px}.empty,.error,.loading{text-align:center;padding:55px;color:var(--muted)}.admin-sidebar{background:#FFFFFF}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.chart{height:260px;background:repeating-linear-gradient(to top,#fff,#fff 49px,#edf2f3 50px);border:1px solid var(--border);border-radius:10px;padding:20px}.bars{height:190px;display:flex;align-items:flex-end;gap:10px}.bars i{flex:1;background:#60A5FA;border-radius:4px 4px 0 0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:8px}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px}th{background:#F9FAFB;color:#667085}.drawer-mask{display:none}@media(max-width:900px){.nav-links{display:none}.hero-grid{grid-template-columns:1fr}.hero{padding-top:55px}.product-shot{display:none}.feature-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr);gap:35px}.steps:before{display:none}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.app-main{margin-left:0}.mobile-menu{display:inline-flex}.topbar{justify-content:space-between}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.products{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.public-header{height:62px}.brand{font-size:13px}.hero{padding:45px 0}.hero h1{font-size:31px}.hero p{font-size:16px}.hero-actions{flex-direction:column}.feature-grid,.advantages,.steps,.stats,.products,.dashboard-grid{grid-template-columns:1fr}.section{padding:55px 0}.footer-grid{display:block}.content{padding:20px 14px}.topbar{padding:0 14px}.page-head{align-items:flex-start;gap:12px}.stage-list{grid-template-columns:repeat(4,1fr)}.task{grid-template-columns:1fr}.modal{padding:0}.drawer-mask.show{display:block;position:fixed;inset:0;background:#0006;z-index:55}body{overflow-x:hidden}}

.sidebar{overflow:hidden}.side-nav{overflow-y:auto;min-height:0;padding-right:4px}.side-nav::-webkit-scrollbar{width:5px}.side-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}
.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:4px 0 20px}.admin-tab{border:0;background:none;padding:12px 20px;color:var(--muted);font-weight:700;border-bottom:3px solid transparent;cursor:pointer}.admin-tab.active{color:var(--primary);border-color:var(--primary)}.filter-bar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:10px;align-items:center;margin-bottom:16px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:16px 0}.btn-sm{height:30px!important;padding:0 10px!important;font-size:12px}.drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:100;display:flex;justify-content:flex-end}.admin-drawer{width:min(560px,94vw);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-12px 0 35px rgba(15,23,42,.2)}.drawer-head,.drawer-foot{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.drawer-foot{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;gap:10px}.drawer-body{padding:22px;overflow:auto;flex:1}.icon-btn{border:0;background:none;font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:grid;gap:7px;font-weight:600}.form-grid .span-2{grid-column:1/-1}.import-summary{display:flex;flex-wrap:wrap;gap:14px;padding:16px;background:var(--surface-2);border-radius:10px;margin-top:16px}.check{display:block;margin-top:14px}.chapter-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.chapter-tree,.chapter-fields{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.tree-group{margin:5px 0}.tree-node{width:100%;border:0;background:none;text-align:left;border-radius:8px;padding:10px;font-weight:700;cursor:pointer}.tree-node.active{background:var(--primary-soft);color:var(--primary)}.tree-child{font-size:12px;color:var(--muted);padding:5px 10px 5px 28px}.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-toolbar h3,.section-toolbar p{margin:0}.order-input{width:72px!important;padding:6px!important}.field-picker{display:grid;gap:8px;margin-top:14px}.field-picker label{padding:10px;border:1px solid var(--line);border-radius:8px}.table-wrap{max-width:100%;overflow-x:auto}
@media(max-width:900px){.filter-bar{grid-template-columns:1fr 1fr}.chapter-workspace{grid-template-columns:1fr}.chapter-tree{max-height:320px;overflow:auto}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}@media(max-width:600px){.filter-bar{grid-template-columns:1fr}.admin-tabs{overflow-x:auto}.admin-tab{white-space:nowrap}.drawer-head,.drawer-body,.drawer-foot{padding:16px}.page-head{align-items:flex-start}.page-head>div:last-child{display:flex;flex-wrap:wrap;gap:6px}}
.chapter-fields,.content,.app-main{min-width:0;max-width:100%}.chapter-fields{overflow:hidden}.chapter-fields .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:600px){.chapter-fields{padding:12px}.section-toolbar{align-items:flex-start;gap:8px}.page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.page-head h1{font-size:20px}.page-head>div:last-child{justify-content:flex-end}.content{overflow-x:hidden;width:100%;box-sizing:border-box}.chapter-workspace{width:100%;overflow:hidden}.chapter-tree{width:auto}.chapter-fields table{min-width:760px}}
.debug-output{white-space:pre-wrap;word-break:break-word;max-height:620px;overflow:auto;background:#0f172a;color:#dbeafe;padding:18px;border-radius:10px;font-size:12px}
.review-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.review-type-card{display:flex;min-height:136px;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px;color:var(--text);cursor:pointer;transition:.18s}.review-type-card:hover{border-color:#93C5FD;background:#F8FAFF}.review-type-card.active{background:#EFF6FF;border-color:var(--primary);color:var(--text);box-shadow:0 0 0 1px var(--primary)}.review-type-card.active h2{color:var(--text)}.review-type-card.active b{color:var(--primary)}.review-type-card h2{font-size:20px;line-height:1.4;margin:0 0 12px}.review-type-card b{color:var(--primary);font-size:16px}.review-type-hint{padding:12px 16px;margin:-4px 0 16px;background:#EFF6FF;color:var(--primary);border-radius:8px;font-weight:700}.review-scope-notice{margin:0 0 16px;padding:12px 16px;border:1px solid #FDE68A;border-left:4px solid var(--warn);border-radius:8px;background:#FFFBEB;color:#92400E;font-size:14px;line-height:1.7}.review-scope-notice strong{display:block;color:#78350F}.report-conclusion{margin-bottom:24px;border-left:4px solid var(--accent)}.report-conclusion h2{margin-top:0}.category-counts{display:flex;flex-wrap:wrap;gap:8px}.category-counts .badge{font-size:13px;padding:4px 12px}
.report-form-card,.report-book-card{position:relative}.channel-light{position:absolute;right:16px;top:13px;display:flex;align-items:center;gap:6px;padding:4px 9px;border-radius:20px;background:#f1f5f6;color:var(--muted);font-size:12px;font-weight:700}.channel-light i{width:9px;height:9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.14)}.channel-light.green{background:#e7f7ef;color:var(--success)}.channel-light.green i{background:#20a36f;box-shadow:0 0 0 3px rgba(32,163,111,.15)}.channel-light.yellow{background:#fff4dc;color:var(--warn)}.channel-light.yellow i{background:#e5a321;box-shadow:0 0 0 3px rgba(229,163,33,.16)}.channel-light.red{background:#fdeaea;color:var(--danger)}.channel-light.red i{background:#d64545;box-shadow:0 0 0 3px rgba(214,69,69,.15)}.upload-time-note{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.6;max-width:620px}
@media(max-width:760px){.review-type-grid{grid-template-columns:1fr}.review-type-card{min-height:118px;padding:22px}.review-type-card h2{font-size:23px}}

.review-channel-status{color:var(--primary);font-weight:700;padding:8px 12px;background:#EFF6FF;border-radius:6px}

.upload .meta{display:block;width:100%;text-align:center}

.selected-file-card{min-height:190px;width:100%;display:flex;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:28px}.selected-file-card.hidden{display:none}.selected-file-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#EFF6FF;color:var(--primary);font-size:24px;font-weight:800}.selected-file-card strong{font-size:18px}.selected-file-card b{max-width:82%;font-size:16px;line-height:1.6;overflow-wrap:anywhere;color:var(--primary)}.selected-file-tip{font-size:13px;color:var(--muted)}

.admin-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:120;display:grid;place-items:center;padding:24px}.admin-modal{width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);background:#fff;border-radius:10px;box-shadow:0 16px 40px rgba(15,23,42,.14);display:flex;flex-direction:column;overflow:hidden}.admin-modal.small{width:min(760px,calc(100vw - 40px))}.admin-modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-modal-head h2{font-size:18px;margin:0}.admin-modal-body{padding:22px;overflow:auto;flex:1}.admin-modal-foot{padding:16px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:#fafafa}.prompt-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.prompt-editor-grid .span-2{grid-column:1/-1}.prompt-editor-grid label{display:grid;gap:7px;font-weight:700}.prompt-editor-grid textarea{min-height:260px;line-height:1.55;padding:12px;font-size:13px}.prompt-editor-grid textarea.prompt-big{min-height:42vh;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}.announcement-editor label{display:grid;gap:7px;font-weight:700;margin-bottom:14px}.announcement-editor textarea{min-height:180px;line-height:1.65;padding:12px}.announcement-editor .ann-body{min-height:36vh}@media(max-width:800px){.admin-modal-backdrop{padding:12px}.admin-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.prompt-editor-grid{grid-template-columns:1fr}.prompt-editor-grid .span-2{grid-column:auto}.prompt-editor-grid textarea.prompt-big,.announcement-editor .ann-body{min-height:260px}}

.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-action{height:40px;position:relative;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-weight:650;font-size:14px;cursor:pointer;transition:.18s}.topbar-action:hover{border-color:#93C5FD;background:#EFF6FF;color:var(--primary)}.topbar-icon{width:19px;height:19px;display:grid;place-items:center}.topbar-icon svg,.announcement-title-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-dot{position:absolute;right:7px;top:5px;width:9px;height:9px;border-radius:50%;background:#e53636;border:2px solid var(--surface);box-shadow:0 0 0 1px rgba(229,54,54,.1)}
.announcement-center-backdrop{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.42)}.announcement-center{width:min(900px,calc(100vw - 48px));height:min(650px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 40px rgba(15,23,42,.14)}.announcement-center-head{height:70px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--border)}.announcement-center-head>div{display:flex;align-items:center;gap:11px}.announcement-center-head h2{margin:0;font-size:19px}.announcement-title-icon{width:25px;height:25px;color:var(--primary)}.announcement-close{width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}.announcement-close:hover{background:#edf3f4;color:var(--text)}.announcement-center-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:0;flex:1}.announcement-list{overflow:auto;padding:16px;border-right:1px solid var(--border);background:#F9FAFB}.announcement-list-item{width:100%;position:relative;display:grid;gap:6px;margin:0 0 8px;padding:14px 14px 14px 18px;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);cursor:pointer}.announcement-list-item:hover{background:var(--surface);border-color:var(--border)}.announcement-list-item.active{background:var(--surface);border-color:#93C5FD;box-shadow:var(--shadow)}.announcement-list-item.unread:before{content:"";position:absolute;left:7px;top:21px;width:6px;height:6px;border-radius:50%;background:#e53636}.announcement-list-item strong{font-size:14px;line-height:1.45}.announcement-list-item>span:last-child{font-size:12px;color:var(--muted)}.announcement-pin{width:max-content;padding:1px 6px;border-radius:10px;background:#fff1d9;color:var(--warn);font-size:11px}.announcement-detail{overflow:auto;padding:38px 42px}.announcement-detail h1{margin:8px 0 20px;font-size:25px;line-height:1.4}.announcement-detail-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.announcement-content{white-space:pre-wrap;font-size:15px;line-height:1.9}.announcement-loading,.announcement-empty{display:grid;place-items:center;min-height:260px;color:var(--muted);text-align:center;padding:30px}

html[data-theme="dark"]{--primary:#60A5FA;--primary-2:#3B82F6;--accent:#60A5FA;--bg:#0F172A;--surface:#111827;--surface-2:#1F2937;--text:#F3F4F6;--muted:#9CA3AF;--border:#374151;--line:#374151;--primary-soft:#172554;--success:#4ADE80;--warn:#FBBF24;--danger:#F87171;--info:#60A5FA;--shadow:0 8px 24px rgba(0,0,0,.28)}
html[data-theme="dark"] body{color-scheme:dark}
html[data-theme="dark"] .sidebar,html[data-theme="dark"] .admin-sidebar{background:#111827;border-color:#374151}
html[data-theme="dark"] .sidebar .brand{color:#F9FAFB}
html[data-theme="dark"] .side-link.active,html[data-theme="dark"] .side-link:hover{background:#172554;color:#93C5FD}
html[data-theme="dark"] .side-user{border-color:#374151}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .panel,html[data-theme="dark"] .task,html[data-theme="dark"] .issue,html[data-theme="dark"] .stat,html[data-theme="dark"] .product,html[data-theme="dark"] .review-type-card,html[data-theme="dark"] .modal,html[data-theme="dark"] .admin-modal,html[data-theme="dark"] .table-wrap,html[data-theme="dark"] .chapter-tree,html[data-theme="dark"] .chapter-fields,html[data-theme="dark"] .announcement-center{background:var(--surface)}
html[data-theme="dark"] .btn-secondary,html[data-theme="dark"] .topbar-action{background:#1F2937;color:#BFDBFE;border-color:#4B5563}
html[data-theme="dark"] .topbar-action:hover,html[data-theme="dark"] .announcement-close:hover{background:#273449;border-color:#60A5FA;color:#93C5FD}
html[data-theme="dark"] .upload,html[data-theme="dark"] .input,html[data-theme="dark"] textarea{background:#0B1220;color:var(--text);border-color:#4B5563}
html[data-theme="dark"] .review-type-card.active{background:#1D4ED8;border-color:#60A5FA}
html[data-theme="dark"] .review-type-hint,html[data-theme="dark"] .review-channel-status{background:#172554;color:#BFDBFE}
html[data-theme="dark"] .review-scope-notice{background:#292211;border-color:#7C5C19;color:#FDE68A}
html[data-theme="dark"] .review-scope-notice strong{color:#FCD34D}
html[data-theme="dark"] .channel-light{background:#1F2937}
html[data-theme="dark"] .channel-light.green{background:#123326}html[data-theme="dark"] .channel-light.yellow{background:#3A2D14}html[data-theme="dark"] .channel-light.red{background:#3F1D24}
html[data-theme="dark"] .badge{background:#273449;color:#D1D5DB}html[data-theme="dark"] .badge.success{background:#123326}html[data-theme="dark"] .badge.warn{background:#3A2D14}html[data-theme="dark"] .badge.danger{background:#3F1D24}
html[data-theme="dark"] th{background:#1F2937;color:#D1D5DB}
html[data-theme="dark"] .progress-ring{background:#374151}
html[data-theme="dark"] .announcement-list{background:#0B1220}
html[data-theme="dark"] .announcement-pin{background:#3A2D14}
html[data-theme="dark"] .notification-dot{border-color:var(--surface)}
html[data-theme="dark"] .admin-modal-foot,html[data-theme="dark"] .modal-foot{background:#0B1220}

@media(max-width:700px){.topbar-actions{gap:6px}.topbar-action{padding:0 10px}.theme-trigger span:last-child{display:none}.announcement-center-backdrop{padding:10px}.announcement-center{width:calc(100vw - 20px);height:calc(100vh - 20px)}.announcement-center-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.announcement-list{display:flex;gap:8px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.announcement-list-item{min-width:220px;margin:0}.announcement-detail{padding:24px 20px}.announcement-detail h1{font-size:21px}}

/* Professional light workbench: dialog, progress and keyboard interaction */
:focus-visible{outline:2px solid #2563EB;outline-offset:2px}
body.dialog-open{overflow:hidden}
.modal-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border)}
.modal-head>div{display:flex;align-items:center;gap:12px;min-width:0}
.modal-head h2{margin:0;font-size:20px;line-height:1.4}
.modal-close{width:36px;height:36px;flex:none;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:26px;line-height:1;cursor:pointer}
.modal-close:hover{background:#F3F4F6;color:var(--text)}
.modal-body{padding:24px}
.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border);background:#F9FAFB}
.failure-modal{width:min(560px,100%)}
.failure-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#FEF2F2;color:var(--danger);font-weight:800}
.failure-action{margin:16px 0 0;padding:12px 16px;border-left:3px solid var(--warn);background:#FFFBEB;color:#92400E}
.failure-billing{display:grid;gap:4px;margin-top:16px;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:#F9FAFB;color:var(--muted)}
.failure-billing.refunded{border-color:#BBF7D0;background:#F0FDF4;color:#166534}
.failure-billing strong{color:inherit}
.failure-inline{display:grid;gap:4px;margin-top:16px;padding:12px 16px;border:1px solid #FECACA;border-radius:8px;background:#FEF2F2;color:var(--danger);text-align:left}
.failure-inline span{color:#7F1D1D}
.progress-heading{display:flex;justify-content:space-between;margin:24px 0 8px}
.progress-note{margin-top:24px;background:#F9FAFB;box-shadow:none}
.announcement-close{border-radius:6px}
.announcement-detail h1{font-size:20px}
.task h3,.selected-file-card b{font-size:16px}
@media(max-width:600px){.modal-backdrop{align-items:end;padding:8px}.modal{max-height:calc(100vh - 16px);overflow:auto}.modal-head,.modal-body,.modal-actions{padding-left:16px;padding-right:16px}.modal-actions{display:grid;grid-template-columns:1fr}.modal-actions .btn{width:100%}.failure-modal{width:100%}}
