:root{--paper:#f6f3ed;--surface:#fffdf9;--ink:#30251f;--brown:#573725;--gold:#ac8a58;--muted:#8a7b6d;--line:#e8e0d6;--danger:#ad453d;--green:#52755e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.button{background:#fffdf9;border:1px solid #d8cbbb;border-radius:7px;padding:10px 16px;color:var(--brown);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px}button:hover,.button:hover{background:#eee5d8}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--brown);color:#fff;border-color:var(--brown)}.primary:hover{background:#6e4933}.danger{color:var(--danger)}.small{padding:6px 10px;font-size:12px}.ghost{background:transparent;border-color:transparent}.button-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted);font-size:13px;line-height:1.8}h1,h2,h3,p{margin-top:0}h1{font-size:26px;font-weight:600;letter-spacing:1px}h2{font-size:19px;font-weight:600}h3{font-size:15px;font-weight:600}.brand-mark{width:42px;height:42px;border:1px solid #c4aa88;display:grid;place-items:center;font-family:serif;font-size:25px;flex-shrink:0}.login-wrap,.install-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 30%,#ebe0ce 0,transparent 60%),#f7f3eb;padding:30px}.login-card,.install-card{background:var(--surface);padding:42px;border:1px solid var(--line);box-shadow:0 25px 70px #4b2e1710;border-radius:16px;width:min(100%,440px)}.install-card{width:min(100%,820px)}.login-card h1,.install-card h1{font-family:"Songti SC","SimSun",serif;margin:24px 0 10px}.login-card label{margin:18px 0}.login-card button{width:100%;margin-top:15px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{padding:28px 18px;background:#38271e;color:#eadfce;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.sidebar-brand strong{font-family:serif;font-size:21px;letter-spacing:2px}.sidebar-brand small{display:block;color:#baa891;font-size:10px;letter-spacing:2px;margin-top:7px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav a{color:#c9bba8;text-decoration:none;padding:12px 15px;border-radius:7px}.sidebar nav a.active{background:#755238;color:#fff}.sidebar-foot{margin-top:auto;color:#a4937c;font-size:12px;padding:20px 12px}.workspace{min-width:0}.topbar{height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 40px;border-bottom:1px solid var(--line);background:var(--surface)}.topbar strong{letter-spacing:1px}.content{padding:34px 40px;max-width:1600px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-head p{margin:8px 0 0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:23px}.stat strong{font-size:32px;display:block;margin:12px 0 0;font-weight:500}.stat span{font-size:13px;color:var(--muted)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:12px;color:var(--muted);font-weight:500;background:#faf7f1;padding:14px 12px;white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}.thumb{height:62px;width:84px;object-fit:cover;border-radius:5px;background:#eee7dc}.tag{font-size:11px;display:inline-block;border-radius:4px;background:#eee5d8;color:var(--brown);padding:4px 8px}.tag.green{background:#edf2ec;color:var(--green)}.tag.gray{background:#eee;color:#777}.filters{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.filters input{max-width:300px}.filters select{width:auto;min-width:130px}label{display:flex;flex-direction:column;gap:8px;font-size:13px}input,select,textarea{width:100%;background:#fff;border:1px solid #dcd3c7;border-radius:6px;color:var(--ink);padding:11px 12px;outline-offset:3px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--brown)}textarea{resize:vertical;min-height:90px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.full{grid-column:1/-1}.check{display:flex;flex-direction:row;align-items:center;margin:14px 0;gap:8px;line-height:1.6}.checks{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0;font-size:12px}.passed{color:var(--green)}.failed{color:var(--danger)}.notice{border-radius:7px;padding:14px 18px;margin:18px 0;line-height:1.7}.notice.error{background:#f9e9e6;color:#9a3930}.notice.success{background:#eaf1e9;color:#3d674b}dialog{padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:min(1000px,94vw);max-height:92vh;box-shadow:0 24px 90px #24140945}dialog::backdrop{background:#25190f55}.dialog-head{padding:23px 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}.dialog-head h2{margin:0}.dialog-body{padding:25px 26px}.dialog-foot{padding:18px 26px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:var(--surface)}.section-title{padding-bottom:12px;margin:24px 0 18px;border-bottom:1px solid var(--line)}.section-title:first-child{margin-top:0}.category-options{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:12px;background:#fff}.category-options label{padding:5px;margin:0}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.media-tile{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:white;position:relative;cursor:pointer;padding:0;text-align:left;display:block;min-width:0}.media-tile.selected{outline:2px solid var(--brown)}.media-tile img{width:100%;height:120px;object-fit:cover;display:block}.media-tile span{display:block;padding:8px;font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-tile input{position:absolute;right:7px;top:7px}.media-tile .small{margin:8px}.photo-strip{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.photo-item{width:120px;border:1px solid var(--line);padding:6px;border-radius:6px;background:#fff}.photo-item img{width:106px;height:80px;object-fit:cover;border-radius:3px}.photo-item .button-row{justify-content:center;gap:0}.photo-item button{padding:4px 7px;font-size:12px}.cover-preview{width:150px;height:110px;object-fit:cover;border-radius:6px;margin:10px 0;background:#eee5d8}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px}.empty{text-align:center;padding:56px 20px;color:var(--muted)}.error-inline{color:var(--danger);font-size:13px;line-height:1.6;min-height:20px;margin:12px 0 0}.loading{padding:80px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);background:#35251eef;color:#fff;padding:14px 23px;border-radius:8px;z-index:99999;display:none;max-width:90vw}.steps{counter-reset:steps;display:grid;gap:15px;padding:0;list-style:none}.steps li{display:flex;gap:12px;align-items:center;line-height:1.7}.steps li::before{counter-increment:steps;content:counter(steps);width:26px;height:26px;border-radius:50%;background:#efe5d5;display:grid;place-items:center;flex-shrink:0;color:var(--brown)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.code{font-family:monospace;background:#eee7dc;padding:12px;border-radius:6px;overflow-wrap:anywhere;font-size:12px}.divider{height:1px;background:var(--line);margin:22px 0}.progress-text{color:var(--muted);font-size:12px;margin:10px 0}@media(max-width:900px){.shell{grid-template-columns:170px 1fr}.sidebar{padding:20px 10px}.sidebar-brand{padding:0 4px 25px}.sidebar-brand strong{font-size:17px}.content{padding:25px 20px}.topbar{padding:0 20px}.stats{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.page-head{flex-wrap:wrap}}@media(max-width:600px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:14px}.sidebar-brand{padding:0 0 12px}.sidebar nav{flex-direction:row;overflow:auto}.sidebar nav a{white-space:nowrap;padding:9px}.sidebar-foot{display:none}.topbar{height:60px;padding:0 14px}.topbar .muted{display:none}.content{padding:20px 12px}.panel{padding:14px}.form-grid{grid-template-columns:1fr}.page-head h1{font-size:22px}.login-card,.install-card{padding:25px}.dialog-body{padding:18px}.dialog-head,.dialog-foot{padding:16px}.stats{gap:10px}.stat{padding:16px}}

/* 三福家具图册：沿用原有米白与深胡桃木色，仅补充上传建议和长名称适配。 */
.sidebar-brand strong{font-size:17px;letter-spacing:1px;white-space:nowrap}.upload-guide{background:#f4eee5;border:1px solid #e5d8c8;border-radius:7px;padding:12px 15px;margin:12px 0 16px;font-size:12px;line-height:1.85;color:#725b46}.upload-guide strong{display:block;font-weight:500;font-size:13px;color:#573725}.upload-guide span{display:block}.upload-guide .muted{font-size:12px}@media(max-width:900px){.sidebar-brand{gap:8px}.sidebar-brand .brand-mark{width:34px;height:34px;font-size:21px}.sidebar-brand strong{font-size:15px;letter-spacing:0}}

/* 后台LOGO保持原比例，透明PNG可直接用于深色侧栏。 */
[data-brand-slot]{flex-shrink:0}.brand-logo{border:0}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.login-card .brand-logo{width:80px;height:80px;padding:10px;background:#38271e;border-radius:6px}.logo-setting{display:flex;gap:24px;align-items:flex-start}.logo-setting-info{flex:1;min-width:0}.logo-setting-info>.muted{margin-bottom:0}.admin-logo-preview{width:112px;height:112px;background:#38271e;border-radius:8px;color:#eadfce;display:grid;place-items:center;flex-shrink:0}.admin-logo-preview .brand-logo{width:88px;height:88px}@media(max-width:600px){.logo-setting{flex-direction:column;gap:16px}.admin-logo-preview{width:96px;height:96px}.admin-logo-preview .brand-logo{width:76px;height:76px}}

/* 图片LOGO与独立上传入口。 */
.brand-default{padding:6px;background:#f0e3d4;border:1px solid #d5bea7;border-radius:6px}.login-card .brand-default{background:#f0e3d4;padding:13px}.brand-upload-link{display:block;flex-shrink:0;border-radius:6px}.brand-upload-link:hover,.brand-upload-link:focus-visible{outline:1px solid #c9aa84;outline-offset:5px}.sidebar nav{min-height:0;overflow-y:auto}.sidebar-brand,.sidebar-foot{flex-shrink:0}.branding-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.branding-demo{border:1px solid var(--line);border-radius:12px;min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:24px}.branding-demo>span{font-size:13px;opacity:.7}.branding-demo>strong{font-family:serif;font-size:23px}.branding-demo.dark{background:#38271e;color:#eadfce}.branding-demo.light{background:#fffdf9;color:#38271e}.branding-demo .brand-mark{width:88px;height:88px}.branding-demo .brand-default{padding:14px}.branding-demo.light .brand-logo{background:#38271e;padding:10px;border-radius:8px}.branding-demo.light .brand-default{background:#f0e3d4;padding:14px}.saving .branding-file-label{pointer-events:none;opacity:.6}@media(max-width:600px){.branding-previews{grid-template-columns:1fr}.sidebar nav{overflow-y:visible}}

/* 首页企业实力编辑区 */
.enterprise-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.enterprise-editor-head h2,.enterprise-editor-head h4{margin:0 0 8px}.enterprise-editor h3{margin-bottom:18px}.enterprise-gallery-editor{padding:22px;border:1px solid var(--line);border-radius:12px;margin:0 0 20px;background:#fcfaf6}.enterprise-media-preview{margin:16px 0;min-height:40px}.enterprise-media-preview>img{max-width:100%;width:420px;height:190px;object-fit:cover;border-radius:10px}.enterprise-thumbnail-preview{display:flex;gap:8px;margin:18px 0 12px}.enterprise-thumbnail-preview img{width:120px;max-width:30%;height:64px;object-fit:cover;border-radius:6px}.enterprise-stat-editor{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin:12px 0}.enterprise-stat-editor .button-row{padding-bottom:2px}.enterprise-poster-preview{width:420px;max-width:100%;height:150px;object-fit:cover;border-radius:10px;margin:18px 0}#enterprise-video-preview video{width:480px;max-width:100%;max-height:280px;border-radius:10px;margin:10px 0 16px;background:#221b17}.enterprise-video-choice{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;text-align:left;margin:10px 0;word-break:break-all}.enterprise-video-choice.selected{background:#f0e3d3;border-color:#9d7455}.enterprise-video-choice small{white-space:nowrap;color:#8c7158}.enterprise-editor .progress-text{color:#89684e}@media(max-width:800px){.enterprise-editor-head{flex-direction:column}.enterprise-stat-editor{grid-template-columns:1fr 1fr}.enterprise-stat-editor .button-row{grid-column:1/-1}.enterprise-gallery-editor{padding:16px}}
