Files
cms-SiteForge/app/static/workspace.css
T
浅念 3786717490 fix: CSS syntax errors — missing colons before hex color values
color#3b556e → color:#3b556e (etc.) — bash heredoc stripped colons,
causing entire CSS rules to fail silently. All button/badge/table
styles were broken.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-28 14:24:52 +08:00

142 lines
29 KiB
CSS

:root{--bg:#f6f8fb;--surface:#fff;--ink:#152538;--muted:#697a8c;--line:#e5eaf1;--blue:#245ac6;--blue-hover:#164da9;--blue-soft:#edf3ff;--green:#178264;--amber:#b67c2a;--shadow:0 4px 22px rgba(25,52,95,.045)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Inter,"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #91b9fc;outline-offset:2px}.app-shell{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100vh}.nav-side{background:#fff;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:26px 14px 16px;overflow:auto;z-index:15}.brand{display:flex;align-items:center;gap:12px;padding:2px 12px 29px;border-bottom:1px solid var(--line);margin-bottom:11px}.brand-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#2057bc;color:#fff;font-size:24px;font-weight:750;box-shadow:0 7px 18px #306fbc2b}.brand strong,.brand small{display:block;line-height:1.35}.brand strong{font-size:19px;letter-spacing:-.8px}.brand small{font-size:11px;color:#8491a3;letter-spacing:.2px;margin-top:1px}.nav-group{margin:8px 0 12px}.nav-label{font-size:11px;letter-spacing:.3px;color:#94a0ae;font-weight:700;margin:15px 15px 9px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;border:0;background:transparent;color:#556779;border-radius:9px;padding:11px 13px;text-align:left;font-weight:600;transition:background .15s}.nav-item:hover{background:#f4f7fb;color:#183b75}.nav-item.active{background:var(--blue-soft);color:#1e55b1}.nav-ico{width:20px;min-width:20px;text-align:center;font-size:19px;line-height:1.1;font-weight:400;color:#758397}.nav-item.active .nav-ico{color:#245ac6}.site-mini{margin:0 12px 9px;display:block;max-width:191px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#40536c;font-size:12px;font-weight:650}.advanced{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.advanced summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:10px 14px;color:#66778b;font-weight:600;border-radius:9px}.advanced summary::-webkit-details-marker{display:none}.advanced summary:hover{background:#f5f8fc}.chevron{margin-left:auto}.advanced[open] .chevron{transform:rotate(180deg)}.nav-sub{display:block;padding:9px 10px 9px 48px;color:#64748a;font-size:12px;border-radius:7px}.nav-sub:hover{background:#f4f7fb;color:var(--blue)}.side-foot{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:19px 13px 3px;margin-top:auto}.side-indicator{width:8px;height:8px;border-radius:100%;background:#25ae80}.side-foot strong,.side-foot small{display:block}.side-foot strong{font-size:12px;color:#4f6073}.side-foot small{font-size:11px;color:#9aa7b4;margin-top:2px}.content-shell{min-width:0;display:flex;flex-direction:column}.topbar{height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:16px;position:sticky;top:0;z-index:9}.top-left,.top-right{display:flex;align-items:center;gap:16px}.breadcrumbs{color:#99a4b1;font-size:13px;white-space:nowrap}.breadcrumbs strong{color:#273a50}.crumb-divider{margin:0 9px;color:#cbd4dd}.site-picker-wrap{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:650;color:#8a97a8}.site-picker-wrap select{min-width:180px;max-width:230px;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:8px;color:#3a4c60;background:#fff;font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border-radius:9px;padding:9px 16px;border:1px solid #dfe6ef;background:#fff;color:#394b5f;font-weight:650;transition:all .15s}.btn:hover{border-color:#b3c8e4;background:#fafcff}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 12px #225bc328}.btn-primary:hover{background:var(--blue-hover);color:#fff;border-color:var(--blue-hover)}.btn-muted{background:#f5f7fa}.btn-tiny{font-size:12px;min-height:33px;padding:7px 11px}.btn-link{background:none;border:0;color:var(--blue);padding:6px;font-weight:650}.logout,.hamburger{border:0;background:transparent;color:#7c8b9d;font-size:21px;padding:7px;border-radius:7px}.logout:hover,.hamburger:hover{background:#eef3f9}.hamburger{display:none}.main-content{width:min(1190px,100%);padding:37px 37px 70px;margin:0 auto;flex:1}.app-footer{padding:16px 38px;border-top:1px solid var(--line);font-size:11px;color:#a1adba;display:flex;justify-content:space-between;gap:20px}.eyebrow,.overline{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--blue);font-weight:750;margin:0 0 10px}.page-heading{display:flex;align-items:start;justify-content:space-between;gap:22px;margin-bottom:26px}.page-heading h1{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:0 0 10px;font-weight:740}.page-heading p{font-size:13px;color:var(--muted);margin:0;max-width:680px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:32px 0 16px}.section-heading h2{font-size:17px;letter-spacing:-.3px;margin:0}.section-heading p{color:var(--muted);font-size:12px;margin:5px 0 0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0}.stat{border:1px solid var(--line);background:white;border-radius:12px;padding:21px 23px;box-shadow:var(--shadow);position:relative}.stat .value{font-size:29px;letter-spacing:-1px;font-weight:740;display:block;margin:6px 0 4px}.stat small{color:var(--muted);font-size:12px}.stat .glyph{position:absolute;right:17px;top:16px;background:#f2f5fa;border-radius:9px;width:30px;height:30px;display:grid;place-items:center;color:#6a809c}.panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:23px;box-shadow:var(--shadow);min-width:0}.panel h2,.panel h3{margin:0 0 6px}.panel h2{font-size:17px}.panel h3{font-size:15px}.panel-desc{color:var(--muted);font-size:12px;margin:0 0 19px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:20px}.panel-head p{color:var(--muted);font-size:12px;margin:5px 0 0}.grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.grid-equal{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;align-items:start;gap:13px;text-align:left;min-height:138px;transition:transform .16s,box-shadow .16s}.quick-card:hover,.site-card:hover,.theme-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1f478417}.quick-ico{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;background:#edf3fd;color:#285bb4;border-radius:10px;font-size:23px}.quick-card h3{margin:2px 0 6px;font-size:15px}.quick-card p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.quick-card .quick-more{font-size:12px;color:var(--blue);display:block;font-weight:700;margin-top:12px}.site-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.site-card{padding:21px;border-radius:12px;border:1px solid var(--line);background:#fff;display:flex;gap:17px;align-items:center;text-align:left;transition:all .15s;min-height:127px;position:relative}.site-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:13px;background:#dceafa;color:#204d9a;font-size:24px;font-weight:800;flex:0 0 56px}.site-icon.industrial{background:#e4edeb;color:#2f7561}.site-icon.minimal{background:#f2eee9;color:#8b6348}.site-icon.automotive{background:#e9edf7;color:#333e70}.site-card h3{font-size:15px;margin:0 0 5px}.site-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.site-badges{display:flex;gap:8px;margin-top:9px;font-size:11px;color:#7c8b9d}.arrow{margin-left:auto;font-size:20px;color:#9eb0c8}.pill{display:inline-block;font-size:11px;font-weight:700;color:#3d70bb;background:#eaf2ff;padding:4px 9px;border-radius:6px}.pill.success{color:#187350;background:#e6f6ed}.pill.warn{color:#9a6615;background:#fff3dc}.pill.gray{color:#64748b;background:#f2f4f7}.wizard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wizard-step{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px;min-height:135px}.wizard-index{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:12px;font-weight:800;background:#eff3fa;color:#70819a;margin-bottom:11px}.wizard-step.done .wizard-index{background:#e4f7ed;color:#17805b}.wizard-step.next{border-color:#adc9f8;background:#fafcff}.wizard-step.next .wizard-index{background:#e8f0fe;color:#265ac1}.wizard-step h3{font-size:13px;margin:0 0 5px}.wizard-step p{margin:0;color:#8290a0;font-size:11px}.wizard-step button{padding:0;margin-top:9px;font-weight:700;font-size:11px;border:0;background:none;color:var(--blue)}.task-note{background:#edf4ff;border-radius:11px;border:1px solid #dce9fd;padding:16px 19px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.task-note strong{font-size:13px}.task-note p{margin:4px 0 0;font-size:12px;color:#667c99}.empty{background:#fff;border:1px dashed #d6dfeb;border-radius:12px;padding:42px;text-align:center}.empty .empty-symbol{font-size:30px;color:#a0b5d6}.empty h3{font-size:17px;margin:14px 0 6px}.empty p{font-size:12px;color:var(--muted);margin:0 0 18px}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:11px;background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;background:#fafbfe;padding:13px 15px;color:#768699;font-weight:650;white-space:nowrap}.data-table td{padding:14px 15px;border-top:1px solid #eef1f6;vertical-align:middle}.data-table td strong{color:#2a3a51;font-size:13px}.data-table .action-cell{white-space:nowrap}.muted{color:var(--muted)}.toolbar{display:flex;gap:12px;align-items:center;margin:0 0 20px}.toolbar input{max-width:300px}.toolbar select{max-width:175px}.input,input,textarea,select{border:1px solid #d9e1ed;border-radius:8px;background:#fff;padding:10px 12px;color:#324357;min-width:0}input:focus,textarea:focus,select:focus{border-color:#4d8ce8;outline:none;box-shadow:0 0 0 3px #4d8ce820}.field-grid,.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field-grid label,.form-fields>label{display:grid;gap:7px;color:#3d5067;font-size:12px;font-weight:650}.full{grid-column:1 / -1}.field-grid textarea,.form-fields textarea{width:100%;resize:vertical}.form-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:20px}.optional{font-size:10px;color:#9ca7b7;font-weight:400}.choice-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.theme-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;transition:all .15s}.theme-preview{height:126px;position:relative;padding:17px;display:flex;align-items:flex-end;font-size:22px;font-weight:750;letter-spacing:-.9px}.theme-preview.automotive{background:linear-gradient(125deg,#142b4b,#3b527c);color:#e5d8aa}.theme-preview.industrial{background:linear-gradient(125deg,#d4e2df,#899f9c);color:#254f49}.theme-preview.corporate{background:linear-gradient(125deg,#e4eefe,#9ebff1);color:#17437d}.theme-preview.minimal{background:linear-gradient(125deg,#f4efe8,#dcd3c8);color:#6f5944}.theme-desc{padding:16px}.theme-desc h3{margin:0 0 7px;font-size:13px}.theme-desc p{margin:0 0 12px;font-size:11px;color:var(--muted)}.help-hint{background:#f7f9fc;border:1px solid #e6ecf4;border-radius:10px;padding:14px 18px;color:#61748a;font-size:12px}.help-hint strong{color:#304960}.import-box{border:2px dashed #cbdcf6;background:#fafcff;border-radius:12px;padding:24px;margin:18px 0}.import-box input{width:100%;margin:11px 0}.message{font-size:12px;border-radius:8px;padding:14px;background:#f6f8fb;white-space:pre-wrap;overflow:auto;max-height:240px;color:#496075}.build-row{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);padding:15px 0}.build-row:first-child{border:0}.build-meta{flex:1;min-width:0}.build-meta h3{margin:0 0 4px;font-size:13px}.build-meta p{font-size:11px;color:var(--muted);margin:0}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.modal{border:1px solid var(--line);border-radius:15px;max-height:90vh;max-width:calc(100vw - 25px);width:570px;box-shadow:0 24px 80px #0e213d30;padding:0;overflow:auto}.modal::backdrop{background:#101e3385}.modal-inner{padding:29px}.modal-top{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:24px}.modal-top h2{font-size:23px;letter-spacing:-.6px;margin:0 0 5px}.subtle{margin:0;color:var(--muted);font-size:12px}.x-btn{font-size:26px;background:none;border:0;color:#91a0b0}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);margin-top:23px;padding-top:21px}.form-expand{border:1px solid var(--line);border-radius:8px;padding:14px}.form-expand summary{cursor:pointer;font-weight:650;color:#5e748c}.form-expand .form-fields{margin-top:12px}.toast{position:fixed;right:25px;bottom:22px;z-index:90;background:#273f59;color:#fff;padding:13px 18px;border-radius:11px;box-shadow:0 8px 36px #0002;font-size:13px;max-width:450px;visibility:hidden;opacity:0;transform:translateY(13px);transition:all .2s}.toast.show{visibility:visible;opacity:1;transform:translateY(0)}.toast.bad{background:#a83b47}.skeleton{padding:40px;color:#8ea0b2}.mobile-backdrop{display:none}@media(max-width:1180px){.choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{padding:30px 25px 65px}.topbar{padding:0 25px}.site-list{grid-template-columns:1fr}}@media(max-width:880px){.app-shell{display:block}.nav-side{position:fixed;top:0;left:0;transform:translateX(-100%);width:252px;box-shadow:10px 0 40px #192f4830;transition:transform .2s}.nav-side.open{transform:translateX(0)}.hamburger{display:block}.mobile-backdrop.open{display:block;position:fixed;inset:0;background:#10203864;z-index:12}.topbar{padding:0 16px}.site-picker-wrap>span{display:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-equal{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.quick-card{min-height:100px}.site-picker-wrap select{max-width:190px;min-width:110px}}@media(max-width:570px){.topbar{height:66px}.breadcrumbs{display:none}.top-right{gap:7px}.site-picker-wrap select{max-width:150px;width:148px}.top-right .btn{font-size:11px;padding:8px 10px}.main-content{padding:25px 16px 45px}.page-heading{flex-direction:column}.page-heading h1{font-size:23px}.stats{gap:10px}.stat{padding:17px}.stat .value{font-size:25px}.wizard-grid{grid-template-columns:1fr 1fr}.wizard-step{padding:12px;min-height:135px}.site-list,.field-grid,.form-fields,.choice-cards{grid-template-columns:1fr}.full{grid-column:1}.toolbar{flex-wrap:wrap}.toolbar input,.toolbar select{max-width:none;width:100%}.task-note{align-items:start;flex-direction:column}.app-footer{padding:13px 16px}.app-footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* V8.12: task progress and dangerous actions, consistent focus and mobile sizing */
.btn-danger{border:1px solid #f1c3c7;color:#a92840;background:#fff5f6}.btn-danger:hover{background:#feecee}.btn:disabled{opacity:.55;cursor:not-allowed}.build-row{min-width:0}.build-meta{overflow-wrap:anywhere}.site-card:focus-visible,.quick-card:focus-visible{outline:3px solid #80aaf6;outline-offset:2px}@media(max-width:570px){.build-row{align-items:flex-start;flex-wrap:wrap}.build-row>.inline-actions{width:100%;padding-left:0}.site-picker-wrap select{max-width:130px}}
/* V8.27 guided creation and actionable journey. Keep the original admin styling. */
[hidden]{display:none!important}
.sf-create-dialog .modal-inner{max-width:650px}.sf-create-dialog .modal-top h2{margin-bottom:4px}
.sf-create-progress{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 22px;padding:0}
.sf-create-progress li{border-bottom:3px solid #dde6f1;padding:9px 2px 11px;color:#8391a3;text-align:center;font-size:12px}
.sf-create-progress li[aria-current=step]{border-color:var(--blue);color:var(--blue);font-weight:750}
.sf-create-step h3{font-size:19px;margin:10px 0}.sf-guide-desc{font-size:13px;color:var(--muted);line-height:1.7;margin:6px 0 24px}
.sf-required{font-size:11px;color:#aa4c3f}.sf-create-summary{border:1px solid #dbe5f0;border-radius:12px;background:#f8fafc;padding:13px 18px;margin:15px 0 22px}
.sf-create-summary p{margin:10px 0;overflow-wrap:anywhere}.sf-guide-safety{border-radius:10px;background:#eff5ff;color:#4a6282;padding:13px 15px;line-height:1.7;margin:18px 0}
.sf-create-error{color:#ab2537;background:#fff2f2;border:1px solid #f4cbd0;padding:11px;border-radius:8px}
.sf-journey-prompt,.sf-journey-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;background:white;border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin:16px 0}
.sf-journey-prompt p,.sf-journey-intro p{line-height:1.65;color:var(--muted);margin:7px 0 0}.sf-journey-intro h2{font-size:24px;margin:5px 0}.sf-journey-eyebrow{color:var(--muted);font-size:12px}
.sf-journey-progress{display:grid;text-align:center;border-radius:12px;background:#eff5ff;padding:13px 20px;min-width:130px}
.sf-journey-progress strong{font-size:28px;color:var(--blue)}.sf-journey-progress span{font-size:11px;color:var(--muted)}
.sf-journey-list{margin:16px 0 22px;padding:0;list-style:none;display:grid;gap:10px}
.sf-journey-step{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:18px;align-items:center;background:white;border:1px solid var(--line);border-radius:13px;padding:17px 19px}
.sf-journey-step.is-next{border-color:#aac1f2;box-shadow:0 0 0 2px #eff5ff}
.sf-journey-number{width:34px;height:34px;border:1px solid #dde5ef;border-radius:50%;background:#f4f7fa;display:grid;place-items:center;color:#6b788b;font-weight:700}
.sf-journey-step.is-done .sf-journey-number{background:#e7f7f0;color:#16835a;border-color:#cbebde}
.sf-journey-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sf-journey-title strong{font-size:15px}.sf-journey-title span{color:#6b7b8d;font-size:11px}
.sf-journey-step p{color:var(--muted);font-size:12px;line-height:1.65;margin:6px 0 0}
.sf-journey-after,.sf-journey-notice{background:white;border:1px solid var(--line);border-radius:13px;padding:20px 22px;margin:16px 0}
.sf-journey-after h2{font-size:17px;margin:0 0 14px}.sf-glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sf-glossary-grid p{margin:0;padding:12px;background:#f7f9fc;border-radius:9px}.sf-glossary-grid strong{display:block;margin-bottom:6px}.sf-glossary-grid span{display:block;color:var(--muted);font-size:12px;line-height:1.7}
.sf-journey-notice{background:#fffdf6;color:#705d35;line-height:1.8}
@media(max-width:680px){.sf-journey-step{grid-template-columns:34px minmax(0,1fr);gap:11px}.sf-journey-step>.btn{grid-column:2;width:max-content}.sf-journey-intro,.sf-journey-prompt{flex-direction:column;align-items:stretch}.sf-glossary-grid{grid-template-columns:1fr}.sf-journey-progress{max-width:190px}}
/* V8.28: calm, readable launch center for nontechnical users */
.sf-launch-hero{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}
.sf-launch-hero h2{margin:5px 0;font-size:22px}.sf-launch-hero p{margin:5px 0;color:var(--muted);line-height:1.65;max-width:700px}
.sf-launch-hero>strong{padding:9px 14px;background:#edf3ff;color:#245ac6;border-radius:30px;white-space:nowrap;font-size:12px}
.sf-launch-step{display:grid;grid-template-columns:40px minmax(0,1fr);gap:17px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:12px}
.sf-launch-step.is-ready{border-color:#b4e2cf}.sf-launch-index{width:34px;height:34px;border-radius:50%;background:#eef3fb;color:#38577f;display:grid;place-items:center;font-weight:750}
.sf-launch-step.is-ready .sf-launch-index{background:#e0f5eb;color:#197a54}.sf-launch-detail{min-width:0}.sf-launch-detail h2{margin:1px 0 6px;font-size:16px}
.sf-launch-detail>p{color:var(--muted);font-size:13px;margin:0 0 14px;line-height:1.7}
.sf-launch-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sf-launch-field{display:grid;gap:6px;font-size:12px;font-weight:650;color:#495d73;min-width:200px;max-width:350px}
.sf-launch-field select{width:100%}.sf-launch-check{display:flex;align-items:center;gap:8px;font-size:12px;color:#425572;padding:10px;border-radius:8px;background:#f6f9fd}
.sf-launch-check input{width:18px;height:18px;flex-shrink:0}.sf-launch-status{font-size:12px;color:#657589;max-width:600px}
.sf-launch-notice{padding:16px 18px;border-radius:10px;background:#edf3ff;color:#244f82;margin:15px 0;line-height:1.75}
@media(max-width:620px){.sf-launch-hero{flex-direction:column;align-items:start}.sf-launch-step{padding:16px;gap:11px;grid-template-columns:32px minmax(0,1fr)}.sf-launch-controls{align-items:stretch;flex-direction:column}.sf-launch-field,.sf-launch-controls>.btn{width:100%;max-width:none}.sf-launch-check{align-items:start}}
.theme-preview.trade-pro{background:linear-gradient(125deg,#0b3d91,#3d6dc1);color:#e8f1fb}.site-icon.trade-pro{background:#e8f1fb;color:#0b3d91}
/* ── 内容类型 Tab(分段控件)── */
.type-tabs{display:flex;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;overflow-x:auto;margin-bottom:18px;background:#fff}
.type-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:650;color:#5c7083;background:none;border:0;border-right:1px solid var(--line);white-space:nowrap;transition:background .12s,color .12s;cursor:pointer}
.type-tab:last-child{border-right:0}
.type-tab:hover{background:#f4f7fb;color:#1e4089}
.type-tab.active{background:var(--blue);color:#fff}
.type-tab .count{font-size:11px;font-weight:700;background:rgba(0,0,0,.07);padding:2px 7px;border-radius:99px;line-height:1.3}
.type-tab.active .count{background:rgba(255,255,255,.2)}
/* ── 导航编辑弹窗 ── */
.nav-edit-row{display:grid;grid-template-columns:1fr 1fr auto auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eef1f6}
.nav-edit-row:last-child{border-bottom:0}
.nav-edit-row input{padding:8px 10px;font-size:13px;border:1px solid #d9e1ed;border-radius:7px}
.nav-edit-row .handle{color:#94a3b8;font-size:16px;cursor:grab}
.nav-edit-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.nav-add-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px dashed #b8c8dc;border-radius:8px;color:var(--blue);font-size:13px;font-weight:600;cursor:pointer;background:#f8fafd;margin-top:12px;width:100%;justify-content:center}
.nav-add-btn:hover{background:#edf3ff;border-color:var(--blue)}
/* ── 内容类型 Tab 精修(v2)── */
.type-tabs{display:flex;border:1px solid #d4dce8;border-radius:11px;overflow:hidden;overflow-x:auto;margin-bottom:20px;background:#fbfcfe;box-shadow:inset 0 1px 3px rgba(20,40,80,.03)}
.type-tab{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;font-size:13px;font-weight:600;color:#64748b;background:none;border:0;border-right:1px solid #e2e8f0;white-space:nowrap;transition:all .15s;cursor:pointer;min-height:42px}
.type-tab:last-child{border-right:0}
.type-tab:hover{background:#eef4fb;color:#1e4089}
.type-tab.active{background:linear-gradient(135deg,#245ac6,#1a4a9e);color:#fff;box-shadow:0 2px 8px rgba(36,90,198,.3)}
.type-tab .count{font-size:11px;font-weight:700;background:rgba(100,116,139,.12);padding:3px 8px;border-radius:99px;line-height:1.2;letter-spacing:.2px}
.type-tab:hover .count{background:rgba(30,64,137,.12)}
.type-tab.active .count{background:rgba(255,255,255,.22);color:#fff}
/* ── 分页精修 ── */
.pagination{display:flex;align-items:center;gap:14px;justify-content:center;padding:20px 0 6px;border-top:1px solid #eef1f6;margin-top:4px}
.page-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;border:1px solid #d4dce8;border-radius:9px;background:#fff;color:#3b556e;cursor:pointer;transition:all .15s;min-height:38px}
.page-btn:hover:not(:disabled){background:#eef4fb;border-color:#b3c8e4;color:#1e4089}
.page-btn:disabled{opacity:.35;cursor:not-allowed}
.page-btn.primary{background:linear-gradient(135deg,#245ac6,#1a4a9e);border-color:#245ac6;color:#fff;box-shadow:0 2px 8px rgba(36,90,198,.25)}
.page-btn.primary:hover:not(:disabled){background:#1a4a9e;color:#fff}
.page-info{font-size:12px;color:#8494a6;letter-spacing:.3px}
.page-info strong{color:#245ac6;font-size:14px}
/* ── 数据表精修 ── */
.table-wrap{border-radius:12px;box-shadow:0 2px 10px rgba(20,40,80,.04)}
.data-table{font-size:13px}
.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#8494a6;padding:14px 16px}
.data-table td{padding:14px 16px}
.data-table tbody tr{transition:background .12s}
.data-table tbody tr:hover{background:#f8fafe}
.data-table td strong{color:#1e2f45}
/* ── 导航编辑弹窗布局修正 ── */
.nav-edit-row{display:grid;grid-template-columns:24px 1fr 1fr 34px 34px 34px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #eef1f6}
.nav-edit-row .handle{color:#a0b0c0;font-size:15px;cursor:grab;text-align:center;user-select:none}
.nav-edit-row input{padding:9px 12px;font-size:13px;border:1px solid #d9e1ed;border-radius:8px;width:100%;min-width:0;transition:border-color .15s,box-shadow .15s}
.nav-edit-row input:focus{border-color:#4d8ce8;box-shadow:0 0 0 3px rgba(77,140,232,.15);outline:none}
.nav-edit-row .btn{padding:6px;border-radius:7px;font-size:12px;min-height:32px;min-width:32px;display:inline-flex;align-items:center;justify-content:center}
.nav-edit-row .btn.del{color:#c14f45}
.nav-edit-row .btn.del:hover{background:#fdf0ef;border-color:#e8b4b0}
.nav-edit-header{display:grid;grid-template-columns:24px 1fr 1fr 34px 34px 34px;gap:8px;padding:0 0 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;border-bottom:2px solid #e2e8f0;margin-bottom:4px}
/* ── 内容列表精修 v3 ── */
.content-table th{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#7e8ea0;padding:12px 16px;background:#f4f6fa;border-bottom:2px solid #e0e5ec}
.content-table td{padding:14px 16px}
.content-table td strong{display:block;font-size:14px;color:#1a2c42;margin-bottom:2px}
.content-table td .route-code{font-family:'SF Mono','Cascadia Code',Consolas,monospace;font-size:11px;color:#8494a6;background:#f0f3f8;padding:3px 8px;border-radius:5px;display:inline-block}
.type-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.3px}
.type-badge.product{background:#e8f4fd;color:#1a6ec8}
.type-badge.post{background:#e8fdf0;color:#178a4e}
.type-badge.page{background:#ede8fd;color:#6c3fb8}
.type-badge.case{background:#fdf0e8;color:#c05a20}
.type-badge.service{background:#e8f8fd;color:#088a9e}
.type-badge.brand{background:#fde8f4;color:#c03a8e}
.type-badge.vehicle{background:#f0f0e8;color:#7a7a20}
.type-badge._other{background:#f0f3f8;color:#64748b}
.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.status-dot::before{content:'';width:8px;height:8px;border-radius:50%;display:inline-block}
.status-dot.published::before{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.4)}
.status-dot.draft::before{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,.4)}
.action-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-size:12px;font-weight:600;border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#3b556e;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap}
.action-btn:hover{background:#eef4fb;border-color:#b3c8e4;color:#1e4089}
.action-btn.design{background:linear-gradient(135deg,#245ac6,#1a4a9e);border-color:#245ac6;color:#fff}
.action-btn.design:hover{background:#1a4a9e;color:#fff}
/* ── 内容列表 v4:卡片式精修 ── */
.content-table{border-collapse:separate;border-spacing:0 6px;width:100%}
.content-table thead tr{background:none!important}
.content-table thead th{background:none;border-bottom:1.5px solid #d5dce6;padding:10px 16px 8px;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#8e9bb0}
.content-table thead th:first-child{border-radius:0}
.content-table tbody tr{background:#fff;box-shadow:0 1px 4px rgba(20,40,80,.05);transition:transform .12s,box-shadow .12s}
.content-table tbody tr:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(20,40,80,.09)}
.content-table tbody td{border-top:none;border-bottom:none;padding:13px 16px}
.content-table tbody td:first-child{border-left:1px solid #e8ecf2;border-radius:10px 0 0 10px}
.content-table tbody td:last-child{border-right:1px solid #e8ecf2;border-radius:0 10px 10px 0}
.content-table td strong{font-size:14px;color:#16283e;font-weight:650}
.route-code{font-size:11px!important;background:#f2f5fa!important;color:#7b8ba0!important}
.type-badge{font-size:10px;padding:4px 11px}
.action-btn{font-size:11px;padding:6px 13px;border-radius:7px}
.status-dot{font-size:11px}