.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 .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}.form-list-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;width:100%}.form-list-card{border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:all .2s ease;width:100%;box-sizing:border-box}.form-list-card.editing{border-color:#4f46e5;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:1.5rem;background-color:#fff}.form-list-card.summary{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.form-list-card.summary:hover{border-color:#94a3b8;background-color:#f8fafc}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid #f1f5f9;padding-bottom:.75rem;width:100%}.card-title{margin:0;font-size:1.1rem;color:#4f46e5;font-weight:700}.form-group{margin-bottom:1.5rem;width:100%}.form-group label,.date-input-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.95rem;color:#334155;line-height:1.4;white-space:nowrap}.desktop-br{display:block;margin-bottom:0}.required-mark{color:#ef4444;margin-left:4px}.form-row{display:flex;gap:1.5rem;margin-bottom:1.5rem;align-items:flex-end;width:100%}.form-row>div,.date-input-group{flex:1;min-width:160px}.nested-form-row{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:center;width:100%;box-sizing:border-box}.input-text,.input-select,.input-textarea,.input-with-unit input,select,input[type=text],input[type=number],input[type=email],input[type=tel],input[type=date],textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;line-height:1.5;transition:border-color .2s,box-shadow .2s;background-color:#fff;box-sizing:border-box;color:#1e293b;min-width:0;-webkit-appearance:none;appearance:none}input[type=date]{display:block;width:100%;min-width:unset}.input-text:focus,.input-textarea:focus,.input-select:focus,select:focus,input:focus,textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.date-inputs{display:flex;gap:1rem;width:100%}.input-with-unit{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.input-with-unit span{font-size:.9rem;color:#64748b;white-space:nowrap}.checkbox-group{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;cursor:pointer;min-height:24px}.checkbox-group input[type=checkbox]{width:18px!important;height:18px!important;cursor:pointer;accent-color:#4f46e5;margin:0!important;padding:0!important;transform:none!important;flex-shrink:0}.checkbox-group label{margin-bottom:0!important;padding-top:0!important;cursor:pointer;white-space:normal;line-height:1.5;color:#334155;display:flex;align-items:center;height:100%}.checkbox-grid-condensed{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.checkbox-item{display:flex;align-items:center;gap:.75rem;padding:4px 0}.checkbox-item input[type=checkbox]{width:18px!important;height:18px!important;accent-color:#4f46e5;cursor:pointer;margin:0!important;padding:0!important;flex-shrink:0;vertical-align:middle}.checkbox-item label{margin-bottom:0!important;padding-top:0!important;cursor:pointer;font-size:.95rem;color:#1e293b;line-height:1.4;white-space:normal;display:block}.score-section{background-color:#f8fafc;padding:1.25rem;border-radius:8px;border:1px solid #e2e8f0;width:100%;box-sizing:border-box}.add-score-button{width:auto;padding:.5rem 1rem;font-size:.9rem;margin-top:.5rem;border:1px dashed #cbd5e1;border-radius:6px;background-color:#fff;color:#64748b;cursor:pointer;display:inline-flex;align-items:center;transition:all .2s}.add-score-button:hover{background-color:#f1f5f9;border-color:#4f46e5;color:#4f46e5}.nested-form-row .name-input{flex:2;min-width:0}.nested-form-row .score-input{flex:1;min-width:0}.summary-content{flex:1;padding-right:1rem;min-width:0}.summary-main-text{margin:0 0 .35rem;font-size:1.1rem;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-sub-text{font-size:.9rem;color:#64748b;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.summary-badge{background:#f1f5f9;padding:2px 8px;border-radius:4px;font-size:.8rem;color:#475569}.separator{color:#cbd5e1}.summary-actions{display:flex;gap:.5rem;flex-shrink:0}.icon-button{padding:.6rem;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer;color:#94a3b8;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button:hover{background-color:#f1f5f9;color:#475569}.icon-button.delete:hover{background-color:#fef2f2;color:#ef4444}.icon-button.edit:hover{background-color:#eff6ff;color:#4f46e5}.add-item-button{width:100%;padding:1.25rem;border:2px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#64748b;font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s}.add-item-button:hover{border-color:#4f46e5;color:#4f46e5;background-color:#eef2ff}.card-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #f1f5f9;display:flex;align-items:center;justify-content:flex-end;gap:1rem}.button-local-save{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background-color:#4f46e5;color:#fff;padding:.75rem 2rem;border-radius:6px;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:background .2s;min-width:160px}.button-local-save:hover{background-color:#4338ca}.save-note{font-size:.8rem;color:#94a3b8}@media (max-width: 768px){.form-group,.date-input-group,.form-row>div{display:flex;flex-direction:column;width:100%;margin-bottom:1rem}.form-row{flex-direction:column;gap:0;margin-bottom:0;align-items:stretch}.desktop-br{display:inline}.desktop-br:after{content:" "}.nested-form-row{flex-direction:column;align-items:stretch;gap:.75rem;background-color:#f1f5f9;padding:1rem;border-radius:6px;box-sizing:border-box;width:100%;margin-bottom:.75rem}.score-section{padding:1rem!important;width:100%!important;box-sizing:border-box}.nested-form-row input{margin-top:0!important;width:100%!important;max-width:100%!important;flex:none!important;box-sizing:border-box}.nested-form-row .icon-button{align-self:flex-end;background-color:#e5e7eb;border-radius:50%;width:36px;height:36px;min-width:36px;flex-shrink:0;margin-top:.5rem;display:flex;align-items:center;justify-content:center}.input-text,.input-select,.input-textarea,.input-with-unit input,select,input[type=text],input[type=number],input[type=email],input[type=tel],input[type=date],textarea{width:100%!important;max-width:100%!important;box-sizing:border-box;font-size:16px!important;padding:12px 10px!important;margin-top:4px;min-height:48px;min-width:0}select{white-space:normal;text-overflow:ellipsis;overflow:hidden;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem!important}label{margin-bottom:4px;width:100%;white-space:normal}.date-inputs{width:100%;gap:.75rem}.input-with-unit{flex-direction:row;align-items:center;width:50%}.input-with-unit input{margin-top:0;width:100%!important}.card-footer{flex-direction:column-reverse;align-items:stretch;gap:1rem}.button-local-save{width:100%;padding:1rem}.save-note{text-align:center;display:block}.form-list-card.summary{padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}.summary-content{padding-right:0;width:100%}.summary-actions{width:100%;justify-content:flex-end;border-top:1px solid #f1f5f9;padding-top:.75rem}.summary-main-text{font-size:1.1rem;margin-bottom:.5rem;white-space:normal}.summary-sub-text{flex-direction:column;align-items:flex-start;gap:.5rem}.separator{display:none}.add-item-button{padding:1rem}}: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:.8rem}.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 220px;font-size:.9rem;font-weight:500}.result-bar-content{flex:1;display:flex;align-items:center;gap:1rem}.result-bar-graph{flex-grow:1;background-color:#e9ecef;border-radius:4px;height:20px}.result-bar-fill{height:100%;background-color:var(--result-bar-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:70px;width:100%;position:fixed;bottom:0;border-top:1px solid var(--border-color);background-color:var(--white);padding:0;box-sizing:border-box;z-index:1000}.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;padding-bottom:10px}.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:1200px;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}:root{--result-color-interest: #F59E0B;--result-color-ability: #EF4444;--result-color-value: #3B82F6;--result-color-personality: #EAB308;--result-color-aptitude: #10B981}@media (max-width: 768px){.result-bar-item{flex-direction:column;align-items:flex-start;gap:.5rem}.result-bar-label{flex-basis:auto}.result-bar-content{width:100%}}.message-layout{display:flex;height:calc(100vh - 100px);background-color:var(--container-bg-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.chat-sidebar{width:320px;flex-shrink:0;border-right:1px solid var(--border-color);display:flex;flex-direction:column}.sidebar-header{padding:1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-header h4{margin:0;font-size:1.1rem}.chat-list-wrapper{overflow-y:auto;flex-grow:1}.chat-list{list-style:none;padding:0;margin:0}.chat-list li button{width:100%;display:flex;align-items:center;gap:.75rem;text-align:left;padding:1rem;border:none;background:none;cursor:pointer;border-bottom:1px solid var(--slate-100);transition:background-color .2s}.chat-list li button:hover{background-color:var(--slate-100)}.chat-list li button.active{background-color:var(--primary-color);color:var(--white)}.chat-partner-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--slate-100);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;color:#9ca3af}.chat-list li button.active .chat-partner-avatar{background-color:#fff3;color:var(--white)}.chat-partner-avatar img{width:100%;height:100%;object-fit:cover}.chat-partner-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-window{flex-grow:1;display:flex;flex-direction:column;background-color:var(--background-color)}.chat-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background-color:var(--white);flex-shrink:0;position:sticky;top:0;z-index:10}.chat-header .chat-partner-name{font-weight:600}.header-avatar{width:36px;height:36px}.back-button{display:none;background:none;border:none;cursor:pointer;padding:.5rem;margin-right:.5rem;border-radius:50%}.back-button:hover{background-color:var(--slate-100)}.message-area{flex-grow:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column}.date-separator{display:flex;align-items:center;justify-content:center;padding:1rem 0}.date-separator span{background-color:#e5e7eb;color:#6b7280;font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:999px}.message-wrapper{display:flex;align-items:flex-end;gap:.5rem;max-width:75%;margin-top:.25rem}.message-wrapper.sent{align-self:flex-end;flex-direction:row-reverse}.message-wrapper.received{align-self:flex-start}.message-bubble{padding:.75rem 1rem;border-radius:18px}.message-bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.message-wrapper.sent .message-bubble{background-color:var(--primary-color);color:#fff;border-top-right-radius:4px}.message-wrapper.received .message-bubble{background-color:var(--white);border:1px solid var(--border-color);border-top-left-radius:4px}.message-timestamp{font-size:.7rem;color:#9ca3af;flex-shrink:0;margin-bottom:.25rem}.message-form{display:flex;gap:.5rem;padding:1rem;background-color:var(--white);border-top:1px solid var(--border-color);flex-shrink:0;position:sticky;bottom:0}.message-form{display:flex;align-items:flex-end;gap:.5rem;padding:1rem;background-color:var(--white);border-top:1px solid var(--border-color);flex-shrink:0;position:sticky;bottom:0}.message-form textarea{flex-grow:1;border:1px solid var(--border-color);border-radius:24px;padding:.75rem 1.25rem;background-color:var(--background-color);font-family:inherit;font-size:1rem;line-height:1.5;resize:none;overflow-y:hidden;min-height:48px;max-height:150px;box-sizing:border-box}.message-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4338ca33}.message-form button{flex-shrink:0;width:48px;height:48px;background:var(--primary-color);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.message-form button:hover{background-color:var(--primary-hover-color)}.message-form button:disabled{background-color:#ccc;cursor:not-allowed}.no-chat-selected,.center-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center;padding:1rem}.no-chat-selected svg{margin-bottom:1rem}.center-message.error{color:#dc3545}.message-area::-webkit-scrollbar,.chat-list-wrapper::-webkit-scrollbar{width:6px}.message-area::-webkit-scrollbar-track,.chat-list-wrapper::-webkit-scrollbar-track{background:transparent}.message-area::-webkit-scrollbar-thumb,.chat-list-wrapper::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:3px}.message-area::-webkit-scrollbar-thumb:hover,.chat-list-wrapper::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}@media (max-width: 768px){.message-layout{border:none;border-radius:0;height:calc(100vh - 90px);margin:-2rem -2rem calc(-2rem + 10px);width:calc(100% + 4rem)}.message-layout:not(.is-chat-open) .chat-window{display:none}.message-layout:not(.is-chat-open) .chat-sidebar{width:100%;border-right:none}.message-layout.is-chat-open .chat-sidebar{display:none}.message-layout.is-chat-open .chat-window{width:100%;height:100%}.back-button{display:block}.message-wrapper{max-width:85%}}.navbar-nav a{position:relative}.unread-badge{position:absolute;top:8px;left:30px;background-color:#ef4444;color:#fff;border-radius:9999px;font-size:.7rem;font-weight:600;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 5px;box-sizing:border-box}.mobile-nav-item .nav-icon-wrapper{position:relative}.unread-badge-mobile{position:absolute;top:-2px;right:-8px;background-color:#ef4444;color:#fff;border-radius:9999px;font-size:.7rem;font-weight:600;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-sizing:border-box;border:1px solid var(--white)}.chat-list li button{position:relative}.chat-list-unread-badge{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background-color:#ef4444;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 6px;box-sizing:border-box}.chat-list li button.active .chat-list-unread-badge{background-color:#fff;color:var(--primary-color)}.message-form-disabled{padding:1rem;background-color:#f3f4f6;text-align:center;color:#6b7280;border-top:1px solid #e5e7eb}.profile-image-uploader{display:flex;align-items:center;gap:1.5rem}.profile-image-preview{width:120px;height:120px;border-radius:50%;overflow:hidden;background-color:#f3f4f6;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-image-preview img{width:100%;height:100%;object-fit:cover}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;text-align:center}.image-placeholder span{font-size:.8rem;margin-top:.5rem}.profile-image-actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
