:root{--bs-primary:#2563eb;--bs-primary-dark:#1d4ed8;--bs-ink:#0f172a;--bs-text:#334155;--bs-muted:#64748b;--bs-line:#e2e8f0;--bs-bg:#f3f6fb;--bs-radius:14px}*{box-sizing:border-box}body.bs-body{margin:0;background:var(--bs-bg);color:var(--bs-text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--bs-primary);text-decoration:none}a:hover{color:var(--bs-primary-dark)}.bs-wrap{max-width:1120px;margin:0 auto;padding:0 20px}.bs-header{background:rgba(255,255,255,.92);border-bottom:1px solid var(--bs-line);backdrop-filter:saturate(160%) blur(10px);position:sticky;top:0;z-index:30}.bs-header__inner{height:64px;display:flex;align-items:center;gap:26px}.bs-brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:16px;color:var(--bs-ink);white-space:nowrap}.bs-brand__mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#2563eb,#0ea5e9);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700}.bs-nav__badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;margin-left:2px;border-radius:9px;background:#ef4444;color:#fff;font-size:11px;line-height:1;vertical-align:1px}.bs-nav{display:flex;align-items:center;gap:6px;margin-left:6px}.bs-nav a{color:var(--bs-muted);padding:7px 12px;border-radius:8px;font-size:13.5px;transition:.18s}.bs-nav a:hover{color:var(--bs-ink);background:#f1f5f9}.bs-nav a.is-active{color:var(--bs-primary);background:#eff6ff;font-weight:600}.bs-user{margin-left:auto;display:flex;align-items:center;gap:10px}.bs-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden}.bs-avatar img{width:100%;height:100%;object-fit:cover}.bs-user__name{font-size:13px;color:var(--bs-ink);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-user__link{font-size:12.5px;color:var(--bs-muted)}.bs-btn-login{padding:7px 16px;border-radius:8px;background:var(--bs-primary);color:#fff!important;font-size:13px;font-weight:500}.bs-btn-login:hover{background:var(--bs-primary-dark)}@media (max-width:860px){.bs-header__inner{gap:12px}.bs-nav,.bs-user__name{display:none}}.bs-hero{padding:34px 0 6px}.bs-hero__badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#1d4ed8;background:#e0edff;padding:4px 10px;border-radius:20px;margin-bottom:14px}.bs-hero h1{margin:0 0 10px;font-size:30px;line-height:1.25;color:var(--bs-ink);letter-spacing:-.5px}.bs-hero p{margin:0;max-width:760px;color:var(--bs-muted);font-size:14px}.bs-hero__stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.bs-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--bs-line);border-radius:10px;padding:8px 14px;font-size:13px;color:var(--bs-muted);box-shadow:0 1px 2px rgba(15,23,42,.03)}.bs-pill strong{color:var(--bs-ink);font-size:15px}.bs-tabs{display:flex;gap:4px;margin:22px 0 16px;border-bottom:1px solid var(--bs-line);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.bs-tabs a{padding:10px 16px;font-size:14px;color:var(--bs-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;flex:0 0 auto}.bs-tabs a.is-active{color:var(--bs-primary);border-bottom-color:var(--bs-primary);font-weight:600}.bs-card{background:#fff;border:1px solid var(--bs-line);border-radius:var(--bs-radius);box-shadow:0 4px 16px rgba(15,23,42,.04)}.bs-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}@media (max-width:980px){.bs-layout{grid-template-columns:minmax(0,1fr)}}.bs-form{padding:24px}.bs-field{margin-bottom:18px}.bs-label{display:flex;align-items:center;gap:6px;margin-bottom:7px;font-size:13px;color:var(--bs-ink);font-weight:500}.bs-label .req{color:#dc2626;font-weight:400}.bs-label .hint{margin-left:auto;color:#94a3b8;font-size:12px;font-weight:400}.bs-input,.bs-select,.bs-textarea{width:100%;border:1px solid var(--bs-line);background:#fff;border-radius:9px;padding:10px 12px;font-size:14px;color:var(--bs-ink);outline:0;transition:border-color .16s,box-shadow .16s;font-family:inherit}.bs-input:focus,.bs-select:focus,.bs-textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.bs-textarea{resize:vertical;min-height:76px;line-height:1.7}.bs-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bs-cover{display:flex;gap:14px;align-items:flex-start}.bs-cover__preview.is-drag{border-color:#2563eb;background:#eff6ff}.bs-cover__preview{width:156px;height:96px;border-radius:10px;border:1px dashed #cbd5e1;background:center/cover no-repeat #f8fafc;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;overflow:hidden;flex:0 0 auto;position:relative}.bs-cover__preview.has-image{border-style:solid;border-color:var(--bs-line)}.bs-cover__preview img{width:100%;height:100%;object-fit:cover}.bs-cover__tools{display:flex;flex-direction:column;gap:8px}.bs-cover__tools small{color:#94a3b8;font-size:12px}.bs-editor-shell{border:1px solid var(--bs-line);border-radius:10px;overflow:hidden;background:#fff}.bs-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid var(--bs-line)}.bs-toolbar button{border:0;background:0 0;color:#475569;width:32px;height:30px;border-radius:6px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.bs-toolbar button:hover{background:#e8eef7;color:var(--bs-ink)}.bs-toolbar .sep{width:1px;background:var(--bs-line);margin:4px 5px}.bs-toolbar .wide{width:auto;padding:0 9px;font-size:12.5px}.bs-editor{min-height:340px;max-height:70vh;overflow-y:auto;padding:16px 18px;font-size:15px;line-height:1.85;color:#1e293b;outline:0}.bs-editor:empty:before{content:attr(data-placeholder);color:#a3b0c2}.bs-editor img{max-width:100%;height:auto;border-radius:6px}.bs-editor blockquote{margin:12px 0;padding:8px 14px;border-left:3px solid #93c5fd;background:#f8fbff;color:#475569}.bs-editor h2{font-size:20px;margin:18px 0 8px}.bs-editor h3{font-size:17px;margin:14px 0 6px}.bs-editor ol,.bs-editor ul{padding-left:22px}.bs-editor a{color:var(--bs-primary);text-decoration:underline}.bs-counter{display:flex;justify-content:space-between;padding:6px 4px 0;font-size:12px;color:#94a3b8}.bs-counter.warn{color:#dc2626}.bs-side{display:flex;flex-direction:column;gap:14px}.bs-panel{padding:18px 20px}.bs-panel__title{margin:0 0 10px;font-size:14px;color:var(--bs-ink);display:flex;align-items:center;gap:7px}.bs-panel__title i{color:var(--bs-primary)}.bs-panel p{margin:0;color:var(--bs-muted);font-size:13px}.bs-steps{margin:0;padding:0;list-style:none}.bs-steps li{display:flex;gap:10px;padding:6px 0;font-size:13px;color:var(--bs-muted)}.bs-steps li .num{width:20px;height:20px;border-radius:50%;background:#eff6ff;color:var(--bs-primary);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.bs-notice{background:#fffbeb;border-color:#fde68a}.bs-notice .bs-panel__title{color:#92400e}.bs-notice .bs-panel__title i{color:#d97706}.bs-notice p{color:#92400e}.bs-captcha-row{display:flex;align-items:center;gap:10px}.bs-captcha-q{min-width:92px;text-align:center;padding:9px 10px;border-radius:9px;background:#f1f5f9;border:1px solid var(--bs-line);color:var(--bs-ink);font-weight:600;letter-spacing:1px;cursor:pointer;user-select:none}.bs-captcha-q:hover{border-color:#cbd5e1}.bs-agree{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--bs-muted);line-height:1.6;margin:14px 0 16px}.bs-agree input{margin-top:3px}.bs-agree .link{color:var(--bs-primary);cursor:pointer;text-decoration:underline}.bs-actions{display:flex;gap:10px;flex-wrap:wrap}.bs-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;transition:.16s;font-family:inherit}.bs-btn--primary{background:var(--bs-primary);color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.25)}.bs-btn--primary:hover{background:var(--bs-primary-dark)}.bs-btn--ghost{background:#fff;border-color:var(--bs-line);color:var(--bs-text)}.bs-btn--ghost:hover{border-color:#cbd5e1;background:#f8fafc}.bs-btn[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none}.bs-btn--sm{padding:5px 12px;font-size:12.5px;border-radius:7px}.bs-list{padding:6px 0}.bs-item{padding:18px 22px;border-bottom:1px solid #f1f5f9}.bs-item:last-child{border-bottom:0}.bs-item__head{display:flex;align-items:flex-start;gap:12px}.bs-item__title{margin:0;font-size:16px;color:var(--bs-ink);font-weight:600;line-height:1.5;flex:1;min-width:0}.bs-item__status{flex:0 0 auto}.bs-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 10px;border-radius:20px;font-weight:500;white-space:nowrap}.bs-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.bs-status--pending{color:#b45309;background:#fef3c7}.bs-status--approved{color:#047857;background:#d1fae5}.bs-status--rejected{color:#b91c1c;background:#fee2e2}.bs-status--revision{color:#1d4ed8;background:#dbeafe}.bs-status--scheduled{color:#6d28d9;background:#ede9fe}.bs-status--draft{color:#475569;background:#e2e8f0}.bs-item__meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12.5px;color:#94a3b8}.bs-item__meta span{display:inline-flex;align-items:center;gap:5px}.bs-item__excerpt{margin-top:8px;color:var(--bs-muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bs-item__reason{margin-top:10px;padding:9px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:12.5px}.bs-item__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.bs-empty{padding:52px 20px;text-align:center;color:#94a3b8}.bs-empty i{font-size:34px;color:#cbd5e1;display:block;margin-bottom:10px}.bs-empty p{margin:0 0 14px}.bs-pager{display:flex;justify-content:center;gap:6px;padding:18px}.bs-pager a{min-width:34px;height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--bs-line);background:#fff;color:var(--bs-muted);display:inline-flex;align-items:center;justify-content:center;font-size:13px}.bs-pager a.is-active{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.bs-detail{padding:28px 30px}.bs-detail h1{margin:0 0 10px;font-size:24px;line-height:1.4;color:var(--bs-ink)}.bs-detail__meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:#94a3b8;margin-bottom:18px}.bs-detail__body{font-size:15px;line-height:1.9;color:#1e293b;border-top:1px solid #f1f5f9;padding-top:18px}.bs-detail__body img{max-width:100%;height:auto;border-radius:8px}.bs-detail__body blockquote{margin:14px 0;padding:10px 16px;background:#f8fbff;border-left:3px solid #93c5fd}.bs-alert{padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:16px}.bs-alert--info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.bs-alert--warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.bs-alert--error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.bs-alert--success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.bs-login-card{padding:46px 30px;text-align:center}.bs-login-card i{font-size:40px;color:#bfdbfe;margin-bottom:14px;display:block}.bs-login-card h2{margin:0 0 8px;font-size:19px;color:var(--bs-ink)}.bs-login-card p{margin:0 0 20px;color:var(--bs-muted);font-size:13.5px}.bs-footer{padding:30px 0 40px;text-align:center;color:#94a3b8;font-size:12.5px}.bs-preview-mask{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.5)}.bs-preview-dialog{width:min(860px,100%);max-height:86vh;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden}.bs-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #e2e8f0}.bs-preview-head h3{margin:0;font-size:15px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-preview-close{border:0;background:#f1f5f9;color:#334155;font-size:12.5px;padding:6px 12px;border-radius:8px;cursor:pointer}.bs-preview-body{padding:20px 24px;overflow:auto;line-height:1.85;color:#1e293b;font-size:14.5px}.bs-preview-body img{max-width:100%;height:auto;border-radius:8px}.bs-toast{position:fixed;left:50%;top:84px;transform:translateX(-50%) translateY(-10px);background:#0f172a;color:#fff;padding:10px 18px;border-radius:9px;font-size:13px;z-index:100;opacity:0;pointer-events:none;transition:.22s;box-shadow:0 8px 24px rgba(15,23,42,.2);max-width:80vw}.bs-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.bs-toast.error{background:#b91c1c}@media (max-width:640px){.bs-row2{grid-template-columns:1fr}.bs-hero h1{font-size:23px}.bs-form{padding:18px}.bs-editor{min-height:260px}}.bs-editor-source{width:100%;box-sizing:border-box;border:0;padding:14px;min-height:360px;font:15px/1.8 inherit;resize:vertical}.bs-editor-shell .tox-tinymce{border:0!important;border-radius:10px!important}.bs-risk-hint{margin-top:8px;padding:9px 12px;border-radius:8px;font-size:12.5px;line-height:1.7}.bs-risk-hint.is-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.bs-risk-hint.is-block{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}@media(max-width:760px){.bs-header__inner{flex-wrap:wrap;gap:8px 12px;padding:10px 0}.bs-nav{order:3;width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:2px;-webkit-overflow-scrolling:touch}.bs-nav a{padding:6px 2px}.bs-user{margin-left:auto}.bs-hero{padding:22px 0 14px}.bs-card{padding:16px;border-radius:12px}.bs-editor-shell .tox .tox-editor-header{position:sticky;top:0;z-index:5}.bs-editor-source{min-height:300px}.bs-actions{flex-direction:column;align-items:stretch}.bs-actions .bs-btn{width:100%}.bs-detail__body{font-size:14px}}
