:root {
  --bg: #f5f7fb;
  --surface: #ffffff;
  --text: #172033;
  --muted: #7a8499;
  --border: #e7eaf1;
  --sidebar: #111827;
  --sidebar-muted: #8993a7;
  --primary: #6757e5;
  --primary-soft: #eeebff;
  --shadow: 0 12px 32px rgba(23, 32, 51, 0.07);
}

* { box-sizing: border-box; }
html { font-size: 16px; }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); font-family: "MiSans", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, sans-serif; font-size: 14px; line-height: 1.5; letter-spacing: .01em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
button, input, textarea, select { font: inherit; letter-spacing: inherit; }
strong, h1, h2, h3 { letter-spacing: -.015em; }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; display: flex; width: 248px; flex-direction: column; color: #fff; background: var(--sidebar); border-right: 1px solid rgba(255,255,255,.06); }
.brand { display: flex; align-items: center; height: 80px; padding: 0 20px; border-bottom: 1px solid rgba(255,255,255,.07); }
.brand-mark { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; overflow: hidden; background: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; box-shadow: 0 5px 14px rgba(0,0,0,.3); }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; image-rendering: auto; transform: scale(1.13); }
.brand-copy { display: flex; flex: 1; flex-direction: column; margin-left: 11px; }
.brand-copy strong { font-size: 15px; letter-spacing: .2px; }
.brand-copy span { margin-top: 3px; color: #8993a7; font-size: 11px; }
.navigation { flex: 1; overflow-y: auto; padding: 17px 12px; }
.nav-group + .nav-group { margin-top: 17px; }
.nav-label { margin: 0 10px 7px; color: #5d6678; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; }
.nav-item { position: relative; display: flex; width: 100%; align-items: center; gap: 11px; margin: 3px 0; padding: 10px 12px; color: #aab2c2; background: transparent; border: 0; border-radius: 9px; cursor: pointer; text-align: left; transition: .18s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-item.active { color: #fff; background: linear-gradient(90deg,rgba(103,87,229,.34),rgba(103,87,229,.13)); box-shadow: inset 3px 0 0 #8b7df6; }
.nav-icon { width: 20px; color: inherit; font-size: 17px; text-align: center; }
.nav-item > span:nth-child(2) { flex: 1; font-size: 13px; font-weight: 550; }
.nav-badge { min-width: 22px; padding: 2px 6px; color: #d9d4ff; background: rgba(139,125,246,.18); border-radius: 20px; font-size: 10px; text-align: center; }
.nav-dot { width: 7px; height: 7px; background: #ff8a65; border-radius: 50%; box-shadow: 0 0 0 3px rgba(255,138,101,.13); }
.sidebar-footer { padding: 14px 12px 17px; border-top: 1px solid rgba(255,255,255,.07); }
.api-status { padding: 0 10px 12px; color: #778196; font-size: 10px; }
.api-status span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: #3fd09f; border-radius: 50%; box-shadow: 0 0 8px #3fd09f; }
.user-card { display: flex; width: 100%; align-items: center; padding: 9px; color: #fff; background: rgba(255,255,255,.045); border: 0; border-radius: 10px; cursor: pointer; text-align: left; }
.avatar { display: grid; width: 32px; height: 32px; place-items: center; background: #2f3a50; border-radius: 9px; font-size: 12px; }
.user-copy { display: flex; flex: 1; flex-direction: column; margin-left: 9px; }
.user-copy strong { font-size: 11px; }.user-copy small { margin-top: 2px; color: #778196; font-size: 9px; }.more{color:#647087;font-size:10px}
.main-content { min-height: 100vh; margin-left: 248px; }
.topbar { display: flex; height: 80px; align-items: center; justify-content: space-between; padding: 0 32px; background: rgba(255,255,255,.88); border-bottom: 1px solid var(--border); backdrop-filter: blur(12px); }
.topbar-title { display: flex; align-items: center; gap: 10px; }.eyebrow{margin:0 0 3px;color:#9aa2b1;font-size:8px;font-weight:800;letter-spacing:1.5px}.topbar h1{margin:0;font-size:20px;letter-spacing:-.4px}
.topbar-actions { display:flex;gap:10px }.primary-button,.secondary-button{padding:9px 14px;border-radius:8px;font-size:12px;font-weight:650;cursor:pointer}.primary-button{color:#fff;background:var(--primary);border:1px solid var(--primary);box-shadow:0 6px 15px rgba(103,87,229,.2)}.secondary-button{color:#4e586c;background:#fff;border:1px solid var(--border)}
.icon-button { display:grid;place-items:center;width:36px;height:36px;background:transparent;border:0;border-radius:8px;cursor:pointer }.menu-button,.sidebar-close{display:none}
.content { padding: 28px 32px 48px; }
.welcome-panel { display:flex;align-items:center;justify-content:space-between;padding:26px 28px;color:#fff;background:linear-gradient(120deg,#5f50dc,#7a68e8 62%,#8978ef);border-radius:16px;box-shadow:0 16px 35px rgba(103,87,229,.2);overflow:hidden;position:relative }.welcome-panel:after{content:"";position:absolute;right:10%;top:-90px;width:240px;height:240px;border:40px solid rgba(255,255,255,.055);border-radius:50%}.welcome-panel>div,.welcome-panel>button{z-index:1}.welcome-panel h2{margin:14px 0 7px;font-size:24px}.welcome-panel p{margin:0;color:#e5e1ff;font-size:12px}.welcome-panel p strong{color:#fff}.welcome-panel .primary-button{color:#6152dc;background:#fff;border-color:#fff;box-shadow:none}
.status-pill { display:inline-flex;align-items:center;gap:6px;padding:5px 9px;color:#eae7ff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);border-radius:20px;font-size:9px;font-weight:700 }.status-pill i{width:6px;height:6px;background:#6cf0bd;border-radius:50%}
.metric-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px }.metric-card{display:flex;align-items:center;gap:13px;padding:20px;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.metric-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;font-size:18px}.metric-icon.violet{color:#6757e5;background:#efedff}.metric-icon.blue{color:#3c83e6;background:#eaf3ff}.metric-icon.green{color:#24a879;background:#e8f8f2}.metric-icon.orange{color:#ef8b49;background:#fff2e9}.metric-card p{margin:0 0 5px;color:#818a9d;font-size:10px}.metric-card strong{margin-right:8px;font-size:23px}.metric-card small{color:#8f98aa;font-size:8px}.metric-card small.up{color:#28a477}
.dashboard-grid { display:grid;grid-template-columns:minmax(0,1.9fr) minmax(250px,.8fr);gap:16px;margin-top:18px }.panel{padding:21px;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.panel h3{margin:0 0 5px;font-size:14px}.panel-heading p{margin:0;color:#929aab;font-size:9px}.text-button{color:var(--primary);background:transparent;border:0;font-size:9px;cursor:pointer}.add-task-button{padding:7px 10px;color:#5f53d8;background:#f3f1ff;border:1px solid #e8e4ff;border-radius:7px;font-size:9px;font-weight:700;cursor:pointer;transition:.18s ease}.add-task-button:hover{color:#fff;background:var(--primary);border-color:var(--primary)}.task-row{display:flex;align-items:center;gap:11px;min-height:59px;padding:11px 0;border-top:1px solid #f0f1f5;transition:.18s ease}.task-row:first-child{border-top:0}.task-check{display:grid;flex:none;width:23px;height:23px;place-items:center;color:transparent;background:#fff;border:1.5px solid #d9ddea;border-radius:7px;cursor:pointer;transition:.18s ease}.task-check:hover{border-color:#8173ee}.task-row.completed .task-check{color:#fff;background:#49bd91;border-color:#49bd91}.task-content{flex:1;min-width:0}.task-content strong{display:block;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.task-content p{margin:5px 0 0;overflow:hidden;color:#8d96a8;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.task-row.completed .task-content strong{color:#929bad;text-decoration:line-through}.task-row.completed .task-content p{color:#b0b6c2}.task-row.completed .priority{filter:grayscale(.7);opacity:.55}.task-actions{display:flex;flex:none;gap:4px;opacity:.25;transition:.18s ease}.task-row:hover .task-actions,.task-actions:focus-within{opacity:1}.task-action{display:grid;width:27px;height:27px;place-items:center;padding:0!important;color:#778196!important;background:transparent!important;border:1px solid transparent!important;border-radius:7px!important;font-size:12px!important;cursor:pointer}.task-action:hover{color:#5f53d8!important;background:#f3f1ff!important;border-color:#e9e5ff!important}.task-action.delete:hover{color:#d95d58!important;background:#fff0ef!important;border-color:#ffe0de!important}.priority{display:grid;flex:none;width:27px;height:27px;place-items:center;border-radius:7px;font-size:9px;font-weight:700}.priority.high{color:#df665e;background:#fff0ef}.priority.medium{color:#d99332;background:#fff5e4}.priority.low{color:#4c88d9;background:#edf5ff}.task-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:175px;color:#929bad;text-align:center}.task-empty span{display:grid;width:42px;height:42px;place-items:center;margin-bottom:9px;color:#8173ee;background:#f1efff;border-radius:12px;font-size:18px}.task-empty strong{color:#586176;font-size:11px}.task-empty p{margin:5px 0 0;font-size:9px}.live-dot{width:8px;height:8px;margin-top:3px;background:#3fd09f;border-radius:50%;box-shadow:0 0 0 4px #e8faf4}.run-stat{display:flex;justify-content:space-between;padding:10px 0;color:#7c8598;font-size:10px;border-bottom:1px solid #f2f3f6}.run-stat strong{color:#263044;font-size:12px}.progress{height:6px;margin:18px 0 8px;background:#eeeefe;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#6757e5,#8b7df6);border-radius:10px}.automation-panel>small{color:#939bad;font-size:9px}
.task-dialog{width:min(460px,calc(100vw - 32px));padding:0;background:#fff;border:0;border-radius:16px;box-shadow:0 24px 80px rgba(13,20,36,.24)}.task-dialog::backdrop{background:rgba(13,20,36,.48);backdrop-filter:blur(3px)}.task-form{padding:24px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:21px}.dialog-heading span{color:#8f97a9;font-size:9px;font-weight:700;letter-spacing:1px}.dialog-heading h2{margin:4px 0 0;font-size:19px}.dialog-close{display:grid;width:31px;height:31px;place-items:center;color:#7f899c;background:#f5f6f9;border:0;border-radius:8px;font-size:19px;cursor:pointer}.task-form label{display:block;margin-top:15px}.task-form label>span{display:block;margin-bottom:7px;color:#555f72;font-size:10px;font-weight:700}.task-form label i{color:#e06b65;font-style:normal}.task-form input,.task-form textarea,.task-form select{width:100%;padding:11px 12px;color:#263044;background:#fafbfc;border:1px solid #e2e5ec;border-radius:9px;outline:0;font:inherit;font-size:11px;transition:.18s ease}.task-form textarea{resize:vertical;line-height:1.6}.task-form input:focus,.task-form textarea:focus,.task-form select:focus{background:#fff;border-color:#8173ee;box-shadow:0 0 0 3px rgba(103,87,229,.1)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.toast{position:fixed;right:24px;bottom:24px;z-index:60;padding:10px 14px;color:#fff;background:#20293b;border-radius:9px;box-shadow:0 12px 35px rgba(13,20,36,.22);font-size:10px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.22s ease}.toast.show{opacity:1;transform:translateY(0)}
.placeholder-page { min-height:calc(100vh - 145px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px;background:radial-gradient(circle at 50% 35%,#fff 0,#fff 17%,transparent 45%)}.placeholder-icon{display:grid;width:68px;height:68px;place-items:center;margin-bottom:16px;color:#6757e5;background:#efedff;border:1px solid #e0dcff;border-radius:19px;font-size:28px;box-shadow:0 12px 30px rgba(103,87,229,.12)}.status-pill.muted{color:#7b72d6;background:#f2f0ff;border-color:#e3dfff}.placeholder-page h2{margin:14px 0 8px;font-size:22px}.placeholder-page>p{max-width:500px;margin:0;color:#7f899c;font-size:12px;line-height:1.8}.placeholder-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px}.placeholder-actions span{padding:8px 11px;color:#596276;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:10px;box-shadow:0 5px 15px rgba(23,32,51,.04)}
.sidebar-overlay{display:none}

/* Typography — optimized for dense Chinese business interfaces */
.brand-copy strong { font-size: 16px; font-weight: 750; }
.brand-copy span { font-size: 12px; line-height: 1.35; }
.nav-label { font-size: 11px; font-weight: 750; letter-spacing: 1.2px; }
.nav-item > span:nth-child(2) { font-size: 15px; font-weight: 600; }
.nav-badge { font-size: 11px; font-variant-numeric: tabular-nums; }
.api-status { font-size: 11px; }
.user-copy strong { font-size: 12px; font-weight: 700; }
.user-copy small { font-size: 10px; }
.eyebrow { font-size: 10px; letter-spacing: 1.7px; }
.topbar h1 { font-size: 24px; font-weight: 750; }
.primary-button, .secondary-button { font-size: 13px; font-weight: 650; }
.status-pill { font-size: 11px; }
.welcome-panel h2 { font-size: 27px; font-weight: 750; }
.welcome-panel p { font-size: 14px; line-height: 1.65; }
.metric-card p { font-size: 13px; line-height: 1.4; }
.metric-card strong { font-size: 29px; font-weight: 750; font-variant-numeric: tabular-nums; }
.metric-card small { font-size: 11px; line-height: 1.4; }
.panel h3 { font-size: 18px; font-weight: 750; }
.panel-heading p { font-size: 12px; line-height: 1.5; }
.text-button, .add-task-button { font-size: 12px; }
.task-content strong { font-size: 14px; font-weight: 650; line-height: 1.5; }
.task-content p { font-size: 12px; line-height: 1.5; }
.priority { font-size: 10px; }
.task-empty strong { font-size: 13px; }
.task-empty p { font-size: 11px; }
.run-stat { font-size: 13px; }
.run-stat strong { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.automation-panel > small { font-size: 11px; }
.placeholder-page h2 { font-size: 24px; font-weight: 750; }
.placeholder-page > p { font-size: 13px; }
.placeholder-actions span { font-size: 11px; }
.dialog-heading span { font-size: 10px; }
.dialog-heading h2 { font-size: 21px; font-weight: 750; }
.task-form label > span { font-size: 12px; }
.task-form input, .task-form textarea, .task-form select { font-size: 13px; line-height: 1.55; }
.toast { font-size: 12px; }

/* API settings */
.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;max-width:1180px;margin:0 auto}.settings-main{min-width:0}.settings-intro{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.settings-kicker{color:#8c84df;font-size:10px;font-weight:800;letter-spacing:1.5px}.settings-intro h2{margin:5px 0 6px;font-size:25px}.settings-intro p{margin:0;color:#7f899c;font-size:13px}.connection-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;color:#7f899c;background:#fff;border:1px solid var(--border);border-radius:20px;font-size:11px;font-weight:700}.connection-chip i{width:7px;height:7px;background:#b5bbc7;border-radius:50%}.connection-chip.success{color:#218c68;background:#eaf9f3;border-color:#ceefe2}.connection-chip.success i{background:#35bc8b;box-shadow:0 0 7px #35bc8b}.connection-chip.error{color:#c75853;background:#fff1f0;border-color:#f8dad8}.connection-chip.error i{background:#e06a63}.connection-chip.testing{color:#6458d4;background:#f1efff;border-color:#e2deff}.connection-chip.testing i{background:#7c6ee8;animation:pulse 1s infinite}.settings-card{padding:24px;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}.settings-card+.settings-card{margin-top:16px}.settings-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.settings-card-icon{display:grid;flex:none;width:40px;height:40px;place-items:center;color:#6859df;background:#efedff;border-radius:11px;font-size:20px}.settings-card-icon.green{color:#259f76;background:#e9f8f2}.settings-card-heading h3{margin:0 0 4px;font-size:16px}.settings-card-heading p{margin:0;color:#8a93a5;font-size:11px}.api-form{display:grid;gap:17px}.form-field label{display:block;margin-bottom:7px;color:#4d586b;font-size:12px;font-weight:700}.form-field input,.form-field select{width:100%;height:42px;padding:0 12px;color:#293347;background:#fafbfc;border:1px solid #dfe3eb;border-radius:9px;outline:0;font-size:13px}.form-field input:focus,.form-field select:focus{background:#fff;border-color:#8173ee;box-shadow:0 0 0 3px rgba(103,87,229,.1)}.form-field select:disabled{color:#737d90;background:#f2f4f7}.form-field small{display:block;margin-top:6px;color:#98a0af;font-size:10px}.secret-input{position:relative}.secret-input input{padding-right:58px}.secret-input button{position:absolute;right:6px;top:6px;height:30px;padding:0 9px;color:#6559d2;background:#efedff;border:0;border-radius:6px;font-size:10px;font-weight:700;cursor:pointer}.api-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.switch-row{display:flex!important;align-items:center;height:42px;margin:0!important;padding:0 12px;background:#fafbfc;border:1px solid #dfe3eb;border-radius:9px;cursor:pointer}.switch-row input{position:absolute;opacity:0;width:1px;height:1px}.switch{position:relative;width:34px;height:19px;margin-right:9px;background:#cdd2dc;border-radius:20px;transition:.2s}.switch i{position:absolute;left:3px;top:3px;width:13px;height:13px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:.2s}.switch-row input:checked+.switch{background:#6c5de3}.switch-row input:checked+.switch i{transform:translateX(15px)}.switch-row b{font-size:11px;font-weight:600}.session-option{display:flex;align-items:center;gap:8px;color:#707a8d;font-size:11px;cursor:pointer}.session-option input{accent-color:#6757e5}.api-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:3px}.test-api-button span:first-child{margin-right:3px}.test-api-button:disabled{opacity:.65;cursor:wait}.button-spinner{display:inline-block;width:10px;height:10px;margin-right:5px;border:2px solid #c9c4fa;border-top-color:#6757e5;border-radius:50%;animation:spin .7s linear infinite}.api-test-result{margin-top:18px;padding:12px 14px;border-radius:9px;font-size:11px}.api-test-result strong{font-size:12px}.api-test-result p{margin:4px 0 0;line-height:1.55}.api-test-result.success{color:#257c61;background:#eaf9f3;border:1px solid #d1f0e3}.api-test-result.error{color:#b9504c;background:#fff1f0;border:1px solid #f6d9d7}.api-test-result.testing{color:#6156c6;background:#f1efff;border:1px solid #e1ddff}.endpoint-card{padding-bottom:15px}.endpoint-row{display:grid;grid-template-columns:48px 160px 1fr;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #eff1f5}.endpoint-row:first-of-type{border-top:0}.method{padding:4px 5px;border-radius:5px;font-size:9px;font-weight:800;text-align:center}.method.post{color:#6757e5;background:#efedff}.method.get{color:#218c68;background:#e8f7f1}.endpoint-row code{color:#313b50;font-family:"Cascadia Code",Consolas,monospace;font-size:11px}.endpoint-row p{margin:0;color:#8b94a6;font-size:10px}.readiness-card{align-self:start;position:sticky;top:100px;padding:24px;color:#fff;background:linear-gradient(145deg,#182239,#111827);border:1px solid rgba(255,255,255,.06);border-radius:15px;box-shadow:0 18px 45px rgba(16,24,40,.16)}.readiness-label{color:#9589f1;font-size:10px;font-weight:800;letter-spacing:1.3px}.readiness-card h3{margin:8px 0 8px;font-size:19px}.readiness-card>p{margin:0;color:#9da6b8;font-size:11px;line-height:1.7}.readiness-list{margin-top:21px}.readiness-list>div{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid rgba(255,255,255,.07)}.readiness-list>div>span{display:grid;flex:none;width:25px;height:25px;place-items:center;color:#8f99ad;background:#273147;border-radius:50%;font-size:10px;font-weight:800}.readiness-list .ready>span{color:#80e0bc;background:rgba(58,191,143,.14)}.readiness-list div div{display:flex;flex-direction:column}.readiness-list strong{font-size:11px}.readiness-list small{margin-top:2px;color:#778297;font-size:9px}.run-guide{margin-top:17px;padding:13px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:9px}.run-guide strong{display:block;font-size:10px}.run-guide code{display:block;margin:8px 0;padding:8px;color:#cfc9ff;background:#0c1220;border-radius:6px;font-family:"Cascadia Code",Consolas,monospace;font-size:11px}.run-guide small{color:#768196;font-size:9px;line-height:1.55}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}
.connection-chip.draft{color:#6458d4;background:#f1efff;border-color:#e2deff}.connection-chip.draft i{background:#7c6ee8}.model-input-wrap{position:relative}.model-input-wrap input{padding-right:58px}.model-input-wrap>span{position:absolute;right:8px;top:8px;padding:4px 7px;color:#6559d2;background:#efedff;border-radius:5px;font-size:9px;font-weight:800;pointer-events:none}.frontend-notice{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;color:#665a4a;background:#fff8eb;border:1px solid #f6e6c5;border-radius:9px}.frontend-notice>span{color:#d59537;font-weight:800}.frontend-notice p{margin:0;font-size:11px;line-height:1.6}.frontend-notice strong{display:block;color:#5c5142}.config-preview-card pre{min-height:120px;margin:0;padding:16px;color:#d7d3ff;background:#111827;border-radius:10px;font-family:"Cascadia Code",Consolas,monospace;font-size:12px;line-height:1.7;white-space:pre-wrap}

/* Product library */
.library-page{max-width:1240px;margin:0 auto}.library-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.library-header h2{margin:5px 0 5px;font-size:25px}.library-header p{margin:0;color:#7f899c;font-size:13px}.library-header-actions{display:flex;gap:10px}.library-header-actions button:disabled{opacity:.45;cursor:not-allowed}.library-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:16px;align-items:start}.category-panel,.model-panel{background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}.category-panel{padding:14px}.category-heading{display:flex;align-items:center;justify-content:space-between;padding:7px 7px 13px}.category-heading strong{font-size:13px}.category-heading span{display:grid;min-width:23px;height:21px;place-items:center;color:#6757e5;background:#efedff;border-radius:20px;font-size:10px;font-weight:800}.category-item-wrap{position:relative}.category-item{display:flex;width:100%;align-items:center;gap:10px;padding:10px;color:#596376;background:transparent;border:0;border-radius:9px;cursor:pointer;text-align:left}.category-item:hover{background:#f7f7fb}.category-item.active{color:#5145c7;background:#f0eeff}.category-folder{display:grid;flex:none;width:30px;height:30px;place-items:center;color:#7769df;background:#efedff;border-radius:8px}.category-item>div{min-width:0;flex:1}.category-item strong,.category-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-item strong{font-size:12px}.category-item small{margin-top:2px;color:#969eae;font-size:9px}.category-item b{font-size:10px}.category-item-wrap .category-item{padding-right:55px}.category-actions{position:absolute;right:6px;top:10px;display:flex;gap:2px;opacity:0;transition:.18s}.category-item-wrap:hover .category-actions{opacity:1}.category-actions button{display:grid;width:23px;height:23px;place-items:center;color:#838c9d;background:#fff;border:1px solid #e8eaf0;border-radius:6px;cursor:pointer;font-size:10px}.category-actions button:hover{color:#6254d4;background:#f1efff}.category-empty{display:flex;align-items:center;flex-direction:column;padding:34px 10px;color:#9099aa;text-align:center}.category-empty span{display:grid;width:36px;height:36px;place-items:center;color:#7769df;background:#efedff;border-radius:10px;font-size:18px}.category-empty p{margin:9px 0 3px;font-size:11px;font-weight:700}.category-empty small{font-size:9px}.model-panel{min-height:520px;padding:20px}.model-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.model-toolbar h3{margin:0 0 3px;font-size:17px}.model-toolbar p{margin:0;color:#929bad;font-size:10px}.model-search{position:relative;width:240px}.model-search span{position:absolute;left:11px;top:8px;color:#929bad;font-size:17px}.model-search input{width:100%;height:37px;padding:0 12px 0 34px;background:#fafbfc;border:1px solid #e1e4eb;border-radius:8px;outline:0;font-size:11px}.model-search input:focus{background:#fff;border-color:#8173ee;box-shadow:0 0 0 3px rgba(103,87,229,.09)}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.model-card{overflow:hidden;background:#fff;border:1px solid #e5e8ef;border-radius:12px;transition:.2s}.model-card:hover{transform:translateY(-2px);border-color:#d9d4ff;box-shadow:0 12px 28px rgba(35,43,65,.09)}.model-image-placeholder{display:flex;height:135px;align-items:center;justify-content:center;flex-direction:column;color:#988fe7;background:linear-gradient(145deg,#f6f5ff,#eeecfb)}.model-image-placeholder span{font-size:29px}.model-image-placeholder small{margin-top:7px;color:#9994bd;font-size:9px}.model-card-body{padding:14px}.model-card-top{display:flex;align-items:center;justify-content:space-between}.model-card-top>span{padding:3px 7px;color:#6256cf;background:#efedff;border-radius:15px;font-size:9px;font-weight:700}.model-card-top div{display:flex;gap:3px;opacity:0;transition:.18s}.model-card:hover .model-card-top div{opacity:1}.model-card-top button{display:grid;width:24px;height:24px;place-items:center;color:#7e8798;background:#f7f8fa;border:0;border-radius:6px;cursor:pointer}.model-card-top button:hover{color:#5e50cf;background:#eeebff}.model-card h3{margin:11px 0 3px;font-size:13px}.model-card code{color:#6757e5;font-family:"Cascadia Code",Consolas,monospace;font-size:10px}.model-card p{height:32px;margin:8px 0 12px;overflow:hidden;color:#8992a4;font-size:10px;line-height:1.6}.model-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #f0f1f4}.model-card-footer span{color:#8d96a8;font-size:9px}.model-card-footer b{color:#d18a39;font-size:9px;font-weight:650}.model-empty{grid-column:1/-1;display:flex;min-height:390px;align-items:center;justify-content:center;flex-direction:column;color:#929bad;text-align:center}.model-empty>span{display:grid;width:58px;height:58px;place-items:center;color:#7a6de1;background:#f0eeff;border-radius:16px;font-size:25px}.model-empty h3{margin:14px 0 5px;color:#4d576b;font-size:14px}.model-empty p{margin:0;font-size:10px}.product-dialog select{width:100%;padding:11px 12px;color:#263044;background:#fafbfc;border:1px solid #e2e5ec;border-radius:9px;outline:0;font-size:13px}.product-dialog select:focus{background:#fff;border-color:#8173ee;box-shadow:0 0 0 3px rgba(103,87,229,.1)}

/* Product category spacing and typography adjustment */
.library-page{width:100%;max-width:none;margin:0}
.category-panel{padding:12px 8px}
.category-heading{padding-left:5px;padding-right:5px}
.category-heading strong{font-size:15px}
.category-heading span{min-width:25px;height:23px;font-size:12px}
.category-item{gap:8px;padding-left:6px;padding-right:6px}
.category-folder{width:32px;height:32px;font-size:15px}
.category-item strong{font-size:14px}
.category-item small{font-size:11px}
.category-item b{font-size:12px}
.category-actions{right:4px;top:11px}
.category-empty{padding-left:8px;padding-right:8px}
.category-empty p{font-size:13px}
.category-empty small{font-size:11px}
.category-empty-add{display:grid;width:40px;height:40px;place-items:center;color:#6b5ddd;background:#efedff;border:1px solid #e3dfff;border-radius:11px;font-size:20px;font-weight:500;cursor:pointer;box-shadow:0 5px 14px rgba(103,87,229,.1);transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}
.category-empty-add:hover{color:#fff;background:#6757e5;box-shadow:0 8px 18px rgba(103,87,229,.25);transform:translateY(-1px)}
.category-empty-add:active{transform:translateY(1px) scale(.96)}
.category-item{min-height:58px;padding-top:10px;padding-bottom:10px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.category-item.active{box-shadow:inset 3px 0 0 #7769df}
.category-item strong{line-height:1.45;letter-spacing:.01em}
.category-item small{margin-top:3px;line-height:1.5}
.category-item-wrap .category-item{padding-right:82px}
.category-actions{gap:3px}
.category-actions button{width:24px;height:24px;font-size:11px}
.category-actions button.add{color:#6557d5;background:#efedff;border-color:#e3dfff;font-size:15px;font-weight:700}
.model-toolbar-actions{display:flex;align-items:center;gap:9px}
.inline-add-model{height:37px;padding:0 12px;color:#6254d4;background:#f0eeff;border:1px solid #e2ddff;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;transition:.18s ease;white-space:nowrap}
.inline-add-model:hover{color:#fff;background:#6757e5;border-color:#6757e5}
.model-empty-add{margin-top:17px}
.model-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;align-content:start}
.sku-card{position:relative;min-width:0;overflow:hidden;background:#fff;border:1px solid #e3e6ed;border-radius:8px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.sku-card:hover{border-color:#cfc8ff;box-shadow:0 7px 18px rgba(35,43,65,.09);transform:translateY(-1px)}
.sku-image{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f4f3fb}
.sku-image>img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .18s ease}.sku-image>img.loaded{opacity:1}
.sku-placeholder{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;color:#9b92e6}.sku-placeholder span{font-size:22px}.sku-placeholder small{margin-top:5px;color:#a19bbd;font-size:9px}
.sku-actions{position:absolute;right:6px;top:6px;display:flex;gap:4px;opacity:0;transform:translateY(-3px);transition:.16s ease}.sku-card:hover .sku-actions{opacity:1;transform:translateY(0)}.sku-actions button{display:grid;width:27px;height:27px;place-items:center;color:#4f586a;background:rgba(255,255,255,.92);border:1px solid rgba(219,222,231,.9);border-radius:6px;box-shadow:0 3px 10px rgba(20,27,42,.1);cursor:pointer}.sku-actions button:hover{color:#6254d4;background:#fff}.sku-card>code{display:block;overflow:hidden;padding:9px 8px;color:#303a4e;font-family:"Cascadia Code",Consolas,monospace;font-size:11px;font-weight:650;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.single-image-upload{display:flex!important;position:relative;width:100%;height:190px!important;align-items:center;justify-content:center;margin:0!important;overflow:hidden;color:#7568da;background:#f5f4fc;border:1px dashed #cfc9f4!important;border-radius:10px!important;cursor:pointer}.single-image-upload input{display:none}.single-image-upload>span{display:flex;align-items:center;justify-content:center;flex-direction:column}.single-image-upload>span b{display:grid;width:37px;height:37px;place-items:center;margin-bottom:8px;background:#e8e5ff;border-radius:10px;font-size:19px}.single-image-upload>span strong{font-size:12px}.single-image-upload>span small{margin-top:4px;color:#9590ad;font-size:9px}.single-image-upload img{display:none;width:100%;height:100%;object-fit:contain;background:#f0f1f4}.single-image-upload img.visible{display:block}.single-image-upload em{display:none;position:absolute;right:8px;bottom:8px;padding:5px 8px;color:#fff;background:rgba(17,24,39,.72);border-radius:6px;font-size:9px;font-style:normal}.single-image-upload:has(img.visible) em{display:block}
.multi-image-uploader{display:flex;min-height:108px;align-items:flex-start;flex-wrap:wrap;gap:9px;padding:10px;background:#fafbfc;border:1px solid #e2e5ec;border-radius:10px}.product-image-list{display:contents}.product-image-thumb,.product-image-add{position:relative;width:88px;height:88px;flex:none;overflow:hidden;background:#fff;border:1px solid #dfe3e9;border-radius:8px}.product-image-thumb{cursor:grab;transition:.16s}.product-image-thumb:hover{border-color:#9a8ff0;box-shadow:0 4px 12px rgba(45,53,72,.1)}.product-image-thumb.dragging{opacity:.42;transform:scale(.96)}.product-image-thumb.is-main{border:2px solid #7568df}.product-image-thumb img{display:block;width:100%;height:100%;object-fit:cover}.product-image-thumb>span{position:absolute;top:5px;left:5px;padding:2px 5px;color:#fff;background:rgba(84,70,196,.9);border-radius:4px;font-size:8px;font-weight:700}.product-image-thumb>button{display:grid;position:absolute;top:4px;right:4px;width:19px;height:19px;place-items:center;padding:0;color:#fff;background:rgba(28,35,49,.72);border:0;border-radius:50%;cursor:pointer;font-size:13px}.product-image-thumb>button:hover{background:#d95f59}.product-image-thumb>i{position:absolute;right:5px;bottom:3px;padding:1px 3px;color:#fff;background:rgba(28,35,49,.6);border-radius:3px;font-size:8px;font-style:normal;letter-spacing:-1px}.product-image-add{display:flex!important;align-items:center;justify-content:center;flex-direction:column;margin:0!important;color:#7467d9;background:#f4f2ff;border:1px dashed #c8c1f2!important;cursor:pointer}.product-image-add:hover{background:#efecff;border-color:#8d80e8!important}.product-image-add input{display:none}.product-image-add b{font-size:19px;line-height:1}.product-image-add strong{margin-top:5px;font-size:10px}.product-image-add small{margin-top:2px;color:#9992b5;font-size:8px}.image-sort-hint{margin-top:7px!important}.sku-image-count{position:absolute;right:6px;bottom:6px;z-index:2;padding:3px 6px;color:#fff;background:rgba(27,34,48,.7);border-radius:4px;font-size:9px;font-weight:700}.sku-image-count[hidden]{display:none}

/* Dense album layout for large SKU collections */
.library-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}
.category-panel{padding:0;background:#f4f7f7;border-color:#e0e5e6;border-radius:3px;box-shadow:none;overflow:hidden}
.category-heading{height:49px;padding:0 15px;border-bottom:1px solid #dde3e4}
.category-heading strong{font-size:14px;font-weight:600}.category-heading span{background:#ebe9ff}
.category-list{padding:0}
.category-item,.category-item-wrap .category-item{min-height:47px;padding:0 42px 0 15px;gap:0;background:transparent;border-bottom:1px solid #dfe4e5;border-radius:0;box-shadow:none}
.category-item:hover{background:#eef1f2}.category-item.active{color:#6757e5;background:#fff;box-shadow:inset 3px 0 0 #6757e5}
.category-folder{display:none}
.category-item strong{font-size:14px;font-weight:500;line-height:1.4}
.category-item small{display:none}
.category-item b{font-size:11px;font-weight:600}
.category-actions{right:7px;top:11px;gap:1px}.category-actions button{width:23px;height:23px;background:rgba(255,255,255,.94);border:0}.category-actions button.add{background:#ebe9ff;border:0}
.category-item-wrap:not(:hover) .category-item b{opacity:1}.category-item-wrap:hover .category-item b{opacity:0}
.category-empty{padding:36px 10px;background:#fff}
.model-panel{min-height:520px;padding:0;background:#fff;border:0;border-radius:0;box-shadow:none}
.model-toolbar{min-height:68px;margin:0;padding:10px 0 15px;border-bottom:1px solid #eceef1}
.model-toolbar h3{font-size:16px;font-weight:600}.model-toolbar p{margin-top:4px;font-size:11px}
.model-grid{padding:14px 18px 20px;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));column-gap:10px;row-gap:15px}
.sku-card{overflow:visible;background:transparent;border:0;border-radius:0}
.sku-card:hover{border:0;box-shadow:none;transform:none}
.sku-image{aspect-ratio:1/1;background:#fff;border:1px solid #edf0f2;border-radius:1px;box-shadow:0 2px 0 #eef0f2}
.sku-card:hover .sku-image{border-color:#cfc9f5;box-shadow:0 0 0 2px rgba(103,87,229,.08)}
.sku-card>code{padding:7px 2px 0;color:#525961;font-size:11px;font-weight:500;text-align:left}
.sku-placeholder{z-index:0;color:#a49bea;background:#f4f5f7}.sku-placeholder small{font-size:9px}.sku-card.has-image .sku-placeholder{display:none}.sku-image>img{position:relative;z-index:1}.sku-actions{z-index:2}
.sku-actions{right:5px;top:5px}.sku-actions button{width:25px;height:25px;border-radius:3px}
.field-hint{display:block;margin-top:6px;color:#929bad;font-size:10px;line-height:1.5}
.tag-editor{display:flex;min-height:43px;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 9px;background:#fafbfc;border:1px solid #e2e5ec;border-radius:9px;cursor:text;transition:.18s}.tag-editor:focus-within{background:#fff;border-color:#8173ee;box-shadow:0 0 0 3px rgba(103,87,229,.1)}.tag-editor-chips{display:contents}.tag-editor-chip{display:inline-flex;max-width:150px;align-items:center;gap:4px;padding:4px 5px 4px 8px;overflow:hidden;color:#5e52c8;background:#efedff;border:1px solid #dfdbff;border-radius:5px;font-size:10px;white-space:nowrap}.tag-editor-chip button{display:grid;width:16px;height:16px;flex:none;place-items:center;padding:0;color:#8c83d1;background:transparent;border:0;border-radius:3px;cursor:pointer}.tag-editor-chip button:hover{color:#fff;background:#7568d9}.task-form .tag-editor input{width:150px;min-width:120px;flex:1;padding:4px 2px;background:transparent;border:0;border-radius:0;box-shadow:none!important;font-size:11px}.task-form .tag-editor input:focus{background:transparent;border:0}
.sku-index-row{display:flex;position:relative;min-height:31px;align-items:center;justify-content:center;padding:6px 1px 1px}
.sku-index-row code{min-width:0;flex:1;overflow:hidden;color:#424a57;font-family:"Cascadia Code",Consolas,monospace;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.sku-model-copy{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;text-align:center}.sku-model-copy strong{width:100%;overflow:hidden;color:#172033;font-family:"Cascadia Code",Consolas,monospace;font-size:14px;font-weight:850;line-height:1.35;letter-spacing:-.02em;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.sku-index-row>button{display:grid;position:absolute;right:0;top:11px;width:25px;height:22px;place-items:center;padding:0;color:#8a91a0;background:transparent;border:0;border-radius:3px;cursor:pointer;font-size:11px;letter-spacing:1px}
.sku-index-row>button:hover{color:#6254d4;background:#efedff}
.sku-tags{display:flex;height:22px;align-items:center;gap:3px;overflow:hidden;padding:2px 0 0;white-space:nowrap}
.sku-tag{max-width:62px;overflow:hidden;padding:2px 5px;color:#6b61c9;background:#f0eeff;border:0;border-radius:3px;cursor:pointer;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.sku-tag:hover{color:#fff;background:#7163dc}.sku-tag-empty{color:#9a92b7;background:#f5f4f9;border:1px dashed #d8d4e4}.sku-tag-more{color:#8d94a2;font-size:9px}
.sku-card{cursor:pointer}

/* Product model image-group detail */
.model-detail-page{width:100%;max-width:1500px;margin:0 auto}.model-detail-breadcrumb{display:flex;min-height:28px;align-items:center;gap:9px;margin-bottom:15px;color:#929baa;font-size:13px}.model-detail-breadcrumb button{padding:2px 0;color:#6658d2;background:transparent;border:0;cursor:pointer;font-size:13px;font-weight:600}.model-detail-breadcrumb button:hover{color:#4f42bd;text-decoration:underline}.model-detail-breadcrumb strong{color:#354052;font-size:13px;font-weight:750}.model-detail-header{display:flex;min-height:132px;align-items:center;gap:18px;padding:16px 18px;background:#fff;border:1px solid #e1e5eb;border-radius:9px}.model-detail-cover{width:100px;height:100px;flex:none;overflow:hidden;background:#f3f4f6;border:1px solid #e0e4e9;border-radius:5px}.model-detail-cover img{display:block;width:100%;height:100%;object-fit:cover}.model-detail-meta{min-width:0;flex:1}.model-detail-meta>span{color:#9185e7;font-size:9px;font-weight:800;letter-spacing:1.2px}.model-detail-meta h2{margin:5px 0 10px;font-family:"Cascadia Code",Consolas,monospace;font-size:22px}.model-detail-meta h2 small{margin-left:8px;color:#8d96a4;font-family:inherit;font-size:10px;font-weight:500}.model-detail-meta>div{display:flex;flex-wrap:wrap;gap:5px}.model-detail-meta em{padding:3px 7px;color:#6759cb;background:#efedff;border-radius:4px;font-size:9px;font-style:normal}.model-detail-actions{display:flex;align-items:center;gap:8px}.model-detail-toolbar{display:flex;height:58px;align-items:center;justify-content:space-between;margin-top:15px;padding:0 4px;border-bottom:1px solid #dfe3e8}.model-detail-toolbar>div:first-child{display:flex;align-items:baseline;gap:9px}.model-detail-toolbar strong{font-size:14px}.model-detail-toolbar span{color:#949ca9;font-size:9px}.detail-view-switch{display:flex}.detail-view-switch button{height:31px;padding:0 12px;color:#7e8795;background:#fff;border:1px solid #d8dde4;border-right:0;cursor:pointer;font-size:10px}.detail-view-switch button:first-child{border-radius:6px 0 0 6px}.detail-view-switch button:last-child{border-right:1px solid #d8dde4;border-radius:0 6px 6px 0}.detail-view-switch button.active{color:#6254d4;background:#f0eeff}.model-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:20px 14px;padding:20px 0;align-items:start}.model-detail-image{min-width:0;cursor:pointer}.model-detail-image>div{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f3f4f6;border:1px solid #e4e7eb;border-radius:3px}.model-detail-image img{display:block;width:100%;height:100%;object-fit:cover;transition:.18s}.model-detail-image:hover img{transform:scale(1.025)}.model-detail-image>div>span{position:absolute;top:6px;left:6px;padding:3px 6px;color:#fff;background:#6757e5;border-radius:4px;font-size:8px;font-weight:700}.model-detail-image>strong,.model-detail-image>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-detail-image>strong{margin-top:7px;color:#3b4453;font-size:10px;font-weight:600}.model-detail-image>small{margin-top:2px;color:#979fab;font-size:8px}.model-detail-grid.view-thumb{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px}.model-detail-grid.view-thumb .model-detail-image>strong,.model-detail-grid.view-thumb .model-detail-image>small{display:none}.model-detail-grid.view-large{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px 18px}.model-detail-grid.view-large .model-detail-image>strong{font-size:12px}.model-detail-empty{display:flex;grid-column:1/-1;min-height:330px;align-items:center;justify-content:center;flex-direction:column;color:#8f98a8}.model-detail-empty>span{display:grid;width:48px;height:48px;place-items:center;margin-bottom:10px;color:#7467d9;background:#efedff;border-radius:12px;font-size:20px}.model-detail-empty>strong{margin-bottom:13px;font-size:12px}.image-viewer{width:min(900px,calc(100vw - 40px));padding:18px;background:#fff;border:0;border-radius:10px;box-shadow:0 25px 80px rgba(14,20,33,.32)}.image-viewer::backdrop{background:rgba(12,18,30,.72);backdrop-filter:blur(4px)}.image-viewer>button{display:grid;position:absolute;top:10px;right:10px;z-index:2;width:32px;height:32px;place-items:center;color:#fff;background:rgba(20,27,39,.7);border:0;border-radius:50%;cursor:pointer;font-size:19px}.image-viewer img{display:block;width:100%;max-height:75vh;object-fit:contain;background:#f4f5f7}.image-viewer p{margin:10px 0 0;color:#697385;font-size:11px;text-align:center}

/* Twenty-inspired customer object table */
.module-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.module-kicker{color:#8877ec;font-size:10px;font-weight:800;letter-spacing:1.4px}.module-header h2{margin:5px 0 3px;font-size:25px}.module-header p{margin:0;color:#818b9d;font-size:12px}
.crm-page{width:100%;max-width:1500px;margin:0 auto}.crm-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid #e2e6eb}.crm-tabs button{position:relative;padding:10px 14px;color:#7b8493;background:transparent;border:0;cursor:pointer;font-size:12px}.crm-tabs button.active{color:#5145c7;font-weight:700}.crm-tabs button.active:after{position:absolute;right:10px;bottom:-1px;left:10px;height:2px;background:#6757e5;content:""}.crm-tabs b{margin-left:4px;color:#9aa2af;font-size:10px}
.crm-table-shell{overflow:hidden;background:#fff;border:1px solid #dde2e9;border-radius:8px;box-shadow:0 10px 28px rgba(28,36,52,.055)}.crm-toolbar{display:flex;height:58px;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #e4e7ec}.crm-view-name{display:flex;align-items:center;gap:8px}.crm-view-name>span{display:grid;width:27px;height:27px;place-items:center;color:#6757e5;background:#f0eeff;border-radius:6px}.crm-view-name strong{font-size:13px}.crm-view-name small{color:#9aa1ae;font-size:10px}.crm-tools{display:flex;gap:6px}.crm-tools>button{height:34px;padding:0 10px;color:#657080;background:#fff;border:1px solid #e2e5ea;border-radius:6px;cursor:pointer;font-size:10px}.crm-tools>button:hover{color:#5c50ce;background:#f7f6ff}.crm-search{display:flex;position:relative;align-items:center}.crm-search span{position:absolute;left:10px;color:#969eab}.crm-search input{width:220px;height:34px;padding:0 10px 0 29px;background:#fafbfc;border:1px solid #e2e5ea;border-radius:6px;outline:0;font-size:10px}.crm-search input:focus{background:#fff;border-color:#887aed}
.crm-table-wrap{overflow:auto}.crm-table{width:100%;min-width:1080px;border-collapse:collapse;table-layout:fixed}.crm-table th,.crm-table td{height:49px;padding:0 10px;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;text-align:left;white-space:nowrap}.crm-table th{height:39px;color:#868e9c;background:#fafbfc;font-size:10px;font-weight:600}.crm-table th:first-child,.crm-table td:first-child{width:42px;text-align:center}.crm-table th:nth-child(2){width:205px}.crm-table th:nth-child(3){width:190px}.crm-table th:nth-child(4){width:100px}.crm-table th:nth-child(5){width:90px}.crm-table th:nth-child(6){width:105px}.crm-table th:nth-child(7){width:105px}.crm-table th:nth-child(8){width:100px}.crm-table th:last-child,.crm-table td:last-child{width:43px;border-right:0}.crm-table tbody tr{cursor:pointer;transition:.14s}.crm-table tbody tr:hover{background:#faf9ff}.crm-table input{accent-color:#6757e5}.crm-person{display:flex;align-items:center;gap:9px;min-width:0}.crm-person>span{display:grid;width:29px;height:29px;flex:none;place-items:center;color:#fff;background:var(--avatar);border-radius:50%;font-size:9px;font-weight:700}.crm-person div{min-width:0}.crm-person strong,.crm-person small{display:block;overflow:hidden;text-overflow:ellipsis}.crm-person strong{color:#374151;font-size:11px}.crm-person small{margin-top:2px;color:#9aa2ae;font-size:8px}.crm-company{display:inline-block;max-width:100%;overflow:hidden;padding:3px 7px;color:#505967;background:#f6f7f9;border:1px solid #e5e8ec;border-radius:12px;font-size:10px;text-overflow:ellipsis}.crm-level{display:inline-block;padding:3px 7px;border-radius:10px;font-size:9px;font-weight:700}.level-a{color:#9c5b19;background:#fff0d9}.level-b{color:#3970ba;background:#eaf3ff}.level-c{color:#687180;background:#f0f2f4}.crm-owner{display:inline-grid;width:22px;height:22px;margin-right:6px;place-items:center;color:#fff;background:#718096;border-radius:50%;font-size:8px}.crm-status{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;color:#596376;background:#f1f3f5;border-radius:10px;font-size:9px}.crm-status:before{width:5px;height:5px;background:#8b94a3;border-radius:50%;content:""}.status-跟进中,.status-已报价{color:#4d65c7;background:#eeefff}.status-跟进中:before,.status-已报价:before{background:#6c71df}.status-已成交{color:#248060;background:#e8f8f1}.status-已成交:before{background:#35af82}.status-待激活{color:#aa6c24;background:#fff3e4}.status-待激活:before{background:#e09a44}.crm-more{color:#8b93a1;background:transparent;border:0;cursor:pointer}.crm-table-footer{display:flex;height:42px;align-items:center;justify-content:space-between;padding:0 14px;color:#8b93a1;font-size:9px}.crm-table-footer button{color:#6757e5;background:transparent;border:0;cursor:pointer;font-size:10px}

/* React Flow / n8n-inspired visual workflow builder */
.workflow-page{margin:-8px -12px 0}.workflow-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px;padding:0 12px}.workflow-title{display:flex;align-items:center;gap:9px}.workflow-title h2{margin:4px 0 2px;font-size:22px}.workflow-title span{padding:3px 7px;color:#9a6a21;background:#fff2d8;border-radius:10px;font-size:9px}.workflow-header p{margin:0;color:#8992a3;font-size:10px}.workflow-header-actions{display:flex;gap:8px}.workflow-shell{display:grid;height:calc(100vh - 190px);min-height:610px;grid-template-columns:250px minmax(0,1fr);overflow:hidden;background:#fff;border:1px solid #dde2e9;border-radius:9px;box-shadow:0 10px 28px rgba(28,36,52,.055)}
.node-palette{overflow-y:auto;background:#fbfcfd;border-right:1px solid #e1e5eb}.palette-head{display:flex;height:49px;align-items:center;justify-content:space-between;padding:0 15px;background:#fff;border-bottom:1px solid #e5e8ed}.palette-head strong{font-size:13px}.palette-head button{color:#808998;background:transparent;border:0;cursor:pointer}.palette-group{padding:14px 11px 5px}.palette-group>span{display:block;margin:0 4px 8px;color:#929aa8;font-size:9px;font-weight:700;letter-spacing:.8px}.palette-group>button{display:flex;width:100%;align-items:center;gap:9px;margin-bottom:6px;padding:8px;color:#3e4756;background:#fff;border:1px solid #e5e8ed;border-radius:7px;cursor:pointer;text-align:left;transition:.15s}.palette-group>button:hover{border-color:#cfc9f5;box-shadow:0 4px 12px rgba(42,50,70,.07);transform:translateY(-1px)}.palette-group>button div{min-width:0;flex:1}.palette-group>button strong,.palette-group>button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-group>button strong{font-size:10px}.palette-group>button small{margin-top:2px;color:#969eac;font-size:8px}.palette-group>button>b{color:#9da4b0;font-size:13px}.node-icon{display:grid;width:29px;height:29px;flex:none;place-items:center;border-radius:7px;font-size:12px;font-style:normal}.node-icon.trigger{color:#2278c9;background:#e9f4ff}.node-icon.ai{color:#6854d4;background:#f0edff}.node-icon.action{color:#238b68;background:#e9f8f2}.node-icon.review{color:#d0822e;background:#fff2df}
.flow-canvas{position:relative;overflow:auto;background-color:#f8f9fb;background-image:radial-gradient(#d8dce4 .8px,transparent .8px);background-size:18px 18px}.flow-canvas:before{position:absolute;top:18px;left:20px;padding:5px 8px;color:#8d95a2;background:rgba(255,255,255,.9);border:1px solid #e3e6eb;border-radius:5px;content:"主流程 · 5 个节点";font-size:9px}.flow-canvas-toolbar{display:flex;position:sticky;top:14px;left:calc(100% - 265px);z-index:6;width:max-content;height:34px;align-items:center;margin:14px 14px 0 auto;padding:3px;background:#fff;border:1px solid #e1e4e9;border-radius:7px;box-shadow:0 5px 15px rgba(25,33,49,.08)}.flow-canvas-toolbar button{display:grid;width:28px;height:27px;place-items:center;color:#657080;background:transparent;border:0;border-radius:4px;cursor:pointer}.flow-canvas-toolbar button:hover{color:#6153d6;background:#f1efff}.flow-canvas-toolbar span{width:1px;height:17px;margin:0 3px;background:#e4e7ec}.flow-canvas-toolbar b{padding:0 6px;color:#7e8795;font-size:9px}.flow-lines{position:absolute;top:0;left:0;width:1200px;height:700px;pointer-events:none}.flow-lines path{fill:none;stroke:#b9c1cf;stroke-width:2}.flow-lines path:hover{stroke:#7869e5}.flow-node{position:absolute;z-index:2;width:200px;min-height:106px;padding:10px 11px;background:#fff;border:1px solid #dfe4ea;border-top:3px solid #6c7a90;border-radius:7px;box-shadow:0 7px 18px rgba(33,42,58,.08);cursor:pointer;transition:.15s}.flow-node:hover,.flow-node.selected{border-color:#8275e8;box-shadow:0 0 0 2px rgba(103,87,229,.12),0 8px 20px rgba(33,42,58,.1)}.flow-node.tone-trigger{border-top-color:#3e91df}.flow-node.tone-ai{border-top-color:#7563df}.flow-node.tone-action{border-top-color:#35a27d}.flow-node.tone-review{border-top-color:#e39b49}.flow-node header{display:flex;align-items:center;gap:6px}.flow-node header>span{display:grid;width:23px;height:23px;place-items:center;color:#6757e5;background:#efedff;border-radius:5px;font-size:10px}.flow-node header small{flex:1;color:#929aa8;font-size:8px}.flow-node header button{color:#9aa1ad;background:transparent;border:0;font-size:9px}.flow-node>strong{display:block;margin:9px 0 3px;color:#313b4b;font-size:11px}.flow-node>p{margin:0;overflow:hidden;color:#8a93a2;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.flow-node footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding-top:7px;border-top:1px solid #eef0f3;color:#8d96a5;font-size:8px}.flow-node footer b{color:#36a77e}.flow-port{position:absolute;top:50%;width:9px;height:9px;background:#fff;border:2px solid #7d70e2;border-radius:50%;transform:translateY(-50%)}.flow-port.input{left:-6px}.flow-port.output{right:-6px}.flow-mini-map{position:sticky;top:calc(100% - 105px);left:calc(100% - 155px);width:135px;height:80px;margin:530px 18px 18px auto;background:rgba(255,255,255,.94);border:1px solid #dfe3e9;border-radius:6px;box-shadow:0 5px 14px rgba(25,33,49,.07)}.flow-mini-map span,.flow-mini-map i{position:absolute;height:8px;background:#d9d5f6;border-radius:2px}.flow-mini-map span{top:20px;left:12px;width:33px}.flow-mini-map i:nth-child(2){top:42px;left:48px;width:28px}.flow-mini-map i:nth-child(3){top:20px;left:82px;width:37px}.flow-mini-map i:nth-child(4){top:54px;left:89px;width:28px}

/* Purchasing price conversion tool */
.tools-page{width:100%;max-width:1180px;margin:0 auto}.tools-header{align-items:center}.tools-count{padding:7px 11px;color:#6759cc;background:#efedff;border:1px solid #dfdbff;border-radius:18px;font-size:10px;font-weight:700}.tool-category-tabs{display:flex;gap:7px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #e1e5eb}.tool-category-tabs button{padding:7px 12px;color:#747e8e;background:#fff;border:1px solid #e1e5eb;border-radius:7px;cursor:pointer;font-size:10px}.tool-category-tabs button.active{color:#fff;background:#6757e5;border-color:#6757e5}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tool-card{display:flex;min-height:220px;flex-direction:column;padding:20px;background:#fff;border:1px solid #e3e6ec;border-radius:12px;box-shadow:0 8px 24px rgba(27,35,52,.045);cursor:pointer;transition:.18s}.tool-card:hover{border-color:#ccc5f4;box-shadow:0 14px 32px rgba(35,43,65,.09);transform:translateY(-2px)}.tool-card:not(.ready){opacity:.76}.tool-card-top{display:flex;align-items:flex-start;justify-content:space-between}.tool-card-icon{display:grid;width:43px;height:43px;place-items:center;border-radius:11px;font-size:18px;font-weight:800}.tool-card-icon.violet{color:#6757e5;background:#efedff}.tool-card-icon.blue{color:#347fc9;background:#eaf4ff}.tool-card-icon.green{color:#28916d;background:#e9f8f2}.tool-card-icon.orange{color:#d38331;background:#fff2e3}.tool-card-icon.pink{color:#bd5f87;background:#fff0f6}.tool-card-icon.cyan{color:#258a9e;background:#e8f7fa}.tool-card-top em{padding:4px 7px;color:#8b93a2;background:#f3f4f6;border-radius:10px;font-size:8px;font-style:normal}.tool-card.ready .tool-card-top em{color:#237e5f;background:#e7f7f0}.tool-card>small{margin-top:18px;color:#969eac;font-size:8px;font-weight:700;letter-spacing:.5px}.tool-card h3{margin:5px 0 7px;color:#293345;font-size:15px}.tool-card p{margin:0;color:#828c9d;font-size:10px;line-height:1.75}.tool-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid #eff1f4;color:#8992a1;font-size:9px}.tool-card.ready footer{color:#6254d4;font-weight:700}.tool-card footer b{font-size:15px}.tool-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:#9aa2af;font-size:11px}.tool-breadcrumb button{padding:0;color:#6658d2;background:transparent;border:0;cursor:pointer;font-size:11px;font-weight:650}.tool-breadcrumb button:hover{text-decoration:underline}.tool-breadcrumb strong{color:#4c5668;font-weight:700}
.price-tool-page{width:100%;max-width:1180px;margin:0 auto}.price-tool-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:16px}.price-calculator-card,.price-result-card,.price-rule-card{background:#fff;border:1px solid #e2e6ed;border-radius:13px;box-shadow:0 10px 28px rgba(27,35,52,.055)}.price-calculator-card{padding:24px}.price-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.price-card-heading>span{display:grid;width:43px;height:43px;place-items:center;color:#6757e5;background:#efedff;border-radius:11px;font-size:20px;font-weight:800}.price-card-heading h3,.price-result-heading h3,.price-rule-title h3{margin:0;color:#273143;font-size:16px}.price-card-heading p{margin:4px 0 0;color:#8d96a6;font-size:10px}.price-calculator-card form>label{display:block;margin-bottom:8px;color:#515c6f;font-size:11px;font-weight:700}.price-input-wrap{display:flex;height:54px;align-items:center;background:#fafbfc;border:1px solid #dfe3ea;border-radius:9px;transition:.18s}.price-input-wrap:focus-within{background:#fff;border-color:#8173ee;box-shadow:0 0 0 3px rgba(103,87,229,.1)}.price-input-wrap span{padding-left:15px;color:#6757e5;font-size:22px;font-weight:750}.price-input-wrap input{min-width:0;flex:1;height:100%;padding:0 15px 0 8px;color:#1f2937;background:transparent;border:0;outline:0;font-size:22px;font-weight:750}.price-input-wrap input::-webkit-inner-spin-button{opacity:.5}.price-error{min-height:19px;margin:5px 0;color:#d65b56;font-size:10px}.price-calculate-button{width:100%;height:42px}.matched-rule{margin-top:17px;padding:12px 14px;background:#f7f6ff;border:1px solid #e8e4ff;border-radius:8px}.matched-rule span{color:#5d50c7;font-size:11px;font-weight:750}.matched-rule p{margin:4px 0 0;color:#8b93a3;font-size:9px}
.price-result-card{display:flex;min-height:315px;flex-direction:column;padding:24px}.price-result-heading{display:flex;align-items:flex-start;justify-content:space-between}.price-result-heading>div>span,.price-rule-title>div>span{color:#9185e7;font-size:8px;font-weight:800;letter-spacing:1.2px}.price-result-heading h3,.price-rule-title h3{margin-top:3px}.price-result-heading button{padding:7px 10px;color:#6657d4;background:#f1efff;border:1px solid #e3dfff;border-radius:7px;cursor:pointer;font-size:10px;font-weight:700}.price-result-heading button:disabled{color:#a7adba;background:#f5f6f8;border-color:#e8eaee;cursor:not-allowed}.price-result-card pre{display:flex;flex:1;align-items:center;margin:18px 0 12px;padding:20px 24px;color:#e8eaff;background:#171e2e;border-radius:10px;font-family:"Cascadia Code",Consolas,monospace;font-size:19px;font-weight:650;line-height:1.75;letter-spacing:.01em;white-space:pre-wrap}.price-result-card small{color:#929aa8;font-size:9px}
.price-rule-card{margin-top:16px;overflow:hidden}.price-rule-title{display:flex;align-items:flex-end;justify-content:space-between;padding:20px 22px 14px}.price-rule-title p{margin:0;color:#939ba9;font-size:9px}.price-rule-table-wrap{overflow-x:auto}.price-rule-table{width:100%;min-width:700px;border-collapse:collapse}.price-rule-table th,.price-rule-table td{height:43px;padding:0 18px;border-top:1px solid #edf0f3;text-align:left}.price-rule-table th{color:#788293;background:#fafbfc;font-size:10px;font-weight:700}.price-rule-table td{color:#465063;font-size:11px}.price-rule-table td:nth-child(2){color:#5f52c9;font-weight:700}.price-rule-table tbody tr:hover{background:#faf9ff}

@media (max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}.readiness-card{position:static}.model-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
@media (max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .25s ease}.sidebar.open{transform:translateX(0)}.sidebar-close,.menu-button{display:grid}.sidebar-close{color:#9ca5b6;font-size:20px}.main-content{margin-left:0}.topbar{padding:0 16px}.content{padding:18px 16px 36px}.sidebar-overlay.show{display:block;position:fixed;inset:0;z-index:10;background:rgba(10,15,27,.45);backdrop-filter:blur(2px)}.topbar-actions .secondary-button{display:none}.welcome-panel{align-items:flex-start;flex-direction:column;gap:18px}.metric-grid{grid-template-columns:1fr}.placeholder-page{min-height:calc(100vh - 120px);padding:30px 15px}.task-actions{opacity:1}.priority{display:none}.task-form{padding:20px}.toast{right:16px;bottom:16px}.settings-intro{gap:14px}.settings-intro p{font-size:12px}.connection-chip{flex:none}.settings-card{padding:18px}.api-form-grid{grid-template-columns:1fr}.endpoint-row{grid-template-columns:45px 1fr}.endpoint-row p{grid-column:2}.api-actions{flex-direction:column-reverse}.api-actions button{width:100%}.library-header{align-items:flex-start;flex-direction:column;gap:15px}.library-header-actions{width:100%}.library-header-actions button{flex:1}.library-layout{grid-template-columns:1fr}.category-panel{max-height:330px;overflow:auto}.model-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.model-toolbar-actions{width:100%;align-items:stretch;flex-direction:column}.inline-add-model{width:100%}.model-search{width:100%}.model-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}.category-actions,.sku-actions{opacity:1;transform:none}}
@media (max-width:900px){.crm-toolbar{height:auto;align-items:flex-start;flex-direction:column;gap:10px;padding:12px}.crm-tools{width:100%;flex-wrap:wrap}.crm-search{flex:1}.crm-search input{width:100%}.workflow-shell{grid-template-columns:220px minmax(760px,1fr)}.workflow-header{align-items:flex-start;flex-direction:column;gap:12px}.price-tool-layout{grid-template-columns:1fr}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.module-header{align-items:flex-start;flex-direction:column;gap:14px}.module-header>button{width:100%}.crm-tabs{overflow-x:auto}.crm-tools>button{flex:1}.workflow-page{margin:0}.workflow-shell{height:690px;grid-template-columns:190px minmax(760px,1fr)}.workflow-header-actions{width:100%}.workflow-header-actions button{flex:1}.node-palette .palette-group>button{padding:7px}.node-icon{width:26px;height:26px}.model-detail-header{align-items:flex-start;flex-wrap:wrap}.model-detail-cover{width:82px;height:82px}.model-detail-actions{width:100%}.model-detail-actions button{flex:1}.model-detail-toolbar{height:auto;align-items:flex-start;flex-direction:column;gap:10px;padding:14px 0}.model-detail-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px 9px}.model-detail-grid.view-large{grid-template-columns:1fr}.tools-grid{grid-template-columns:1fr}.tools-count{align-self:flex-start}.tool-category-tabs{overflow-x:auto;white-space:nowrap}}
