/* Workspace Pro additions — same palette and radii as the original console */
@keyframes pro-spin{to{transform:rotate(360deg)}}
@keyframes pro-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
@keyframes pro-pulse{0%{box-shadow:0 0 0 0 #c2547a55}100%{box-shadow:0 0 0 14px #c2547a00}}
[data-lucide="loader-circle"],.lucide-loader-circle{animation:pro-spin 1s linear infinite}

.pro-drop{cursor:pointer;transition:background .15s,border-color .15s}
.pro-drop.over{background:#F1E9FA;border-color:#9F7FBE}
.pro-uploads{display:grid;gap:8px;margin-top:12px}
.pro-upload-row{display:grid;grid-template-columns:18px minmax(0,auto) 1fr;gap:10px;align-items:center;padding:10px 14px;border-radius:9px;background:#FAF8FD;border:1px solid #EEE7F5;font-size:12px;color:#6F6378}
.pro-upload-row svg{width:16px;height:16px}
.pro-upload-row small{color:#8B8193;font-size:11px}
.pro-upload-row.ok{background:#F0F8F2;border-color:#DFEDDF;color:#4F6F57}
.pro-upload-row.error{background:var(--red-bg);border-color:#F3DADD;color:var(--red)}

.pro-inline-form{display:flex;gap:10px}
.pro-inline-form .input{flex:1}
.pro-hits{display:grid;gap:10px;margin-top:14px}
.pro-hit{border:1px solid #EFE8F5;border-radius:9px;padding:10px 12px;background:#FDFBFF}
.pro-hit p{font-size:12px;color:#5F5468;margin-top:4px;white-space:pre-wrap;line-height:1.75;max-height:7.2em;overflow:hidden}
.pro-hit.small{margin-top:8px;padding:8px 10px}
.pro-score{float:right;color:#9C8BAC}
.pro-gap-list{display:grid;gap:8px}
.pro-gap{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;font-size:12px;padding:8px 0;border-bottom:1px solid #F2EDF6}
.pro-gap:last-child{border:0}
.pro-gap small{color:#9A8FA4}

.pro-doc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.pro-doc-head>div:first-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pro-chunks{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-right:4px}
.pro-chunk{border:1px solid #EDE6F3;border-radius:10px;padding:12px 14px;background:#fff}
.pro-chunk.held{background:#FAFAFB;border-style:dashed}
.pro-chunk.held .pro-chunk-text{color:#A19AA8}
.pro-chunk-top{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.pro-chunk-top>span:first-child{flex:1;min-width:0}
.pro-chunk-text{font-size:12.5px;line-height:1.8;color:#4F4657;white-space:pre-wrap;margin:0 0 6px}
.pro-chunk .textarea{margin-bottom:6px}
.pro-chunk .link{background:none;border:0;cursor:pointer;display:inline-flex;gap:4px;align-items:center;padding:0}
.pro-chunk .link svg{width:12px;height:12px}

.pro-file-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:6px}
.pro-file-list li{display:flex;gap:8px;align-items:center;font-size:12px;color:#6F6378}
.pro-file-list li svg{width:15px;height:15px}
.pro-file-list small{color:#9A8FA4}
.pro-check{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#6F6378;margin:12px 0;line-height:1.7;cursor:pointer}
.pro-check input{margin-top:4px;accent-color:#806295}
.pro-working{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:40px 20px;color:#7F698D}
.pro-working>svg{width:30px;height:30px}
.pro-working.small{padding:24px}
.pro-working p{max-width:420px;font-size:12px}

.pro-review-summary{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid #EFE8F5}
.pro-review-summary h3{font-size:18px;font-weight:500;margin:4px 0}
.pro-review-summary .actions{flex-wrap:wrap}
.pro-h3{font-size:13px;font-weight:600;color:#5E4E6B;margin:18px 0 10px}
.pro-rule-preview{display:grid;gap:8px}
.pro-rule-preview>div{border:1px solid #F4E9D4;background:#FFFBF2;border-radius:9px;padding:10px 12px;display:grid;gap:3px}
.pro-rule-preview p{font-size:12px;color:#7B6A4B;margin:0}
.pro-review-block{border-radius:9px;padding:10px 14px;margin-bottom:10px;font-size:12px;border:1px solid #EAE5F0;background:#FAF8FD;color:#6F6378}
.pro-review-block h3{font-size:12px;font-weight:600;display:flex;gap:6px;align-items:center;margin-bottom:6px}
.pro-review-block h3 svg{width:14px;height:14px}
.pro-review-block ul{padding-left:18px;margin:0;line-height:1.8}
.pro-review-block.warning{background:#FFF8EB;border-color:#F4E9D4;color:#8A6A2F}
.pro-review-block.danger{background:var(--red-bg);border-color:#F3DADD;color:#9A4750}

.ag-chat-line.ai[data-turn]{cursor:pointer}
.ag-chat-line.pro-selected p{box-shadow:0 0 0 2px #D9C9EA}
.ag-chat-line small .badge{margin-left:4px;vertical-align:1px}
.pro-typing p{display:inline-flex;gap:5px;padding:16px 18px}
.pro-typing i{width:6px;height:6px;border-radius:50%;background:#A58EBB;animation:pro-blink 1.2s infinite}
.pro-typing i:nth-child(2){animation-delay:.2s}.pro-typing i:nth-child(3){animation-delay:.4s}
.pro-cases{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.pro-case{border:1px solid #E6DCEE;background:#fff;color:#7A6488;border-radius:99px;padding:4px 10px;font-size:11px;cursor:pointer;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pro-case:hover{background:#F6F0FB}
.pro-trace{display:grid;gap:12px}
.pro-trace-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;font-size:12px}
.pro-trace-icon{width:28px;height:28px;border-radius:8px;background:#F2ECF9;color:#836A95;display:grid;place-items:center}
.pro-trace-icon svg{width:14px;height:14px}
.pro-trace-step b{font-size:12px;color:#5E4E6B}
.pro-trace-step p{margin:2px 0 0;color:#776184;line-height:1.7;overflow-wrap:anywhere}
.pro-trace-step details{margin-top:4px}
.pro-trace-step summary{cursor:pointer;color:#8B7799}
.pro-problems{margin:4px 0 0;padding-left:16px;color:var(--red)}
.pro-summary{border-color:#DCCDEB}
.pro-summary .panel-body>p{font-size:13px;line-height:1.85;color:#4F4657;margin-bottom:12px}
.pro-fields dd .badge{margin-left:4px}
.pro-evidence{display:block;color:#9A8FA4;font-size:11px;margin-top:2px}
.pro-summary .notice{margin-top:10px}
.pro-clip{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.pro-voice-note{margin-top:12px}
.pro-toggle-row{display:flex;gap:14px;align-items:flex-start;padding:4px 0 18px;border-bottom:1px solid #F2EDF6;margin-bottom:18px}
.pro-toggle-row b{font-size:13px;color:#5E4E6B}
.pro-sub{margin-top:22px}
.pro-sub h3{font-size:14px;font-weight:600;color:#5E4E6B}
.pro-rule{border:1px solid #EFE8F5;border-radius:11px;padding:14px 16px 10px;margin-top:12px;background:#FDFBFF}
.pro-rule .field{margin-bottom:10px}
.pro-rules-empty{margin-top:10px}

.pro-voice-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.pro-voice-tips ol{padding-left:18px;display:grid;gap:12px;font-size:12px;color:#7A6D81;line-height:1.75}
.pro-voice-tips b{display:block;color:#5E4E6B;font-size:12.5px}
.pro-voice-grid{display:grid;gap:12px}
.pro-voice-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center;border:1px solid #E7E1EF;border-radius:13px;padding:14px 16px}
.pro-voice-card .ag-voice-orb{width:52px;height:52px;margin:0}
.pro-voice-copy{display:grid;gap:2px}
.pro-voice-copy strong{font-size:16px;font-weight:500;color:#51425D}
.pro-voice-copy svg{width:12px;height:12px;vertical-align:-1px}
.pro-voice-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pro-voice-actions .ag-voice-preview{margin:0}
.pro-voice-actions .btn{margin-left:auto}
.pro-preset-list{display:grid;gap:6px}
.pro-preset{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #F2EDF6;font-size:13px;color:#5E4E6B}
.pro-preset:last-child{border:0}
.pro-preset span svg{width:14px;height:14px;vertical-align:-2px;color:#9C8BAC}
.pro-preset .ag-voice-preview{margin:0}

.pro-steps{display:flex;gap:8px;margin-bottom:16px}
.pro-steps span{flex:1;text-align:center;font-size:11px;padding:6px;border-radius:7px;background:#F4F2F6;color:#9A93A3}
.pro-steps span.active{background:var(--purple);color:var(--purple-ink);font-weight:600}
.pro-steps span.done{background:var(--green-bg);color:var(--green)}
.pro-script{margin:12px 0 16px;padding:14px 16px;border-left:3px solid #C7B2DC;background:#FAF7FD;border-radius:0 9px 9px 0;font-size:14px;line-height:1.9;color:#51425D}
.pro-recorder{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid #EDE6F3;border-radius:12px}
.pro-recorder>div{flex:1;display:grid;gap:6px}
.pro-rec-btn{width:54px;height:54px;border-radius:50%;border:0;background:#806295;color:#fff;display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.pro-rec-btn svg{width:22px;height:22px}
.pro-rec-btn.recording{background:#C2547A;animation:pro-pulse 1.2s infinite}
.pro-meter{height:6px;border-radius:6px;background:#F1ECF6;overflow:hidden}
.pro-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#B49BCB,#806295);transition:width .08s}
.pro-or{text-align:center;color:#A39BAA;font-size:11px;margin:12px 0}
.pro-or+label.btn{display:flex;justify-content:center;cursor:pointer}
.pro-quality{display:grid;gap:6px;margin:16px 0 12px}
.pro-q{display:grid;grid-template-columns:18px 56px 1fr;gap:8px;align-items:center;font-size:12px;padding:7px 10px;border-radius:8px;background:#F0F8F2;color:#4F6F57}
.pro-q svg{width:15px;height:15px}
.pro-q.warn{background:#FFF8EB;color:#8A6A2F}
.pro-q.fail{background:var(--red-bg);color:var(--red)}
.pro-audio{width:100%;margin:4px 0 8px}
.pro-created{text-align:center;padding:10px 0 16px;color:#57765E}
.pro-created>svg{width:34px;height:34px}
.pro-created h3{font-size:16px;margin:8px 0 4px;color:#4F4657}
.pro-sample-list{display:grid;gap:8px}
.pro-sample{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 14px;border:1px solid #EDE6F3;border-radius:10px;font-size:13px;color:#51425D}
.pro-sample .ag-voice-preview{margin:0;flex-shrink:0}

@media (max-width:980px){.pro-voice-layout{grid-template-columns:1fr}}
@media (max-width:760px){.pro-inline-form{flex-direction:column}.pro-gap{grid-template-columns:1fr auto}.pro-gap .btn{grid-column:1/-1}}

.pro-login-lang{position:absolute;top:24px;right:28px}
.login-form-wrap{position:relative}
[data-lang-switch]{cursor:pointer}

.direction.test{color:#806295}

/* flow canvas: auto layout + insert */
.ag-node-select{cursor:pointer}
.ag-node-insert{position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;border:1px solid #CDB9DD;background:#fff;color:#806295;display:grid;place-items:center;cursor:pointer;z-index:2;box-shadow:0 1px 3px #36204414;opacity:.75;transition:opacity .15s,background .15s}
.ag-node-insert svg{width:13px;height:13px}
.ag-node:hover .ag-node-insert,.ag-node.selected .ag-node-insert{opacity:1}
.ag-node-insert:hover{background:#806295;color:#fff}
.ag-node-ports .ag-failure-port{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pro-insert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pro-insert-type{display:grid;grid-template-columns:22px 1fr;gap:2px 10px;align-items:center;text-align:left;border:1px solid #E6DCEE;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;color:#51425D}
.pro-insert-type:hover{background:#FAF6FD;border-color:#BFA8D4}
.pro-insert-type svg{width:17px;height:17px;grid-row:span 2;color:#806295}
.pro-insert-type b{font-size:13px;font-weight:600}.pro-insert-type small{font-size:11px;color:#8B7F96}

/* ---------- horizontal flow builder ---------- */
.fb-layer{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #DCCFEA;border-left:4px solid #806295;border-radius:11px;padding:9px 14px;margin:0 0 12px;font-size:12px;flex-wrap:wrap}
.fb-layer b{font-size:13px;color:#51425D}.fb-layer .sp,.fb-side-head .sp,.fb-kb-head .sp,.fb-col-top .sp,.fb-test-actions .sp{flex:1}
.fb-layer-icon svg{width:16px;height:16px;color:#806295}
.fb-layer-chips{display:flex;gap:5px;flex-wrap:wrap}
.fb-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:stretch}
.fb-canvas-wrap{position:relative;background:#fff;border:1px solid #E6E0ED;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:640px}
.fb-viewport{flex:1;overflow:auto;background:radial-gradient(#E3DBEC 1px,transparent 1px) 0 0/18px 18px;cursor:grab;max-height:680px}
.fb-viewport.panning{cursor:grabbing}
.fb-sizer{position:relative}.fb-plane{position:absolute;left:0;top:0;transform-origin:0 0}
.fb-edges{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.fb-edge{fill:none;stroke:#C2B3D4;stroke-width:1.8}.fb-edge.back{stroke-dasharray:5 5}
.fb-route{position:absolute;z-index:2;background:#FFF4DF;color:#966B23;border:1px solid #F1E2C2;border-radius:99px;padding:1px 9px;font-size:11px;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.fb-card{position:absolute;z-index:3;background:#fff;border:1px solid #DAD0E6;border-radius:12px;padding:10px 12px 10px;box-shadow:0 2px 6px #36204410;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.fb-card:hover{border-color:#B9A3D0}
.fb-card.sel{border-color:#806295;box-shadow:0 0 0 3px #E9DFF5}
.fb-card.live{border-color:#2B7358;box-shadow:0 0 0 4px #CDEBD8}
.fb-card.live:after{content:'会話中';position:absolute;top:-10px;left:10px;background:#2B7358;color:#fff;border-radius:99px;font-size:10px;padding:0 8px}
.fb-card.t-end{background:#F2F9F4;border-color:#CFE6D6}.fb-card.t-handoff{background:#FFFAF0;border-color:#F1E2C2}.fb-card.t-knowledge{background:#FBF8FF;border-color:#D3C0E5}.fb-card.t-branch{border-style:dashed}
.fb-type{display:flex;align-items:center;gap:5px;font-size:10.5px;color:#806295}.fb-type svg{width:13px;height:13px}
.fb-card b{display:block;font-size:13px;margin:5px 0 3px;color:#3F3349;line-height:1.45}
.fb-card p{font-size:11px;color:#7A6E83;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fb-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.fb-chip{display:inline-flex;align-items:center;gap:3px;border-radius:6px;padding:1px 6px;font-size:10.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fb-chip svg{width:10px;height:10px;flex:none}
.fb-chip.kb{background:#F1EAFA;color:#71569B}.fb-chip.tool{background:#EAF5EE;color:#2B7358}.fb-chip.fail{background:#FCEFF0;color:#B2525B}
.fb-gap{position:absolute;top:-8px;right:-7px;min-width:20px;height:20px;border-radius:99px;background:#B2525B;color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px}
.fb-plus{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:1px solid #CDB9DD;background:#fff;color:#806295;display:grid;place-items:center;cursor:pointer;z-index:4;box-shadow:0 1px 3px #36204414}
.fb-plus svg{width:13px;height:13px}.fb-plus:hover{background:#806295;color:#fff}
.fb-side{padding:14px 16px;max-height:740px;overflow:auto}
.fb-side-head{display:flex;align-items:center;gap:6px;margin-bottom:10px}.fb-side-head b{display:flex;align-items:center;gap:6px;font-size:14px}.fb-side-head svg{width:16px;height:16px}
.fb-form .field{margin-bottom:10px}
.fb-sec{border-top:1px solid #F0EBF5;padding-top:10px;margin-top:4px}
.fb-sec-title{font-size:12px;font-weight:600;color:#5E4E6B;margin-bottom:8px;display:flex;align-items:center;gap:5px}.fb-sec-title svg{width:13px;height:13px}
.fb-route-row{display:grid;grid-template-columns:1fr 14px 1fr 28px;gap:5px;align-items:center;margin-bottom:6px}
.fb-route-row .input,.fb-route-row .select{font-size:12px;padding:6px 8px}
.fb-sec .link{background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:0}.fb-sec .link svg{width:12px;height:12px}
.fb-cols{display:flex;flex-wrap:wrap;gap:6px}
.fb-col{display:inline-flex;align-items:center;gap:5px;border:1px solid #E3DCEE;border-radius:99px;padding:3px 10px;font-size:12px;cursor:pointer}
.fb-col input{accent-color:#806295}
.fb-try{display:flex;gap:6px;margin-top:10px}.fb-try .input{flex:1}
.fb-form-foot{position:sticky;bottom:-14px;background:#fff;padding:10px 0 2px;margin-top:8px;border-top:1px solid #F0EBF5;display:flex;justify-content:flex-end}
.fb-kb{position:absolute;left:0;top:0;bottom:0;width:400px;z-index:6;background:#fff;border-right:1px solid #E3DCEE;box-shadow:10px 0 30px #2A1D3A22;padding:14px 16px;overflow:auto}
.fb-kb-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.fb-kb-head h3{font-size:16px}
.fb-drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px dashed #CDB9DD;border-radius:11px;background:#FAF6FD;color:#806295;padding:12px;font-size:12px;cursor:pointer;text-align:center;margin-bottom:10px}
.fb-drop span{font-size:11px;color:#8B7F96}.fb-drop svg{width:18px;height:18px}
.fb-drop.over,.fb-col-card.over{background:#F1E9FA;border-color:#9F7FBE}
.fb-col-card{border:1px solid #E3DCEE;border-radius:11px;padding:10px 12px;margin-bottom:8px}
.fb-col-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}.fb-col-top b{display:flex;align-items:center;gap:5px;font-size:13px}.fb-col-top b svg{width:14px;height:14px;color:#806295}
.fb-col-top label{cursor:pointer}
.fb-doc{display:grid;grid-template-columns:1fr auto 108px;gap:6px;align-items:center;font-size:11.5px;color:#5D5766;padding:5px 0;border-top:1px dashed #F0EBF5;margin-top:5px}
.fb-doc span{display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-doc svg{width:12px;height:12px;flex:none}.fb-doc small{color:#9A90A5}
.fb-move{font-size:11px;padding:3px 6px}
.fb-gaps{background:#FFF8EB;border:1px solid #F1E2C2;border-radius:11px;padding:10px 12px;margin:10px 0;font-size:12px;color:#7A5C26}
.fb-gaps b{display:flex;align-items:center;gap:5px;margin-bottom:6px}.fb-gaps b svg{width:14px;height:14px}
.fb-gaps>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:5px 0;border-top:1px dashed #F1E2C2}.fb-gaps small{color:#9A8255;grid-column:1}.fb-gaps .link{grid-row:1/3;grid-column:2;background:none;border:0;cursor:pointer;color:#806295}
.fb-test-start{display:grid;gap:12px}
.fb-chat{background:#F7F4FB;border-radius:12px;padding:12px;height:440px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.fb-msg{max-width:88%}.fb-msg p{border-radius:12px;padding:8px 11px;font-size:12.5px;line-height:1.75;margin:0}
.fb-msg.ai p{background:#fff;border:1px solid #E6DEF0;color:#4F4657;border-top-left-radius:3px}
.fb-msg.cu{align-self:flex-end}.fb-msg.cu p{background:#806295;color:#fff;border-top-right-radius:3px}
.fb-msg small{display:block;font-size:10.5px;color:#9A8FA4;margin:3px 4px 0}
.fb-msg.pro-typing p{display:inline-flex;gap:5px;padding:12px 14px}
.fb-compose{display:grid;grid-template-columns:40px 1fr 40px;gap:6px;align-items:end;margin-top:10px}
.fb-compose .textarea{min-height:40px;resize:none}
.fb-mic{width:40px;height:40px;border-radius:50%;border:0;background:#806295;color:#fff;display:grid;place-items:center;cursor:pointer}
.fb-mic svg{width:17px;height:17px}.fb-mic.rec{background:#C2547A;animation:pro-pulse 1.2s infinite}
.fb-test-actions{display:flex;align-items:center;gap:6px;margin-top:8px}
.fb-speak{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:#6E6878;cursor:pointer}.fb-speak svg{width:13px;height:13px}.fb-speak input{accent-color:#806295}
.fb-sum{margin-top:10px;border:1px solid #DCCDEB;border-radius:11px;padding:10px 12px;display:grid;gap:6px;font-size:12.5px;color:#4F4657;line-height:1.7}
.fb-sum small{color:#74717E}
@media (max-width:1180px){.fb-body{grid-template-columns:1fr}.fb-side{max-height:none}}
.fb-status:empty{display:none}.fb-status{padding:4px 2px 0;line-height:1.5}
.fb-chip.kb.soft{background:#F6F2FA;color:#9A8AAB;border:1px dashed #DCCFEA}
.fb-card.drop{border-color:#806295;box-shadow:0 0 0 4px #E2D3F2;background:#FBF8FF}
.fb-col-card[draggable=true]{cursor:grab}
.fb-cite{display:flex;gap:4px;align-items:flex-start;margin-top:4px;font-size:11px;color:#6E5585;background:#F4EEFA;border-radius:6px;padding:3px 7px;line-height:1.5}.fb-cite svg{width:12px;height:12px;flex:none;margin-top:2px}
.fb-mode{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding-left:12px;border-left:1px solid #E6DDF0;font-size:12px;color:#51425D}.fb-mode b{color:#6E5585}
.fb-modes{display:grid;gap:6px;margin:6px 0}.fb-mode-opt{display:grid;grid-template-columns:18px 1fr;gap:2px 6px;align-items:center;border:1px solid #E6DDF0;border-radius:10px;padding:8px 10px;cursor:pointer}.fb-mode-opt small{grid-column:2;color:#7A6E83;font-size:11px}.fb-mode-opt:has(input:checked){border-color:#806295;background:#FBF8FF}
details.fb-extra>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}details.fb-extra>summary::-webkit-details-marker{display:none}details.fb-extra>summary:after{content:'▸';margin-left:auto;color:#9A8AAB}details.fb-extra[open]>summary:after{content:'▾'}
.fb-general{font-style:normal;color:#8A6D2F}
.fb-as-chat{height:470px}.fb-as-intro p{font-size:12.5px;line-height:1.75;color:#4F4657;margin:0 0 8px}.fb-as-sugg{display:flex;flex-direction:column;gap:6px;margin-top:8px}.fb-as-sugg .pro-case{text-align:left;white-space:normal;line-height:1.5}
.fb-as-sys{display:flex;gap:6px;align-items:flex-start;font-size:11.5px;color:#6E6378;background:#EFEAF5;border-radius:8px;padding:6px 9px;line-height:1.55}.fb-as-sys svg{width:14px;height:14px;flex:none;margin-top:2px}
.fb-as-ops{margin-top:6px;background:#fff;border:1px solid #D9CBEA;border-radius:10px;padding:8px 10px;font-size:12px}.fb-as-ops b{display:flex;gap:5px;align-items:center;color:#5B4470;font-size:12px}.fb-as-ops b svg{width:14px;height:14px}.fb-as-ops ol{margin:6px 0 0;padding-left:18px;color:#4F4657;line-height:1.65}.fb-as-ops ol li{margin-bottom:3px}.fb-as-ops.skipped,.fb-as-ops.undone{opacity:.6}
.fb-as-act{display:flex;gap:6px;align-items:center;margin-top:8px}
.fb-as-compose{grid-template-columns:36px 1fr 40px}.fb-as-attach{height:40px;cursor:pointer}
#fb-side.over{outline:2px dashed #806295;outline-offset:-4px}
.fb-msg.ai{max-width:96%}
.fb-tags{display:flex;flex-wrap:wrap;gap:5px;align-items:center;border:1px solid var(--line,#E2DAEC);border-radius:10px;padding:6px 8px;min-height:40px;background:#fff;cursor:text}
.fb-tag{display:inline-flex;align-items:center;gap:3px;background:#F1EAF8;color:#5B4470;border-radius:6px;padding:2px 4px 2px 8px;font-size:12px}.fb-tag button{border:0;background:none;color:#9A8AAB;cursor:pointer;font-size:13px;line-height:1;padding:0 3px}
.fb-tag-input{border:0;outline:0;flex:1;min-width:120px;font-size:12.5px;padding:3px 2px;background:transparent}
.fb-rt{border:1px solid #ECE5F3;border-radius:10px;padding:8px;margin-bottom:8px;background:#FCFAFE}.fb-rt-top{display:grid;grid-template-columns:1fr 28px;gap:4px}.fb-rt-top .input{font-size:12.5px;padding:6px 8px}
.fb-dest{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 3px}.fb-dest-btn{display:inline-flex;align-items:center;gap:3px;border:1px solid #DED3EA;background:#fff;border-radius:99px;padding:3px 9px;font-size:11.5px;color:#5E4E6B;cursor:pointer}.fb-dest-btn svg{width:12px;height:12px}.fb-dest-btn.on{background:#806295;border-color:#806295;color:#fff}
.fb-dest-other{width:auto;font-size:11.5px;padding:3px 8px;border-radius:99px;height:auto}.fb-dest-other.on{border-color:#806295;color:#5B4470;font-weight:600}
.fb-warn{color:#C2547A}.fb-fail{margin:4px 0 10px;font-size:12.5px}.fb-saved{color:#3E8A67}
.fb-orphans{display:flex;align-items:center;gap:10px;background:#FFF6F3;border:1px solid #F2D6CC;border-radius:10px;padding:8px 12px;margin:-4px 0 12px;font-size:12.5px;color:#7A4B3E}.fb-orphans>svg{width:16px;height:16px;flex:none}.fb-orphans span:first-of-type{flex:1}
.fb-card[draggable=true]{cursor:grab}.fb-card.dragging{opacity:.45}.fb-card.drop-after{box-shadow:6px 0 0 0 #806295,0 0 0 3px #E2D3F2}
.fb-stale{display:flex;gap:8px;align-items:center;background:#FFF8EC;border:1px solid #F0DDB8;border-radius:10px;padding:7px 10px;margin-bottom:8px;font-size:12px;color:#7A5A22}.fb-stale svg{width:14px;height:14px;flex:none}.fb-stale span{flex:1}
.fb-tidy-list{margin:0 0 10px;padding-left:18px;line-height:1.8;font-size:13px}
.fb-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 32px;gap:10px;align-items:stretch;margin:0 0 12px}.fb-guide-step{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #E6DDF0;border-radius:12px;padding:10px 12px}.fb-guide-step b{display:block;font-size:13px;color:#3F3349}.fb-guide-step small{display:block;font-size:11px;color:#7A6E83;line-height:1.5;margin-top:2px}
.fb-guide-n{width:28px;height:28px;border-radius:50%;background:#F1EAF8;color:#6E5585;display:grid;place-items:center;font-weight:700;font-size:13px}.fb-guide-step.done{background:#F6FBF8;border-color:#D4EADD}.fb-guide-step.done .fb-guide-n{background:#3E8A67;color:#fff}.fb-guide-n svg{width:15px;height:15px}.fb-guide-x{align-self:start}
@media (max-width:1100px){.fb-guide{grid-template-columns:1fr}}
.fb-card-act{position:absolute;top:6px;right:6px;display:flex;gap:2px;opacity:0;transition:opacity .15s;z-index:5}.fb-card:hover .fb-card-act,.fb-card.sel .fb-card-act{opacity:1}
.fb-act{width:24px;height:24px;border-radius:6px;border:1px solid #E6DDF0;background:#fff;color:#7A6E83;display:grid;place-items:center;cursor:pointer}.fb-act svg{width:13px;height:13px}.fb-act:hover{color:#5B4470;border-color:#B9A3D0}.fb-act[data-fb-act=del]:hover{color:#C2547A;border-color:#E9B8C8}
.fb-card b[contenteditable=true]{outline:2px solid #B9A3D0;border-radius:4px;padding:0 3px;background:#FBF8FF;cursor:text}
.fb-pop{position:fixed;z-index:80;width:340px;background:#fff;border:1px solid #DED3EA;border-radius:14px;box-shadow:0 14px 40px #2a1f3530;padding:12px}
.fb-pop-head{font-size:12px;color:#7A6E83;margin-bottom:8px}
.fb-pop-ai{display:grid;grid-template-columns:20px 1fr auto;gap:6px;align-items:center;margin-bottom:10px}.fb-pop-ai>span svg{width:16px;height:16px;color:#806295}.fb-pop-ai .input{font-size:12.5px;padding:7px 9px}
.fb-pop-types{display:grid;grid-template-columns:1fr 1fr;gap:6px}.fb-pop-types button{display:grid;grid-template-columns:18px 1fr;gap:1px 6px;text-align:left;border:1px solid #ECE5F3;background:#FCFAFE;border-radius:10px;padding:8px;cursor:pointer}.fb-pop-types button:hover{border-color:#806295;background:#F6F0FC}.fb-pop-types svg{width:15px;height:15px;color:#806295;grid-row:1/3;margin-top:2px}.fb-pop-types b{font-size:12.5px;color:#3F3349}.fb-pop-types small{font-size:10.5px;color:#8A7F93;line-height:1.4}
.fb-undo-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:12px;background:#2E2536;color:#fff;border-radius:12px;padding:8px 10px 8px 16px;font-size:13px;box-shadow:0 10px 30px #0003}.fb-undo-toast .btn{background:#fff;color:#2E2536}
