/* UI-only layer: existing selectors, business states and permission classes retained. */
:root { --shoe-ink:#18263c; --shoe-muted:#59697f; --shoe-line:#dde5ef; --shoe-primary:#1765d1; --shoe-surface:#fff; }
body { color:var(--shoe-ink); background:#f3f6fb; line-height:1.5; font-family:system-ui,'Microsoft YaHei','PingFang SC',sans-serif; }
button,input,select,textarea { font:inherit; }
button,input:not([type=checkbox]):not([type=radio]),select { min-height:40px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid #1765d1; outline-offset:3px; }
button:disabled { cursor:not-allowed; opacity:.55; }
input,select,textarea { color:var(--shoe-ink); border-color:#c6d0de; background:#fff; }
.btn-primary,.ei-primary { background:var(--shoe-primary); }
.btn-secondary { background:#fff; color:#354961; border:1px solid var(--shoe-line); }
.btn-danger { color:#b42318; background:#fff2f0; border:1px solid #f2c6c1; }
.app-header { background:#fff; border-bottom:1px solid var(--shoe-line); box-shadow:none; }
.app-header h1 { color:var(--shoe-ink); }
.app-header .brand-mark { background:var(--shoe-primary); border-radius:12px; }
.brand-heading p,.user-chip { color:var(--shoe-muted); }
.workspace-switch { display:flex; gap:8px; border-bottom:1px solid var(--shoe-line); padding-bottom:12px; }
.workspace-tab { border:1px solid transparent; border-radius:9px; min-height:44px; color:var(--shoe-muted); background:transparent; }
.workspace-tab.active { color:var(--shoe-primary); border-color:#c9ddfa; background:#eaf2ff; box-shadow:none; }
.shoe-page-heading { margin:24px 32px 16px; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.shoe-page-heading h2,.inspiration-summary h2 { font-size:24px; margin:5px 0; line-height:1.4; }
.shoe-page-heading p,.inspiration-summary p { color:var(--shoe-muted); font-size:14px; }
.shoe-eyebrow { color:var(--shoe-primary)!important; font-size:12px!important; font-weight:600; }
.shoe-flow-guide { max-width:360px; flex-shrink:0; font-size:13px; border:1px solid var(--shoe-line); background:#fff; padding:10px 14px; border-radius:9px; }
.shoe-flow-guide summary { cursor:pointer; min-height:24px; }
.shoe-flow-guide ol { padding:10px 0 10px 22px; }
#statsBar { gap:12px; }
.stat-card { border:1px solid var(--shoe-line); box-shadow:none; border-radius:12px; }
.workflow-stat.grand { background:#fff; }
.studio-stat { font:inherit; color:inherit; text-align:left; align-items:stretch; }
.studio-stat .stat-numbers { width:100%; }
.studio-stat.grand { border-color:var(--shoe-line); }
.studio-stat:hover { border-color:#adc9ed; background:#f7faff; }
.studio-stat.is-selected { border-color:var(--shoe-primary); background:#eaf2ff; box-shadow:0 0 0 1px var(--shoe-primary); }
.studio-stat.is-selected .stat-label { color:var(--shoe-primary); font-weight:600; }
.primary-toolbar { flex-wrap:wrap; gap:12px; padding:12px; border-radius:12px; box-shadow:none; }
.primary-toolbar .status-tabs { width:100%; border-bottom:1px solid var(--shoe-line); padding-bottom:10px; }
.primary-toolbar .tab.active { background:#eaf2ff; color:var(--shoe-primary); box-shadow:none; }
.status-tab-count { display:inline-flex; align-items:center; justify-content:center; min-width:20px; margin-left:4px; padding:1px 5px; border-radius:10px; background:#edf1f7; color:#526077; font-size:11px; line-height:18px; font-weight:600; }
.tab.active .status-tab-count { background:#d5e6ff; color:var(--shoe-primary); }
.primary-toolbar .tab-actions { width:100%; margin-left:0; flex-wrap:wrap; }
.primary-toolbar .add-style-btn { margin-left:auto; }
.style-search-wrap { flex:1; min-width:200px; max-width:420px; }
.style-card,.inspiration-card,.ei-card { border:1px solid var(--shoe-line); box-shadow:0 2px 6px rgba(23,43,75,.03); border-radius:14px; overflow:hidden; }
.style-card:hover,.inspiration-card:hover { border-color:#adc9ed; box-shadow:0 4px 16px rgba(23,43,75,.08); transform:none; }
.card-title-row h3,.inspiration-card-title h3 { overflow-wrap:anywhere; font-size:16px; }
.card-meta-line,.inspiration-note-preview { color:var(--shoe-muted); }
.card-view-link { min-height:40px; color:var(--shoe-primary); }
.inspiration-summary { align-items:center; gap:20px; background:#fff; color:var(--shoe-ink); border:1px solid var(--shoe-line); }
.inspiration-summary h2 { color:var(--shoe-ink); }
.inspiration-summary-actions .btn-primary { background:var(--shoe-primary); color:#fff; }
.inspiration-toolbar { flex-wrap:wrap; padding:12px; border-radius:12px; border:1px solid var(--shoe-line); background:#fff; }
.inspiration-toolbar input[type=search] { flex:2; min-width:200px; }
.inspiration-toolbar .multi-select-menu input[type=checkbox] { flex:0 0 17px; min-width:17px; width:17px; min-height:0; }
.focus-filter-panel { margin:0 32px 18px; padding:16px 18px; border:1px solid var(--shoe-line); border-radius:12px; background:#fff; }
.focus-section-title { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.focus-section-title small,.focus-editor-panel p,.focus-editor-panel legend small { font-size:12px; color:var(--shoe-muted); font-weight:400; }
.focus-options { display:flex; flex-wrap:wrap; gap:8px; }
.focus-choice { position:relative; display:flex!important; align-items:center; gap:8px; flex-wrap:wrap; cursor:pointer; border:1px solid #c6d0de; border-radius:9px; padding:9px 12px; background:#fff; min-height:44px; margin:0!important; font-size:14px; }
.focus-choice input { accent-color:var(--shoe-primary); width:16px; height:16px; min-height:0; flex-shrink:0; }
.focus-choice small { font-size:11px; color:var(--shoe-muted); }
.focus-choice:has(input:checked) { background:#eaf2ff; border-color:#6b9fe8; color:#1555a6; }
.focus-badges { display:flex; flex-wrap:wrap; gap:5px; margin:9px 0; }
.focus-badge { display:inline-flex; background:#eaf2ff; color:#174c96; border:1px solid #d1e3fc; border-radius:5px; padding:2px 7px; font-size:12px; }
.focus-badge.unmarked { background:#f3f4f6; border-color:#d7dde5; color:#59697f; }
.focus-editor-panel { border:1px solid var(--shoe-line); border-radius:10px; padding:14px; margin:12px 0 18px; }
.focus-editor-panel legend { font-size:14px; padding:0 6px; font-weight:600; }
.focus-editor-panel p { margin:0 0 12px; }
.modal-content { border-radius:16px; border:1px solid var(--shoe-line); box-shadow:0 20px 60px rgba(23,43,75,.2); }
.modal-content h2 { padding-right:34px; }
.modal-content .close { min-height:40px; min-width:40px; }
.sticky-form-actions { border-top:1px solid var(--shoe-line); background:#fff; gap:10px; padding-top:14px; }
.detail-info-section { background:#f6f8fc; color:var(--shoe-ink); }
.detail-info-section .info-label { color:var(--shoe-muted); }
.empty-state { min-height:180px; color:var(--shoe-muted); }
.ei-panel,.ei-heading,.ei-fields,.ei-card-body { min-width:0; }
.ei-filter-panel { margin:12px 0 20px; }
.ei-panel input,.ei-panel select,.ei-panel textarea { max-width:100%; }
@media(min-width:1600px) { #appView { max-width:1760px; margin:0 auto; } }
@media(max-width:768px) {
  button,input:not([type=checkbox]):not([type=radio]),select { min-height:44px; }
  .app-header { padding:12px 16px; }
  .header-actions { flex-wrap:wrap; }
  .shoe-page-heading { margin:18px 16px 12px; flex-direction:column; gap:10px; }
  .shoe-page-heading h2,.inspiration-summary h2 { font-size:21px; }
  .shoe-flow-guide { max-width:none; width:100%; }
  .primary-toolbar { margin:0 16px 12px; }
  .primary-toolbar .tab-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .primary-toolbar .add-style-btn { margin-left:0; }
  .style-search-wrap { min-width:0; max-width:none; }
  .inspiration-summary { align-items:flex-start; }
  .inspiration-toolbar input[type=search] { min-width:100%; }
  .focus-filter-panel { margin:0 16px 16px; padding:12px; }
  .focus-choice { flex:1 1 115px; min-width:0; }
  .focus-choice small { flex-basis:100%; padding-left:24px; }
  .modal-content { border-radius:0; border:none; width:100%; }
  .form-grid.two-columns { grid-template-columns:minmax(0,1fr); }
  .ei-heading { flex-wrap:wrap; }
  .ei-fields { grid-template-columns:minmax(0,1fr); }
}
.batch-series-bar { margin:0 32px 14px; padding:14px 16px; border:1px solid var(--shoe-line); border-radius:12px; background:#fff; }
.batch-series-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.batch-series-controls label { display:inline-flex; align-items:center; gap:7px; font-size:13px; }
.batch-series-controls input[type="checkbox"],.batch-series-card-select input { width:18px; height:18px; accent-color:var(--shoe-primary); }
.batch-series-controls strong { color:var(--shoe-primary); font-size:13px; }
.batch-series-controls select { max-width:280px; min-height:38px; }
.batch-series-hint,.batch-series-message { margin-top:9px; color:var(--shoe-muted); font-size:12px; line-height:1.6; }
.batch-series-message:empty,.batch-series-error:empty { display:none; }
.workflow-card { position:relative; }
.batch-series-card-select { position:absolute; z-index:3; top:10px; left:10px; display:flex; align-items:center; gap:6px; padding:7px 9px; border:1px solid #c9ddfa; border-radius:8px; background:rgba(255,255,255,.96); color:var(--shoe-ink); font-size:12px; cursor:pointer; }
.modal-content.batch-series-preview-content { max-width:1100px; }
.batch-series-preview-content p { margin:10px 0; line-height:1.7; }
.batch-series-table-wrap { max-height:52vh; overflow:auto; margin-top:12px; border:1px solid var(--shoe-line); border-radius:8px; }
.batch-series-table-wrap table { width:100%; min-width:650px; border-collapse:collapse; font-size:13px; }
.batch-series-table-wrap th,.batch-series-table-wrap td { padding:10px 12px; border-bottom:1px solid var(--shoe-line); text-align:left; vertical-align:top; }
.batch-series-table-wrap th { position:sticky; top:0; background:#f3f7fc; white-space:nowrap; }
.batch-series-error { color:#b42318; }
@media(max-width:640px) { .batch-series-bar { margin:0 16px 12px; padding:12px; } .batch-series-controls label:last-of-type,.batch-series-controls select { width:100%; max-width:none; } .batch-series-controls > .btn-primary { width:100%; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
