
      /* ===== Project Workbench (swb- prefix, scoped) ===== */
      .swb-page { --swb-accent: var(--accent); --swb-success: #10b981; --swb-warning: #f59e0b; --swb-danger: #ef4444; --swb-info: #3b82f6;
        --swb-st-planning:#6b7280; --swb-st-production:#f0c419; --swb-st-review:#3b82f6; --swb-st-approved:#10b981; --swb-st-delivered:#8b5cf6; }
      .swb-header { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 18px 20px; margin-bottom: 16px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
      .swb-header-meta { flex:1; min-width:220px; }
      .swb-back { display:inline-flex; align-items:center; gap:6px; color:var(--text-faint); font-size:12px; cursor:pointer; margin-bottom:6px; padding:4px 0; border:none; background:none; }
      .swb-back:hover { color: var(--text); }
      .swb-title-row { display:flex; align-items:center; gap:12px; margin-bottom:6px; flex-wrap:wrap; }
      .swb-title { font-size:22px; font-weight:700; font-family: var(--font-display); }
      .swb-type-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:12px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }
      /* ===== Context colors — Personal (Indigo) vs Team (Brand Orange) ===== */
      .swb-page { --swb-ctx-personal:#6366f1; --swb-ctx-personal-soft:rgba(99,102,241,0.10); --swb-ctx-personal-border:rgba(99,102,241,0.45); }
      .swb-type-badge.personal { background: rgba(99,102,241,0.10); color:#6366f1; border:1px solid rgba(99,102,241,0.45); }
      .swb-type-badge.team { background: var(--accent-soft); color: var(--accent); border:1px solid var(--accent); }
      /* Workbench header left context stripe */
      .swb-header { border-left: 4px solid var(--accent); }
      body.swb-ctx-personal .swb-header { border-left-color:#6366f1; }
      body.swb-ctx-team .swb-header { border-left-color: var(--accent); }
      /* API Vault mode label — context-aware */
      body.swb-ctx-personal .swb-api-mode { background: rgba(99,102,241,0.12); color:#6366f1; }
      /* AI Producer header — context-aware tint */
      body.swb-ctx-personal .swb-producer-head { background: linear-gradient(135deg, rgba(99,102,241,0.18), var(--bg-elev)); }
      /* Modal icon — context-aware tint */
      body.swb-ctx-personal .swb-modal-icon { background: linear-gradient(135deg, rgba(99,102,241,0.18), var(--bg-elev)); }
      /* Toast accent in personal context */
      body.swb-ctx-personal .swb-toast { border-left-color:#6366f1; }
      body.swb-ctx-personal .swb-toast.success { border-left-color: var(--swb-success); }
      body.swb-ctx-personal .swb-toast.warn { border-left-color: var(--swb-warning); }
      body.swb-ctx-personal .swb-toast.danger { border-left-color: var(--swb-danger); }
      .swb-sub { color: var(--text-faint); font-size: 12px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
      .swb-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
      .swb-btn { background: var(--bg-elev); color: var(--text); border:1px solid var(--border); padding:7px 14px; border-radius:var(--r-md); cursor:pointer; font-size:13px; font-family:inherit; display:inline-flex; align-items:center; gap:6px; }
      .swb-btn:hover { background: var(--bg-card); border-color: var(--border-strong, var(--border)); }
      .swb-btn-primary { background: var(--accent); border-color: var(--accent); color:#0a0a0b; font-weight:600; }
      .swb-btn-primary:hover { background: var(--accent-2, var(--accent)); }
      .swb-btn-success { background: var(--swb-success); border-color: var(--swb-success); color:#0a0a0b; font-weight:600; }
      .swb-btn-warn { background:transparent; border-color: var(--swb-warning); color: var(--swb-warning); }
      .swb-btn-danger { background:transparent; border-color: var(--swb-danger); color: var(--swb-danger); }
      .swb-btn-ghost { background: transparent; border-color: transparent; color: var(--text-dim); }
      .swb-btn-ghost:hover { background: var(--bg-elev); }
      .swb-btn-sm { padding: 4px 10px; font-size: 12px; }
      .swb-avatar { width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:#0a0a0b; flex-shrink:0; }
      .swb-avatars { display:inline-flex; }
      .swb-avatars .swb-avatar { border:2px solid var(--bg); margin-left:-6px; }
      .swb-avatars .swb-avatar:first-child { margin-left:0; }

      /* API Vault pill in workbench header */
      .swb-api-vault { position:relative; }
      .swb-api-pill { background: var(--bg-elev); border:1px solid var(--border); padding:6px 12px; border-radius:18px; cursor:pointer; font-size:12px; display:inline-flex; align-items:center; gap:8px; }
      .swb-api-pill:hover { border-color: var(--accent); }
      .swb-api-pill .swb-pulse { width:7px; height:7px; background: var(--swb-success); border-radius:50%; box-shadow:0 0 0 0 rgba(16,185,129,0.6); animation: swb-pulse 2s infinite; }
      @keyframes swb-pulse { 0%{box-shadow:0 0 0 0 rgba(16,185,129,0.6);} 70%{box-shadow:0 0 0 6px rgba(16,185,129,0);} 100%{box-shadow:0 0 0 0 rgba(16,185,129,0);} }
      .swb-api-dropdown { position:absolute; top:100%; right:0; margin-top:8px; width:300px; background:var(--bg-card); border:1px solid var(--border); border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,0.4); z-index:100; overflow:hidden; display:none; }
      .swb-api-dropdown.open { display:block; }
      .swb-api-head { padding:10px 14px; border-bottom:1px solid var(--border); background:var(--bg-elev); font-size:11px; color:var(--text-faint); text-transform:uppercase; letter-spacing:0.8px; font-weight:600; display:flex; align-items:center; justify-content:space-between; }
      .swb-api-mode { background: var(--accent-soft); color: var(--accent); padding:2px 8px; border-radius:10px; font-size:10px; text-transform:none; letter-spacing:0; }
      .swb-api-svc { padding:10px 14px; display:flex; align-items:center; justify-content:space-between; font-size:13px; border-bottom:1px solid var(--border); }
      .swb-api-svc:last-of-type { border-bottom:none; }
      .swb-api-svc .swb-svc-info { display:flex; align-items:center; gap:10px; }
      .swb-api-svc .swb-svc-dot { width:8px; height:8px; border-radius:50%; }
      .swb-api-svc.connected .swb-svc-dot { background: var(--swb-success); }
      .swb-api-svc.disconnected .swb-svc-dot { background: var(--text-faint); }
      .swb-api-svc.disconnected { color: var(--text-faint); }
      .swb-api-foot { padding:10px 14px; border-top:1px solid var(--border); background:var(--bg-elev); cursor:pointer; font-size:12px; color:var(--accent); text-align:center; }
      .swb-api-foot:hover { background: var(--bg-card); }

      /* Tabs */
      .swb-tabs { display:flex; gap:4px; border-bottom:1px solid var(--border); margin-bottom:16px; align-items:center; flex-wrap:wrap; }
      .swb-tab { padding:10px 16px; cursor:pointer; color: var(--text-faint); font-size:13px; border-bottom:2px solid transparent; margin-bottom:-1px; user-select:none; }
      .swb-tab:hover { color: var(--text); }
      .swb-tab.active { color: var(--text); border-bottom-color: var(--accent); font-weight:600; }
      .swb-tab-spacer { flex:1; }

      /* Filter chips */
      .swb-filters { display:flex; align-items:center; gap:6px; margin-bottom:14px; flex-wrap:wrap; }
      .swb-chip { padding:6px 14px; background: var(--bg-card); border:1px solid var(--border); border-radius:16px; font-size:12px; color:var(--text-faint); cursor:pointer; transition:0.15s; display:inline-flex; align-items:center; gap:6px; }
      .swb-chip:hover { color: var(--text); border-color: var(--border-strong, var(--border)); }
      .swb-chip.active { background: var(--accent); border-color: var(--accent); color:#0a0a0b; font-weight:600; }
      .swb-chip .swb-cnt { background: rgba(255,255,255,0.15); padding:1px 6px; border-radius:10px; font-size:10px; }
      .swb-chip.active .swb-cnt { background: rgba(0,0,0,0.2); }

      /* Kanban board */
      .swb-board { display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; min-height:520px; }
      .swb-col { background: var(--bg-card); border:1px solid var(--border); border-radius:var(--r-lg); display:flex; flex-direction:column; overflow:hidden; min-width:0; }
      .swb-col-head { padding:10px 12px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.8px; }
      .swb-col-title { display:flex; align-items:center; gap:8px; }
      .swb-col-title-en { font-size:11px; }
      .swb-col-title-ko { font-size:10px; color: var(--text-faint); font-weight:500; text-transform:none; letter-spacing:0; }
      .swb-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
      .swb-st-planning .swb-dot, .swb-pill.swb-st-planning .swb-dot { background: var(--swb-st-planning); }
      .swb-st-production .swb-dot, .swb-pill.swb-st-production .swb-dot { background: var(--swb-st-production); }
      .swb-st-review .swb-dot, .swb-pill.swb-st-review .swb-dot { background: var(--swb-st-review); }
      .swb-st-approved .swb-dot, .swb-pill.swb-st-approved .swb-dot { background: var(--swb-st-approved); }
      .swb-st-delivered .swb-dot, .swb-pill.swb-st-delivered .swb-dot { background: var(--swb-st-delivered); }
      .swb-col-cnt { background: var(--bg-elev); padding:2px 8px; border-radius:10px; font-size:11px; color: var(--text-faint); }
      .swb-col-body { flex:1; overflow-y:auto; padding:10px; display:flex; flex-direction:column; gap:8px; transition: 0.15s; max-height:calc(100vh - 360px); min-height:200px; }
      .swb-col-body.swb-drag-over { background: var(--accent-soft); }
      .swb-col-body:empty::after { content:'비어있음'; color: var(--text-faint); font-size:11px; text-align:center; padding:16px; font-style:italic; }

      .swb-card { background: var(--bg-elev); border:1px solid var(--border); border-radius:8px; overflow:hidden; cursor:pointer; transition:0.15s; }
      .swb-card:hover { border-color: var(--border-strong, var(--border)); transform: translateY(-1px); }
      .swb-card.swb-dragging { opacity:0.4; }
      .swb-thumb { height:72px; background: #0f0f15; position:relative; display:flex; align-items:center; justify-content:center; color: rgba(255,255,255,0.4); font-size:16px; }
      .swb-thumb.swb-empty { background: repeating-linear-gradient(45deg, var(--bg-card), var(--bg-card) 8px, var(--bg-elev) 8px, var(--bg-elev) 16px); }
      .swb-thumb.swb-blue { background: linear-gradient(135deg, #1a2540, #2a3a5a); }
      .swb-thumb.swb-warm { background: linear-gradient(135deg, #2a1f15, #3a2a1f); }
      .swb-thumb.swb-purple { background: linear-gradient(135deg, #2a1a3a, #3a2540); }
      .swb-thumb.swb-green { background: linear-gradient(135deg, #1a2a1f, #2a3a25); }
      .swb-thumb.swb-red { background: linear-gradient(135deg, #2a1518, #3a2025); }
      .swb-progress { position:absolute; bottom:0; left:0; right:0; height:3px; background: rgba(0,0,0,0.4); }
      .swb-progress-bar { height:100%; background: var(--swb-st-production); }
      .swb-info { padding:8px 10px; }
      .swb-code-row { display:flex; justify-content:space-between; font-size:11px; color:var(--text-faint); margin-bottom:3px; align-items:center; }
      .swb-card-title { font-size:13px; font-weight:500; margin-bottom:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
      .swb-meta { display:flex; gap:6px; align-items:center; font-size:11px; color:var(--text-faint); flex-wrap:wrap; }
      .swb-badge { background: var(--bg-card); padding:1px 6px; border-radius:4px; font-size:10px; }
      .swb-badge-warn { background: rgba(245,158,11,0.15); color: var(--swb-warning); }
      .swb-badge-danger { background: rgba(239,68,68,0.15); color: var(--swb-danger); }
      .swb-next { margin-top:8px; padding:5px 10px; background: var(--bg-card); border:1px solid var(--border); border-radius:14px; font-size:11px; color:var(--text-faint); display:inline-flex; align-items:center; gap:6px; line-height:1.2; }
      .swb-next.swb-tone-accent { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
      .swb-next.swb-tone-warn { border-color: var(--swb-warning); color: var(--swb-warning); background: rgba(245,158,11,0.08); }
      .swb-next.swb-tone-success { border-color: var(--swb-success); color: var(--swb-success); background: rgba(16,185,129,0.08); }
      .swb-next .swb-arrow { font-weight:700; }

      /* Overview cards */
      .swb-grid-2 { display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }
      .swb-grid-4 { display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; margin-bottom:18px; }
      .swb-stat-card { background: var(--bg-card); border:1px solid var(--border); border-radius: var(--r-lg); padding:16px 18px; }
      .swb-stat-num { font-size:24px; font-weight:800; color: var(--accent); font-family: var(--font-display); }
      .swb-stat-label { font-size:11px; color: var(--text-faint); text-transform:uppercase; letter-spacing:0.8px; margin-top:4px; }
      .swb-info-card { background: var(--bg-card); border:1px solid var(--border); border-radius: var(--r-lg); padding:18px 20px; }
      .swb-info-card h3 { font-size:14px; font-weight:700; margin:0 0 10px; color: var(--text); }
      .swb-info-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed var(--border); font-size:13px; }
      .swb-info-row:last-child { border-bottom:none; }
      .swb-info-row .lbl { color: var(--text-faint); }

      /* DB table */
      .swb-toolbar { display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
      .swb-view { display:inline-flex; background: var(--bg-card); border:1px solid var(--border); border-radius:8px; padding:2px; gap:2px; }
      .swb-view-btn { padding:5px 12px; font-size:12px; color:var(--text-faint); cursor:pointer; border-radius:6px; background:transparent; border:none; font-family:inherit; }
      .swb-view-btn:hover { color: var(--text); }
      .swb-view-btn.active { background: var(--accent); color:#0a0a0b; font-weight:600; }
      .swb-table-wrap { background: var(--bg-card); border:1px solid var(--border); border-radius: var(--r-lg); overflow:auto; }
      .swb-table { width:100%; border-collapse:collapse; font-size:13px; min-width:1100px; }
      .swb-table thead { background: var(--bg-elev); }
      .swb-table th { text-align:left; padding:10px 14px; font-size:11px; color:var(--text-faint); text-transform:uppercase; letter-spacing:0.5px; font-weight:600; border-bottom:1px solid var(--border); white-space:nowrap; }
      .swb-table td { padding:12px 14px; border-bottom:1px solid var(--border); white-space:nowrap; }
      .swb-table tbody tr { cursor:pointer; }
      .swb-table tbody tr:hover td { background: var(--bg-elev); }
      .swb-pill { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:12px; font-size:11px; background: var(--bg-elev); }
      .swb-pill .swb-dot { width:6px; height:6px; }
      .swb-api-tag { display:inline-flex; align-items:center; gap:6px; padding:3px 8px; background: var(--bg-elev); border:1px solid var(--border); border-radius:4px; font-size:11px; }
      .swb-api-tag.swb-workspace { border-color: var(--accent); color: var(--accent); }
      .swb-api-tag.swb-personal { border-color: var(--text-faint); color: var(--text-dim); }
      .swb-api-tag .swb-tiny { width:5px; height:5px; border-radius:50%; background: var(--swb-success); }

      /* Drawer */
      .swb-drawer-bd { position:fixed; inset:0; background: rgba(0,0,0,0.5); opacity:0; pointer-events:none; transition:0.2s; z-index:50; }
      .swb-drawer-bd.open { opacity:1; pointer-events:auto; }
      .swb-drawer { position:fixed; top:0; right:0; width:480px; max-width:92vw; height:100vh; background: var(--bg-card); border-left:1px solid var(--border); z-index:51; transform: translateX(100%); transition: 0.25s ease-out; display:flex; flex-direction:column; }
      .swb-drawer.open { transform: translateX(0); }
      .swb-drawer-head { padding:16px 20px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
      .swb-drawer-title { font-weight:600; font-size:15px; }
      .swb-drawer-title .swb-code { color:var(--text-faint); margin-right:8px; font-weight:400; font-family: ui-monospace, monospace; }
      .swb-drawer-body { flex:1; overflow-y:auto; padding:16px 20px; }
      .swb-drawer-foot { border-top:1px solid var(--border); background: var(--bg-elev); padding:12px 20px; display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }
      .swb-drawer-foot .swb-btn { flex:1; min-width: calc(50% - 4px); justify-content:center; }
      .swb-section { margin-bottom:22px; }
      .swb-section-t { font-size:11px; text-transform:uppercase; color:var(--text-faint); letter-spacing:0.8px; margin-bottom:8px; font-weight:600; }
      .swb-row-flex { display:flex; gap:12px; margin-bottom:14px; }
      .swb-field { flex:1; }
      .swb-field-l { font-size:11px; color: var(--text-faint); margin-bottom:4px; text-transform:uppercase; letter-spacing:0.5px; font-weight:600; }
      .swb-select { background: var(--bg-elev); border:1px solid var(--border); color: var(--text); padding:7px 10px; border-radius:6px; font-size:13px; width:100%; font-family:inherit; }
      .swb-prompt { background: var(--bg-elev); border:1px solid var(--border); border-radius:8px; padding:12px; font-size:12px; color: var(--text-dim); line-height:1.6; font-family: ui-monospace, monospace; }
      .swb-rights-row { padding:10px 0; border-bottom:1px dashed var(--border); font-size:12px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
      .swb-rights-row:last-child { border-bottom:none; }
      .swb-rights-l strong { color: var(--text); font-weight:500; display:block; font-size:12px; }
      .swb-rights-l .sub { font-size:10px; color:var(--text-faint); margin-top:2px; }
      .swb-rights-s { font-size:11px; padding:2px 10px; border-radius:10px; font-weight:600; white-space:nowrap; }
      .swb-rights-s.ok { background: rgba(16,185,129,0.15); color: var(--swb-success); }
      .swb-rights-s.pending { background: rgba(245,158,11,0.15); color: var(--swb-warning); }
      .swb-rights-s.missing { background: rgba(239,68,68,0.15); color: var(--swb-danger); }

      /* AI Producer */
      .swb-producer { position:fixed; bottom:24px; right:24px; width:320px; background: var(--bg-card); border:1px solid var(--border); border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,0.5); overflow:hidden; z-index:30; display:none; }
      .swb-producer.show { display:block; }
      .swb-producer.collapsed .swb-producer-body { display:none; }
      .swb-producer-head { padding:12px 14px; background: linear-gradient(135deg, rgba(255,107,63,0.15), var(--bg-elev)); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; cursor:pointer; }
      .swb-producer-title { font-size:13px; font-weight:600; }
      .swb-producer-body { max-height: 380px; overflow-y:auto; }
      .swb-producer-item { padding:12px 14px; font-size:12px; border-bottom:1px solid var(--border); }
      .swb-producer-item:last-child { border-bottom:none; }
      .swb-producer-it { font-weight:600; margin-bottom:4px; }
      .swb-producer-d { color: var(--text-faint); font-size:11px; margin-bottom:8px; line-height:1.5; }
      .swb-producer-act { display:flex; gap:6px; flex-wrap:wrap; }

      /* Delivery */
      .swb-delivery { background: var(--bg-card); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; }
      .swb-delivery-head { padding:18px 22px; border-bottom:1px solid var(--border); background: linear-gradient(135deg, rgba(255,107,63,0.08), var(--bg-card)); }
      .swb-delivery-head h3 { font-size:17px; font-weight:700; margin:0 0 5px; }
      .swb-delivery-head p { font-size:13px; color:var(--text-faint); margin:0; }
      .swb-checklist { padding:8px 22px; }
      .swb-check-item { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); }
      .swb-check-item:last-child { border-bottom:none; }
      .swb-check-icon { width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:12px; font-weight:700; }
      .swb-check-icon.ready, .swb-check-icon.included { background: rgba(16,185,129,0.15); color: var(--swb-success); }
      .swb-check-icon.missing { background: rgba(239,68,68,0.15); color: var(--swb-danger); }
      .swb-check-icon.review-needed { background: rgba(245,158,11,0.15); color: var(--swb-warning); }
      .swb-check-info { flex:1; }
      .swb-check-t { font-size:13px; font-weight:500; display:flex; align-items:center; gap:8px; }
      .swb-check-d { font-size:11px; color:var(--text-faint); margin-top:2px; }
      .swb-check-s { font-size:11px; padding:3px 10px; border-radius:10px; font-weight:600; white-space:nowrap; }
      .swb-check-s.ready, .swb-check-s.included { background: rgba(16,185,129,0.15); color: var(--swb-success); }
      .swb-check-s.missing { background: rgba(239,68,68,0.15); color: var(--swb-danger); }
      .swb-check-s.review-needed { background: rgba(245,158,11,0.15); color: var(--swb-warning); }
      .swb-plan-tag { font-size:9px; padding:1px 6px; border-radius:4px; background: var(--bg-elev); color: var(--text-faint); font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }
      .swb-delivery-foot { padding:14px 22px; border-top:1px solid var(--border); background: var(--bg-elev); display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }

      /* Modal (workbench scoped) */
      .swb-modal-bd { position:fixed; inset:0; background: rgba(0,0,0,0.7); backdrop-filter: blur(4px); z-index:200; display:none; align-items:center; justify-content:center; padding:20px; }
      .swb-modal-bd.open { display:flex; }
      .swb-modal { background: var(--bg-card); border:1px solid var(--border); border-radius:14px; width:460px; max-width:100%; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.6); max-height:90vh; display:flex; flex-direction:column; }
      .swb-modal-icon { height:80px; background: linear-gradient(135deg, rgba(255,107,63,0.15), var(--bg-elev)); display:flex; align-items:center; justify-content:center; font-size:32px; border-bottom:1px solid var(--border); }
      .swb-modal-body { padding:22px; overflow-y:auto; flex:1; }
      .swb-modal-title { font-size:18px; font-weight:700; margin-bottom:8px; }
      .swb-modal-text { color: var(--text-faint); font-size:13px; line-height:1.6; margin-bottom:16px; }
      .swb-modal-list { background: var(--bg-elev); border:1px solid var(--border); border-radius:8px; padding:12px 16px; margin-bottom:18px; }
      .swb-modal-li { font-size:12px; color:var(--text-faint); padding:4px 0; display:flex; gap:8px; }
      .swb-modal-li::before { content:'✓'; color: var(--accent); font-weight:700; }
      .swb-modal-actions { display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; }

      .swb-pt-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }
      .swb-pt-option { background: var(--bg-elev); border:2px solid var(--border); border-radius:10px; padding:16px 14px; cursor:pointer; transition:0.15s; position:relative; }
      .swb-pt-option:hover { border-color: var(--border-strong, var(--border)); }
      .swb-pt-option.selected { border-color: var(--accent); background: var(--accent-soft); }
      .swb-pt-option .ico { font-size:22px; margin-bottom:6px; }
      .swb-pt-option .nm { font-weight:700; font-size:13px; margin-bottom:3px; }
      .swb-pt-option .ds { font-size:11px; color:var(--text-faint); margin-bottom:6px; line-height:1.5; }
      .swb-pt-option .ft { font-size:10px; color:var(--text-faint); }
      .swb-pt-option .rec { position:absolute; top:6px; right:6px; background: var(--accent); color:#0a0a0b; font-size:9px; padding:2px 6px; border-radius:4px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; }

      /* Toast (workbench scoped) */
      .swb-toast-c { position:fixed; top:60px; right:24px; z-index:300; display:flex; flex-direction:column; gap:8px; pointer-events:none; }
      .swb-toast { background: var(--bg-card); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:8px; padding:10px 14px; font-size:13px; color: var(--text); box-shadow:0 8px 24px rgba(0,0,0,0.4); min-width:240px; max-width:360px; animation: swb-toast-in 0.2s ease-out; pointer-events:auto; }
      .swb-toast.success { border-left-color: var(--swb-success); }
      .swb-toast.warn { border-left-color: var(--swb-warning); }
      .swb-toast.danger { border-left-color: var(--swb-danger); }
      .swb-toast.info { border-left-color: var(--swb-info); }
      .swb-toast.fade-out { animation: swb-toast-out 0.2s ease-in forwards; }
      @keyframes swb-toast-in { from { transform: translateX(40px); opacity:0; } to { transform: translateX(0); opacity:1; } }
      @keyframes swb-toast-out { to { transform: translateX(40px); opacity:0; } }

      /* Mobile bottom tabs scoped to workbench */
      .swb-mobile-tabs { display:none; position:fixed; bottom:0; left:0; right:0; background: var(--bg-card); border-top:1px solid var(--border); z-index:40; padding:8px 0; }
      .swb-mobile-tabs-in { display:grid; grid-template-columns:repeat(5,1fr); gap:4px; }
      .swb-mobile-tab { text-align:center; padding:6px 4px; color: var(--text-faint); font-size:10px; cursor:pointer; }
      .swb-mobile-tab .ic { font-size:17px; display:block; margin-bottom:2px; }
      .swb-mobile-tab.active { color: var(--accent); }

      /* Responsive */
      @media (max-width: 1100px) {
        .swb-board { grid-template-columns: repeat(3, 1fr); min-height:auto; }
        .swb-grid-4 { grid-template-columns: repeat(2, 1fr); }
        .swb-producer { width:280px; }
      }
      @media (max-width: 800px) {
        .swb-board { grid-template-columns: 1fr; }
        .swb-grid-2, .swb-grid-4 { grid-template-columns: 1fr; }
        .swb-header { flex-direction: column; align-items: stretch; }
        .swb-actions { flex-wrap: wrap; }
        .swb-producer { width: calc(100vw - 28px); right:14px; bottom:76px; }
        .swb-pt-options { grid-template-columns: 1fr; }
        .swb-drawer { width: 100vw; }
        .swb-mobile-tabs { display: block; }
        .swb-page { padding-bottom: 80px; }
      }
    