
/* V3-055 Partner funnel; scoped to partner page */
.funnel-top-button{border:1px solid #bbd9d6;border-radius:13px;background:#f0fdfa;color:#126053;font-weight:800;padding:9px 13px;cursor:pointer}
.funnel-top-button:hover{background:#cdf5ec}
.funnel-top-button.funnel-back-work{background:#14532d;border-color:#14532d;color:#fff}
.funnel-top-button.funnel-back-work:hover{background:#166534;color:#fff}
.funnel-stage-control{display:flex;flex-direction:column;gap:4px;min-width:0}
.funnel-visibility-host{position:relative;min-width:0}
.funnel-visibility-toggle{width:100%;border:1px solid #7db8ac;border-radius:9px;background:#e8fbf6;color:#135d54;cursor:pointer;padding:10px 7px;font-weight:750}
.funnel-visibility-panel{position:absolute;z-index:20;top:100%;right:0;min-width:min(320px,80vw);max-height:60vh;overflow:auto;padding:8px;background:white;border:1px solid #bbd9d6;border-radius:10px;box-shadow:0 6px 16px #122f3525}
.funnel-visibility-panel[hidden]{display:none}
.funnel-eye{display:block;width:100%;border:0;background:transparent;text-align:left;padding:7px;cursor:pointer;color:#153b3c}
.funnel-eye:hover{background:#edf6f5}
.funnel-visibility-actions{display:flex;gap:6px;flex-wrap:wrap}
.funnel-visibility-actions button{border:1px solid #b1c9c6;background:#e9f5f4;border-radius:7px;cursor:pointer;padding:6px}
.funnel-visibility-toggle:focus-visible,.funnel-eye:focus-visible{outline:3px solid #22897d;outline-offset:2px}
@media(prefers-reduced-motion:no-preference){.funnel-visibility-toggle .eye-hint{display:inline-block;animation:bc-eye-blink 5s ease-in-out infinite}@keyframes bc-eye-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.12)}}}
.funnel-card-link{margin-left:auto;background:#173d36;color:#d9fff3;border:1px solid #3c7868;border-radius:9px;font-size:13px;font-weight:750;padding:6px 10px;white-space:nowrap;cursor:pointer}
#funnelPanel{color:#162c31}
.funnel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.funnel-heading h2{margin:0;font-size:25px;color:#153437}
.funnel-heading p{margin:4px 0;color:#506569}
.funnel-switcher{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.funnel-switcher button{padding:10px 16px;border:1px solid #a8c7d1;border-radius:11px;background:#e8f3f7;color:#1f4f57;font-size:15px;font-weight:700;cursor:pointer}
.funnel-switcher button.active{background:#14532d;color:white;border-color:#14532d}
.funnel-tornado{display:inline-block;transform-origin:center;vertical-align:middle}
@media(prefers-reduced-motion:no-preference){.funnel-tornado.spin-once{animation:bc-tornado-spin .75s ease-out 1}@keyframes bc-tornado-spin{from{transform:rotate(-25deg)}55%{transform:rotate(340deg)}to{transform:rotate(360deg)}}}
.funnel-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;background:#e9f5f4;border:1px solid #acd5cc;border-radius:14px}
.funnel-select{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#355055;font-weight:650;min-width:0}
.funnel-select select,.funnel-select input{min-height:41px;width:100%;border:1px solid #b1c9c6;background:white;border-radius:10px;padding:8px;color:#153b3c;font-size:14px;min-width:0}
.funnel-select:focus-within{color:#08756b}
.funnel-count{font-weight:750;margin:15px 0 5px;color:#23464a}
.funnel-count button{border:0;background:none;color:#087d7f;font-weight:700;cursor:pointer}
.funnel-message{margin:5px 0;color:#087651;font-weight:600}
.funnel-message:empty{display:none}
.funnel-error{color:#aa302f!important}
.funnel-body{padding-top:8px}
.funnel-board{display:flex;gap:13px;overflow-x:auto;padding:4px 4px 18px;scroll-snap-type:x proximity}
.funnel-column{flex:0 0 275px;min-width:275px;min-height:220px;border:1px solid #d3dee3;border-radius:14px;background:#f3f7fa;padding:10px;scroll-snap-align:start}
.funnel-column h3{font-size:15px;line-height:1.4;margin:0 0 11px;padding:8px;border-radius:9px;background:#dcebe9;color:#224446}
.funnel-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:13px}
.funnel-lead{background:var(--card,#fff);border:1px solid var(--line,#e2e5df);border-left:5px solid #14532d;padding:13px;border-radius:12px;margin-bottom:10px;box-shadow:0 2px 8px #122f3510;min-width:0}
.funnel-focused{outline:2px solid #169d92}
.funnel-lead-head{display:flex;align-items:center;justify-content:space-between;gap:9px}
.funnel-lead-head strong{font-size:16px;overflow-wrap:anywhere}
.funnel-focus{border:1px solid #afc7c5;color:#10625e;background:#e8fbf6;border-radius:8px;padding:4px 8px;cursor:pointer}
.funnel-lead-sub{color:#648080;font-size:13px;margin:6px 0;overflow-wrap:anywhere}
.funnel-lead-links{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:9px}
.funnel-lead-links a{color:#086963;font-weight:700;text-decoration:none}
.funnel-lead .funnel-select{margin:9px 0}
.funnel-lead-last{font-size:12px;color:#637877;margin:8px 0}
.funnel-lead-tasks{font-size:13px;font-weight:700;margin:7px 0;color:#327263}
.funnel-lead-tasks.funnel-overdue{color:#bd3737}
.funnel-lead-actions{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}
.funnel-lead-actions button,.funnel-comment button,.funnel-task-line button{background:#e8f6f3;border:1px solid #afd7d0;border-radius:9px;color:#18665e;padding:7px 9px;cursor:pointer;font-size:12px;font-weight:700}
.funnel-comment{border-top:1px solid #e2ebe8;padding-top:8px}
.funnel-comment summary{cursor:pointer;overflow-wrap:anywhere;color:#3e6260}
.funnel-comment-full{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow-y:auto;font-size:14px}
.funnel-task-preview{margin-top:9px}
.funnel-task-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;padding:6px 0;border-top:1px dashed #e0e7e5;overflow-wrap:anywhere}
.funnel-task-line button{white-space:nowrap}
.funnel-table-wrap{overflow-x:auto;border:1px solid #d8e5e2;border-radius:12px}
.funnel-table{border-collapse:collapse;width:100%;min-width:660px;background:#fff}
.funnel-table th{background:#dcece9;text-align:left;color:#17494b}
.funnel-table th,.funnel-table td{padding:11px;border-bottom:1px solid #e6eceb}
.funnel-table td:last-child{white-space:nowrap}
.funnel-table button{border:0;background:#e9f6f5;color:#185958;border-radius:7px;padding:7px 10px;cursor:pointer}
.funnel-name{font-weight:700;text-align:left}
.funnel-dialog{max-width:min(650px,92vw);width:95%;border:1px solid #b9d6d2;border-radius:17px;padding:22px;color:#19383a;box-shadow:0 18px 64px #091f2b45}
.funnel-dialog::backdrop{background:#091c2890}
.funnel-dialog h3{margin:0 0 15px}
.funnel-note-label{display:flex;flex-direction:column;gap:8px;margin:13px 0;color:#2b5456}
.funnel-note-label textarea,.funnel-note-label input{border:1px solid #acccc7;background:#f9fefd;border-radius:10px;padding:11px;width:100%;font:inherit}
.funnel-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:13px}
.funnel-dialog-actions button{border:1px solid #abcac5;border-radius:9px;padding:10px 13px;cursor:pointer}
.funnel-dialog-actions .funnel-primary{background:#136b61;border-color:#136b61;color:#fff;font-weight:750}
.funnel-task-error{color:#ac3030}
@media(max-width:900px){.funnel-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.funnel-filters{grid-template-columns:1fr}.funnel-column{flex-basis:255px;min-width:255px}.funnel-switcher button{flex:1;font-size:13px;padding:9px 6px}.funnel-top-button{padding:7px 8px;font-size:12px}.funnel-heading h2{font-size:20px}}

/* BC V3-073: view-only assignment archive; no stale contact edit controls. */
.funnel-assignment-history{margin:10px 0 18px;padding:14px;border:1px solid #b9d2d9;border-radius:12px;background:#eaf8f5}
.funnel-assignment-history[hidden]{display:none}
.funnel-assignment-history h3{margin:0 0 8px}
.funnel-history-card{background:#fff;border:1px solid #cae0de;border-left:4px solid #648caa;border-radius:9px;padding:10px;margin:8px 0}
.funnel-history-card p{margin:5px 0;color:#315369}
.funnel-history-card small{color:#4a6976}
.funnel-history-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.funnel-history-nav button{padding:8px;border:1px solid #a9c3d0;border-radius:8px;cursor:pointer}

/* BC-CRM-UI-301: same partner cards in both views, compact funnel */
#funnelPanel .funnel-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:10px 0 7px}
#funnelPanel .funnel-visibility-toggle{width:auto;min-height:38px;padding:7px 12px}
#funnelPanel .funnel-theme-toggle{min-height:38px;padding:7px 12px;border:1px solid #a8c7d1;border-radius:9px;background:#e8f3f7;color:#1c5556;font-weight:750;cursor:pointer}
#funnelPanel .funnel-theme-toggle:focus-visible{outline:3px solid #22897d;outline-offset:2px}
#funnelPanel .funnel-count{display:inline-flex;align-items:center;min-height:38px;padding:7px 13px;margin:0;border:1px solid #b6d0d8;border-radius:9px;background:#f0f7f9;color:#23464a;font-size:14px}
#funnelPanel .funnel-filters{gap:8px 10px;padding:10px}
#funnelPanel .funnel-select{gap:4px;font-size:12px}
#funnelPanel .funnel-select select,#funnelPanel .funnel-select input{min-height:36px;padding:6px 9px;font-size:13px}
#funnelPanel .funnel-switcher{margin-bottom:12px}
#funnelPanel .bc-spiral-icon,.funnel-top-button .bc-spiral-icon,.funnel-top-button .bc-work-icon{display:inline-block;vertical-align:-.12em;transform-origin:center;font-size:1.18em;line-height:1}
@media(prefers-reduced-motion:no-preference){
 #funnelPanel .bc-spiral-icon,.funnel-top-button .bc-spiral-icon{animation:bc-spiral-cycle 6s ease-in-out infinite}
 .funnel-top-button .bc-work-icon{animation:bc-work-nudge 9s ease-in-out infinite}
 @keyframes bc-spiral-cycle{0%,72%{transform:rotate(0) scale(1)}83%{transform:rotate(210deg) scale(1.12)}95%,100%{transform:rotate(360deg) scale(1)}}
 @keyframes bc-work-nudge{0%,82%,100%{transform:rotate(0)}86%{transform:rotate(-12deg) translateY(-2px)}90%{transform:rotate(10deg)}94%{transform:rotate(0)}}
}
#funnelPanel[data-card-theme="dark"] .funnel-lead{--card:#303a33;--line:#556b5d;background:var(--card);color:#f4faf6}
#funnelPanel[data-card-theme="dark"] .funnel-lead-sub,#funnelPanel[data-card-theme="dark"] .funnel-lead-last{color:#b6c8be}
#funnelPanel[data-card-theme="dark"] .funnel-lead-links a{color:#9ee6d3}
#funnelPanel[data-card-theme="dark"] .funnel-lead .funnel-select{color:#d5e8dd}
#funnelPanel[data-card-theme="dark"] .funnel-comment{border-top-color:#52695b}
#funnelPanel[data-card-theme="dark"] .funnel-comment summary{color:#d2e7dd}
#funnelPanel[data-card-theme="dark"] .funnel-task-line{border-top-color:#52695b}
#funnelPanel[data-card-theme="dark"] .funnel-lead-tasks{color:#c4f6d5}
#funnelPanel[data-card-theme="dark"] .funnel-lead-tasks.funnel-overdue{color:#ffacaa}
#funnelPanel[data-card-theme="light"] .funnel-lead{--card:#fff;--line:#d6e2db;background:var(--card);color:#18362d}
@media(max-width:520px){
 #funnelPanel .funnel-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #funnelPanel .funnel-search{grid-column:1/-1}
 #funnelPanel .funnel-controls{gap:7px}
 #funnelPanel .funnel-theme-toggle,#funnelPanel .funnel-visibility-toggle{min-height:36px;padding:6px 9px;font-size:12px}
 #funnelPanel .funnel-count{font-size:12px;min-height:36px}
}
@media(max-width:340px){#funnelPanel .funnel-filters{grid-template-columns:1fr}}

