.goal-management-container{padding:20px;max-width:1200px;margin:0 auto}.goal-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.goal-management-header .header-content{display:flex;align-items:center;gap:12px}.goal-management-header h2{margin:0;font-size:24px;color:var(--text-primary)}.highlight-counter{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background-color:var(--bg-tertiary);border-radius:12px;font-size:12px;font-weight:500;color:var(--text-secondary)}.loading-state{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#c33;display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;font-size:20px;color:#c33;cursor:pointer;padding:0;width:24px;height:24px}.goals-by-category{display:flex;flex-direction:column;gap:48px}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state svg{color:var(--border-primary);margin-bottom:16px}.empty-state p{font-size:18px;margin-bottom:20px}.goal-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-left:4px solid #4CAF50;border-radius:8px;padding:20px;transition:all .2s ease}.goal-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.goal-card.disabled{opacity:.6;background-color:var(--bg-secondary)}.goal-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.goal-info{display:flex;align-items:flex-start;gap:12px;flex:1}.goal-type-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--bg-tertiary);border-radius:6px;color:var(--text-secondary)}.goal-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary)}.goal-category{display:inline-block;padding:2px 8px;background-color:var(--bg-tertiary);border-radius:4px;font-size:12px;color:var(--text-secondary);text-transform:capitalize}.goal-actions{display:flex;gap:8px}.action-btn{background:none;border:1px solid var(--border-primary);border-radius:6px;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--text-secondary)}.action-btn:hover{background-color:var(--bg-tertiary);border-color:var(--border-secondary)}.action-btn.danger:hover{background-color:#fee;border-color:#fcc;color:#c33}.action-btn.highlight-btn{color:var(--text-tertiary)}.action-btn.highlight-btn:hover{background-color:#e0f2fe;border-color:#7dd3fc;color:#0284c7}.action-btn.highlight-btn.active{background-color:#dbeafe;border-color:#3b82f6;color:#2563eb}.action-btn.highlight-btn.active:hover{background-color:#bfdbfe;border-color:#2563eb}.action-btn.highlight-btn.disabled{opacity:.7;cursor:not-allowed;background-color:#fee2e2;border-color:#fca5a5;color:#dc2626}.action-btn.highlight-btn.disabled:hover{background-color:#fee2e2;border-color:#fca5a5;color:#dc2626;transform:none}.goal-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.goal-value{display:flex;align-items:baseline;gap:6px}.goal-value .value{font-size:28px;font-weight:600;color:var(--text-primary)}.goal-value .unit{font-size:14px;color:var(--text-secondary)}.goal-type-label{display:flex;align-items:center;gap:8px}.variance{font-size:12px;color:var(--text-secondary);background-color:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.type-badge{display:inline-block;padding:4px 8px;background-color:#e3f2fd;color:#1976d2;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.goal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.goal-toggle-buttons{display:flex;gap:8px;flex-wrap:wrap}.toggle-btn{padding:6px 12px;border:2px solid;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;cursor:pointer;transition:all .2s ease;letter-spacing:.5px;min-width:80px;text-align:center}.toggle-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.toggle-btn:active{transform:translateY(0)}.visibility-toggle.hidden{background-color:#ffebee;border-color:#e53935;color:#c62828}.visibility-toggle.hidden:hover{background-color:#ffcdd2;border-color:#c62828}.visibility-toggle.visible{background-color:#e8f5e9;border-color:#4caf50;color:#2e7d32}.visibility-toggle.visible:hover{background-color:#c8e6c9;border-color:#388e3c}.status-toggle.disabled{background-color:#ffebee;border-color:#e53935;color:#c62828}.status-toggle.disabled:hover{background-color:#ffcdd2;border-color:#c62828}.status-toggle.enabled{background-color:#e8f5e9;border-color:#4caf50;color:#2e7d32}.status-toggle.enabled:hover{background-color:#c8e6c9;border-color:#388e3c}.goal-date{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-primary);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:20px;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:28px;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.close-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:14px}.form-input,.form-select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;transition:all .2s ease;background-color:var(--bg-secondary);color:var(--text-primary)}.form-input:focus,.form-select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.input-with-unit{display:flex;align-items:center;gap:8px}.input-with-unit .form-input{flex:1}.unit-label{font-weight:500;color:var(--text-secondary);font-size:14px}.template-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.template-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:var(--bg-secondary)}.template-item:hover{border-color:var(--accent-blue);background-color:var(--bg-tertiary)}.template-item.selected{border-color:var(--accent-blue);background-color:var(--bg-selected)}.template-info{display:flex;flex-direction:column;gap:4px}.template-info strong{color:var(--text-primary);font-size:14px}.template-meta{font-size:12px;color:var(--text-secondary)}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background-color:#2196f3;color:#fff}.btn.primary:hover:not(:disabled){background-color:#1976d2}.btn.secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn.secondary:hover:not(:disabled){background-color:var(--bg-secondary)}.highlight-checkbox-group{padding-top:12px;border-top:1px solid var(--border-color);margin-top:16px}.checkbox-label{display:flex!important;align-items:center;gap:10px;cursor:pointer;margin-bottom:4px!important}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-blue)}.checkbox-label span{font-weight:500;color:var(--text-primary)}.form-help-text{font-size:12px;color:var(--text-secondary);margin:4px 0 0 28px;line-height:1.4}:root{--bg-primary: #ffffff;--bg-secondary: #f2f2f7;--bg-tertiary: #ffffff;--bg-selected: #d0e7ff;--bg-overlay: rgba(0, 0, 0, .4);--text-primary: #000000;--text-secondary: #3c3c43;--text-tertiary: #8e8e93;--border-primary: #c7c7cc;--border-secondary: #d1d1d6;--accent-blue: #007aff;--accent-blue-hover: #0056cc;--accent-blue-bg: rgba(0, 122, 255, .1);--accent-green: #34c759;--accent-green-hover: #28a745;--accent-red: #ff3b30;--accent-orange: #ff9500;--accent-purple: #af52de;--accent-yellow: #ffcc00;--purple-subtle: rgba(175, 82, 222, .15);--tier-3-color: #4CAF50;--tier-2-color: #00BCD4;--tier-1-color: #FF9800;--tier-calendar-2: #9C27B0;--tier-calendar-1: #673AB7;--shadow-light: 0 1px 3px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .15);--shadow-heavy: 0 8px 25px rgba(0, 0, 0, .2);--font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--radius-small: 8px;--radius-medium: 12px;--radius-large: 16px}[data-theme=dark]{--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-tertiary: #2c2c2e;--bg-selected: #48484a;--bg-overlay: rgba(0, 0, 0, .6);--text-primary: #ffffff;--text-secondary: #ebebf5;--text-tertiary: #8e8e93;--border-primary: #38383a;--border-secondary: #48484a;--accent-blue: #0a84ff;--accent-blue-hover: #0056cc;--accent-blue-bg: rgba(10, 132, 255, .1);--accent-green: #30d158;--accent-green-hover: #28a745;--accent-red: #ff453a;--accent-orange: #ff9f0a;--accent-purple: #bf5af2;--accent-yellow: #ffd60a;--purple-subtle: rgba(191, 90, 242, .2);--tier-3-color: #4CAF50;--tier-2-color: #00BCD4;--tier-1-color: #FF9800;--tier-calendar-2: #9C27B0;--tier-calendar-1: #673AB7;--shadow-light: 0 1px 3px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .4);--shadow-heavy: 0 8px 25px rgba(0, 0, 0, .5)}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:auto}body{font-family:var(--font-system);background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.5;transition:background-color .2s ease,color .2s ease;min-width:768px;overflow-x:auto}#root,.app-container,.main-content,.page-container{min-width:768px;overflow-x:auto}button,input,select,textarea{font-family:inherit;transition:all .2s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-layout{display:flex;height:100vh;background:var(--bg-secondary)}.btn{padding:12px 24px;border-radius:var(--radius-medium);border:none;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:14px}.btn-primary{background:var(--accent-green);color:#fff;border:1px solid var(--accent-green)}.btn-primary:hover{opacity:.8}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{background:var(--border-secondary)}.btn-danger{background:var(--accent-red);color:#fff;border:1px solid var(--accent-red)}.btn-danger:hover{opacity:.8}.btn-success{background:var(--accent-green);color:#fff;border:1px solid var(--accent-green)}.btn-success:hover{opacity:.8}.btn-small{padding:6px 12px;font-size:13px;border-radius:var(--radius-small);font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.btn-small.btn-primary{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.btn-small.btn-primary:hover{background:var(--accent-blue-hover);border-color:var(--accent-blue-hover);transform:translateY(-1px);box-shadow:0 2px 8px #007aff4d}.btn-small.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-small.btn-secondary:hover{background:var(--accent-blue-bg);border-color:var(--accent-blue);color:var(--accent-blue);transform:translateY(-1px)}.btn-danger-outline{background:transparent;color:var(--accent-red);border:1px solid var(--accent-red);padding:6px 12px;font-size:13px;border-radius:var(--radius-small);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-danger-outline:hover{background:#ff3b3026!important;border-color:var(--accent-red)!important;color:var(--accent-red)!important;transform:translateY(-1px)}.btn-warning-outline{background:transparent;color:var(--accent-orange);border:1px solid var(--accent-orange);padding:6px 12px;font-size:13px;border-radius:var(--radius-small);font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-warning-outline:hover{background:#ff950026!important;border-color:var(--accent-orange)!important;color:var(--accent-orange)!important;transform:translateY(-1px)}.btn-warning{background:#f59e0b1a;color:#f59e0b;border:none;padding:6px 12px;font-size:13px;border-radius:var(--radius-small);font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.btn-warning:hover{background:#f59e0b33}.btn-danger-filled{background:#ef44441a;color:#ef4444;border:none;padding:6px 12px;font-size:13px;border-radius:var(--radius-small);font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.btn-danger-filled:hover{background:#ef444433}.client-status-controls{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.status-badge-row{display:flex;align-items:center;gap:8px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-small);font-size:13px;font-weight:600}.status-badge.self-managed{background:#ff95001a;color:var(--accent-orange);border:1px solid var(--accent-orange)}.status-badge.coached{background:#007aff1a;color:var(--accent-blue);border:1px solid var(--accent-blue)}.edit-status-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-small);cursor:pointer;transition:all .2s ease}.edit-status-btn:hover{background:var(--accent-blue-bg);border-color:var(--accent-blue);color:var(--accent-blue);transform:translateY(-1px)}.assignment-controls{display:flex;align-items:center;gap:8px;font-size:13px}.coach-label{color:var(--text-secondary);font-weight:500}.card{background:var(--bg-primary);border-radius:var(--radius-large);box-shadow:var(--shadow-light);border:1px solid var(--border-secondary);overflow:hidden}.card-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-secondary)}.card-body{padding:20px 24px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary);font-size:14px}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border-primary);border-radius:var(--radius-medium);background:var(--bg-primary);color:var(--text-primary);font-size:14px}.form-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #007aff1a}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-primary);border-top:3px solid var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media (max-width: 768px){.btn{padding:10px 20px;font-size:14px}.card-header,.card-body{padding:16px 20px}}.min-h-screen{min-height:100vh}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.text-center{text-align:center}.action-items-panel{display:flex;flex-direction:column}.action-items-panel .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;cursor:pointer}.action-items-panel .section-header:hover{background:var(--bg-tertiary);margin:-20px -20px 12px;padding:20px 20px 8px;border-radius:var(--radius-large) var(--radius-large) 0 0}.action-items-panel.collapsed .section-header{margin-bottom:0}.action-items-panel.collapsed .section-header:hover{margin:-20px;padding:20px;border-radius:var(--radius-large)}.action-items-panel .section-header+.action-items-list{margin-top:0}.action-items-panel .section-header h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:0;color:var(--text-primary)}.action-items-panel .section-header h3 svg{color:var(--accent-green)}.action-items-panel .section-header .count{color:var(--text-secondary);font-weight:400}.action-items-panel .header-buttons{display:flex;align-items:center;gap:4px}.action-items-panel .header-buttons .btn-icon{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.action-items-panel .header-buttons .btn-icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.action-items-panel .collapse-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.action-items-panel .collapse-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.action-items-panel .loading-state,.action-items-panel .error-state,.action-items-panel .empty-state{padding:24px 16px;text-align:center;color:var(--text-secondary)}.action-items-panel .loading-state{display:flex;flex-direction:column;align-items:center;gap:8px}.action-items-panel .error-state{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--accent-red)}.action-items-panel .empty-state p{margin:0 0 12px;font-size:14px}.action-items-list{display:flex;flex-direction:column;padding:6px 0;margin:0}.action-item-row{padding:5px 16px;cursor:pointer;transition:background .15s ease}.action-item-row:hover{background:var(--bg-secondary)}.action-item-row{display:flex;align-items:center;gap:8px}.action-item-flag{flex-shrink:0;fill:currentColor}.action-item-flag.flag-low{color:#3b82f6}.action-item-flag.flag-medium{color:#eab308}.action-item-flag.flag-high{color:#ef4444}.action-item-flag.flag-urgent{color:#a855f7}.action-item-flag.flag-completed{opacity:.4}.action-item-title{font-size:14px;font-weight:400;color:var(--text-primary);line-height:1.4;display:block}.action-item-title.completed{text-decoration:line-through;color:var(--text-tertiary)}.action-item-row.row-due-soon .action-item-title{background:#eab308;color:#fff;font-weight:500;padding:2px 6px;border-radius:var(--radius-small)}.action-item-row.row-overdue .action-item-title{background:#ef4444;color:#fff;font-weight:500;padding:2px 6px;border-radius:var(--radius-small)}.action-items-divider{display:flex;align-items:center;gap:8px;padding:8px 16px;margin-top:4px}.action-items-divider:before,.action-items-divider:after{content:"";flex:1;height:1px;background:var(--border-secondary)}.action-items-divider span{font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.action-items-stats{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-secondary)}.action-items-stats .stats-left{display:flex;gap:12px}.action-items-stats .stat{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.action-items-stats .stat.overdue{color:var(--accent-red)}.action-items-stats .stat.due-soon{color:var(--accent-orange)}.show-completed-btn{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--text-tertiary);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease}.show-completed-btn:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.show-completed-btn.active{color:var(--accent-green)}.show-completed-btn.active:hover{background:#34c7591a}
