/* Golf Ball Flight Mastery v5 - Drill Tracker CSS */

.gbfm-drill-tracker {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    margin: 32px 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

/* Header */
.gbfm-header  { background: linear-gradient(135deg,#1a1a2e,#16213e); padding:24px 28px; color:#fff; }
.gbfm-badge   { display:inline-block; background:#f97316; color:#fff; font-size:11px; font-weight:700;
                 letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:20px; margin-bottom:10px; }
.gbfm-title   { font-size:20px; font-weight:700; color:#ffffff !important; margin:0 0 4px; }
.gbfm-chapter { font-size:13px; color:#94a3b8; margin:0; }

/* Monitor toggle */
.gbfm-monitor-toggle { background:#f8fafc; border-bottom:1px solid #e2e8f0; padding:14px 28px;
                        display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.gbfm-toggle-label   { font-size:13px; font-weight:600; color:#475569; white-space:nowrap; }
.gbfm-toggle-buttons { display:flex; gap:8px; flex-wrap:wrap; }
.gbfm-toggle-btn     { background:#fff; border:2px solid #e2e8f0; border-radius:8px; padding:7px 13px;
                        font-size:13px; font-weight:600; color:#64748b; cursor:pointer; transition:all .2s; line-height:1.3; }
.gbfm-toggle-btn span { display:block; font-size:11px; font-weight:400; color:#94a3b8; }
.gbfm-toggle-btn:hover { border-color:#f97316; color:#f97316; }
.gbfm-toggle-btn.active { background:#f97316; border-color:#f97316; color:#fff; }
.gbfm-toggle-btn.active span { color:rgba(255,255,255,.8); }

/* Mode notice banners */
.gbfm-mode-notice { display:flex; align-items:center; gap:10px; padding:10px 28px;
                     font-size:13px; font-weight:500; }
.gbfm-notice-full { background:#dcfce7; color:#15803d; border-bottom:1px solid #bbf7d0; }
.gbfm-notice-ball { background:#e0f2fe; color:#0369a1; border-bottom:1px solid #bae6fd; }
.gbfm-notice-icon { font-size:16px; }

/* Form */
.gbfm-form { padding:0; }

/* Shot section */
.gbfm-shot-section { padding:22px 28px; border-bottom:1px solid #e2e8f0; }
.gbfm-shot-header  { display:flex; align-items:center; justify-content:space-between;
                      margin-bottom:16px; flex-wrap:wrap; gap:10px; }
.gbfm-shot-header h4 { font-size:15px; font-weight:700; color:#1e293b; margin:0; }

/* Mode toggle buttons */
.gbfm-shot-mode-toggle { display:flex; border:1.5px solid #e2e8f0; border-radius:8px; overflow:hidden; }
.gbfm-mode-btn  { background:#fff; border:none; padding:7px 14px; font-size:12px; font-weight:600;
                   color:#64748b; cursor:pointer; transition:all .15s; }
.gbfm-mode-btn:hover  { background:#f1f5f9; }
.gbfm-mode-btn.active { background:#1a1a2e; color:#fff; }

/* Shot table */
.gbfm-table-wrap   { overflow-x:auto; }
.gbfm-shot-table   { width:100%; border-collapse:collapse; font-size:13px; }
.gbfm-shot-table th { background:#f1f5f9; color:#374151; font-weight:700; padding:8px 10px;
                       text-align:left; border-bottom:2px solid #e2e8f0; white-space:nowrap; }
.gbfm-shot-table td { padding:4px 6px; border-bottom:1px solid #f1f5f9; vertical-align:middle; }
.gbfm-shot-num { font-weight:700; color:#94a3b8; font-size:12px; width:30px; }
.gbfm-shot-input { width:100%; min-width:70px; border:1.5px solid #e2e8f0; border-radius:6px;
                    padding:5px 7px; font-size:13px; color:#1e293b; background:#f8fafc;
                    transition:border-color .2s; box-sizing:border-box; }
.gbfm-shot-input:focus { outline:none; border-color:#f97316; background:#fff; }
.gbfm-shot-select { width:100%; min-width:90px; border:1.5px solid #e2e8f0; border-radius:6px;
                     padding:5px 7px; font-size:13px; color:#1e293b; background:#f8fafc;
                     transition:border-color .2s; box-sizing:border-box; cursor:pointer; appearance:auto; }
.gbfm-shot-select:focus { outline:none; border-color:#f97316; background:#fff; }

/* Full vs ball column wrappers */
.gbfm-cols-full, .gbfm-cols-ball { }

/* Stats bar */
.gbfm-stats-bar { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; padding:14px;
                   background:#f8fafc; border-radius:8px; border:1px solid #e2e8f0; }
.gbfm-stat-group    { display:flex; flex-direction:column; gap:6px; min-width:110px; }
.gbfm-stat-colname  { font-size:11px; font-weight:700; color:#f97316; text-transform:uppercase; letter-spacing:.05em; }
.gbfm-stat-items    { display:flex; gap:10px; flex-wrap:wrap; }
.gbfm-stat-item     { display:flex; flex-direction:column; align-items:center; }
.gbfm-stat-label    { font-size:10px; color:#94a3b8; font-weight:600; text-transform:uppercase; }
.gbfm-stat-value    { font-size:15px; font-weight:700; color:#1e293b; min-width:32px; text-align:center; }

/* Sequential mode */
.gbfm-seq-progress { font-size:14px; font-weight:700; color:#475569; margin-bottom:14px; }
.gbfm-seq-fields   { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:14px; }
.gbfm-seq-field    { display:flex; flex-direction:column; gap:5px; flex:1; min-width:140px; }
.gbfm-seq-field label { font-size:12px; font-weight:600; color:#374151; }
.gbfm-seq-field input { border:1.5px solid #e2e8f0; border-radius:7px; padding:8px 10px;
                          font-size:14px; color:#1e293b; background:#f8fafc; transition:border-color .2s; }
.gbfm-seq-field input:focus { outline:none; border-color:#f97316; background:#fff; }
.gbfm-seq-select { border:1.5px solid #e2e8f0; border-radius:7px; padding:8px 10px;
                    font-size:14px; color:#1e293b; background:#f8fafc; transition:border-color .2s;
                    cursor:pointer; width:100%; appearance:auto; }
.gbfm-seq-select:focus { outline:none; border-color:#f97316; background:#fff; }
.gbfm-seq-controls { display:flex; gap:10px; margin:14px 0; }
.gbfm-seq-prev, .gbfm-seq-next { border:none; border-radius:7px; padding:9px 18px;
                                    font-size:13px; font-weight:700; cursor:pointer; transition:all .2s; }
.gbfm-seq-prev { background:#f1f5f9; color:#475569; }
.gbfm-seq-prev:disabled { opacity:.4; cursor:default; }
.gbfm-seq-next { background:#f97316; color:#fff; }
.gbfm-seq-next:hover:not(:disabled) { background:#ea6c0a; }
.gbfm-seq-next:disabled { opacity:.6; cursor:default; }

/* Reflection */
.gbfm-fields       { padding:22px 28px; }
.gbfm-fields-title { font-size:14px; font-weight:700; color:#1e293b; margin:0 0 14px; }
.gbfm-field-group  { margin-bottom:14px; }
.gbfm-field-group label { display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:5px; }
.gbfm-field-group textarea { width:100%; border:1.5px solid #e2e8f0; border-radius:8px;
                               padding:9px 12px; font-size:14px; color:#1e293b; background:#f8fafc;
                               resize:vertical; transition:border-color .2s; box-sizing:border-box; font-family:inherit; }
.gbfm-field-group textarea:focus { outline:none; border-color:#f97316; background:#fff; }

/* Logged shots review panel (sequential mode) */
.gbfm-logged-shots       { margin-top:16px; border-top:1px dashed #e2e8f0; padding-top:14px; }
.gbfm-logged-title       { font-size:13px; font-weight:700; color:#374151; margin-bottom:8px; }
.gbfm-logged-count       { font-weight:400; color:#94a3b8; }
.gbfm-logged-table-wrap  { overflow-x:auto; }
.gbfm-logged-table       { width:100%; border-collapse:collapse; font-size:12px; }
.gbfm-logged-table th    { background:#f1f5f9; padding:5px 8px; text-align:left; font-weight:700;
                             color:#374151; border-bottom:1px solid #e2e8f0; white-space:nowrap; }
.gbfm-logged-table td    { padding:5px 8px; border-bottom:1px solid #f8fafc; color:#1e293b; vertical-align:middle; }
.gbfm-delete-shot        { background:#fee2e2; border:1px solid #fca5a5; color:#dc2626; border-radius:5px;
                             padding:2px 8px; font-size:11px; font-weight:700; cursor:pointer;
                             transition:all .15s; white-space:nowrap; }
.gbfm-delete-shot:hover  { background:#dc2626; color:#fff; border-color:#dc2626; }

/* Submit */
.gbfm-form-footer { padding:18px 28px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;
                     border-top:1px solid #e2e8f0; background:#f8fafc; }
.gbfm-submit-btn  { background:#f97316; color:#fff; border:none; border-radius:8px;
                     padding:12px 24px; font-size:14px; font-weight:700; cursor:pointer; transition:all .2s; }
.gbfm-submit-btn:hover { background:#ea6c0a; transform:translateY(-1px); }
.gbfm-success-msg { font-size:14px; font-weight:600; color:#16a34a; margin:0; }

/* History */
.gbfm-history       { border-top:1px solid #e2e8f0; padding:22px 28px; background:#f8fafc; }
.gbfm-history-title { font-size:15px; font-weight:700; color:#1e293b; margin:0 0 14px; }
.gbfm-history-entry { background:#fff; border:1px solid #e2e8f0; border-radius:10px;
                       padding:16px; margin-bottom:12px; }
.gbfm-history-entry:last-child { margin-bottom:0; }
.gbfm-history-meta    { display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.gbfm-history-date    { font-size:12px; color:#64748b; font-weight:600; }
.gbfm-history-monitor { font-size:11px; padding:2px 8px; border-radius:20px; font-weight:600; }
.gbfm-badge-full  { background:#dcfce7; color:#15803d; }
.gbfm-badge-ball  { background:#e0f2fe; color:#0369a1; }
.gbfm-history-shots { margin-bottom:12px; }
.gbfm-history-shots strong { font-size:12px; color:#374151; }
.gbfm-history-table-wrap { overflow-x:auto; margin-top:6px; }
.gbfm-history-table { width:100%; border-collapse:collapse; font-size:12px; }
.gbfm-history-table th { background:#f1f5f9; padding:5px 8px; text-align:left;
                           font-weight:700; color:#374151; border-bottom:1px solid #e2e8f0; white-space:nowrap; }
.gbfm-history-table td { padding:4px 8px; border-bottom:1px solid #f8fafc; color:#1e293b; }
.gbfm-history-stats    { margin-top:8px; font-size:11px; color:#475569; display:flex; flex-wrap:wrap; gap:8px; }
.gbfm-history-stats span { background:#f1f5f9; padding:3px 8px; border-radius:5px; }
.gbfm-history-responses { margin-top:8px; }
.gbfm-history-item { font-size:13px; color:#374151; margin-bottom:5px; line-height:1.5; }
.gbfm-history-item strong { color:#1e293b; }

/* Login notice */
.gbfm-notice { background:#fef3c7; border:1px solid #fcd34d; border-radius:8px;
                padding:14px 18px; font-size:14px; color:#92400e; margin:16px 0; }

/* Responsive */
@media (max-width:600px) {
    .gbfm-header, .gbfm-shot-section, .gbfm-fields, .gbfm-form-footer, .gbfm-history { padding:16px; }
    .gbfm-monitor-toggle { padding:12px 16px; flex-direction:column; align-items:flex-start; }
    .gbfm-mode-notice { padding:10px 16px; }
    .gbfm-stats-bar { gap:8px; }
}
