.person-card{background:#fffffff2;border-radius:20px;padding:1rem;box-shadow:0 10px 30px #0003;border-left:5px solid;transition:all .3s ease;height:fit-content;align-self:start}.person-card:hover{transform:translateY(-2px);box-shadow:0 15px 40px #0000004d}.person-card.collapsed{padding:.75rem;height:auto}.person-card.expanded{padding:1.5rem;height:auto}.card-header-compact{display:flex;align-items:center;padding:.5rem}.compact-main-content{display:flex;align-items:center;gap:1rem;flex:1;cursor:pointer;padding:.5rem;border-radius:10px;transition:background .2s ease;min-width:0}.compact-main-content:hover{background:#00000005}.compact-main-content .avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;flex-shrink:0}.compact-info{flex:1;min-width:0;padding-right:2rem}.compact-info h2{font-size:1.1rem;margin:0 0 .5rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-progress{background:#e0e0e0;border-radius:10px;height:20px;overflow:hidden;position:relative}.compact-progress-bar{height:100%;border-radius:10px;transition:width .5s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;min-width:40px}.compact-progress-text{color:#fff;font-weight:700;font-size:.75rem}.expand-toggle-bottom{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;margin-top:.5rem;background:#667eea0d;border-radius:10px;cursor:pointer;transition:all .2s ease;border-top:1px solid rgba(0,0,0,.05)}.expand-toggle-bottom:hover{background:#667eea1a;transform:translateY(-1px)}.expand-toggle-bottom.collapse-btn{background:#00000008;margin-top:1rem}.expand-toggle-bottom.collapse-btn:hover{background:#0000000d}.expand-text{font-size:.9rem;font-weight:600;color:#667eea}.expand-icon{font-size:1rem;color:#667eea;transition:transform .3s ease}.card-expanded-content{margin-top:1rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;position:relative}.avatar{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.5rem;flex-shrink:0}.person-info{flex:1}.person-info h2{font-size:1.4rem;margin-bottom:.25rem;color:#333}.start-date{color:#666;font-size:.9rem}.delete-btn{background:#ff00001a;border:none;border-radius:50%;width:30px;height:30px;font-size:1.5rem;color:#f44;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.6;flex-shrink:0}.delete-btn:hover{background:#f003;opacity:1;transform:scale(1.1)}.activities-section,.activities-section-always-visible{margin-top:1rem;border-top:2px solid #f0f0f0;padding-top:1rem}.toggle-activities-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.toggle-activities-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.toggle-icon{font-size:.9rem}.activities-content{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:10px}.date-selector{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.date-selector-only{margin-bottom:1.5rem}.date-selector label,.date-selector-only label{font-weight:600;color:#555;display:block;margin-bottom:.75rem;font-size:1rem}.date-input-wrapper{position:relative;width:100%;cursor:pointer}.date-placeholder{width:100%;padding:1rem 3rem 1rem 1.25rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;background:#fff;transition:all .3s ease;display:flex;align-items:center;min-height:52px;color:#333;font-weight:500;box-shadow:0 2px 8px #0000000d;-webkit-user-select:none;user-select:none}.date-input-wrapper:hover .date-placeholder{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-1px)}.date-input-wrapper:active .date-placeholder{transform:translateY(0);box-shadow:0 2px 8px #667eea33}.calendar-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.3rem;pointer-events:none}.date-placeholder.empty{color:#999;font-style:italic}.daily-points-badge{padding:.4rem .8rem;border-radius:20px;color:#fff;font-weight:700;font-size:.9rem;margin-left:auto}.weight-input-section{margin-bottom:1rem;padding:1rem;background:#fff;border-radius:10px;border:2px solid #e8f5e9}.weight-input-section label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#555;margin-bottom:.75rem;font-size:.95rem}.required-indicator{color:#e74c3c;font-size:1.1rem;font-weight:700;margin-left:.25rem}.weight-icon{font-size:1.2rem}.weight-input-group{display:flex;align-items:center;gap:.5rem}.weight-input-group input[type=number]{flex:1;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s ease}.weight-input-group input[type=number]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.weight-input-group input[type=number]:invalid:not(:placeholder-shown){border-color:#e74c3c}.weight-input-group input[type=number]:invalid:not(:placeholder-shown):focus{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.weight-unit{font-weight:600;color:#666;font-size:.95rem;padding:0 .5rem}.weight-saved-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;margin-top:.5rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.activities-checklist{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.activity-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.activity-checkbox:hover{background:#f0f0f0;transform:translate(3px)}.activity-checkbox.checked{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745}.activity-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#28a745}.activity-checkbox .activity-icon{font-size:1.2rem}.activity-checkbox .activity-name{flex:1;font-size:.95rem;color:#333}.activity-checkbox .activity-points{font-size:.85rem;color:#667eea;font-weight:700;background:#667eea1a;padding:.25rem .5rem;border-radius:8px}.custom-activities{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.custom-activities h4{font-size:.9rem;color:#666;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.custom-activity-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:linear-gradient(135deg,#fff9e6,#fffef0);border-radius:8px;margin-bottom:.5rem;border:2px solid #ffc107}.custom-activity-row .activity-icon{font-size:1.2rem}.custom-activity-row .activity-name{flex:1;font-size:.95rem;color:#333}.custom-activity-row .activity-points{font-size:.85rem;color:#667eea;font-weight:700;background:#667eea1a;padding:.25rem .5rem;border-radius:8px}.remove-activity-btn{background:#ff00001a;border:none;border-radius:50%;width:24px;height:24px;font-size:1.2rem;color:#f44;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-activity-btn:hover{background:#f003;transform:scale(1.1)}.add-custom-activity-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.add-custom-activity-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.save-daily-data-btn{width:100%;padding:1rem;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:1rem;box-shadow:0 4px 15px #0003;text-transform:uppercase;letter-spacing:.5px}.save-daily-data-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000004d}.save-daily-data-btn:active{transform:translateY(-1px);box-shadow:0 3px 10px #0003}.save-success-toast{margin-top:1rem;padding:.75rem;background:#e8f5e9;border-left:4px solid;border-radius:8px;color:#2e7d32;font-weight:600;font-size:.95rem;text-align:center;animation:slideInUp .3s ease}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.compact-info h2{font-size:1rem}.compact-main-content .avatar{width:45px;height:45px;font-size:1rem}.expand-toggle-bottom{padding:.6rem}.expand-text{font-size:.85rem}.date-placeholder{padding:.9rem 2.75rem .9rem 1rem;font-size:.95rem;min-height:48px}.calendar-icon{font-size:1.1rem;right:.85rem}.date-selector-only label{font-size:.95rem}}.progress-graph-container{background:#fffffff2;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0003;margin-bottom:2rem}.progress-graph-header{text-align:center;margin-bottom:2rem}.progress-graph-header h2{font-size:2rem;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.progress-graph-header p{color:#666;font-size:1rem;margin-bottom:.5rem}.progress-note{display:inline-block;background:#667eea1a;color:#667eea;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.points-badge{display:flex;gap:1.5rem;background:linear-gradient(135deg,#ffd7001a,#ffc1071a);border:2px solid;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 4px 12px #00000014;transition:all .3s ease;overflow:hidden}.points-badge:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.points-header{display:flex;align-items:center;gap:1rem;min-width:200px}.points-icon{font-size:2rem;line-height:1;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.points-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.points-label{font-size:.85rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.points-value{font-size:1.75rem;font-weight:700;line-height:1}.points-percentage{font-size:.9rem;color:#888;font-weight:500}.activity-breakdown{flex:1;min-width:0;max-width:280px;display:flex;flex-direction:column;gap:.5rem;padding-left:1rem;border-left:2px solid rgba(0,0,0,.08)}.activity-item{display:flex;flex-direction:column;gap:.3rem;min-width:0}.activity-item-header{display:flex;align-items:center;gap:.4rem}.activity-item-icon{font-size:.95rem;line-height:1}.activity-item-name{flex:1;font-size:.75rem;font-weight:600;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item-percentage{font-size:.75rem;font-weight:700;min-width:38px;text-align:right}.activity-progress-track{height:6px;background:#00000014;border-radius:10px;overflow:hidden;position:relative}.activity-progress-fill{height:100%;border-radius:10px;transition:width .5s ease;box-shadow:0 2px 4px #00000026;position:relative}.activity-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.people-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.person-progress-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.person-progress-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.progress-card-header{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:3px solid;justify-content:space-between}.progress-avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;flex-shrink:0}.progress-card-title{flex:1}.progress-card-title h3{margin:0 0 .25rem;font-size:1.3rem;color:#333}.progress-pace{font-size:.9rem;font-weight:600;padding:.25rem .75rem;border-radius:12px;background:#4caf501a;display:inline-block}.progress-journey-info{display:flex;flex-direction:column;gap:.35rem;align-items:flex-end;text-align:right}.journey-detail{font-size:.8rem;color:#666;display:flex;align-items:center;gap:.25rem;font-weight:500;white-space:nowrap}.progress-bars-section{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.progress-bar-item{display:flex;flex-direction:column;gap:.5rem}.progress-bar-label{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.progress-bar-label span:first-child{color:#666;font-weight:500}.progress-bar-value{font-weight:700;font-size:1rem}.progress-bar-track{height:12px;background:#f0f0f0;border-radius:10px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;border-radius:10px;transition:width .5s ease;position:relative}.progress-bar-fill.expected{opacity:.6}.progress-bar-fill.actual{box-shadow:0 2px 4px #0003}.progress-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.progress-stat{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8f9fa;border-radius:12px;transition:background .2s ease}.progress-stat:hover{background:#e9ecef}.stat-icon{font-size:1.5rem}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.8rem;color:#666;font-weight:500}.stat-value{font-size:1.1rem;font-weight:700;color:#333}.weight-comparison{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:12px;margin-bottom:1rem}.weight-item{display:flex;flex-direction:column;gap:.25rem;flex:1}.weight-label{font-size:.8rem;color:#666;font-weight:500}.weight-value{font-size:1.3rem;font-weight:700;color:#333}.weight-divider{font-size:.9rem;color:#999;font-weight:600;padding:0 1rem}.target-date-info{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;background:#667eea1a;border-radius:10px;color:#667eea;font-weight:600}.target-icon{font-size:1.2rem}.target-text-group{display:flex;flex-direction:column;gap:.25rem;text-align:center}.target-text{font-size:.95rem}.target-duration{font-size:.8rem;opacity:.8;font-weight:500}@media (max-width: 768px){.progress-graph-container{padding:1rem}.progress-graph-header h2{font-size:1.5rem}.people-progress-grid{grid-template-columns:1fr;gap:1.5rem}.person-progress-card{padding:1rem}.progress-card-header{margin-bottom:1rem;flex-wrap:wrap}.progress-journey-info{width:100%;align-items:flex-start;text-align:left;margin-top:.5rem;order:3}.points-badge{padding:1rem;gap:.75rem;flex-direction:column}.points-header{gap:.75rem;min-width:auto}.points-icon{font-size:2rem}.points-value{font-size:1.4rem}.points-percentage{font-size:.8rem}.activity-breakdown{gap:.5rem;padding-left:0;border-left:none;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.08);max-width:none}.activity-item-icon{font-size:.9rem}.activity-item-name{font-size:.7rem}.activity-item-percentage{font-size:.7rem;min-width:35px}.activity-progress-track{height:5px}.progress-avatar{width:40px;height:40px;font-size:1rem}.progress-card-title h3{font-size:1.1rem}.progress-pace{font-size:.8rem;padding:.2rem .6rem}.journey-detail{font-size:.7rem}.progress-stats-grid{grid-template-columns:1fr;gap:.75rem}.progress-stat{padding:.75rem}.stat-icon{font-size:1.3rem}.weight-comparison{flex-direction:column;gap:.5rem;text-align:center}.weight-divider{padding:.25rem 0}.weight-value{font-size:1.1rem}}.app{min-height:100vh;padding:2rem}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:1.5rem}.loader{width:50px;height:50px;border:5px solid rgba(102,126,234,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:#fff;font-size:1.2rem;font-weight:600}.header{text-align:center;margin-bottom:3rem;color:#fff}.header h1{font-size:3rem;margin-bottom:.5rem;font-weight:700}.header p{font-size:1.2rem;opacity:.9}.container{max-width:1400px;margin:0 auto}.section-header{text-align:center;margin:2rem 0 1.5rem}.section-header h2{font-size:1.8rem;color:#fff;font-weight:600;opacity:.95}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;padding:1rem;align-items:start}@media (max-width: 768px){.cards-grid{grid-template-columns:1fr;gap:1rem;padding:.5rem;align-items:start}}.add-person-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px dashed rgba(255,255,255,.3);border-radius:20px;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:pointer;transition:all .3s ease;color:#fff;font-size:1.2rem;height:fit-content;min-height:120px;align-self:start}.add-person-card:hover{background:#ffffff26;border-color:#ffffff80;transform:translateY(-5px)}.plus-icon{font-size:3rem;font-weight:300}@media (max-width: 768px){.app{padding:.5rem}.header{margin-bottom:1.5rem}.header h1{font-size:1.8rem}.header p{font-size:1rem}.section-header{margin:1.5rem 0 1rem}.section-header h2{font-size:1.4rem}.container{padding:0}.add-person-card{padding:1.5rem;min-height:100px;font-size:1rem}.plus-icon{font-size:2rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}#root{width:100%;min-height:100vh}
