/* Cove - Application stylesheet */
:root {
  --blue:#1a9ed4;--blue-dark:#0e7ab0;--blue-light:#4db8e8;--blue-bg:#e8f4fb;
  --navy:#1a2540;--bg-app:#f0f5f9;--bg-surface:#ffffff;--border:#dde3ec;
  --border-light:#eaeef4;--text-primary:#1a2540;--text-secondary:#6b7a99;
  --text-muted:#9aa3b8;--sidebar-width:220px;--sidebar-collapsed-width:56px;
  --topbar-height:56px;--danger:#d94f4f;--success:#1a9e74;
  --amber:#b5821a;--amber-bg:#fdf6e8;--amber-border:#f0d9a8;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{height:100%;margin:0;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;}
.app-shell{display:flex;height:100vh;overflow:hidden;}
.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;}
.app-content{flex:1;padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
@media(max-width:767px){.app-content{padding:16px;}}
@supports(padding-bottom:env(safe-area-inset-bottom)){.app-content{padding-bottom:calc(24px + env(safe-area-inset-bottom));}}
.app-sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width 0.22s ease;overflow:hidden;z-index:100;}
.app-sidebar.collapsed{width:var(--sidebar-collapsed-width);}
.sb-logo{height:var(--topbar-height);display:flex;align-items:center;padding:0 12px 0 14px;border-bottom:1px solid var(--border-light);gap:8px;flex-shrink:0;}
.sb-logo-link{display:flex;align-items:center;gap:8px;text-decoration:none;overflow:hidden;flex:1;}
.sb-logo-img{height:36px;width:auto;flex-shrink:0;}
.sb-logo-text{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;color:var(--navy);white-space:nowrap;transition:opacity 0.18s ease;}
.app-sidebar.collapsed .sb-logo-text{opacity:0;width:0;overflow:hidden;}
.sb-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:color 0.15s ease,background 0.15s ease;padding:0;}
.sb-toggle:hover{color:var(--blue);background:var(--blue-bg);}
.sb-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;}
.sb-section-label{font-size:0.65rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);padding:10px 10px 4px;white-space:nowrap;transition:opacity 0.18s ease;display:block;}
.app-sidebar.collapsed .sb-section-label{opacity:0;}
.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;text-decoration:none;color:var(--text-secondary);white-space:nowrap;transition:background 0.15s ease,color 0.15s ease;}
.nav-item:hover{background:var(--bg-app);color:var(--navy);}
.nav-item.active{background:var(--blue-bg);color:var(--blue);}
.nav-item svg{flex-shrink:0;}
.nav-label{font-size:0.825rem;font-weight:500;white-space:nowrap;transition:opacity 0.18s ease;}
.app-sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden;}
.nav-badge{margin-left:auto;background:var(--blue);color:#fff;font-size:0.65rem;font-weight:600;padding:1px 6px;border-radius:10px;transition:opacity 0.18s ease;}
.app-sidebar.collapsed .nav-badge{opacity:0;}
.sb-footer{padding:10px 8px;border-top:1px solid var(--border-light);flex-shrink:0;}
.sb-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;overflow:hidden;text-decoration:none;}
.sb-user:hover{background:var(--bg-app);}
.sb-avatar{width:30px;height:30px;border-radius:50%;background:var(--blue-bg);display:flex;align-items:center;justify-content:center;font-size:0.65rem;font-weight:600;color:var(--blue);flex-shrink:0;}
.sb-user-info{overflow:hidden;transition:opacity 0.18s ease;}
.app-sidebar.collapsed .sb-user-info{opacity:0;width:0;}
.sb-user-name{font-size:0.775rem;font-weight:500;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb-user-role{font-size:0.675rem;color:var(--text-muted);}
@media(max-width:767px){
  .app-sidebar{position:fixed;top:0;left:0;height:100%;width:var(--sidebar-width);transform:translateX(-100%);transition:transform 0.25s ease;box-shadow:4px 0 24px rgba(0,0,0,0.1);}
  .app-sidebar.drawer-open{transform:translateX(0);}
  .sb-toggle{display:none;}
  .app-sidebar .sb-logo-text,.app-sidebar .sb-section-label,.app-sidebar .nav-label,.app-sidebar .nav-badge,.app-sidebar .sb-user-info{opacity:1!important;width:auto!important;overflow:visible!important;}
  .topbar-hamburger{display:flex;}
  .btn-block-mobile{width:100%;justify-content:center;}
}
.sidebar-overlay{position:fixed;inset:0;background:rgba(26,37,64,0.35);z-index:99;opacity:0;transition:opacity 0.25s ease;backdrop-filter:blur(2px);}
.sidebar-overlay.visible{opacity:1;}
.app-topbar{height:var(--topbar-height);background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0;}
.topbar-hamburger{display:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0;flex-shrink:0;}
.topbar-hamburger:hover{background:var(--bg-app);color:var(--navy);}
.topbar-title{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;color:var(--navy);margin:0;}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px;}
.flash{border-radius:8px;padding:0.7rem 1rem;font-size:0.825rem;margin-bottom:1.25rem;}
.flash-notice{background:rgba(26,158,212,0.08);border:1px solid rgba(26,158,212,0.25);color:var(--blue-dark);}
.flash-alert{background:rgba(217,79,79,0.08);border:1px solid rgba(217,79,79,0.25);color:#b83c3c;}
.trial-banner{display:flex;align-items:center;gap:12px;background:var(--amber-bg);border:1px solid var(--amber-border);color:var(--amber);border-radius:8px;padding:0.7rem 1rem;font-size:0.825rem;margin-bottom:1.25rem;}
.trial-banner__text{flex:1;}
.trial-banner__link{color:var(--amber);font-weight:600;text-decoration:underline;}
.trial-banner__link:hover{color:var(--navy);}
.trial-banner__dismiss{background:none;border:none;color:var(--amber);font-size:1.1rem;line-height:1;padding:0 4px;cursor:pointer;}
.trial-banner__dismiss:hover{color:var(--navy);}
.btn{display:inline-flex;align-items:center;gap:6px;font-family:'DM Sans',sans-serif;font-size:0.825rem;font-weight:600;border-radius:7px;padding:0.5rem 0.9rem;border:none;cursor:pointer;text-decoration:none;transition:background 0.15s ease,transform 0.1s ease,box-shadow 0.15s ease;white-space:nowrap;}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary:hover{background:var(--blue-dark);box-shadow:0 4px 16px rgba(26,158,212,0.3);transform:translateY(-1px);}
.btn-secondary{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);}
.btn-secondary:hover{background:var(--bg-app);color:var(--navy);}
.btn-danger{background:var(--bg-surface);color:var(--danger);border:1px solid rgba(217,79,79,0.3);}
.btn-danger:hover{background:rgba(217,79,79,0.05);}
.btn-link{background:none;border:none;padding:0;color:var(--blue);font-size:0.775rem;font-weight:500;cursor:pointer;text-decoration:none;}
.btn-link:hover{color:var(--blue-dark);}
.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-light);}
.card-title{font-family:'Outfit',sans-serif;font-size:0.875rem;font-weight:600;color:var(--navy);margin:0;}
.card-body{padding:18px;}
.card-footer{padding:12px 18px;border-top:1px solid var(--border-light);}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;}
.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px 18px;}
.stat-label{font-size:0.65rem;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
.stat-value{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:600;color:var(--navy);line-height:1;}
.stat-meta{font-size:0.7rem;color:var(--text-muted);margin-top:4px;}
.stat-up{color:var(--blue);}
.stat-down{color:var(--danger);}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;font-size:0.825rem;}
thead th{font-size:0.65rem;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--text-muted);padding:10px 16px;text-align:left;background:#fafbfc;border-bottom:1px solid var(--border-light);white-space:nowrap;}
tbody td{padding:12px 16px;border-bottom:1px solid var(--border-light);color:var(--text-primary);}
tbody tr:last-child td{border-bottom:none;}
tbody tr:hover td{background:#fafcff;}
tbody tr.clickable{cursor:pointer;}
.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:10px;font-size:0.7rem;font-weight:500;}
.pill-new{background:#f0f5f9;color:#5a7090;}
.pill-qualified{background:#e6f9f2;color:#0a7a52;}
.pill-proposal{background:#fef3e2;color:#9a6a00;}
.pill-negotiation{background:#f0eeff;color:#5242b0;}
.pill-won{background:#e6f9f2;color:#0a7a52;}
.pill-lost{background:#fdf0f0;color:#9a3c3c;}
.form-group{margin-bottom:1.1rem;}
.form-label{display:block;font-size:0.775rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:0.45rem;}
.form-control{width:100%;background:var(--bg-app);border:1px solid var(--border);border-radius:7px;color:var(--text-primary);font-family:'DM Sans',sans-serif;font-size:0.9rem;padding:0.6rem 0.875rem;outline:none;transition:border-color 0.18s ease,box-shadow 0.18s ease;-webkit-appearance:none;}
.form-control:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,158,212,0.15);background:#fff;}
.form-control::placeholder{color:var(--text-muted);}
.field_with_errors .form-control{border-color:rgba(217,79,79,0.5);}
.form-error{font-size:0.75rem;color:var(--danger);margin-top:0.3rem;}
.form-section-title{font-family:'Outfit',sans-serif;font-size:0.825rem;font-weight:600;color:var(--navy);margin:0 0 4px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid-full{grid-column:1/-1;}
.form-divider{grid-column:1/-1;border-top:1px solid var(--border-light);padding-top:20px;margin-top:4px;}
.form-actions{display:flex;align-items:center;gap:12px;margin-top:8px;padding-top:20px;border-top:1px solid var(--border-light);}
@media(max-width:767px){.form-control{font-size:1rem;}.form-grid{grid-template-columns:1fr;}}
.stage-tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap;}
.stage-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;font-size:0.8rem;font-weight:500;color:var(--text-secondary);text-decoration:none;border:1px solid transparent;transition:all 0.15s ease;}
.stage-tab:hover{background:var(--bg-surface);color:var(--navy);border-color:var(--border);}
.stage-tab.active{background:var(--blue-bg);color:var(--blue);border-color:rgba(26,158,212,0.2);}
.stage-tab-count{background:var(--bg-app);color:var(--text-muted);font-size:0.65rem;font-weight:600;padding:1px 5px;border-radius:8px;}
.stage-tab.active .stage-tab-count{background:rgba(26,158,212,0.15);color:var(--blue);}
.search-wrap{position:relative;max-width:320px;margin-bottom:16px;}
.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;}
.search-input{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;padding:0.5rem 0.75rem 0.5rem 2rem;font-size:0.825rem;color:var(--text-primary);outline:none;font-family:'DM Sans',sans-serif;}
.search-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,158,212,0.12);}
.lead-company{font-weight:500;}
.lead-meta{font-size:0.7rem;color:var(--text-muted);margin-top:2px;}
.lead-source{color:var(--text-secondary);font-size:0.8rem;}
.lead-date{font-size:0.775rem;color:var(--text-muted);}
.lead-value{font-weight:500;}
.lead-empty{padding:48px 24px;text-align:center;}
.lead-empty-icon{margin:0 auto 12px;color:var(--text-muted);display:block;}
.lead-empty-title{font-family:'Outfit',sans-serif;font-size:0.925rem;font-weight:600;color:var(--navy);margin:0 0 6px;}
.lead-empty-desc{font-size:0.8rem;color:var(--text-muted);margin:0 0 16px;}
.contact-type-badge{font-size:0.65rem;background:var(--bg-app);color:var(--text-muted);padding:1px 6px;border-radius:4px;display:inline-block;margin-top:2px;}
.contact-type-pill{font-size:0.75rem;background:var(--blue-bg);color:var(--blue);padding:2px 8px;border-radius:10px;font-weight:500;}
.show-layout{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start;max-width:960px;}
.show-main{display:flex;flex-direction:column;gap:16px;}
.show-sidebar{display:flex;flex-direction:column;gap:16px;}
.detail-label{font-size:0.7rem;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;}
.detail-value{font-size:0.875rem;color:var(--text-primary);}
.detail-value-lg{font-family:'Outfit',sans-serif;font-size:1.25rem;font-weight:600;color:var(--navy);}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.detail-notes{font-size:0.875rem;color:var(--text-secondary);line-height:1.7;margin:0;white-space:pre-wrap;}
.detail-link{color:var(--blue);text-decoration:none;}
.detail-link:hover{color:var(--blue-dark);}
.owner-row{display:flex;align-items:center;gap:8px;}
.avatar-sm{width:24px;height:24px;border-radius:50%;background:var(--blue-bg);display:flex;align-items:center;justify-content:center;font-size:0.6rem;font-weight:600;color:var(--blue);flex-shrink:0;}
.stage-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.stage-btn{border:1px solid var(--border);background:transparent;color:var(--text-secondary);border-radius:6px;padding:3px 10px;font-size:0.75rem;font-weight:400;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s ease;}
.stage-btn:hover{border-color:var(--blue);color:var(--blue);}
.stage-btn.active{border-color:var(--blue);background:var(--blue-bg);color:var(--blue);font-weight:600;}
@media(max-width:900px){.show-layout{grid-template-columns:1fr;}}
.pipeline-board{display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px;}
.pipeline-column{min-width:0;}
.pipeline-col-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 2px;}
.pipeline-col-count{font-size:0.7rem;color:var(--text-muted);font-weight:500;}
.pipeline-col-value{font-size:0.7rem;color:var(--text-muted);margin-bottom:10px;padding:0 2px;}
.pipeline-cards{display:flex;flex-direction:column;gap:8px;}
.pipeline-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:12px;text-decoration:none;display:block;transition:box-shadow 0.15s ease,transform 0.15s ease;}
.pipeline-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.08);transform:translateY(-1px);}
.pipeline-card-company{font-size:0.825rem;font-weight:600;color:var(--navy);margin-bottom:4px;}
.pipeline-card-contact{font-size:0.75rem;color:var(--text-secondary);margin-bottom:8px;}
.pipeline-card-value{font-size:0.75rem;font-weight:600;color:var(--blue);}
.pipeline-card-date{font-size:0.7rem;color:var(--text-muted);margin-top:4px;}
.pipeline-empty{border:1px dashed var(--border);border-radius:8px;padding:16px;text-align:center;}
.pipeline-empty-text{font-size:0.75rem;color:var(--text-muted);}
.page-welcome{margin-bottom:28px;}
.page-welcome-title{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:600;color:var(--navy);margin:0 0 6px;}
.page-welcome-sub{font-size:0.875rem;color:var(--text-secondary);margin:0;}
.section-heading{font-family:'Outfit',sans-serif;font-size:0.875rem;font-weight:600;color:var(--text-secondary);letter-spacing:0.06em;text-transform:uppercase;margin:0 0 14px;}
.quick-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:28px;}
.quick-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:16px;transition:box-shadow 0.15s ease,transform 0.15s ease;text-decoration:none;display:block;}
.quick-card:hover{box-shadow:0 4px 16px rgba(26,158,212,0.1);transform:translateY(-1px);}
.quick-card-accent{border-color:rgba(26,158,212,0.3);background:linear-gradient(135deg,#f0f8fd 0%,#fff 100%);}
.quick-card-icon{width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.quick-card-icon-blue{background:var(--blue-bg);}
.quick-card-icon-solid{background:var(--blue);}
.quick-card-title{font-family:'Outfit',sans-serif;font-size:0.875rem;font-weight:600;color:var(--navy);margin-bottom:4px;}
.quick-card-desc{font-size:0.775rem;color:var(--text-secondary);line-height:1.5;}
.getting-started-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:28px;}
.gs-card{padding:18px;}
.gs-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.gs-step-number{width:28px;height:28px;border-radius:50%;background:var(--blue-bg);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-size:0.75rem;font-weight:600;color:var(--blue);flex-shrink:0;}
.gs-card-title{font-family:'Outfit',sans-serif;font-size:0.875rem;font-weight:600;color:var(--navy);}
.gs-card-desc{font-size:0.8rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.6;}
.gs-card-link{font-size:0.8rem;color:var(--blue);text-decoration:none;font-weight:500;}
.gs-card-link:hover{color:var(--blue-dark);}
.gs-card-soon{font-size:0.8rem;color:var(--text-muted);font-weight:500;}
.prefs-backdrop{display:none;position:fixed;inset:0;z-index:200;background:rgba(26,37,64,0.4);}
.prefs-panel{position:absolute;right:0;top:0;height:100%;width:360px;background:#fff;box-shadow:-4px 0 24px rgba(0,0,0,0.1);display:flex;flex-direction:column;}
.prefs-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);}
.prefs-title{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;color:var(--navy);margin:0;}
.prefs-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;}
.prefs-body{flex:1;overflow-y:auto;padding:20px;}
.prefs-section-label{font-size:0.7rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;}
.prefs-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:7px;cursor:pointer;margin-bottom:4px;}
.prefs-option-active{background:var(--blue-bg);}
.prefs-option-inactive{background:var(--bg-app);}
.prefs-option-checkbox{accent-color:var(--blue);width:15px;height:15px;}
.prefs-option-label{font-size:0.825rem;font-weight:500;color:var(--text-primary);}
.prefs-footer{padding:16px 20px;border-top:1px solid var(--border);}
.prefs-submit{width:100%;justify-content:center;}
.dashboard-widgets{display:grid;gap:16px;align-items:start;}
.dashboard-widgets-1{grid-template-columns:1fr;}
.dashboard-widgets-2{grid-template-columns:300px 1fr;}
.pipeline-summary{padding:8px 0;}
.pipeline-summary-row{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;}
.pipeline-summary-left{display:flex;align-items:center;gap:10px;}
.pipeline-summary-count{font-size:0.75rem;color:var(--text-muted);}
.pipeline-summary-value{font-size:0.8rem;font-weight:500;color:var(--text-primary);}
.auth-wrapper{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1rem;}
.logo-wrap{margin-bottom:2rem;display:flex;align-items:center;justify-content:center;}
.logo-wrap img{height:72px;width:auto;}
.auth-card{width:100%;max-width:420px;background:rgba(255,255,255,0.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.9);border-radius:14px;overflow:hidden;box-shadow:0 8px 32px rgba(14,122,176,0.12),0 2px 8px rgba(0,0,0,0.06);}
.auth-card::before{content:'';display:block;height:3px;background:linear-gradient(90deg,transparent,var(--blue),transparent);}
.auth-card-body{padding:2.25rem 2rem;}
.auth-heading{font-family:'Outfit',sans-serif;font-size:1.35rem;font-weight:600;color:var(--text-primary);margin:0 0 0.4rem;letter-spacing:-0.01em;}
.auth-subheading{font-size:0.825rem;color:var(--text-secondary);margin:0 0 1.75rem;}
.auth-divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0;}
.auth-footer{text-align:center;font-size:0.8rem;color:var(--text-muted);}
.auth-footer a{color:var(--blue);text-decoration:none;font-weight:500;}
.auth-footer a:hover{color:var(--blue-dark);}
.link-subtle{font-size:0.775rem;color:var(--text-muted);text-decoration:none;transition:color 0.15s ease;float:right;margin-top:-0.25rem;}
.link-subtle:hover{color:var(--blue);}
label{display:block;font-size:0.775rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:0.45rem;}
input[type="email"],input[type="password"],input[type="text"]{width:100%;background:#f0f5f9;border:1px solid var(--border);border-radius:7px;color:var(--text-primary);font-family:'DM Sans',sans-serif;font-size:0.9rem;padding:0.65rem 0.875rem;outline:none;transition:border-color 0.18s ease,box-shadow 0.18s ease;-webkit-appearance:none;}
input[type="email"]:focus,input[type="password"]:focus,input[type="text"]:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,158,212,0.15);background:#fff;}
input::placeholder{color:var(--text-muted);}
.field{margin-bottom:1.1rem;}
.checkbox-row{display:flex;align-items:center;gap:0.5rem;margin-bottom:1.1rem;}
.checkbox-row input[type="checkbox"]{width:15px;height:15px;accent-color:var(--blue);cursor:pointer;}
.checkbox-row label{margin:0;text-transform:none;letter-spacing:0;font-size:0.825rem;color:var(--text-secondary);cursor:pointer;}
#error_explanation{background:rgba(217,79,79,0.06);border:1px solid rgba(217,79,79,0.2);border-radius:7px;padding:0.75rem 1rem;margin-bottom:1.25rem;}
#error_explanation h2{font-size:0.8rem;font-weight:600;color:#b83c3c;margin:0 0 0.4rem;}
#error_explanation ul{margin:0;padding-left:1.25rem;}
#error_explanation li{font-size:0.8rem;color:#b83c3c;margin-bottom:0.2rem;}
.field_with_errors input{border-color:rgba(217,79,79,0.5);}

/* ─────────────────────────────────────────
   DISCOVERY PREP
───────────────────────────────────────── */

.dp-layout      { display: grid; grid-template-columns: 280px 1fr; gap: 16px; align-items: start; }
.dp-sidebar     { display: flex; flex-direction: column; gap: 16px; }
.dp-content     { display: flex; flex-direction: column; gap: 16px; }

.dp-section     { display: none; }
.dp-section.active { display: block; }

.dp-tab-nav     { overflow: hidden; }
.dp-tab-list    { display: flex; flex-direction: column; }
.dp-tab-btn     { display: flex; align-items: center; padding: 10px 18px; font-size: 0.825rem; font-weight: 500; color: var(--text-secondary); background: transparent; border: none; border-left: 2px solid transparent; cursor: pointer; text-align: left; transition: all 0.15s ease; font-family: 'DM Sans', sans-serif; }
.dp-tab-btn:hover  { background: var(--bg-app); color: var(--navy); }
.dp-tab-btn.active { color: var(--blue); border-left-color: var(--blue); background: var(--blue-bg); font-weight: 600; }

.dp-section-body { font-size: 0.875rem; line-height: 1.7; color: var(--text-primary); }
.dp-section-body h1,.dp-section-body h2,.dp-section-body h3 { font-family: 'Outfit',sans-serif; color: var(--navy); margin: 1rem 0 0.5rem; }
.dp-section-body h2 { font-size: 1rem; }
.dp-section-body h3 { font-size: 0.875rem; }
.dp-section-body ul,.dp-section-body ol { padding-left: 1.5rem; margin: 0.5rem 0; }
.dp-section-body li { margin-bottom: 0.35rem; }
.dp-section-body strong { font-weight: 600; color: var(--navy); }
.dp-section-body p { margin: 0 0 0.75rem; }

.dp-generating      { display: flex; align-items: center; gap: 20px; background: var(--bg-surface); border: none; border-radius: 10px; padding: 24px; margin-bottom: 20px; }
.dp-generating-icon { flex-shrink: 0; }
.dp-spinner         { width: 36px; height: 36px; border: 3px solid var(--border); border-top-color: var(--blue); border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin      { to { transform: rotate(360deg); } }
.dp-generating-title { font-family: 'Outfit',sans-serif; font-size: 0.925rem; font-weight: 600; color: var(--navy); margin: 0 0 4px; }
.dp-generating-sub   { font-size: 0.8rem; color: var(--text-muted); margin: 0; }

.prep-status         { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 10px; font-size: 0.7rem; font-weight: 500; }
.prep-status-pending     { background: #f0f5f9; color: #5a7090; }
.prep-status-researching { background: #fef3e2; color: #9a6a00; }
.prep-status-generating  { background: #e8f4fb; color: var(--blue-dark); }
.prep-status-complete    { background: #e6f9f2; color: #0a7a52; }
.prep-status-failed      { background: #fdf0f0; color: #9a3c3c; }

.dp-tag-list  { display: flex; flex-wrap: wrap; gap: 6px; }
.dp-tag       { font-size: 0.7rem; background: var(--blue-bg); color: var(--blue-dark); padding: 3px 8px; border-radius: 5px; font-weight: 500; }
.dp-config-note { margin-top: 12px; font-size: 0.775rem; color: var(--text-muted); }

@media (max-width: 900px) { .dp-layout { grid-template-columns: 1fr; } }

/* ─────────────────────────────────────────
   SETTINGS
───────────────────────────────────────── */

.settings-layout              { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.settings-checkbox-grid       { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; margin-top: 12px; }
.settings-checkbox-item       { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 6px; cursor: pointer; background: var(--bg-app); }
.settings-checkbox-item:hover { background: var(--blue-bg); }
.settings-checkbox-label      { font-size: 0.825rem; color: var(--text-primary); font-weight: 500; }

/* ─────────────────────────────────────────
   MARKETPLACE
───────────────────────────────────────── */

.marketplace-grid           { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin-bottom: 28px; }
.marketplace-card           { background: var(--bg-surface); border: none; border-radius: 10px; padding: 18px; display: flex; flex-direction: column; gap: 10px; transition: box-shadow 0.15s ease; }
.marketplace-card:hover     { box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.marketplace-card-connected { border-color: rgba(26,158,212,0.3); background: linear-gradient(135deg, #f0f8fd 0%, #ffffff 100%); }
.marketplace-card-header    { display: flex; align-items: center; gap: 12px; }
.marketplace-logo-wrap      { width: 40px; height: 40px; border-radius: 8px; background: var(--blue-bg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.marketplace-logo-wrap img  { width: 40px; height: 40px; object-fit: contain; border-radius: 8px; }
.marketplace-logo-text      { font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 700; color: var(--blue); }
.marketplace-card-name      { font-family: 'Outfit', sans-serif; font-size: 0.875rem; font-weight: 600; color: var(--navy); margin-bottom: 3px; }
.marketplace-card-desc      { font-size: 0.8rem; color: var(--text-secondary); line-height: 1.5; margin: 0; flex: 1; }
.marketplace-card-actions   { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.marketplace-requested      { font-size: 0.775rem; color: var(--success); font-weight: 500; }

/* ─── Settings panel ────────────────────────────────────────────────────────── */


/* ─── Integration settings panel ────────────────────────────────────────────── */
.prefs-backdrop { height: 100vh; }

/* ─── Integration settings panel ────────────────────────────────────────────── */
.prefs-panel--wide { width: 520px; max-width: 95vw; height: 100vh; display: flex; flex-direction: column; overflow: hidden; }
.prefs-panel--wide .prefs-header { flex-shrink: 0; }
.prefs-panel--wide turbo-frame { display: contents; }
.prefs-panel--wide form.prefs-body { flex: 1; min-height: 0; overflow-y: auto; padding: 0; display: flex; flex-direction: column; }
.settings-panel__integration-name { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.2rem; }
.settings-saved-banner { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; background: #e6f7f1; color: var(--success); font-size: 0.8125rem; font-weight: 500; border-bottom: 1px solid var(--border); }
.settings-section { padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.settings-section__title { font-size: 0.875rem; font-weight: 600; color: var(--navy); margin-bottom: 0.25rem; }
.settings-section__description { font-size: 0.8rem; color: var(--text-secondary); line-height: 1.55; margin-bottom: 0.875rem; }
.sync-direction-options { display: flex; flex-direction: column; gap: 0.5rem; }
.sync-option { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border: 2px solid var(--border); border-radius: 0; cursor: pointer; transition: border-color 150ms, background 150ms; background: var(--bg-app); }
.sync-option:hover { border-color: var(--blue); background: var(--blue-bg); }
.sync-option--selected { border-color: var(--blue); background: var(--blue-bg); }
.sync-option__input { display: none; }
.sync-option__content { flex: 1; }
.sync-option__label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--navy); }
.sync-option__description { display: block; font-size: 0.75rem; color: var(--text-secondary); margin-top: 0.125rem; }
.sync-option__check { color: var(--blue); opacity: 0; transition: opacity 150ms; }
.sync-option--selected .sync-option__check { opacity: 1; }
.stage-checkboxes { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.stage-checkbox { display: flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.75rem; border: 2px solid var(--border); border-radius: 2rem; cursor: pointer; transition: border-color 150ms, background 150ms; user-select: none; }
.stage-checkbox:has(.stage-checkbox__input:checked) { border-color: var(--blue); background: var(--blue-bg); }
.stage-checkbox__input { display: none; }
.stage-checkbox__label { font-size: 0.8125rem; font-weight: 500; color: var(--navy); }
.field-mapping-table { border: none; border-radius: 0; overflow: hidden; }
.field-mapping-table__header { display: grid; grid-template-columns: 1fr 1fr; padding: 0.5rem 0.75rem; background: var(--bg-app); font-size: 0.7rem; font-weight: 700; color: var(--text-muted); letter-spacing: 0.06em; text-transform: uppercase; }
.field-mapping-table__row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 0.5rem 0.75rem; border-top: 1px solid var(--border); gap: 0.75rem; }
.field-mapping-table__cove-field { font-size: 0.8125rem; color: var(--text-primary); }
.field-mapping-table__input { font-size: 0.8125rem; padding: 0.35rem 0.625rem; border: none; border-radius: 6px; background: white; color: var(--text-primary); width: 100%; transition: border-color 150ms; }
.field-mapping-table__input:focus { outline: none; border-color: var(--blue); }
.field-mapping-table__input::placeholder { color: var(--text-muted); }
.settings-form__footer { flex-shrink: 0; display: flex; justify-content: flex-end; gap: 0.75rem; padding: 1.25rem 1.5rem; border-top: 1px solid var(--border); margin-top: auto; }
.settings-field { margin-bottom: 1.25rem; }
.settings-field:last-child { margin-bottom: 0; }
.settings-field__label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; font-weight: 600; color: var(--navy); margin-bottom: 0.5rem; }
.settings-field__badge { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; padding: 0.15rem 0.5rem; background: #fff4e5; color: #b45309; border: 1px solid #fcd34d; border-radius: 2rem; }
.settings-field__input { width: 100%; font-size: 0.8125rem; padding: 0.45rem 0.75rem; border: none; border-radius: 6px; background: white; color: var(--text-primary); transition: border-color 150ms; }
.settings-field__input:focus { outline: none; border-color: var(--blue); }
.settings-field__input::placeholder { color: var(--text-muted); }
.settings-field__hint { display: block; font-size: 0.75rem; color: var(--text-muted); margin-top: 0.375rem; }

/* ── Prospect Finder Drawer ─────────────────────────────────────── */

#prospects-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 299;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
#prospects-overlay.open { opacity: 1; pointer-events: all; }

#prospects-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 560px;
  max-width: 100vw;
  background: var(--bg-surface);
  border-left: 1px solid var(--border);
  box-shadow: -4px 0 24px rgba(26,37,64,0.08);
  z-index: 300;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#prospects-drawer.open { transform: translateX(0); }

.pd-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  background: var(--bg-surface);
}
.pd-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-primary);
}
.pd-via {
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--text-muted);
}
.pd-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 6px;
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--text-muted);
  transition: background 0.15s, color 0.15s;
}
.pd-close:hover { background: var(--bg-app); color: var(--navy); }

.pd-body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 20px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: var(--bg-app);
}

.pd-form {
  display: flex;
  flex-direction: column;
  gap: 13px;
  background: var(--bg-surface);
  border: none;
  border-radius: 10px;
  padding: 16px;
}
.pd-row { display: flex; gap: 12px; }
.pd-row .pd-field { flex: 1; }
.pd-field { display: flex; flex-direction: column; gap: 5px; }
.pd-label {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
}
.pd-input {
  width: 100%;
  background: var(--bg-app);
  border: none;
  border-radius: 6px;
  padding: 7px 10px;
  font-size: 0.85rem;
  color: var(--text-primary);
  font-family: "DM Sans", sans-serif;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}
.pd-input::placeholder { color: var(--text-muted); opacity: 0.6; }
.pd-input:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(26,37,64,0.07); }

.pd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pd-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border: none;
  border-radius: 5px;
  background: var(--bg-app);
  font-size: 0.8rem;
  color: var(--text-secondary);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  user-select: none;
}
.pd-chip:has(.pd-chip-cb:checked) {
  border-color: var(--navy);
  background: rgba(26,37,64,0.06);
  color: var(--navy);
  font-weight: 500;
}
.pd-chip-cb { display: none; }
.pd-chips--size .pd-chip { font-size: 0.75rem; padding: 3px 8px; }

.pd-submit-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 4px;
  border-top: 1px solid var(--border);
  margin-top: 2px;
}
.pd-credit-note { font-size: 0.73rem; color: var(--text-muted); }

.pd-idle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px 20px;
  color: var(--text-muted);
  text-align: center;
  background: var(--bg-surface);
  border: none;
  border-radius: 10px;
}
.pd-idle p { font-size: 0.85rem; margin: 0; }
.pd-idle .btn { margin-top: 4px; }

.pd-error {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 14px;
  background: rgba(217,79,79,0.06);
  border: 1px solid rgba(217,79,79,0.2);
  border-radius: 7px;
  font-size: 0.85rem;
  color: var(--danger);
}

/* Results */
.pd-results-section {
  background: var(--bg-surface);
  border: none;
  border-radius: 10px;
  overflow: hidden;
}
.pd-results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  background: var(--bg-surface);
}
.pd-select-all {
  display: flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  font-size: 0.82rem;
  color: var(--text-secondary);
}
.pd-results-count { font-size: 0.8rem; color: var(--text-muted); }
.pd-import-btn { font-size: 0.8rem; padding: 5px 14px; }

.pd-table-wrap { overflow-x: auto; }
.pd-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.pd-table th {
  padding: 7px 12px;
  text-align: left;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  background: var(--bg-app);
  white-space: nowrap;
}
.pd-table td {
  padding: 9px 12px;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-light, #f0f4f9);
  vertical-align: middle;
}
.pd-table tbody tr:last-child td { border-bottom: none; }
.pd-table tbody tr:hover td { background: #fafcff; }
.pd-td-cb   { width: 32px; }
.pd-td-name { font-weight: 500; white-space: nowrap; }
.pd-td-company { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-secondary); }
.pd-td-title   { color: var(--text-muted); max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pd-td-loc  { color: var(--text-muted); font-size: 0.75rem; white-space: nowrap; }
.pd-td-data { white-space: nowrap; }

.pd-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 700;
  margin-right: 2px;
}
.pd-badge--e { background: rgba(59,130,246,0.1); color: #2563eb; }
.pd-badge--p { background: rgba(16,185,129,0.1); color: #059669; }

/* ── Prospect finder additions ──────────────────────────────────── */
.pd-per-page {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}
.pd-select {
  background: var(--bg-app);
  border: none;
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 0.82rem;
  color: var(--text-primary);
  font-family: "DM Sans", sans-serif;
  outline: none;
  cursor: pointer;
}
.pd-credit-warning {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 8px 14px;
  background: rgba(201,168,76,0.07);
  border-bottom: 1px solid rgba(201,168,76,0.18);
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.5;
}
.pd-results-bar__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pd-selected-count {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--navy);
}
.pd-error {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px 16px;
  border-radius: 0;
  font-size: 0.84rem;
}
.pd-error--general {
  background: rgba(217,79,79,0.06);
  border: 1px solid rgba(217,79,79,0.2);
  color: var(--danger);
}
.pd-error--credits {
  background: rgba(201,168,76,0.07);
  border: 1px solid rgba(201,168,76,0.25);
  color: #92722a;
}
.pd-error__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pd-error__body strong { font-weight: 600; }
.pd-error__link {
  font-size: 0.78rem;
  font-weight: 500;
  color: inherit;
  text-decoration: underline;
  margin-top: 2px;
}

.pd-row--in-cove td { opacity: 0.45; }
.pd-row--in-cove td.pd-td-name { opacity: 1; }
.pd-in-cove-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 1px 6px;
  background: rgba(26,37,64,0.07);
  border: none;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.03em;
  vertical-align: middle;
}
.pd-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 14px;
  border-top: 1px solid var(--border);
  background: var(--bg-surface);
}
.pd-page-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border: none;
  border-radius: 6px;
  background: var(--bg-surface);
  font-size: 0.8rem;
  font-family: "DM Sans", sans-serif;
  color: var(--text-secondary);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.pd-page-btn:hover { background: var(--bg-app); color: var(--navy); }
.pd-page-info { font-size: 0.78rem; color: var(--text-muted); }

/* ─────────────────────────────────────────
   PREP FOR CALL CARD
───────────────────────────────────────── */

.prep-cta-card {
   background: var(--navy);
   border: 1px solid rgba(255,255,255,0.08);
   border-radius: 12px;
   padding: 18px;
   display: flex;
   flex-direction: column;
   gap: 12px;
 }
 
 .prep-cta-icon {
   width: 36px;
   height: 36px;
   background: rgba(255,255,255,0.08);
   border-radius: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #c9a96e;
   flex-shrink: 0;
 }
 
 .prep-cta-title {
   font-family: 'Outfit', sans-serif;
   font-size: 0.9rem;
   font-weight: 600;
   color: #fff;
 }
 
 .prep-cta-sub {
   font-size: 0.75rem;
   color: rgba(255,255,255,0.5);
   margin-top: 2px;
 }
 
 .prep-cta-actions {
   display: flex;
   align-items: center;
   gap: 10px;
   flex-wrap: wrap;
 }
 
 .prep-cta-actions .btn-link-sm {
   color: rgba(255,255,255,0.5);
 }
 
 .prep-cta-actions .btn-link-sm:hover {
   color: rgba(255,255,255,0.8);
 }
 
 .prep-cta-btn {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   width: 100%;
   justify-content: center;
 }
 
 /* ─────────────────────────────────────────
    INLINE EDIT
 ───────────────────────────────────────── */
 
 .btn-link-sm {
   background: none;
   border: none;
   color: var(--blue);
   font-size: 0.75rem;
   font-weight: 500;
   cursor: pointer;
   padding: 0;
   text-decoration: none;
   font-family: 'DM Sans', sans-serif;
 }
 
 .btn-link-sm:hover { text-decoration: underline; }
 
 .card-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }
 
 .inline-edit-form { display: flex; flex-direction: column; gap: 12px; }
 
 .inline-edit-actions {
   display: flex;
   align-items: center;
   gap: 8px;
   padding-top: 4px;
 }
 
 /* ─────────────────────────────────────────
    ACTIVITY FEED
 ───────────────────────────────────────── */
 
 .activity-log-trigger {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   background: var(--blue-bg);
   color: var(--blue);
   border: 1px dashed var(--blue);
   border-radius: 6px;
   padding: 6px 14px;
   font-size: 0.8rem;
   font-weight: 500;
   cursor: pointer;
   font-family: 'DM Sans', sans-serif;
   transition: all 0.15s;
   margin-bottom: 16px;
 }
 
 .activity-log-trigger:hover { background: var(--blue); color: #fff; }
 
  .activity-form-inner {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
   margin-bottom: 16px;
   display: flex;
   flex-direction: column;
   gap: 10px;
 }
 
 .activity-kind-selector {
   display: flex;
   gap: 6px;
   flex-wrap: wrap;
 }
 
 .activity-kind-btn {
   display: flex;
   align-items: center;
   gap: 4px;
   border: none;
   border-radius: 5px;
   padding: 4px 10px;
   font-size: 0.75rem;
   font-weight: 500;
   cursor: pointer;
   color: var(--text-secondary);
   transition: all 0.15s;
 }
 
 .activity-kind-btn input[type="radio"] { display: none; }
 .activity-kind-btn:has(input:checked) {
   border-color: var(--blue);
   background: var(--blue-bg);
   color: var(--blue);
 }
 
 .activity-body { resize: vertical; min-height: 64px; }
 
 .activity-form-footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 10px;
   flex-wrap: wrap;
 }
 
 .activity-date { font-size: 0.8rem; flex: 1; min-width: 180px; }
 
 .activity-form-actions { display: flex; gap: 8px; }
 
 .activity-timeline {
   display: flex;
   flex-direction: column;
   gap: 0;
 }
 
 .activity-item {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   padding: 10px 0;
   border-bottom: 1px solid var(--border);
   position: relative;
 }
 
 .activity-item:last-child { border-bottom: none; }
 
 .activity-item--system .activity-item-icon { background: transparent; }
 .activity-item--system .activity-item-kind { color: var(--text-muted); }
 
 .activity-item-icon {
   width: 28px;
   height: 28px;
   border-radius: 50%;
   background: var(--blue-bg);
   color: var(--blue);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   margin-top: 1px;
 }
 
 .activity-item-content { flex: 1; min-width: 0; }
 
 .activity-item-header {
   display: flex;
   align-items: baseline;
   gap: 8px;
   flex-wrap: wrap;
   margin-bottom: 2px;
 }
 
 .activity-item-kind {
   font-size: 0.8rem;
   font-weight: 600;
   color: var(--text-primary);
 }
 
 .activity-item-meta {
   font-size: 0.72rem;
   color: var(--text-muted);
 }
 
 .activity-item-body {
   font-size: 0.82rem;
   color: var(--text-secondary);
   margin: 0;
   line-height: 1.5;
   white-space: pre-wrap;
 }
 
 .activity-item-delete { flex-shrink: 0; }
 
 .activity-delete-btn {
   background: none;
   border: none;
   color: var(--text-muted);
   cursor: pointer;
   padding: 4px;
   border-radius: 4px;
   display: flex;
   align-items: center;
   opacity: 0;
   transition: opacity 0.15s;
 }
 
 .activity-item:hover .activity-delete-btn { opacity: 1; }
 .activity-delete-btn:hover { color: var(--red, #e05c5c); background: rgba(224,92,92,0.08); }
 
 .activity-empty {
   font-size: 0.8rem;
   color: var(--text-muted);
   font-style: italic;
   margin: 8px 0 4px;
 }
 
 .btn-sm { padding: 5px 12px; font-size: 0.78rem; }


/* ─────────────────────────────────────────
   STAT CARD ACCENTS
───────────────────────────────────────── */
.stat-card { border-top: 3px solid var(--border); }
.stat-card--blue  { border-top-color: #1a9ed4; }
.stat-card--green { border-top-color: #22c087; }
.stat-card--amber { border-top-color: #f59e0b; }
.stat-card--navy  { border-top-color: var(--navy); }

/* ─────────────────────────────────────────
   CALL NOTES
───────────────────────────────────────── */

.call-notes-list { display: flex; flex-direction: column; }

.call-note-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--border-light);
  text-decoration: none;
  transition: background 0.15s;
}

.call-note-row:last-child { border-bottom: none; }
.call-note-row:hover { background: var(--bg-app); }

.call-note-row-date   { font-size: 0.825rem; color: var(--text-secondary); }
.call-note-row-duration { font-size: 0.825rem; color: var(--text-muted); }

.call-note-row-likelihood {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--blue);
  margin-left: auto;
}

.call-note-row-ratio {
  font-size: 0.775rem;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 10px;
}

.call-note-row-ratio.healthy { background: #e6f9f2; color: #15803d; }
.call-note-row-ratio.warn    { background: #fff7ed; color: #c2410c; }

.pill-call-type {
  background: var(--blue-bg);
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
}

/* Talk ratio */
.talk-ratio-bar {
  display: flex;
  height: 10px;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 10px;
  background: var(--border);
}

.talk-ratio-rep      { background: #1a9ed4; }
.talk-ratio-prospect { background: #22c087; }

.talk-ratio-legend { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }

.talk-ratio-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.talk-ratio-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.talk-ratio-dot--rep      { background: #1a9ed4; }
.talk-ratio-dot--prospect { background: #22c087; }

.talk-ratio-status {
  font-size: 0.775rem;
  font-weight: 500;
  padding: 6px 10px;
  border-radius: 6px;
  margin-top: 4px;
}

.talk-ratio-status--good { background: #e6f9f2; color: #15803d; }
.talk-ratio-status--warn { background: #fff7ed; color: #c2410c; }

/* Closing likelihood */
.closing-likelihood-display {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}

.closing-likelihood-bar-wrap {
  flex: 1;
  height: 6px;
  background: var(--border);
  border-radius: 3px;
  overflow: hidden;
}

.closing-likelihood-bar {
  height: 100%;
  background: linear-gradient(90deg, #1a9ed4, #22c087);
  border-radius: 3px;
  transition: width 0.3s ease;
}

.closing-likelihood-pct {
  font-size: 0.825rem;
  font-weight: 600;
  color: var(--navy);
  flex-shrink: 0;
}

.closing-likelihood-badge {
  display: inline-flex;
  align-items: center;
  background: var(--blue-bg);
  color: var(--blue);
  font-weight: 600;
  font-size: 0.875rem;
  padding: 3px 10px;
  border-radius: 10px;
}

/* Rich text content */
.call-note-body {
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--text-secondary);
}

.call-note-body ul, .call-note-body ol {
  padding-left: 1.25rem;
  margin: 0.5rem 0;
}

.call-note-body li { margin-bottom: 0.25rem; }
.call-note-body strong { color: var(--text-primary); }
.call-note-body p { margin: 0 0 0.75rem; }
.call-note-body p:last-child { margin-bottom: 0; }

/* Rich text editor */
.call-note-rich-text trix-editor {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  color: var(--text-primary);
  border: 1px solid var(--border);
  border-radius: 0 0 7px 7px;
  padding: 0.6rem 0.875rem;
  min-height: 100px;
  background: var(--bg-app);
}

.call-note-rich-text trix-toolbar {
  border: 1px solid var(--border);
  border-bottom: none;
  border-radius: 7px 7px 0 0;
  background: var(--bg-surface);
  padding: 4px 8px;
}

.panel-form { max-width: 800px; }

/* ─────────────────────────────────────────
   TRANSCRIPT
───────────────────────────────────────── */

.transcript-processing {
   display: flex;
   align-items: center;
   gap: 16px;
   background: var(--blue-bg);
   border: 1px solid var(--blue);
   border-radius: 10px;
   padding: 16px 20px;
   margin-bottom: 20px;
 }
 
 .transcript-processing-spinner {
   width: 24px;
   height: 24px;
   border: 2.5px solid var(--blue);
   border-top-color: transparent;
   border-radius: 50%;
   animation: spin 0.8s linear infinite;
   flex-shrink: 0;
 }
 
 @keyframes spin { to { transform: rotate(360deg); } }
 
 .transcript-processing-title {
   font-size: 0.875rem;
   font-weight: 600;
   color: var(--navy);
   margin: 0 0 2px;
 }
 
 .transcript-processing-sub {
   font-size: 0.775rem;
   color: var(--text-muted);
   margin: 0;
 }
 
 .transcript-tab-btns {
   display: flex;
   gap: 0;
   margin-bottom: 12px;
   border: 1px solid var(--border);
   border-radius: 7px;
   overflow: hidden;
   width: fit-content;
 }
 
 .transcript-tab-btn {
   background: transparent;
   border: none;
   padding: 6px 16px;
   font-size: 0.8rem;
   font-weight: 500;
   color: var(--text-muted);
   cursor: pointer;
   font-family: 'DM Sans', sans-serif;
   transition: all 0.15s;
 }
 
 .transcript-tab-btn.active {
   background: var(--navy);
   color: #fff;
 }
 
 .transcript-textarea { min-height: 220px; resize: vertical; }
 
 .transcript-file-drop {
   border: 2px dashed var(--border);
   border-radius: 8px;
   padding: 32px;
   text-align: center;
   position: relative;
   cursor: pointer;
   transition: border-color 0.15s;
 }
 
 .transcript-file-drop:hover { border-color: var(--blue); }
 
 .transcript-file-input {
   position: absolute;
   inset: 0;
   opacity: 0;
   cursor: pointer;
   width: 100%;
   height: 100%;
 }
 
 .transcript-file-label {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 8px;
   color: var(--text-muted);
   font-size: 0.875rem;
   pointer-events: none;
 }
 
 .transcript-file-hint { font-size: 0.75rem; color: var(--text-muted); }
 
 .transcript-form-footer { margin-top: 16px; }
 
 .transcript-badge {
   font-size: 0.725rem;
   font-weight: 600;
   padding: 2px 8px;
   border-radius: 10px;
 }
 
 .transcript-badge--done { background: #e6f9f2; color: #15803d; }
 
 .ai-suggestion {
   font-size: 0.75rem;
   color: var(--text-muted);
   margin-top: 4px;
   font-style: italic;
 }

 /* ─────────────────────────────────────────
   CALL NOTE FORM TABS
───────────────────────────────────────── */

.cn-notes-sub {
   font-size: 0.8rem;
   color: var(--text-muted);
   margin: 0 0 12px;
 }
 
 .cn-tabs { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
 
 .cn-tab-btns {
   display: flex;
   border-bottom: 1px solid var(--border);
   background: var(--bg-surface);
 }
 
 .cn-tab-btn {
   flex: 1;
   background: none;
   border: none;
   border-right: 1px solid var(--border);
   padding: 10px 16px;
   font-size: 0.8rem;
   font-weight: 500;
   color: var(--text-muted);
   cursor: pointer;
   font-family: 'DM Sans', sans-serif;
   transition: all 0.15s;
 }
 
 .cn-tab-btn:last-child { border-right: none; }
 .cn-tab-btn.active { background: #fff; color: var(--navy); font-weight: 600; }
 .cn-tab-btn:hover:not(.active) { background: var(--bg-app); color: var(--text-primary); }
 
 .cn-tab-panel { padding: 16px; }
 
 .cn-notes-textarea { min-height: 200px; resize: vertical; }
 
 .cn-file-drop {
   border: 2px dashed var(--border);
   border-radius: 8px;
   padding: 40px 24px;
   text-align: center;
   position: relative;
   cursor: pointer;
   transition: border-color 0.15s, background 0.15s;
 }
 
 .cn-file-drop:hover { border-color: var(--blue); background: var(--blue-bg); }
 
 .cn-file-input {
   position: absolute;
   inset: 0;
   opacity: 0;
   cursor: pointer;
   width: 100%;
   height: 100%;
 }
 
 .cn-file-label {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 8px;
   color: var(--text-muted);
   pointer-events: none;
 }
 
 .cn-file-label-text { font-size: 0.875rem; font-weight: 500; color: var(--text-secondary); }
 .cn-file-hint       { font-size: 0.75rem; color: var(--text-muted); }
 .cn-file-note       { font-size: 0.775rem; color: var(--text-muted); margin: 10px 0 0; }
 
 .cn-integrations-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 12px;
   margin-bottom: 12px;
 }
 
 .cn-integration-card {
   border: 1px solid var(--border);
   border-radius: 8px;
   padding: 14px;
   display: flex;
   align-items: center;
   gap: 12px;
 }
 
 .cn-integration-icon { flex-shrink: 0; }
 .cn-integration-name { font-size: 0.825rem; font-weight: 600; color: var(--navy); }
 .cn-integration-status { font-size: 0.7rem; color: var(--text-muted); margin-top: 2px; }
 .cn-integration-coming { opacity: 0.7; }
 
 /* Card title badge */
 .card-title-badge {
   font-size: 0.65rem;
   font-weight: 600;
   padding: 2px 7px;
   border-radius: 10px;
 }
 
 .card-title-badge--amber { background: #fff7ed; color: #c2410c; }
 
 /* Lead score on sidebar */
 .lead-score-display {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-top: 4px;
 }
 
 .lead-score-bar-wrap {
   flex: 1;
   height: 6px;
   background: var(--border);
   border-radius: 3px;
   overflow: hidden;
 }
 
 .lead-score-bar {
   height: 100%;
   border-radius: 3px;
   transition: width 0.3s ease;
 }
 
 .lead-score-bar--high   { background: #22c087; }
 .lead-score-bar--medium { background: #f59e0b; }
 .lead-score-bar--low    { background: #e05c5c; }
 
 .lead-score-pct {
   font-size: 0.825rem;
   font-weight: 600;
   color: var(--navy);
   flex-shrink: 0;
 }

 /* ─────────────────────────────────────────
   LIKELIHOOD INLINE EDIT
───────────────────────────────────────── */

.likelihood-form { margin-top: 8px; }

.likelihood-input-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.likelihood-input {
  width: 70px;
  text-align: center;
}

.likelihood-pct-label {
  font-size: 0.875rem;
  color: var(--text-secondary);
}

.pipeline-card-score {
   display: flex;
   align-items: center;
   gap: 6px;
   margin-top: 6px;
 }
 
 .pipeline-card-score-num {
   font-size: 0.7rem;
   font-weight: 600;
   color: var(--text-muted);
   flex-shrink: 0;
 }

 .pipeline-summary-values {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 1px;
 }
 
 .pipeline-summary-weighted {
   font-size: 0.7rem;
   color: var(--text-muted);
 }

 /* ─────────────────────────────────────────
   SCORING CRITERIA
───────────────────────────────────────── */

.scoring-criteria-list {
   display: flex;
   flex-direction: column;
   gap: 8px;
   margin-bottom: 16px;
 }
 
 .scoring-criterion-row {
   background: var(--bg-app);
   border: 1px solid var(--border);
   border-radius: 7px;
   padding: 10px 12px;
 }
 
 .scoring-criterion-fields {
   display: grid;
   grid-template-columns: 1fr 70px 2fr 28px;
   gap: 8px;
   align-items: center;
 }
 
 .sc-points { text-align: center; }
 
 .sc-remove-btn {
   background: none;
   border: none;
   color: var(--text-muted);
   cursor: pointer;
   padding: 4px;
   border-radius: 4px;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.15s;
 }
 
 .sc-remove-btn:hover { color: var(--danger, #e05c5c); background: rgba(224,92,92,0.08); }
 
 .sc-actions {
   display: flex;
   align-items: center;
   gap: 8px;
 }
 
 .sc-reset-link {
   margin-top: 8px;
   font-size: 0.775rem;
 }
 
 @media (max-width: 767px) {
   .scoring-criterion-fields {
     grid-template-columns: 1fr 60px 28px;
   }
   .sc-description { display: none; }
 }

 /* ─────────────────────────────────────────
   CALL ANALYTICS
───────────────────────────────────────── */

.trend-chart {
   display: flex;
   align-items: flex-end;
   gap: 16px;
   height: 160px;
   padding-bottom: 8px;
 }
 
 .trend-col {
   display: flex;
   flex-direction: column;
   align-items: center;
   flex: 1;
   height: 100%;
 }
 
 .trend-bar-wrap {
   flex: 1;
   width: 100%;
   display: flex;
   align-items: flex-end;
   justify-content: center;
 }
 
 .trend-bar {
   width: 100%;
   height: 100%;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   border-radius: 4px 4px 0 0;
   overflow: hidden;
   min-height: 20px;
 }
 
 .trend-bar-rep {
   background: #1a9ed4;
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: height 0.3s ease;
 }
 
 .trend-bar-prospect {
   background: #22c087;
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: height 0.3s ease;
 }
 
 .trend-bar-label {
   font-size: 0.6rem;
   color: #fff;
   font-weight: 600;
 }
 
 .trend-bar-empty {
   font-size: 0.7rem;
   color: var(--text-muted);
 }
 
 .trend-month {
   font-size: 0.75rem;
   font-weight: 600;
   color: var(--text-secondary);
   margin-top: 6px;
 }
 
 .trend-count {
   font-size: 0.65rem;
   color: var(--text-muted);
 }
 
 .trend-legend {
   display: flex;
   gap: 16px;
   margin-top: 12px;
 }
 
 .trend-legend-item {
   display: flex;
   align-items: center;
   gap: 6px;
   font-size: 0.775rem;
   color: var(--text-secondary);
 }
 
 .trend-dot {
   width: 10px;
   height: 10px;
   border-radius: 2px;
   flex-shrink: 0;
 }
 
 .trend-dot--rep      { background: #1a9ed4; }
 .trend-dot--prospect { background: #22c087; }

 /* ─────────────────────────────────────────
   INTEGRATION CONNECT STEPS
───────────────────────────────────────── */

.connect-instructions { margin-bottom: 20px; }

.connect-steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}

.connect-step {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.825rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

.connect-step-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--blue-bg);
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ─────────────────────────────────────────
   WEBHOOK URL BOX
───────────────────────────────────────── */

.webhook-url-box {
   display: flex;
   align-items: center;
   gap: 10px;
   background: var(--bg-app);
   border: 1px solid var(--border);
   border-radius: 7px;
   padding: 10px 14px;
   margin-top: 8px;
 }
 
 .webhook-url-code {
   flex: 1;
   font-family: ui-monospace, monospace;
   font-size: 0.75rem;
   color: var(--text-secondary);
   word-break: break-all;
 }

 /* ─────────────────────────────────────────
   BRANDING SETTINGS
───────────────────────────────────────── */

.brand-logo-preview {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 10px;
   padding: 10px 14px;
   background: var(--bg-app);
   border: 1px solid var(--border);
   border-radius: 7px;
 }
 
 .brand-logo-img {
   height: 40px;
   width: auto;
   max-width: 160px;
   object-fit: contain;
 }
 
 .brand-logo-filename {
   font-size: 0.8rem;
   color: var(--text-muted);
 }
 
 .colour-picker-row {
   display: flex;
   align-items: center;
   gap: 10px;
 }
 
 .colour-picker-input {
   width: 44px;
   height: 38px;
   border: 1px solid var(--border);
   border-radius: 7px;
   padding: 2px;
   cursor: pointer;
   background: none;
   flex-shrink: 0;
 }
 
 .colour-picker-hex {
   flex: 1;
   font-family: ui-monospace, monospace;
   font-size: 0.875rem;
 }
 
 .form-hint {
   font-size: 0.75rem;
   color: var(--text-muted);
   margin-top: 4px;
   margin-bottom: 0;
 }

 /* ─────────────────────────────────────────
   COMMUNICATIONS
───────────────────────────────────────── */

.comms-generator { display: flex; flex-direction: column; gap: 8px; }

.comms-generator-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.comms-select { flex: 1; min-width: 140px; }

.comms-prompt { font-size: 0.825rem; resize: vertical; }

.comm-content {
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--text-primary);
  white-space: pre-wrap;
}

.comm-content p { margin: 0 0 1em; }
.comm-content p:last-child { margin-bottom: 0; }

/* ─────────────────────────────────────────
   BUSINESS CASES
───────────────────────────────────────── */

.bc-layout {
   display: grid;
   grid-template-columns: 1fr 300px;
   gap: 16px;
   align-items: start;
 }
 
 .bc-main { display: flex; flex-direction: column; gap: 16px; }
 .bc-sidebar { display: flex; flex-direction: column; gap: 16px; }
 
 .bc-title-banner {
   background: var(--navy);
   border-radius: 12px;
   padding: 28px 32px;
   color: #fff;
 }
 
 .bc-title-label {
   font-size: 0.7rem;
   font-weight: 600;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   color: rgba(255,255,255,0.5);
   margin-bottom: 8px;
 }
 
 .bc-title {
   font-family: 'Outfit', sans-serif;
   font-size: 1.4rem;
   font-weight: 700;
   color: #fff;
   margin: 0 0 10px;
   line-height: 1.3;
 }
 
 .bc-meta {
   font-size: 0.8rem;
   color: rgba(255,255,255,0.5);
 }
 
 .bc-section .card-header {
   display: flex;
   align-items: center;
   gap: 10px;
 }
 
 .bc-section-icon {
   width: 28px;
   height: 28px;
   border-radius: 6px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
 }
 
 .bc-section-icon--problem  { background: #fff0f0; color: #e05c5c; }
 .bc-section-icon--situation { background: var(--blue-bg); color: var(--blue); }
 .bc-section-icon--warning  { background: #fff7ed; color: #c2410c; }
 .bc-section-icon--solution { background: #e6f9f2; color: #15803d; }
 .bc-section-icon--outcomes { background: #e6f9f2; color: #15803d; }
 .bc-section-icon--roi      { background: var(--blue-bg); color: var(--blue); }
 .bc-section-icon--risks    { background: #fff7ed; color: #c2410c; }
 .bc-section-icon--steps    { background: var(--navy); color: #fff; }
 
 .bc-section--warning { border-left: 3px solid #f59e0b; }
 .bc-section--steps   { border-left: 3px solid var(--navy); }
 
 .bc-content {
   font-size: 0.875rem;
   line-height: 1.75;
   color: var(--text-secondary);
 }
 
 .bc-content p  { margin: 0 0 0.875rem; }
 .bc-content p:last-child { margin-bottom: 0; }
 .bc-content ul, .bc-content ol { padding-left: 1.25rem; margin: 0.5rem 0; }
 .bc-content li { margin-bottom: 0.375rem; }
 .bc-content strong { color: var(--text-primary); }
 
 @media (max-width: 900px) {
   .bc-layout { grid-template-columns: 1fr; }
 }

 .export-dropdown .popup-menu {
   min-width: 200px;
 }

 .topbar-actions .export-dropdown {
   position: relative;
   display: inline-block;
 }
 
 .topbar-actions .popup-menu {
   position: absolute;
   top: calc(100% + 6px);
   right: 0;
   background: #fff;
   border: 1px solid var(--border);
   border-radius: 8px;
   box-shadow: 0 4px 20px rgba(0,0,0,0.12);
   min-width: 200px;
   z-index: 200;
   padding: 4px;
 }
 
 .topbar-actions .popup-item {
   display: flex;
   align-items: center;
   gap: 8px;
   width: 100%;
   padding: 9px 14px;
   font-size: 0.825rem;
   color: var(--text-primary);
   text-decoration: none;
   border-radius: 5px;
   border: none;
   background: none;
   cursor: pointer;
   font-family: 'DM Sans', sans-serif;
   text-align: left;
   white-space: nowrap;
   transition: background 0.15s;
 }
 
 .topbar-actions .popup-item:hover {
   background: var(--bg-app);
 }

 .marketplace-logo-img {
   width: 32px;
   height: 32px;
   object-fit: contain;
   border-radius: 6px;
 }

/* ---------------------------------------------------------------- */
/* Billing page                                                     */
/* ---------------------------------------------------------------- */
.billing-status{margin-bottom:24px;}
.billing-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;}
.billing-plan-name{font-family:'Outfit',sans-serif;font-size:1.25rem;font-weight:600;color:var(--navy);margin:4px 0 0;}
.billing-status-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-bottom:18px;}
.billing-meta-value{font-size:0.875rem;font-weight:600;color:var(--navy);margin:4px 0 0;}
.billing-status-actions{display:flex;flex-wrap:wrap;gap:10px;}
.billing-status-actions form{margin:0;}
.billing-badge{display:inline-flex;align-items:center;padding:4px 11px;border-radius:10px;font-size:0.72rem;font-weight:600;white-space:nowrap;}
.billing-badge--active{background:#e6f9f2;color:#0a7a52;}
.billing-badge--warning{background:#fef3e2;color:#9a6a00;}
.billing-badge--danger{background:#fdf0f0;color:#9a3c3c;}
.billing-badge--muted{background:#f0f5f9;color:#5a7090;}

.billing-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:0 0 20px;}
.billing-segmented{display:inline-flex;background:var(--bg-app);border:1px solid var(--border);border-radius:8px;padding:3px;gap:2px;}
.billing-segmented a{padding:6px 14px;border-radius:6px;font-size:0.8rem;font-weight:600;color:var(--text-secondary);text-decoration:none;}
.billing-segmented a:hover{color:var(--navy);}
.billing-segmented a.is-active{background:var(--bg-surface);color:var(--blue);box-shadow:0 1px 2px rgba(26,37,64,0.08);}

.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px;}
.plan-card{position:relative;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:20px;}
.plan-card.is-popular{border-color:var(--blue);box-shadow:0 6px 24px rgba(26,158,212,0.12);}
.plan-card.is-current{border-color:var(--navy);}
.plan-popular-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:0.65rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;padding:3px 10px;border-radius:10px;white-space:nowrap;}
.plan-name{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;color:var(--navy);margin:0 0 8px;}
.plan-price{font-family:'Outfit',sans-serif;font-size:1.75rem;font-weight:700;color:var(--navy);line-height:1;}
.plan-price-period{font-family:'DM Sans',sans-serif;font-size:0.8rem;font-weight:500;color:var(--text-muted);}
.plan-saving{font-size:0.75rem;color:var(--success);font-weight:600;margin:6px 0 0;}
.plan-seats{font-size:0.8rem;color:var(--text-secondary);margin:10px 0 0;}
.plan-features{list-style:none;margin:14px 0 0;padding:0;flex:1;}
.plan-features li{position:relative;padding:4px 0 4px 20px;font-size:0.8rem;color:var(--text-secondary);}
.plan-features li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--blue-bg);border:2px solid var(--blue);}
.bacs-note{font-size:0.72rem;color:var(--text-muted);margin:12px 0 0;}
.plan-cta{margin-top:16px;}
.plan-cta form{margin:0;}
.plan-cta .btn{width:100%;justify-content:center;}
.plan-cta button[disabled]{opacity:0.6;cursor:default;}
.plan-blocked{font-size:0.72rem;color:var(--danger);margin:8px 0 0;}

.billing-cancel{margin-top:8px;}
.billing-cancel-note{font-size:0.8rem;color:var(--text-secondary);margin:0 0 14px;}