:root{--lu-green: #1E6B3C;--lu-green-dark: #174f2e;--lu-green-light: #009879;--lu-green-lighter: #00b894;--lu-green-bg: #ecfdf5;--lu-blue: #4AB4E6;--lu-blue-dark: #3a9fd0;--lu-blue-light: #e3f5fc;--lu-teal: #2A9D8F;--lu-error: #dc2626;--lu-error-bg: #fef2f2;--lu-error-border: #fecaca;--lu-error-dark: #991b1b;--lu-error-text: #b91c1c;--lu-success: #047857;--lu-success-bg: #ecfdf5;--lu-success-border: #a7f3d0;--lu-warning-bg: #fefce8;--lu-warning-border: #fde047;--lu-warning-text: #a16207;--lu-text: #2c3e50;--lu-text-sub: #556370;--lu-text-muted: #8896a4;--lu-bg: #f0f4f3;--lu-surface: #ffffff;--lu-surface-hover: #f8faf9;--lu-border: #e2e8f0;--lu-font-heading: "Lora", Georgia, serif;--lu-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--lu-radius-sm: 8px;--lu-radius-md: 12px;--lu-radius-lg: 16px;--lu-radius-xl: 20px;--lu-radius-full: 9999px;--lu-shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--lu-shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--lu-shadow-lg: 0 8px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--lu-shadow-card: 0 5px 20px rgba(0, 0, 0, .08);--lu-gradient-green: linear-gradient(135deg, #1E6B3C, #009879)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--lu-font-body);line-height:1.5;color:var(--lu-text);background:var(--lu-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--lu-font-heading);font-weight:600;color:var(--lu-text)}.app{max-width:1200px;margin:0 auto;padding:1rem}.text-muted{color:var(--lu-text-sub);font-size:.875rem}.text-right{text-align:right}.text-capitalize{text-transform:capitalize}.coach-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;margin-bottom:1rem;border-bottom:2px solid var(--lu-border)}.coach-header-brand{display:flex;align-items:center;gap:.75rem}.coach-header-logo{height:48px;width:auto}.coach-header-title{font-family:var(--lu-font-heading);font-size:1.125rem;font-weight:600;color:var(--lu-text)}.coach-header-user{display:flex;align-items:center;gap:.75rem}.coach-header-email{font-size:.8125rem;color:var(--lu-text-sub)}.coach-header-logout{background:none;border:1px solid var(--lu-border);color:var(--lu-text);padding:.375rem .75rem;border-radius:var(--lu-radius-sm);font-size:.8125rem;cursor:pointer;transition:background .2s}.coach-header-logout:hover{background:var(--lu-surface-hover)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--lu-border);border-top-color:var(--lu-green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center;padding:2rem}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem}.empty-state p{color:var(--lu-text-sub);margin-bottom:1rem}.empty-state-action{background:var(--lu-green);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--lu-radius-sm);cursor:pointer;transition:background .2s}.empty-state-action:hover{background:var(--lu-green-dark)}.error-banner{background:var(--lu-error-bg);border:1px solid var(--lu-error-border);border-radius:var(--lu-radius-sm);padding:1rem;margin:1rem 0}.error-banner-content{display:flex;gap:.75rem;align-items:flex-start}.error-icon{font-size:1.25rem}.error-title{font-weight:600;color:var(--lu-error-dark);margin-bottom:.25rem}.error-message{color:var(--lu-error-text);font-size:.875rem}.error-retry-btn{margin-top:.75rem;background:var(--lu-error);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--lu-radius-sm);cursor:pointer;transition:background .2s}.error-retry-btn:hover{background:var(--lu-error-text)}.page-header{margin-bottom:1.5rem}.client-roster-page .page-header{display:flex;justify-content:space-between;align-items:center}.page-header h1{font-size:1.5rem;font-weight:600}.page-header p{color:var(--lu-text-sub);font-size:.875rem}.page-header-actions{display:flex;align-items:center;gap:1rem}.back-btn{background:none;border:none;color:var(--lu-green);cursor:pointer;padding:0;margin-bottom:.5rem;font-size:.875rem}.back-btn:hover{text-decoration:underline}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.client-card{background:var(--lu-surface);border:none;border-radius:var(--lu-radius-md);padding:1.25rem;text-align:left;cursor:pointer;box-shadow:var(--lu-shadow-card);transition:box-shadow .2s,transform .15s;width:100%}.client-card:hover{box-shadow:var(--lu-shadow-lg);transform:translateY(-2px)}.client-card-name{font-family:var(--lu-font-heading);font-weight:600;font-size:1rem;margin-bottom:.5rem}.client-card-readiness{display:flex;justify-content:space-between;font-size:.875rem;color:var(--lu-text-sub)}.readiness-score{font-weight:500;color:var(--lu-green)}.dashboard-section{background:var(--lu-surface);border:none;border-radius:var(--lu-radius-md);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--lu-shadow-card)}.dashboard-section h2{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--lu-text)}.readiness-display{display:flex;justify-content:space-between;align-items:center}.readiness-phase{font-size:.875rem;color:var(--lu-text-sub)}.readiness-score .score-value{font-size:1.5rem;font-weight:600;color:var(--lu-green);font-family:var(--lu-font-heading)}.readiness-score .score-label{font-size:.875rem;color:var(--lu-text-sub)}.readiness-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.readiness-panel-score{display:flex;align-items:baseline;gap:.25rem}.readiness-panel-total{font-size:2rem;font-weight:700;color:var(--lu-green);font-family:var(--lu-font-heading)}.readiness-panel-max{font-size:.875rem;color:var(--lu-text-sub)}.readiness-phase-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--lu-radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.readiness-phase-needs_data{background:var(--lu-warning-bg);color:var(--lu-warning-text);border:1px solid var(--lu-warning-border)}.readiness-phase-starting{background:var(--lu-error-bg);color:var(--lu-error-text);border:1px solid var(--lu-error-border)}.readiness-phase-building{background:var(--lu-blue-light);color:var(--lu-blue-dark);border:1px solid var(--lu-blue)}.readiness-phase-almost_ready{background:var(--lu-warning-bg);color:var(--lu-warning-text);border:1px solid var(--lu-warning-border)}.readiness-phase-ready_to_apply{background:var(--lu-success-bg);color:var(--lu-success);border:1px solid var(--lu-success-border)}.readiness-phase-optimize{background:var(--lu-green-bg);color:var(--lu-green);border:1px solid var(--lu-green-light)}.readiness-score-range{font-size:.8125rem;color:var(--lu-text-sub);margin-bottom:1rem;font-style:italic}.readiness-pillars{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}@media(max-width:640px){.readiness-pillars{grid-template-columns:1fr}}.readiness-pillar-card{padding:.75rem;background:var(--lu-green-bg);border-radius:var(--lu-radius-sm);border:1px solid transparent}.readiness-pillar-card.readiness-pillar-missing{background:var(--lu-surface-hover);border:1px dashed var(--lu-border)}.readiness-pillar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.readiness-pillar-name{font-size:.8125rem;font-weight:600;color:var(--lu-text)}.readiness-pillar-score{font-size:1rem;font-weight:700;color:var(--lu-green);font-family:var(--lu-font-heading)}.readiness-pillar-max{font-size:.75rem;font-weight:400;color:var(--lu-text-sub)}.readiness-baseline-badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--lu-radius-full);font-size:.6875rem;font-weight:500;margin-bottom:.375rem}.readiness-baseline-badge.met{background:var(--lu-success-bg);color:var(--lu-success)}.readiness-baseline-badge.unmet{background:var(--lu-error-bg);color:var(--lu-error-text)}.readiness-pillar-indicator{display:block;font-size:.8125rem;font-weight:500;color:var(--lu-text);margin-bottom:.25rem}.readiness-pillar-explanation{font-size:.75rem;color:var(--lu-text-sub);line-height:1.4;margin:0}.readiness-edit-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--lu-border)}.readiness-edit-section h3{font-size:.9375rem;font-weight:600;margin-bottom:.75rem;font-family:var(--lu-font-heading)}.readiness-edit-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.75rem;align-items:flex-end}@media(max-width:768px){.readiness-edit-form{grid-template-columns:1fr}}.readiness-edit-form .form-group{margin-bottom:0}.readiness-field-help{display:block;font-size:.6875rem;color:var(--lu-text-muted);margin-top:.25rem}.readiness-missing-hint{margin-top:.75rem;padding:.75rem;background:var(--lu-warning-bg);border:1px solid var(--lu-warning-border);border-radius:var(--lu-radius-sm);font-size:.8125rem;color:var(--lu-warning-text)}.readiness-missing-hint p{margin:0}.credits-display{display:flex;align-items:baseline;gap:.5rem}.credits-balance{font-size:1.5rem;font-weight:600;color:var(--lu-green);font-family:var(--lu-font-heading)}.credits-label{font-size:.875rem;color:var(--lu-text-sub)}.coach-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.coach-dashboard-grid>:only-child{grid-column:1 / -1}@media(max-width:768px){.coach-dashboard-grid{grid-template-columns:1fr}}.coach-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--lu-border);margin-bottom:1.5rem}.coach-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--lu-text-sub);cursor:pointer;transition:color .2s,border-color .2s;font-family:var(--lu-font-body)}.coach-tab:hover{color:var(--lu-text)}.coach-tab.active{color:var(--lu-green);border-bottom-color:var(--lu-green);font-weight:600}.task-list{display:flex;flex-direction:column;gap:.75rem}.task-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--lu-surface-hover);border-radius:var(--lu-radius-sm);gap:1rem}.task-card-content{flex:1}.task-title{font-size:.875rem;font-weight:500;margin-bottom:.25rem}.task-due{font-size:.75rem;color:var(--lu-text-sub)}.task-credits{font-size:.75rem;color:var(--lu-green-light);font-weight:500}.task-complete-btn{background:var(--lu-green);color:#fff;border:none;padding:.375rem .75rem;border-radius:var(--lu-radius-sm);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:background .2s,transform .1s}.task-complete-btn:hover:not(:disabled){background:var(--lu-green-dark);transform:translateY(-1px)}.task-complete-btn:disabled{background:#9ca3af;cursor:not-allowed}.task-error{font-size:.75rem;color:var(--lu-error);margin-top:.25rem}.next-steps-list{list-style:none;padding:0}.next-steps-list li{padding:.5rem 0;border-bottom:1px solid var(--lu-border);font-size:.875rem}.next-steps-list li:last-child{border-bottom:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--lu-surface);border-radius:var(--lu-radius-md);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--lu-shadow-lg)}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--lu-border);position:relative}.modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.modal-subtitle{font-size:.875rem;color:var(--lu-text-sub);margin:.25rem 0 0}.modal-close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--lu-text-sub);cursor:pointer;padding:.25rem;line-height:1}.modal-close-btn:hover{color:var(--lu-text)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--lu-border);background:var(--lu-surface-hover);border-radius:0 0 var(--lu-radius-md) var(--lu-radius-md)}.session-form{padding:1.5rem;padding-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--lu-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--lu-border);border-radius:var(--lu-radius-sm);font-size:.875rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--lu-green);box-shadow:0 0 0 3px #1e6b3c1a}.form-group textarea{resize:vertical;min-height:100px}.form-error{background:var(--lu-error-bg);border:1px solid var(--lu-error-border);color:var(--lu-error-text);padding:.75rem;border-radius:var(--lu-radius-sm);font-size:.875rem;margin-bottom:1rem}.topic-chips{display:flex;flex-wrap:wrap;gap:.5rem}.topic-chip{background:var(--lu-surface-hover);border:1px solid var(--lu-border);border-radius:var(--lu-radius-full);padding:.375rem .875rem;font-size:.8125rem;cursor:pointer;transition:all .2s}.topic-chip:hover{background:var(--lu-border)}.topic-chip.selected{background:var(--lu-green);border-color:var(--lu-green);color:#fff}.followup-list{list-style:none;margin-bottom:.75rem}.followup-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--lu-surface-hover);border-radius:var(--lu-radius-sm);margin-bottom:.5rem;font-size:.875rem}.followup-title{flex:1;font-weight:500}.followup-due{color:var(--lu-text-sub);font-size:.75rem}.followup-credits{color:var(--lu-green);font-size:.75rem;font-weight:500}.followup-remove{background:none;border:none;color:var(--lu-text-muted);font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.followup-remove:hover{color:var(--lu-error)}.followup-inputs{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem;align-items:center}.followup-inputs input{padding:.5rem .75rem;border:1px solid var(--lu-border);border-radius:var(--lu-radius-sm);font-size:.8125rem}.followup-inputs input[type=number]{width:80px}.followup-inputs input[type=date]{width:140px}.followup-add-btn{background:var(--lu-surface-hover);border:1px solid var(--lu-border);border-radius:var(--lu-radius-sm);padding:.5rem 1rem;font-size:.8125rem;cursor:pointer;transition:background .2s}.followup-add-btn:hover:not(:disabled){background:var(--lu-border)}.followup-add-btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--lu-green);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:var(--lu-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.btn-primary:hover:not(:disabled){background:var(--lu-green-dark);transform:translateY(-1px)}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:var(--lu-surface);color:var(--lu-text);border:1px solid var(--lu-border);padding:.625rem 1.25rem;border-radius:var(--lu-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover:not(:disabled){background:var(--lu-surface-hover)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.log-session-btn{background:var(--lu-green);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--lu-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.log-session-btn:hover{background:var(--lu-green-dark);transform:translateY(-1px)}.page-header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.success-banner{background:var(--lu-success-bg);border:1px solid var(--lu-success-border);color:var(--lu-success);padding:.75rem 1rem;border-radius:var(--lu-radius-sm);font-size:.875rem;font-weight:500;margin-bottom:1rem}.demo-banner{background:var(--lu-warning-bg);border:1px solid var(--lu-warning-border);color:var(--lu-warning-text);padding:.75rem 1rem;border-radius:var(--lu-radius-sm);font-size:.875rem;font-weight:500;margin-bottom:1rem}.header-actions{display:flex;gap:.5rem;align-items:center}.add-task-btn{background:var(--lu-surface);color:var(--lu-green);border:1px solid var(--lu-green);padding:.5rem 1rem;border-radius:var(--lu-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.add-task-btn:hover{background:var(--lu-green);color:#fff}.session-history{display:flex;flex-direction:column;gap:.75rem}.session-card{background:var(--lu-surface);border:1px solid var(--lu-border);border-radius:var(--lu-radius-sm);padding:1rem}.session-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.session-date{font-weight:600}.session-mode,.session-duration{color:var(--lu-text-sub);font-size:.9em}.session-topics{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.session-summary{margin:0;color:var(--lu-text-sub);font-size:.95em;line-height:1.4}.xp-progress-bar{display:flex;align-items:center;gap:1rem}.xp-level-badge{display:flex;flex-direction:column;align-items:center;min-width:80px}.xp-level-number{font-size:1.25rem;font-weight:700;color:var(--lu-green)}.xp-level-name{font-size:.75rem;color:var(--lu-text-sub);text-transform:uppercase;letter-spacing:.05em}.xp-bar-container{flex:1}.xp-bar-track{height:12px;background:var(--lu-border);border-radius:var(--lu-radius-full);overflow:hidden}.xp-bar-fill{height:100%;background:var(--lu-gradient-green);border-radius:var(--lu-radius-full);transition:width .5s ease}.xp-bar-labels{display:flex;justify-content:space-between;margin-top:.25rem}.xp-balance{font-size:.875rem;font-weight:600;color:var(--lu-text)}.xp-next-level{font-size:.75rem;color:var(--lu-text-muted)}.xp-history{display:flex;flex-direction:column;gap:.5rem}.xp-event-card{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--lu-surface-hover);border-radius:var(--lu-radius-sm);border:1px solid var(--lu-border)}.xp-event-amount{font-weight:700;color:var(--lu-green);min-width:80px}.xp-event-details{display:flex;flex-direction:column;gap:.125rem;flex:1}.xp-event-description{font-size:.875rem;color:var(--lu-text)}.xp-event-date{font-size:.75rem;color:var(--lu-text-muted)}.banking-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-bottom:1rem}.banking-stat{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--lu-green-bg);border-radius:var(--lu-radius-sm)}.banking-stat-label{font-size:.6875rem;font-weight:500;color:var(--lu-text-sub);text-transform:uppercase;letter-spacing:.04em}.banking-stat-value{font-size:1.125rem;font-weight:600;font-family:var(--lu-font-heading);color:var(--lu-text)}.banking-stat-value.banking-income{color:var(--lu-green)}.banking-stat-value.banking-spend{color:var(--lu-error-text)}.banking-stat-value.banking-savings{color:var(--lu-blue-dark)}.banking-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--lu-border)}.banking-section h3{font-size:.9375rem;font-weight:600;margin-bottom:.75rem;font-family:var(--lu-font-heading)}.banking-accounts-table,.banking-txn-table{width:100%;border-collapse:collapse;font-size:.8125rem}.banking-accounts-table th,.banking-txn-table th{text-align:left;padding:.5rem .75rem;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--lu-text-sub);border-bottom:2px solid var(--lu-border)}.banking-accounts-table td,.banking-txn-table td{padding:.5rem .75rem;border-bottom:1px solid var(--lu-border);color:var(--lu-text)}.banking-accounts-table tbody tr:hover,.banking-txn-table tbody tr:hover{background:var(--lu-surface-hover)}.banking-accounts-table th.text-right,.banking-accounts-table td.text-right,.banking-txn-table th.text-right,.banking-txn-table td.text-right{text-align:right}.banking-txn-pending{display:inline-block;background:var(--lu-warning-bg);color:var(--lu-warning-text);padding:.0625rem .375rem;border-radius:var(--lu-radius-full);font-size:.6875rem;font-weight:500}.banking-meta{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--lu-border);font-size:.8125rem;color:var(--lu-text-sub)}.spend-category-list{display:flex;flex-direction:column;gap:.625rem}.spend-category-row{display:flex;flex-direction:column;gap:.25rem}.spend-category-label{display:flex;justify-content:space-between;align-items:baseline}.spend-category-name{font-size:.8125rem;font-weight:500;text-transform:capitalize}.spend-category-amount{font-size:.8125rem;color:var(--lu-text-sub);font-weight:500}.spend-category-bar-track{height:6px;background:var(--lu-border);border-radius:var(--lu-radius-full);overflow:hidden}.spend-category-bar-fill{height:100%;background:var(--lu-gradient-green);border-radius:var(--lu-radius-full);transition:width .4s ease}.credit-meta{margin-top:.75rem;font-size:.8125rem;color:var(--lu-text-sub)}.login-page{display:flex;align-items:center;justify-content:center;min-height:80vh}.login-card{background:var(--lu-surface);border:none;border-radius:var(--lu-radius-md);padding:2.5rem;width:100%;max-width:400px;box-shadow:var(--lu-shadow-lg)}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:1.75rem;font-weight:700;color:var(--lu-green);margin-bottom:.25rem}.login-header p{font-size:.875rem;color:var(--lu-text-sub)}.login-form{display:flex;flex-direction:column}.login-error{background:var(--lu-error-bg);border:1px solid var(--lu-error-border);color:var(--lu-error-text);padding:.75rem;border-radius:var(--lu-radius-sm);font-size:.875rem;margin-bottom:1rem}.login-btn{background:var(--lu-green);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:var(--lu-radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s;margin-top:.5rem}.login-btn:hover:not(:disabled){background:var(--lu-green-dark);transform:translateY(-1px)}.login-btn:disabled{background:#9ca3af;cursor:not-allowed}.documents-panel{display:flex;flex-direction:column;gap:1rem}.doc-upload-section{padding-bottom:1rem;border-bottom:1px solid var(--lu-border);margin-bottom:.5rem}.doc-upload-form{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.doc-upload-form .form-group{margin-bottom:0}.doc-list{display:flex;flex-direction:column;gap:.5rem}.doc-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--lu-surface-hover);border-radius:var(--lu-radius-sm);border:1px solid var(--lu-border)}.doc-card-icon{font-size:.75rem;font-weight:700;color:var(--lu-blue-dark);background:var(--lu-blue-light);padding:.375rem .5rem;border-radius:var(--lu-radius-sm);min-width:40px;text-align:center}.doc-card-content{flex:1;min-width:0}.doc-card-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-card-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--lu-text-sub);margin-top:.125rem}.doc-type-badge{background:var(--lu-green-bg);color:var(--lu-green);padding:.125rem .5rem;border-radius:var(--lu-radius-full);font-size:.6875rem;font-weight:500}.doc-download-btn{background:var(--lu-surface);color:var(--lu-blue-dark);border:1px solid var(--lu-blue-dark);padding:.375rem .75rem;border-radius:var(--lu-radius-sm);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}.doc-download-btn:hover:not(:disabled){background:var(--lu-blue-dark);color:#fff}.doc-download-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.page-header h1{font-size:1.375rem}.form-row{grid-template-columns:1fr}.followup-inputs{grid-template-columns:1fr;gap:.5rem}.followup-inputs input[type=number],.followup-inputs input[type=date]{width:100%}.coach-header{flex-wrap:wrap;gap:.5rem}.coach-header-email{display:none}.coach-tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}}
