: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}
