:root{--green:#087d52;--lime:#00c853;--ink:#20372d;--muted:#829087;--line:#e9eee9;--bg:#f6f8f5}*{box-sizing:border-box}body{margin:0;font:14px/1.6 "Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:var(--bg)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}input,select,textarea{border:1px solid #dfe7e0;border-radius:9px;background:#fff;padding:10px 12px;color:var(--ink);width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #087d5212}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}label{display:block;font-weight:500}label input,label textarea,label select{margin-top:7px}button.primary{background:var(--green);color:#fff;padding:11px 21px;border-radius:10px;font-weight:600;white-space:nowrap}.quiet{background:#f3f7f3;color:#52685a;border:1px solid var(--line);padding:8px 13px;border-radius:8px;white-space:nowrap}.danger{color:#b84b46;background:#fff0ed;border-radius:8px;padding:8px 13px}.eyebrow{font-size:10px;letter-spacing:2px;color:#8c9b90;font-weight:600}h1,h2,p{margin:0}h1{font-size:29px;letter-spacing:-.5px}h2{font-size:22px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-card{width:380px;max-width:90%;margin:auto}.brand-mark{height:58px;width:58px;background:var(--green);color:#fff;font-size:30px;display:grid;place-items:center;border-radius:18px;margin-bottom:26px;font-weight:600}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:23px;margin:0}.login-card h1{margin:9px 0}.login-card p{color:var(--muted);margin-bottom:28px}.login-card label{margin:22px 0}.login-card .primary{width:100%}.login-side{display:flex;flex-direction:column;justify-content:center;padding:12%;color:#d7eee0;background:radial-gradient(circle at 90% 80%,#3d7658 0,transparent 40%),#153d2e}.login-side span{font-size:40px;line-height:1.6;letter-spacing:2px}.login-side small{margin-top:25px;color:#a9c8b7;letter-spacing:3px}.notice{background:#eef6ef;color:#5b7866;font-size:12px;border-radius:9px;padding:12px 16px;border:1px solid #dceadd}.workspace{display:flex;min-height:100vh}aside{width:224px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:30px 18px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 10px 35px}.sidebar-brand strong{font-size:19px}.sidebar-brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:2px}.nav-label{font-size:11px;color:#97a29b;margin:0 15px 12px}nav button{display:flex;align-items:center;gap:13px;width:100%;padding:12px 15px;border-radius:10px;background:none;color:#748378;text-align:left;margin-bottom:5px}nav button.active{background:#eaf5ed;color:var(--green);font-weight:600}nav button span{font-size:16px;opacity:.8}.sidebar-bottom{margin-top:auto;font-size:12px;color:#7b8b80;padding:20px 10px 0;border-top:1px solid var(--line)}.sidebar-bottom small{display:block;font-size:10px;margin-top:10px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6bad83;margin-right:6px}main{margin-left:224px;flex:1;min-width:0}header{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:12px;color:#8f9a92}.breadcrumb span{margin:0 12px}.breadcrumb b{font-weight:500;color:#4f6757}header>div:last-child{display:flex;align-items:center;gap:15px}.badge{font-size:11px;border-radius:100px;color:#527561;background:#edf5ee;padding:4px 10px}.main-content{max-width:1500px;padding:28px 38px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0}.page-heading h1{margin:4px 0}.page-heading p{color:var(--muted);font-size:13px}.summary{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:18px;margin-bottom:25px}.summary>div{background:#fff;padding:20px 24px;border:1px solid var(--line);border-radius:13px}.summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.summary strong{font-size:30px;line-height:1.3;letter-spacing:-1px;font-weight:600}.summary small{margin-left:10px;color:#9ba59e;font-size:11px}.summary .summary-text{font-size:20px;letter-spacing:0}.content-box{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.toolbar{padding:20px 22px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search{display:flex;align-items:center;background:#f6f8f5;border-radius:9px;padding:0 10px;min-width:230px}.search span{font-size:26px;color:#87948c}.search input{border:0;background:none;font-size:12px;box-shadow:none}.toolbar select{width:135px;font-size:12px}.toolbar-right{margin-left:auto;display:flex;gap:8px}.toolbar .quiet{font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{background:#f8faf7;color:#849188;font-weight:400;font-size:12px;text-align:left;padding:12px 18px;border-block:1px solid var(--line)}td{padding:17px 18px;border-bottom:1px solid #f0f3ef;font-size:12px}th:first-child,td:first-child{width:40px;padding-right:0}.item-cell{display:flex;align-items:center;gap:13px;min-width:270px}.item-cell img,.thumb-empty{height:54px;width:80px;border-radius:7px;object-fit:cover;background:#edf3ec}.thumb-empty{display:grid;place-items:center;color:#98ad9e;font-size:19px}.item-title{display:block;font-size:14px;font-weight:500;max-width:360px;overflow:hidden;text-overflow:ellipsis}.item-desc{font-size:11px;color:#99a399;max-width:330px;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.chip{display:inline-block;background:#edf6ef;color:#72967f;border-radius:6px;font-size:10px;padding:3px 7px;margin:2px 3px 2px 0}.table-actions{display:flex;gap:12px}.table-actions button{background:none;padding:5px 0;font-size:12px;color:#718079}.table-actions button:first-child{color:var(--green)}.table-actions .red{color:#b68d83}.savebar{display:flex;align-items:center;gap:12px;justify-content:flex-end;padding:19px 22px;background:#fafcf9;border-top:1px solid var(--line)}.savebar>span{margin-right:auto;font-size:12px;color:#8f9b91}.savebar .quiet,.savebar .primary{font-size:12px}.footnote{margin-top:16px;color:#a1aaa3;font-size:11px}.empty{padding:80px 20px;text-align:center;color:#79907d}.empty span{font-size:18px}.empty p{color:#a3afa5;font-size:13px;margin-top:10px}.selection-bar{background:#f0f8f1;padding:10px 22px;display:flex;gap:12px;align-items:center;font-size:12px}.selection-bar span{margin-right:auto}dialog{border:0;border-radius:18px;padding:0;color:var(--ink);max-height:92vh;box-shadow:0 24px 100px #142a2340}dialog::backdrop{background:#17362766}#editor{width:760px;max-width:94vw}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 28px;border-bottom:1px solid var(--line)}.dialog-heading h2{margin-top:2px}.editor-body{padding:25px 28px;overflow:auto;max-height:67vh}.editor-body>label{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.cover-upload{border:1px dashed #bfd3c3;border-radius:12px;min-height:140px;padding:16px;margin-bottom:22px;text-align:center;color:#91a295}.cover-upload img{max-width:100%;max-height:230px;object-fit:contain;margin-bottom:12px}.cover-upload>div{margin-top:12px;display:flex;gap:10px;justify-content:center}.gallery-title{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.gallery img{width:100%;height:90px;object-fit:cover;border-radius:8px}.gallery div{min-width:0}.gallery small{display:flex;justify-content:space-between}.gallery button{padding:3px 8px;background:#edf5ee;color:#65816d}.help{font-size:12px;line-height:1.8;color:#91a095}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 28px;border-top:1px solid var(--line)}#prompt-dialog{width:480px;max-width:92vw;padding:25px}#prompt-message{color:#87968b;margin:12px 0}#prompt-dialog .dialog-footer{padding:20px 0 0;border:0}.brand-form{padding:10px 25px 30px;max-width:950px}.brand-form>label{margin-bottom:20px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#203b2f;color:#fff;padding:12px 24px;border-radius:10px;box-shadow:0 4px 20px #0002;z-index:1000}.dirty{color:#b78643!important}@media(max-width:1100px){.toolbar-right{margin-left:0}.summary small{display:block;margin:7px 0 0}.main-content{padding:22px}.summary{gap:10px}}@media(max-width:760px){aside{width:160px;padding:20px 10px}main{margin-left:160px}header{padding:0 18px}.summary{grid-template-columns:1fr 1fr}.summary>div:last-child{grid-column:span 2}.page-heading{align-items:flex-start;gap:15px}h1{font-size:24px}.savebar{flex-wrap:wrap}.savebar>span{width:100%}.login{grid-template-columns:1fr}.login-side{display:none}.gallery{grid-template-columns:repeat(3,1fr)}.sidebar-brand{gap:7px;padding-inline:0}.sidebar-brand strong{font-size:16px}.form-grid{grid-template-columns:1fr}.main-content{padding:16px}}@media(max-width:480px){aside{position:relative;width:100%;padding:15px}.workspace{display:block}main{margin:0}.sidebar-brand{padding-bottom:10px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}.summary{gap:8px}.toolbar-right{flex-wrap:wrap}header .breadcrumb{display:none}}

nav{overflow-y:auto;min-height:0}.preview-help{padding:18px 26px}#preview-dialog,#history-dialog{width:820px;max-width:94vw}.preview-content{padding:0 26px 26px;max-height:65vh;overflow:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.preview-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.preview-card img{display:block;width:100%;max-height:260px;object-fit:contain;background:#f4f7f3}.preview-card h3,.preview-card p{margin:15px 18px;white-space:pre-wrap;overflow-wrap:anywhere}.preview-card p{font-size:13px;color:var(--muted)}.history-row{padding:18px;border:1px solid var(--line);border-radius:12px}.history-row p{color:var(--muted);margin:8px 0 15px}.history-row button{font-size:12px}
