.profile-image-uploader{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.profile-image-preview{width:150px;height:150px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.profile-image-actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.profile-image-actions .button-link-secondary{width:auto;margin-top:0}.upload-note{font-size:.8rem;color:#666;margin:0}@media (max-width: 768px){.profile-image-uploader{flex-direction:column;align-items:center;text-align:center}.profile-image-actions{align-items:center}}.cropper-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000}.cropper-container{position:relative;width:90%;max-width:500px;height:60vh;background-color:#333}.cropper-controls{padding:1rem;display:flex;align-items:center;gap:1rem}.zoom-range{width:200px}:root{--indigo-500: #4338CA;--indigo-600: #3730A3;--slate-100: #F1F5F9;--slate-800: #1E293B;--white: #FFFFFF;--primary-color: var(--indigo-500);--primary-hover-color: var(--indigo-600);--background-color: var(--slate-100);--container-bg-color: var(--white);--text-color: var(--slate-800);--border-color: #e5e7eb}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--background-color);color:var(--text-color)}.app-layout{display:flex}.main-content{flex-grow:1;padding:2rem 5rem;overflow-y:auto;height:90vh}.navbar{background-color:var(--white);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;width:240px;padding:1rem;box-sizing:border-box}.navbar-brand{font-size:1.42rem;font-weight:700;color:var(--primary-color);margin-bottom:2rem}.navbar-nav{list-style:none;padding:0;margin:0;flex-grow:1}.navbar-nav a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;color:#4b5563;border-radius:6px;margin-bottom:.5rem}.navbar-nav a:hover{background-color:var(--slate-100)}.navbar-nav a.active{color:var(--primary-color);font-weight:600}.navbar-logout button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;color:#4b5563;font-size:1rem;text-align:left;cursor:pointer;border-radius:6px}.navbar-logout button:hover{background-color:var(--slate-100)}.mobile-nav{display:none}.dashboard-container,.profile-container,.assessment-container{max-width:1200px;margin:0 auto}.card{background-color:var(--white);border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.welcome-card{margin-bottom:1.5rem}.link-card{display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit;margin-bottom:1.5rem;transition:box-shadow .2s}.link-card:hover{box-shadow:0 4px 10px #0000001a}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.stat-card{text-align:center}.stat-card small{display:block;margin-top:.5rem;color:#6b7280}.stat-card span{font-size:1.3rem;font-weight:700}.schedule-section h4{margin:2rem 0 1rem}.schedule-card{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;border-left:4px solid var(--primary-color)}.schedule-card.green{border-left-color:#50e3c2}.auth-container{background-color:var(--container-bg-color);padding:2rem;border-radius:8px;box-shadow:0 4px 12px #0000001a;width:100%;max-width:500px;margin:0 auto}.auth-toggle{display:flex;margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.auth-toggle button{flex:1;padding:.75rem;background-color:var(--white);color:var(--primary-color);border:none;cursor:pointer;font-size:1rem;transition:background-color .2s}.auth-toggle button:not(:last-child){border-right:1px solid var(--border-color)}.auth-toggle button:hover{background-color:#f7f7f7}.auth-toggle button:disabled{background-color:var(--primary-color);color:var(--white);cursor:default}form div{margin-bottom:1.25rem}label{display:block;margin-bottom:.5rem;color:#555;font-size:.9rem}input{width:100%;max-width:600px;padding:.75rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:4px}button[type=submit]{width:100%;padding:.75rem;background-color:var(--primary-color);color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:1rem}button[type=submit]:hover{background-color:var(--primary-hover-color)}.social-login{text-align:center;margin-top:1.5rem;border-top:1px solid #eee;padding-top:1.5rem}.social-login p{margin:0 0 1rem;color:#777}.google-btn{width:100%;padding:.75rem;background-color:var(--white);color:#444;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:1rem;display:flex;justify-content:center;align-items:center;gap:.5rem}.google-btn:before{content:"";display:inline-block;width:18px;height:18px;background-image:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="%23EA4335" d="M24 9.5c3.9 0 6.9 1.6 9.1 3.7l6.9-6.9C35.9 2.5 30.5 0 24 0 14.9 0 7.3 5.4 4.1 12.9l7.8 6C13.5 13.3 18.3 9.5 24 9.5z"/><path fill="%234285F4" d="M46.2 25.4c0-1.7-.2-3.4-.5-5H24v9.5h12.5c-.5 3.1-2.2 5.7-4.8 7.5l7.5 5.8c4.4-4.1 7-10 7-17.8z"/><path fill="%23FBBC05" d="M11.9 28.9c-.4-1.2-.6-2.5-.6-3.9s.2-2.7.6-3.9l-7.8-6C1.6 18.6 0 22.2 0 25s1.6 6.4 4.1 9.9l7.8-6z"/><path fill="%2334A853" d="M24 48c6.5 0 12-2.1 16-5.8l-7.5-5.8c-2.1 1.4-4.8 2.3-7.5 2.3-5.6 0-10.4-3.8-12.1-9L4.1 36.1C7.3 42.6 14.9 48 24 48z"/><path fill="none" d="M0 0h48v48H0z"/></svg>');background-size:contain;background-repeat:no-repeat}fieldset{border:1px solid #ddd;border-radius:6px;padding:1.5rem;margin-bottom:1.5rem}legend{font-size:1.2rem;font-weight:600;padding:0 .5rem;color:var(--primary-color)}select{width:100%;max-width:600px;padding:.75rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:4px;background-color:var(--white)}.form-actions{margin-top:2rem}.save-button{width:100%;max-width:300px;padding:.75rem;background-color:#349cf8;color:var(--white);text-align:center;text-decoration:none;border-radius:4px;cursor:pointer;font-size:1rem;box-sizing:border-box;margin-top:.75rem}.logout-button{width:100%;max-width:300px;padding:.75rem;background-color:#6c757d;color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:1rem}.logout-button:hover{background-color:#5a6268}.required-mark{color:#dc3545;margin-left:.25rem}.error-box{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:.75rem 1.25rem;margin-bottom:1.5rem}.error-box ul{padding-left:1.25rem;margin:0}.dynamic-form-item{border:1px solid #e0e0e0;border-radius:4px;padding:1rem;margin-bottom:1.5rem;position:relative}.dynamic-form-item h4{margin-top:0;color:#555;border-bottom:1px solid #eee;padding-bottom:.5rem}.form-row{display:flex;flex-wrap:wrap;gap:1rem}.form-row>div{flex:1;min-width:120px}.form-row input,.form-row select{width:100%}.date-input-group{display:flex;gap:.5rem}.date-input-group input{width:100%}.checkbox-group{display:flex;align-items:center;gap:.5rem}.checkbox-group input[type=checkbox]{width:auto}textarea{width:100%;max-width:800px;height:400px;padding:.75rem;box-sizing:border-box;border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:1rem}.add-button,.remove-button{padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;border:1px solid transparent}.add-button{background-color:#28a745;color:var(--white)}.add-button:hover{background-color:#218838}.remove-button{background-color:#dc3545;color:var(--white);margin-top:1rem}.remove-button:hover{background-color:#c82333}.scores-container{margin-top:1rem;padding-left:1rem;border-left:3px solid #eee}.scores-container h5{margin-top:0;margin-bottom:.5rem;font-size:.9rem;color:#666}.score-item{align-items:center;margin-bottom:.5rem}.add-button-small,.remove-button-small{padding:.25rem .5rem;font-size:.8rem;line-height:1}.remove-button-small{background-color:#f0f0f0;color:#333;border:1px solid #ccc}.form-section{margin-bottom:1.5rem}.section-label{display:block;font-weight:600;margin-bottom:.75rem;color:#333}.region-container{border:1px solid var(--border-color);border-radius:4px;padding:1rem}.region-group{margin-bottom:1rem}.region-group:last-child{margin-bottom:0}.region-name{font-size:.9rem;font-weight:600;color:#555;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.checkbox-grid-condensed{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem}.checkbox-item{display:flex;align-items:center}.checkbox-item input[type=checkbox]{width:auto;margin-right:.5rem}.checkbox-item label{font-size:.9rem;margin-bottom:0;cursor:pointer}.sns-container{margin-bottom:1.5rem}.sns-item{align-items:center;margin-bottom:.5rem}.sns-item select{flex:0 0 120px}.sns-item input{flex:1}.progress-container{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.progress-bar{flex-grow:1;height:12px;background-color:#e9ecef;border-radius:6px;overflow:hidden}.progress-bar-inner{height:100%;background-color:var(--primary-color);transition:width .3s ease-in-out}.progress-text{font-weight:600;color:#555;min-width:50px;text-align:right}.answer-options-vertical{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.answer-option-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:background-color .2s}.answer-option-item:has(input:checked){background-color:#e7f3ff;border-color:var(--primary-color)}.answer-option-item input[type=radio]{width:auto;margin:0}.answer-option-item span{flex-grow:1}.unanswered-notice{color:#dc3545;font-weight:500;margin-top:0}.button-link{display:block;width:100%;max-width:300px;padding:.75rem;background-color:#28a745;color:var(--white);text-align:center;text-decoration:none;border-radius:4px;cursor:pointer;font-size:1rem;box-sizing:border-box}.button-link:hover{background-color:#218838}.result-section{margin-bottom:2.5rem}.result-section h3{border-bottom:2px solid var(--primary-color);padding-bottom:.5rem;margin-bottom:1.5rem}.result-bar-item{display:flex;align-items:center;margin-bottom:1rem;gap:1rem}.result-bar-label{flex:0 0 200px;font-size:.9rem;font-weight:500}.result-bar-graph{flex-grow:1;background-color:#e9ecef;border-radius:4px;height:20px}.result-bar-fill{height:100%;background-color:var(--primary-color);border-radius:4px;transition:width .5s ease-in-out}.result-bar-percent{font-weight:600;min-width:50px;text-align:right}.result-bar-item.invalid .result-bar-fill{background-color:#ccc}.result-bar-item.invalid .result-bar-label,.result-bar-item.invalid .result-bar-percent{color:#999}.comment-box{margin-top:1.5rem;padding:1rem;background-color:#f8f9fa;border-left:4px solid var(--primary-color)}.comment-box h4{margin:0 0 .5rem}.comment-box p{margin:0;line-height:1.6}.action-plan-list{list-style-type:"✓ ";padding-left:1.2rem}.action-plan-list li{padding-left:.5rem;margin-bottom:.75rem}.history-list{list-style-type:none;padding:0;margin:0}.history-item a{display:flex;max-width:600px;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--border-color);border-radius:4px;margin-bottom:.75rem;text-decoration:none;color:var(--text-color);transition:background-color .2s,box-shadow .2s}.history-item a:hover{background-color:#f8f9fa;box-shadow:0 2px 4px #0000000d}.history-item span{font-weight:600}.history-item small{color:#6c757d}.button-link-secondary{display:block;width:100%;max-width:300px;padding:.75rem;background-color:#6c757d;color:var(--white);text-align:center;text-decoration:none;border-radius:4px;cursor:pointer;font-size:1rem;box-sizing:border-box;margin-top:.75rem}.button-link-secondary:hover{background-color:#5a6268}.question-text{font-weight:600}@media (max-width: 768px){.app-layout{flex-direction:column-reverse}.main-content{height:auto;padding-left:2rem;padding-right:2rem;padding-bottom:80px}.mobile-nav{display:flex;justify-content:space-around;align-items:center;height:60px;width:100%;position:fixed;bottom:0;border-top:1px solid var(--border-color);background-color:var(--white);padding:0;box-sizing:border-box}.mobile-nav-item{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;color:#4b5563;height:100%;gap:2px}.mobile-nav-item.active{color:var(--primary-color)}.mobile-nav-item span{display:block;font-size:.75rem}.navbar{display:none}.auth-container{padding:1rem}}.profile-page-container{max-width:900px;margin:0 auto}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.save-button-sticky{padding:.6rem 1.2rem;background-color:var(--primary-color);color:var(--white);border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600}.save-button-sticky:hover{background-color:var(--primary-hover-color)}.save-button-sticky:disabled{background-color:#ccc;cursor:not-allowed}.user-type-toggle{display:flex;margin-bottom:1.5rem;border-radius:6px;background-color:var(--slate-100);padding:4px}.user-type-toggle button{flex:1;padding:.6rem;background-color:transparent;border:none;border-radius:4px;cursor:pointer;font-weight:500;color:#6b7280}.user-type-toggle button.active{background-color:var(--white);color:var(--primary-color);box-shadow:0 1px 3px #0000001a;font-weight:600}.auth-form-wrapper{background-color:var(--white);border-radius:8px;padding:2rem;border:1px solid var(--border-color)}.success-message{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;padding:1rem;border-radius:4px}.logo-upload-section{display:flex;flex-direction:column;gap:.75rem}.logo-preview-container{width:150px;height:150px;border:2px dashed var(--border-color);border-radius:6px;display:flex;justify-content:center;align-items:center;overflow:hidden}.logo-preview{width:100%;height:100%;object-fit:contain}.logo-placeholder{font-size:.9rem;color:#9ca3af}.upload-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--white);color:var(--slate-800);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;width:fit-content}.upload-button:hover{background-color:var(--slate-100)}.full-page-center{display:flex;justify-content:center;align-items:center;min-height:90vh;width:100%;padding:1rem;box-sizing:border-box}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:1.8rem;font-weight:700;color:var(--primary-color);margin:0}fieldset{border:none;padding:0;margin:0 0 2rem}fieldset:last-of-type{margin-bottom:1rem}legend{font-size:1.1rem;font-weight:600;padding:0;margin-bottom:1.5rem;color:var(--primary-color);width:100%;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.link-style-reset{text-decoration:none;color:inherit}
