/* Profiles + Builder — Day 7 */

/* =========== #profiles (list) =========== */
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:16px}

.pf-card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:18px;transition:all .12s;position:relative}
.pf-card:hover{border-color:#10B981;box-shadow:0 4px 20px rgba(16,185,129,.1)}
.pf-card.inactive{opacity:.6}
.pf-card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pf-card-emoji{font-size:28px}
.pf-card-title{flex:1;font-size:16px;font-weight:700;color:#1A1A2E;line-height:1.2}
.pf-card-stats{display:flex;gap:10px;margin-bottom:10px;font-size:11px;color:#6B7280}
.pf-card-stats b{color:#1A1A2E;font-size:13px;font-weight:700;display:block}
.pf-card-channels{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}
.pf-chan{font-size:10px;padding:2px 7px;border-radius:4px;background:#F3F4F6;color:#6B7280;font-weight:500}
.pf-chan.on{background:#D1FAE5;color:#065F46}
.pf-card-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #E5E7EB}

.pf-btn{padding:6px 12px;border:1px solid #E5E7EB;background:#fff;border-radius:7px;font-size:12px;color:#4B5563;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px;font-weight:500;transition:all .12s;text-decoration:none}
.pf-btn:hover{background:#F3F4F6;border-color:#D1D5DB}
.pf-btn.primary{background:#0D503C;color:#fff;border-color:#0D503C}
.pf-btn.primary:hover{background:#0a3f2e}
.pf-btn.danger{color:#DC2626;border-color:#FCA5A5}
.pf-btn.danger:hover{background:#FEE2E2}
.pf-btn.small{padding:4px 9px;font-size:11px}

.pf-empty{background:#fff;border:1px dashed #D1D5DB;border-radius:12px;padding:48px 24px;text-align:center;color:#6B7280}
.pf-empty .icon{font-size:42px;margin-bottom:10px}
.pf-empty p{margin:8px 0 16px}

/* =========== #builder =========== */
.bld{display:grid;grid-template-columns:1fr 280px;gap:16px;padding-bottom:40px}
@media(max-width:1100px){.bld{grid-template-columns:1fr}}

.bld-main{min-width:0}

.bld-head{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:16px 18px;margin-bottom:14px}
.bld-head-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bld-emoji-input{width:52px;height:52px;font-size:28px;text-align:center;border:1px solid #E5E7EB;border-radius:10px;outline:none;font-family:inherit;cursor:pointer;background:#F9FAFB}
.bld-emoji-input:focus{border-color:#10B981}
.bld-name-input{flex:1;padding:11px 14px;font-size:18px;font-weight:700;border:1px solid #E5E7EB;border-radius:10px;outline:none;font-family:inherit;color:#1A1A2E}
.bld-name-input:focus{border-color:#10B981}
.bld-ai-input{width:100%;padding:10px 12px;font-size:13px;border:1px solid #E5E7EB;border-radius:8px;outline:none;font-family:inherit;resize:vertical;min-height:60px;line-height:1.5}
.bld-ai-input:focus{border-color:#10B981}
.bld-ai-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#6B7280;font-weight:700;margin-bottom:6px;display:block}

.bld-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.bld-meta-chip{padding:5px 10px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:20px;font-size:11px;color:#4B5563;display:flex;align-items:center;gap:4px}
.bld-meta-chip b{color:#1A1A2E;font-weight:600}
.bld-meta-chip select{border:none;background:transparent;font-size:11px;color:#0D503C;font-weight:600;cursor:pointer;font-family:inherit;outline:none}

.bld-blocks{display:flex;flex-direction:column;gap:10px}

.bld-block{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:14px 16px;cursor:grab;transition:all .12s;position:relative}
.bld-block:hover{border-color:#D1D5DB}
.bld-block.dragging{opacity:.4}
.bld-block.drag-over{border-color:#10B981;box-shadow:0 0 0 2px #D1FAE5}
.bld-block-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bld-block-handle{color:#9CA3AF;font-size:16px;cursor:grab}
.bld-block-emoji{font-size:22px}
.bld-block-title-input{flex:1;padding:6px 10px;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:6px;outline:none;font-family:inherit;background:transparent;color:#1A1A2E}
.bld-block-title-input:hover,.bld-block-title-input:focus{border-color:#E5E7EB;background:#F9FAFB}

.bld-block-cat{font-size:11px;padding:3px 8px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:#F3F4F6;color:#6B7280}
.bld-block-cat.cat-legal{background:#FEF3C7;color:#92400E}
.bld-block-cat.cat-energy{background:#FEF3C7;color:#B45309}
.bld-block-cat.cat-market{background:#DBEAFE;color:#1E40AF}
.bld-block-cat.cat-world{background:#E9D5FF;color:#6B21A8}
.bld-block-cat.cat-finance{background:#D1FAE5;color:#065F46}
.bld-block-cat.cat-media{background:#F3F4F6;color:#4B5563}

.bld-block-delete{width:26px;height:26px;border:none;background:transparent;color:#9CA3AF;cursor:pointer;border-radius:6px;font-size:14px}
.bld-block-delete:hover{background:#FEE2E2;color:#DC2626}

.bld-block-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;min-height:28px;padding:6px;background:#F9FAFB;border:1px dashed #E5E7EB;border-radius:7px}
.bld-tag-chip{padding:3px 9px;background:#fff;border:1px solid #E5E7EB;border-radius:14px;font-size:11px;color:#4B5563;display:inline-flex;align-items:center;gap:5px;cursor:default}
.bld-tag-chip-rm{cursor:pointer;color:#9CA3AF;font-weight:700;padding:0 2px;border-radius:50%}
.bld-tag-chip-rm:hover{background:#FEE2E2;color:#DC2626}
.bld-tag-empty{color:#9CA3AF;font-size:11px;font-style:italic;padding:4px 6px}

.bld-block-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bld-ctrl{display:flex;flex-direction:column;gap:3px}
.bld-ctrl label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#6B7280;font-weight:700}
.bld-ctrl select,.bld-ctrl input{padding:6px 8px;font-size:12px;border:1px solid #E5E7EB;border-radius:6px;outline:none;font-family:inherit;background:#fff}
.bld-ctrl select:focus,.bld-ctrl input:focus{border-color:#10B981}
.bld-ctrl .range{display:flex;align-items:center;gap:6px}
.bld-ctrl input[type=range]{flex:1}
.bld-ctrl .range-val{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#1A1A2E;min-width:26px;text-align:right;font-weight:600}

.bld-add-block{background:#fff;border:2px dashed #D1D5DB;border-radius:12px;padding:16px;text-align:center;cursor:pointer;color:#6B7280;font-size:13px;font-weight:500;transition:all .12s;font-family:inherit;width:100%}
.bld-add-block:hover{border-color:#10B981;color:#0D503C;background:#ECFDF5}

/* Library sidebar */
.bld-lib{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:16px;height:fit-content;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto}
.bld-lib h3{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#6B7280;font-weight:700;margin:0 0 8px}
.bld-lib h3:not(:first-child){margin-top:16px;padding-top:12px;border-top:1px solid #E5E7EB}
.bld-lib-search{width:100%;padding:7px 10px;border:1px solid #E5E7EB;border-radius:7px;font-size:12px;outline:none;font-family:inherit;margin-bottom:10px}
.bld-lib-search:focus{border-color:#10B981}

.bld-lib-cats{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.bld-lib-cat{padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12px;color:#4B5563;display:flex;align-items:center;gap:6px;transition:all .1s}
.bld-lib-cat:hover{background:#F3F4F6}
.bld-lib-cat.active{background:#ECFDF5;color:#0D503C;font-weight:600}
.bld-lib-cat .cnt{margin-left:auto;font-size:10px;color:#9CA3AF}

.bld-lib-tags{display:flex;flex-wrap:wrap;gap:4px;max-height:400px;overflow-y:auto;padding-right:4px}
.bld-lib-tag{padding:3px 8px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:12px;font-size:11px;color:#4B5563;cursor:pointer;transition:all .12s;font-weight:500}
.bld-lib-tag:hover{background:#10B981;color:#fff;border-color:#10B981}
.bld-lib-tag.already{opacity:.35;cursor:default}

.bld-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #E5E7EB;padding:12px 18px;margin-top:14px;border-radius:0 0 12px 12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;box-shadow:0 -4px 20px rgba(0,0,0,.04);margin-left:-20px;margin-right:-20px;z-index:10}
.bld-footer .pf-btn{flex:0}
.bld-footer-spacer{flex:1}
.bld-footer-status{font-size:12px;color:#6B7280}

/* Preview modal */
.pv-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.pv-modal-box{background:#fff;border-radius:14px;max-width:700px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}
.pv-modal-head{padding:16px 20px;border-bottom:1px solid #E5E7EB;display:flex;align-items:center;gap:12px}
.pv-modal-head h3{font-size:16px;font-weight:700;color:#1A1A2E;flex:1;margin:0}
.pv-modal-close{width:30px;height:30px;border:none;background:transparent;font-size:20px;cursor:pointer;color:#9CA3AF;border-radius:6px}
.pv-modal-close:hover{background:#F3F4F6;color:#1A1A2E}
.pv-modal-body{flex:1;overflow-y:auto;padding:16px 20px}
.pv-block{margin-bottom:18px}
.pv-block-head{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-weight:700;color:#1A1A2E}
.pv-block-count{font-size:11px;color:#6B7280;font-weight:500;margin-left:auto}
.pv-item{padding:10px 12px;border:1px solid #E5E7EB;border-radius:8px;margin-bottom:6px;background:#F9FAFB}
.pv-item-head{display:flex;align-items:center;gap:6px;font-size:11px;color:#6B7280;margin-bottom:4px}
.pv-item-title{font-size:13px;font-weight:600;color:#1A1A2E;margin-bottom:3px;line-height:1.4}
.pv-item-title a{color:inherit;text-decoration:none}
.pv-item-title a:hover{color:#0D503C}
.pv-item-summary{font-size:12px;color:#4B5563;line-height:1.5}
.pv-empty-block{padding:14px;border:1px dashed #E5E7EB;border-radius:8px;color:#9CA3AF;font-size:12px;text-align:center;font-style:italic}

/* Day 9.3: TG Linking */
.tgl-overlay { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px; }
.tgl-modal { background:#fff; border-radius:14px; width:100%; max-width:440px; box-shadow:0 20px 60px rgba(0,0,0,.3); overflow:hidden; }
.tgl-header { background:linear-gradient(135deg,#0D503C,#10B981); padding:20px 24px; display:flex; align-items:center; gap:14px; color:#fff; position:relative; }
.tgl-emoji { font-size:32px; }
.tgl-title { flex:1; font-size:18px; font-weight:700; }
.tgl-close { position:absolute; top:12px; right:14px; background:rgba(255,255,255,.2); border:none; width:28px; height:28px; border-radius:50%; color:#fff; font-size:20px; cursor:pointer; }
.tgl-body { padding:22px 24px; }
.tgl-step { display:flex; gap:12px; align-items:flex-start; margin-bottom:12px; }
.tgl-step-num { background:#10B981; color:#fff; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; }
.tgl-step-text { flex:1; font-size:14px; color:#374151; padding-top:1px; }
.tgl-btn.primary { display:block; background:#0088cc; color:#fff; text-align:center; padding:12px; border-radius:8px; text-decoration:none; font-weight:600; font-size:14px; margin:14px 0; }
.tgl-btn.primary:hover { background:#006ba3; }
.tgl-or { text-align:center; font-size:11px; color:#9CA3AF; margin:10px 0; text-transform:uppercase; letter-spacing:.5px; }
.tgl-code-box { display:flex; align-items:center; gap:8px; background:#F3F4F6; border:1px solid #E5E7EB; padding:10px 14px; border-radius:8px; margin:10px 0 16px; }
.tgl-code { flex:1; font-family:'SF Mono',Monaco,monospace; font-size:14px; color:#1A1A2E; font-weight:600; background:none; padding:0; }
.tgl-copy { background:#fff; border:1px solid #E5E7EB; padding:6px 12px; border-radius:6px; cursor:pointer; font-size:14px; }
.tgl-copy:hover { background:#F9FAFB; }
.tgl-status { background:#EFF6FF; border:1px solid #BFDBFE; padding:10px 14px; border-radius:8px; font-size:13px; color:#1E40AF; display:flex; align-items:center; gap:10px; margin-top:10px; }
.tgl-spinner { width:14px; height:14px; border:2px solid #BFDBFE; border-top-color:#2563EB; border-radius:50%; animation:tgl-spin 0.8s linear infinite; }
@keyframes tgl-spin { to { transform:rotate(360deg); } }
.tgl-hint { font-size:11px; color:#9CA3AF; margin-top:12px; text-align:center; }

.tgl-main-btn { background:#0088cc; color:#fff; border:none; padding:10px 18px; border-radius:8px; cursor:pointer; font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.tgl-main-btn:hover { background:#006ba3; }
.tgl-linked { display:inline-flex; align-items:center; gap:10px; background:#ECFDF5; border:1px solid #10B981; padding:8px 14px; border-radius:8px; font-size:13px; color:#065F46; }
.tgl-linked-icon { background:#10B981; color:#fff; width:18px; height:18px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
.tgl-linked-text { font-weight:600; }
.tgl-unlink-btn { background:none; border:1px solid #D1FAE5; color:#065F46; padding:4px 10px; border-radius:5px; cursor:pointer; font-size:11px; margin-left:6px; }
.tgl-unlink-btn:hover { background:#fff; }

/* Day 9.5: Send Now button */
.pf-btn.success { background: #ECFDF5; color: #065F46; border-color: #A7F3D0; font-weight: 600; }
.pf-btn.success:hover { background: #D1FAE5; border-color: #10B981; }
