
/* FS Opportunity Brand Colors */
:root {
    --fso-primary:  #c5107b;
    --fso-teal:     #5bb8b4;
    --fso-green:    #8db63e;
    --fso-orange:   #f5a623;
    --fso-primary-light: #f9e6f3;
}

/* Override primary button with brand color */
.fso-btn-primary { background: var(--fso-primary); border-color: var(--fso-primary); color: #fff; }
.fso-btn-primary:hover { background: #a50d68; border-color: #a50d68; color: #fff; }

/* My Prospects / My Team custom radio */
.fso-view-radio { display:flex; gap:20px; margin-bottom:16px; align-items:center; }
.fso-view-opt { display:flex; align-items:center; gap:8px; cursor:pointer; font-size:14px; font-weight:600; color:#777; user-select:none; }
.fso-view-opt .fso-radio-dot { display:inline-block; width:16px; height:16px; border-radius:50%; border:2px solid #ccc; background:#fff; flex-shrink:0; transition:all 0.15s; box-sizing:border-box; }
.fso-view-opt.active { color:#c5107b; }
.fso-view-opt.active .fso-radio-dot { border-color:#c5107b; border-width:5px; background:#fff; }
.fso-view-opt:hover:not(.active) { color:#c5107b; }
.fso-view-opt:hover:not(.active) .fso-radio-dot { border-color:#c5107b; }

/* Own prospect row highlight */
.fso-own-row td:first-child { border-left:3px solid var(--fso-primary); }
.fso-own-row { background:#fdf5fb !important; }

/* Stat cards with brand accent */
.fso-stat-card:nth-child(1) { border-top:3px solid var(--fso-primary); }
.fso-stat-card:nth-child(2) { border-top:3px solid var(--fso-teal); }
.fso-stat-card:nth-child(3) { border-top:3px solid var(--fso-orange); }
.fso-stat-card:nth-child(4) { border-top:3px solid var(--fso-green); }
/* FS Opportunity CRM — Public Styles */

.fso-wrap { max-width:1200px; margin:0 auto; padding:20px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.fso-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.fso-header h2 { margin:0; font-size:22px; font-weight:700; }
.fso-period-label { font-size:13px; color:#888; }

/* Stat grid */
.fso-stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin-bottom:32px; }
.fso-stat-card { background:#fff; border:1px solid #e0e0e0; border-radius:8px; padding:20px; text-align:center; }
.fso-stat-card.fso-stat-alert { border-color:#e53935; background:#fff5f5; }
.fso-stat-num { font-size:36px; font-weight:700; color:#1a1a1a; line-height:1; }
.fso-stat-lbl { font-size:13px; color:#666; margin-top:6px; }
.fso-warn-text { color:#e53935; font-weight:700; }

/* Sections */
.fso-section { margin:28px 0; }
.fso-section h3, .fso-section h4 { margin:0 0 12px; }

/* Tables */
.fso-table { width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed; }
.fso-table td { overflow:hidden; text-overflow:ellipsis; vertical-align:middle; padding:8px 10px; }
.fso-table th { padding:8px 10px; text-align:left; font-size:12px; }
.fso-table th { background:#f5f5f5; font-weight:600; padding:10px 12px; text-align:left; border-bottom:2px solid #ddd; }
.fso-table td { padding:9px 12px; border-bottom:1px solid #eee; }
.fso-table tr:hover td { background:#fafafa; }
.fso-row-div td { font-weight:700; background:#f0f4ff; }
.fso-row-store td { padding-left:24px; }

/* Filters */
.fso-filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; align-items:center; }
.fso-filters input[type="text"], .fso-filters select { padding:7px 10px; border:1px solid #ccc; border-radius:4px; font-size:14px; }
.fso-filters input[type="text"] { min-width:220px; }

/* Forms */
.fso-form { background:#fff; border:1px solid #e0e0e0; border-radius:8px; padding:24px; }
.fso-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-bottom:16px; }
.fso-field { display:flex; flex-direction:column; gap:5px; }
.fso-field label { font-size:13px; font-weight:600; color:#444; }
.fso-field input, .fso-field select, .fso-field textarea { padding:7px 10px; border:1px solid #ccc; border-radius:4px; font-size:14px; }
.fso-full { grid-column:1/-1; }
.fso-form-actions { margin-top:20px; display:flex; align-items:center; gap:16px; }

/* Buttons */
.fso-btn { display:inline-block; padding:8px 16px; border-radius:4px; border:1px solid #ccc; background:#fff; cursor:pointer; font-size:14px; font-weight:500; text-decoration:none; color:#333; }
.fso-btn:hover { background:#f5f5f5; }
.fso-btn-primary { background:#1a237e; border-color:#1a237e; color:#fff; }
.fso-btn-primary:hover { background:#283593; }
.fso-btn-sm { padding:4px 10px; font-size:12px; }

/* Badges */
.fso-badge-dup { display:inline-block; padding:1px 6px; border-radius:10px; font-size:11px; font-weight:600; background:#fff176; color:#333; margin-left:4px; }

/* Disposition pills */
.fso-disp { display:inline-block; padding:2px 8px; border-radius:10px; font-size:12px; font-weight:600; }
.fso-disp-new               { background:#e3f2fd; color:#1565c0; }
.fso-disp-appointment_set   { background:#e8f5e9; color:#2e7d32; }
.fso-disp-pitched_signed    { background:#1b5e20; color:#fff; }
.fso-disp-pitched_not_signed{ background:#fff3e0; color:#e65100; }
.fso-disp-follow_up         { background:#f3e5f5; color:#6a1b9a; }
.fso-disp-dead              { background:#eee; color:#757575; }

/* Modals */
.fso-modal { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.5); z-index:99999; overflow-y:auto; }
#fso-result-modal { z-index:100100 !important; }
.fso-modal-inner { background:#fff; max-width:720px; margin:40px auto; border-radius:8px; padding:28px; position:relative; }
.fso-modal-sm { max-width:420px; }
.fso-modal-close { position:absolute; top:10px; right:14px; background:none; border:none; font-size:22px; cursor:pointer; color:#666; }

/* Detail grid */
.fso-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; font-size:14px; margin:16px 0; }

/* Activity log */
.fso-log { list-style:none; padding:0; margin:0; font-size:13px; }
.fso-log li { padding:5px 0; border-bottom:1px solid #eee; }
.fso-log-dt { color:#999; margin-right:8px; }

/* Calendar */
.fso-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 24px;
}
.fso-cal-dow {
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    color: #666;
    padding: 6px 0;
    background: #f5f5f5;
}
.fso-cal-day {
    min-height: 80px;
    border: 1px solid #e8e8e8;
    padding: 4px;
    background: #fff;
    vertical-align: top;
    overflow: hidden;
}
.fso-cal-today { background:#e8f5e9; border-color:#4caf50; }
.fso-cal-empty { background:#fafafa; min-height:80px; border:1px solid #f0f0f0; }
.fso-cal-num { font-size:13px; font-weight:600; display:block; margin-bottom:2px; }
.fso-day-events { font-size:11px; }
.fso-ev         { background:#bbdefb; color:#1565c0; border-radius:3px; padding:2px 4px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fso-ev-done    { background:#c8e6c9; color:#2e7d32; border-radius:3px; padding:2px 4px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fso-ev-overdue { background:#ffcdd2; color:#c62828; border-radius:3px; padding:2px 4px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fso-cal-nav { display:flex; align-items:center; gap:12px; }

/* List header */
.fso-list-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.fso-list-header h2 { margin:0; }

/* Admin links */
.fso-admin-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }

/* Notices */
.fso-notice  { padding:12px; background:#fff3e0; border-left:4px solid #ff9800; }
.fso-warning { padding:12px 16px; background:#fff9c4; border-left:4px solid #f9a825; border-radius:2px; margin-bottom:16px; font-size:14px; }
.fso-success { color:#2e7d32; font-weight:600; }
.fso-error   { color:#c62828; font-weight:600; }
.fso-empty   { color:#999; font-style:italic; font-size:14px; padding:12px 0; }

@media (max-width:640px) {
    .fso-stat-grid { grid-template-columns:repeat(2,1fr); }
    .fso-form-grid { grid-template-columns:1fr; }
    .fso-detail-grid { grid-template-columns:1fr; }
    .fso-cal-day { min-height:50px; }
}
