.app{min-height:100vh;padding:20px;max-width:1200px;margin:0 auto}.page-container{background:#fff;border-radius:16px;padding:32px;box-shadow:0 10px 40px #0000001a;margin-bottom:20px}.page-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.page-header h1{font-size:32px;color:#2d3748;margin-bottom:8px}.page-header p{color:#718096;font-size:16px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;transition:all .2s;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation;-webkit-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#e2e8f0;color:#2d3748}.btn-secondary:hover{background:#cbd5e0}.btn-danger{background:#fc8181;color:#fff}.btn-danger:hover{background:#f56565}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2d3748;font-size:14px}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;transition:border-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation}.form-group input[type=date]{position:relative;background-color:#fff;padding-right:40px}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;padding:6px;border-radius:4px;background:#f7fafc;border:1px solid #e2e8f0;margin-left:8px;width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:18px 18px}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#edf2f7;border-color:#cbd5e0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23667eea' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")}input[type=date]::-webkit-datetime-edit{padding:0}input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}input[type=date]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}input[type=date]{border:2px solid #e2e8f0!important}input[type=date]:focus{border:2px solid #667eea!important}input[type=date]::-moz-focus-inner{border:0}input[type=date]::-moz-calendar-picker-indicator{cursor:pointer;padding:6px;border-radius:4px;background:#f7fafc;border:1px solid #e2e8f0;margin-left:8px;width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:18px 18px}input[type=date]::-moz-calendar-picker-indicator:hover{background-color:#edf2f7;border-color:#cbd5e0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23667eea' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group textarea{min-height:120px;resize:vertical;font-family:inherit}.form-group small{display:block;margin-top:4px;color:#718096;font-size:12px}.score-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:24px 0}.score-card{background:linear-gradient(135deg,#f7fafc,#edf2f7);padding:20px;border-radius:12px;border:2px solid #e2e8f0}.score-card h3{font-size:14px;color:#718096;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.score-card .score-value{font-size:36px;font-weight:700;color:#2d3748}.score-card .score-value.null{color:#cbd5e0;font-size:24px}.score-card.score-low{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);border-color:#68d391}.score-card.score-medium{background:linear-gradient(135deg,#faf089,#f6e05e);border-color:#ecc94b}.score-card.score-high{background:linear-gradient(135deg,#fed7d7,#fc8181);border-color:#f56565}.actions-bar{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:16px;transition:all .2s}.card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000000d}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px;flex-wrap:nowrap;overflow:hidden}.card-header>div:first-child{flex:1;min-width:0;overflow:hidden}.card-header .btn{flex-shrink:0;max-width:none}.card-title{font-size:18px;font-weight:600;color:#2d3748}.card-date{color:#718096;font-size:14px}.empty-state{text-align:center;padding:60px 20px;color:#718096}.empty-state h3{font-size:20px;margin-bottom:8px;color:#4a5568}.empty-state p{font-size:14px}.reflection-prompts{background:#f7fafc;border-left:4px solid #667eea;padding:16px;border-radius:8px;margin:16px 0}.reflection-prompts h4{font-size:14px;color:#4a5568;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.reflection-prompts ul{list-style:none;color:#718096;font-size:14px}.reflection-prompts li{margin-bottom:6px;padding-left:16px;position:relative}.reflection-prompts li:before{content:"•";position:absolute;left:0;color:#667eea}.goal-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f7fafc;border-radius:8px;margin-bottom:8px;flex-wrap:nowrap;overflow:hidden}.goal-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.goal-item label{flex:1;cursor:pointer;margin:0}.goal-item .goal-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.goal-item .goal-status.active{background:#3182ce;color:#fff}.goal-item .goal-status.achieved{background:#38a169;color:#fff}.goal-item .goal-status.modified{background:#fc8181;color:#fff}.goal-item .goal-status select{background:inherit;color:inherit;border:none;outline:none;cursor:pointer;padding-right:24px}.goal-item .goal-status select option{background:#fff;color:#2d3748}.slider-container{margin:16px 0}.slider-label{margin-bottom:8px;font-size:14px;color:#4a5568}.slider-label strong{display:block;font-weight:600;color:#2d3748;margin-bottom:4px}.slider-wrapper{position:relative;padding:12px 0;width:100%;touch-action:pan-x;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.slider-track-background{position:absolute;top:16px;left:0;height:8px;border-radius:4px;pointer-events:none;z-index:1;touch-action:none;-webkit-user-select:none;user-select:none;transition:width .1s ease-out,background-color .1s ease-out}.slider{width:100%;height:8px;border-radius:4px;background:transparent;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:pan-x;cursor:grab;margin:0;padding:0;position:relative;z-index:10;-webkit-user-select:none;user-select:none}.slider:active{cursor:grabbing}.slider::-webkit-slider-runnable-track{background:#e2e8f0;height:8px;border-radius:4px;-webkit-tap-highlight-color:transparent;touch-action:pan-x;cursor:grab;-webkit-user-select:none;user-select:none}.slider::-moz-range-track{background:#e2e8f0;height:8px;border-radius:4px;cursor:grab;-moz-user-select:none;-webkit-user-select:none;user-select:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border-radius:50%;background:#667eea;cursor:grab;box-shadow:0 2px 6px #0000004d;-webkit-tap-highlight-color:transparent;touch-action:pan-x;position:relative;z-index:10;margin-top:-12px;border:2px solid white;-webkit-user-select:none;user-select:none;transition:none}.slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1);box-shadow:0 3px 8px #0006;transition:transform .1s ease,box-shadow .1s ease}.slider::-moz-range-thumb{width:32px;height:32px;border-radius:50%;background:#667eea;cursor:grab;border:2px solid white;box-shadow:0 2px 6px #0000004d;touch-action:pan-x;-moz-user-select:none;-webkit-user-select:none;user-select:none;transition:none}.slider::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.1);box-shadow:0 3px 8px #0006;transition:transform .1s ease,box-shadow .1s ease}.slider-value{text-align:center;font-size:24px;font-weight:700;color:#667eea;margin-top:8px}@media (max-width: 768px){.app{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.page-container{padding:20px;margin-left:env(safe-area-inset-left);margin-right:env(safe-area-inset-right)}.page-header h1{font-size:28px}.score-display{grid-template-columns:1fr}.actions-bar{flex-direction:column}.btn{width:100%;justify-content:center;min-height:44px;touch-action:manipulation}.card{padding:16px}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{padding:14px}.slider::-webkit-slider-thumb{width:24px;height:24px}.slider::-moz-range-thumb{width:24px;height:24px}.form-group input,.form-group textarea,.form-group select{font-size:16px!important}}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(-10px)}10%{opacity:1;transform:translate(-50%) translateY(0)}90%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}@keyframes congratulationsFade{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}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;min-height:-webkit-fill-available;color:#333;-webkit-text-size-adjust:100%;text-size-adjust:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#root{min-height:100vh;min-height:-webkit-fill-available}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}
