.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff8a00 0%,#ff5e00 100%);padding:20px}.login-card{background:white;border-radius:18px;padding:48px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.login-title{font-size:28px;font-weight:600;text-align:center;margin-bottom:32px;color:#1d1d1f;letter-spacing:-.5px}.login-form{display:flex;flex-direction:column;gap:24px}.form-input{padding:12px 16px;border:1px solid #d2d2d7;border-radius:8px;font-size:16px;transition:all .2s;background-color:#fff}.form-input:focus{outline:none;border-color:#ff6700;box-shadow:0 0 0 4px #ff670029}.login-button{padding:14px 24px;background:#ff6700;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.login-button:hover:not(:disabled){background:#ff7e1b;transform:translateY(-1px);box-shadow:0 4px 12px #ff670059}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#ff3b30;font-size:14px;padding:12px;background-color:#ffe5e5;border-radius:8px;text-align:center}@media (max-width: 768px){.login-container{padding:16px}.login-card{padding:32px 24px;border-radius:12px}.login-title{font-size:22px;margin-bottom:24px}.login-form{gap:20px}.form-input{font-size:16px;padding:14px 16px}.login-button{padding:14px 24px;font-size:16px}}@media (max-width: 480px){.login-card{padding:24px 20px}.login-title{font-size:20px;margin-bottom:20px}}.questionnaire-container{min-height:100vh;background-color:#f5f5f7}.questionnaire-header{background:white;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d2d2d7;position:sticky;top:0;z-index:100}.questionnaire-header h1{font-size:24px;font-weight:600;color:#1d1d1f}.user-info{display:flex;align-items:center;gap:12px}.user-info span{padding:8px 16px;font-size:14px;color:#1d1d1f;font-weight:500;white-space:nowrap;line-height:1.5;height:36px;display:flex;align-items:center;box-sizing:border-box}.profile-button{padding:8px 16px;background:#ff6700;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;min-width:fit-content;height:36px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.5}.profile-button:hover{background:#ff7e1b}.questionnaire-main{max-width:900px;margin:0 auto;padding:40px 20px}.section{background:white;border-radius:12px;padding:32px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.section-title{font-size:22px;font-weight:600;color:#1d1d1f;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f5f5f7}.question{margin-bottom:32px}.question-label{display:block;font-size:16px;font-weight:500;color:#1d1d1f;margin-bottom:12px}.required{color:#ff3b30;margin-left:4px}.options{display:flex;flex-direction:column;gap:12px}.option-label{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:background-color .2s;user-select:none;-webkit-user-select:none}.option-label:hover{background-color:#f5f5f7}.option-label input[type=radio],.option-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#ff6700;pointer-events:none}.option-label span{font-size:15px;color:#1d1d1f;flex:1}.option-item{display:flex;flex-direction:column;gap:8px;position:relative}.option-item *{pointer-events:auto}.other-text-input{margin-left:32px;padding:8px 12px;border:1px solid #d2d2d7;border-radius:6px;font-size:14px;width:calc(100% - 32px);transition:all .2s}.other-text-input:focus{outline:none;border-color:#ff6700;box-shadow:0 0 0 4px #ff67001a}.other-text-input:disabled{background-color:#f5f5f7;cursor:not-allowed}.submitted-message{text-align:center;padding:24px;background:#fff4e5;border-radius:8px;color:#ff9500}.submitted-message p{margin:8px 0;font-size:15px}.text-input{width:100%;padding:12px 16px;border:1px solid #d2d2d7;border-radius:8px;font-size:15px;font-family:inherit;resize:vertical;transition:all .2s}.text-input:focus{outline:none;border-color:#ff6700;box-shadow:0 0 0 4px #ff670029}.submit-section{text-align:center;margin-top:40px;padding:32px;background:white;border-radius:12px}.submit-button{padding:16px 48px;background:#ff6700;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s}.submit-button:hover:not(:disabled){background:#ff7e1b;transform:translateY(-2px);box-shadow:0 8px 16px #ff670059}.loading{text-align:center;padding:60px;font-size:18px;color:#86868b}@media (max-width: 768px){.questionnaire-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.questionnaire-header h1{font-size:18px;width:100%;margin-bottom:8px}.user-info{width:100%;justify-content:space-between;gap:8px}.user-info span{padding:6px 12px;font-size:12px;height:32px}.profile-button,.logout-button{padding:6px 12px;font-size:12px;height:32px;flex:1}.questionnaire-main{padding:20px 12px}.section{padding:20px 16px;margin-bottom:16px}.section-title{font-size:18px;margin-bottom:16px;padding-bottom:12px}.question{margin-bottom:24px}.question-label{font-size:15px;margin-bottom:10px}.option-label{padding:10px;gap:10px}.option-label span{font-size:14px}.text-input{font-size:14px;padding:10px 12px}.submit-section{padding:24px 16px;margin-top:24px}.submit-button{padding:14px 32px;font-size:16px;width:100%}.other-text-input{margin-left:0;width:100%;margin-top:8px}}@media (max-width: 480px){.questionnaire-header h1{font-size:16px}.user-info span{font-size:12px;display:none}.section-title{font-size:16px}.question-label{font-size:14px}}.user-management{width:100%}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-buttons{display:flex;gap:12px}.template-button,.import-button{padding:10px 20px;background:white;color:#ff6700;border:1px solid #ff6700;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.template-button:hover,.import-button:hover{background:#fff4e5}.management-header h2{font-size:20px;font-weight:600;color:#1d1d1f}.create-button{padding:10px 20px;background:#ff6700;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.create-button:hover{background:#ff7e1b}.user-table{width:100%;border-collapse:collapse}.user-table th,.user-table td{padding:12px;text-align:left;border-bottom:1px solid #f5f5f7}.user-table th{font-weight:600;color:#1d1d1f;background-color:#f5f5f7}.user-table td{color:#86868b;font-size:14px}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background-color:#d1f2eb;color:#00a86b}.status-badge.frozen{background-color:#ffe5e5;color:#ff3b30}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.action-btn{padding:6px 12px;border:1px solid #d2d2d7;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;background:white}.action-btn.freeze{color:#ff9500}.action-btn.freeze:hover{background:#fff4e5;border-color:#ff9500}.action-btn.unfreeze{color:#00a86b}.action-btn.unfreeze:hover{background:#d1f2eb;border-color:#00a86b}.action-btn.reset{color:#ff6700}.action-btn.reset:hover{background:#ffe9d6;border-color:#ff6700}.action-btn.view{color:#ff6700}.action-btn.view:hover{background:#ffe9d6;border-color:#ff6700}.action-btn.delete{color:#ff3b30}.action-btn.delete:hover{background:#ffe5e5;border-color:#ff3b30}.action-btn.change-password{color:#5856d6}.action-btn.change-password:hover{background:#e5e5f5;border-color:#5856d6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;border-radius:12px;padding:32px;width:90%;max-width:400px}.modal-content h3{font-size:20px;font-weight:600;margin-bottom:24px;color:#1d1d1f}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:#1d1d1f}.form-group input{width:100%;padding:10px 12px;border:1px solid #d2d2d7;border-radius:6px;font-size:14px}.form-group input:focus{outline:none;border-color:#ff6700;box-shadow:0 0 0 4px #ff670029}.form-group input[type=file]{padding:8px;border:1px dashed #d2d2d7;border-radius:6px;cursor:pointer}.form-hint{margin-top:8px;font-size:12px;color:#86868b}.form-hint p{margin:4px 0}.link-button{background:none;border:none;color:#ff6700;cursor:pointer;text-decoration:underline;padding:0;font-size:12px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-button,.confirm-button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.cancel-button{background:#f5f5f7;color:#1d1d1f}.cancel-button:hover{background:#e5e5e7}.confirm-button{background:#ff6700;color:#fff}.confirm-button:hover:not(:disabled){background:#ff7e1b}.confirm-button:disabled{opacity:.6;cursor:not-allowed}.answers-modal{max-width:800px;max-height:80vh;overflow-y:auto}.answers-content{max-height:60vh;overflow-y:auto;margin:20px 0}.answer-sheet-item{background:#f5f5f7;border-radius:8px;padding:16px;margin-bottom:16px;border:1px solid #e5e5e7}.answer-sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #d2d2d7}.answer-sheet-title{font-size:16px;font-weight:600;color:#1d1d1f}.answer-sheet-date{font-size:13px;color:#86868b}.answer-details{margin-top:12px}.answer-list{list-style:none;padding:0;margin:0}.answer-item{padding:12px;margin-bottom:8px;background:white;border-radius:6px;border-left:3px solid #ff6700}.answer-question{font-size:14px;color:#1d1d1f;margin-bottom:8px}.answer-content{font-size:14px;color:#86868b;line-height:1.6}.answer-content span{display:block;margin-top:4px}.options-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.option-answer{color:#1d1d1f;font-weight:500}.option-separator{color:#86868b;margin:0 2px}.text-answer{color:#1d1d1f;line-height:1.6;white-space:pre-wrap;word-break:break-word;margin-top:8px}.text-answer div{margin-bottom:4px}.other-text{color:#ff6700;font-weight:500;margin-top:8px;display:block}.no-answers{text-align:center;padding:20px;color:#86868b;font-size:14px}@media (max-width: 768px){.management-header{flex-direction:column;align-items:flex-start;gap:16px}.management-header h2{font-size:18px;width:100%}.header-buttons{width:100%;flex-wrap:wrap}.template-button,.import-button,.create-button{flex:1;min-width:120px;font-size:13px;padding:8px 16px}.user-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.user-table th,.user-table td{padding:10px 8px;font-size:13px}.action-buttons{flex-direction:column;gap:6px}.action-btn{width:100%;text-align:center}.modal-content{width:95%;padding:24px 20px;max-width:none}.modal-content h3{font-size:18px;margin-bottom:20px}}@media (max-width: 480px){.management-header h2{font-size:16px}.header-buttons{flex-direction:column}.template-button,.import-button,.create-button{width:100%}.user-table th,.user-table td{padding:8px 6px;font-size:12px}.modal-content{padding:20px 16px}}.statistics{width:100%}.statistics h2{font-size:20px;font-weight:600;color:#1d1d1f;margin-bottom:24px}.statistics-list{display:flex;flex-direction:column;gap:24px}.stat-card{background:#f5f5f7;border-radius:12px;padding:24px;border:1px solid #e5e5e7}.question-title{font-size:16px;font-weight:600;color:#1d1d1f;margin-bottom:20px;line-height:1.4}.chart-container{width:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center}.total-count{text-align:center;margin-top:16px;font-size:14px;color:#86868b;font-weight:500}.text-statistics{display:flex;flex-direction:column;gap:20px}.summary{padding:16px;background:white;border-radius:8px;font-size:14px;color:#1d1d1f;line-height:1.6;border-left:4px solid #ff6700}.text-answers-list{background:white;border-radius:8px;padding:16px}.text-answers-list h4{font-size:14px;font-weight:600;color:#1d1d1f;margin-bottom:12px}.text-answers-list ul{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.text-answers-list li{padding:10px;margin-bottom:8px;background:#f5f5f7;border-radius:6px;font-size:14px;color:#1d1d1f;line-height:1.5;cursor:help;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.text-answers-list li:hover:after{content:attr(title);position:absolute;left:0;top:100%;background:rgba(0,0,0,.85);color:#fff;padding:8px 12px;border-radius:6px;white-space:normal;max-width:300px;z-index:1000;margin-top:4px;font-size:13px;line-height:1.4;box-shadow:0 4px 12px #0003;pointer-events:none}.choice-statistics{display:flex;gap:24px;align-items:flex-start}.recharts-pie-label-text{font-size:12px;cursor:pointer}.recharts-legend-wrapper{font-size:12px}.recharts-legend-item{cursor:pointer}.other-texts-list{flex:1;background:white;border-radius:8px;padding:16px;min-width:300px}.other-texts-list h4{font-size:14px;font-weight:600;color:#1d1d1f;margin-bottom:12px}.other-texts-list ul{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.other-texts-list li{padding:10px;margin-bottom:8px;background:#f5f5f7;border-radius:6px;font-size:14px;color:#1d1d1f;line-height:1.5;cursor:help;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.other-texts-list li:hover:after{content:attr(title);position:absolute;left:0;top:100%;background:rgba(0,0,0,.85);color:#fff;padding:8px 12px;border-radius:6px;white-space:normal;max-width:300px;z-index:1000;margin-top:4px;font-size:13px;line-height:1.4;box-shadow:0 4px 12px #0003;pointer-events:none}.loading{text-align:center;padding:60px;color:#86868b}@media (max-width: 768px){.statistics h2{font-size:18px;margin-bottom:20px}.stat-card{padding:16px}.question-title{font-size:15px;margin-bottom:16px}.chart-container{margin-bottom:16px}.choice-statistics{flex-direction:column;gap:16px}.other-texts-list{min-width:auto;width:100%}.text-answers-list,.other-texts-list{max-height:200px}}@media (max-width: 480px){.stat-card{padding:12px}.question-title{font-size:14px}.chart-container{height:250px!important}}.admin-dashboard{min-height:100vh;background-color:#f5f5f7}.admin-header{background:white;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d2d2d7}.admin-header h1{font-size:24px;font-weight:600;color:#1d1d1f}.header-actions{display:flex;align-items:center;gap:12px}.user-name{padding:8px 16px;font-size:14px;color:#1d1d1f;font-weight:500;white-space:nowrap;line-height:1.5;height:36px;display:flex;align-items:center;box-sizing:border-box}.logout-button{padding:8px 16px;background:#ff6700;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;min-width:fit-content;height:36px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.5}.logout-button:hover{background:#ff7e1b}.admin-content{max-width:1400px;margin:0 auto;padding:40px 20px}.admin-nav{display:flex;gap:12px;margin-bottom:24px}.nav-button{padding:12px 24px;background:white;border:1px solid #d2d2d7;border-radius:8px;font-size:15px;font-weight:500;color:#1d1d1f;cursor:pointer;transition:all .2s}.nav-button:hover{background:#f5f5f7}.nav-button.active{background:#ff6700;color:#fff;border-color:#ff6700}.admin-main{background:white;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000000d}@media (max-width: 768px){.admin-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.admin-header h1{font-size:18px;width:100%}.header-actions{width:100%;justify-content:space-between}.user-name{font-size:12px}.admin-content{padding:20px 12px}.admin-nav{flex-direction:column;gap:8px}.nav-button{padding:10px 16px;font-size:14px;width:100%}.admin-main{padding:20px 16px}}@media (max-width: 480px){.admin-header h1{font-size:16px}.user-name{display:none}}.profile-container{min-height:100vh;background-color:#f5f5f7}.profile-header{background:white;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d2d2d7}.profile-header h1{font-size:24px;font-weight:600;color:#1d1d1f}.back-button{padding:8px 16px;background:#ff6700;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.back-button:hover{background:#ff7e1b}.profile-main{max-width:900px;margin:0 auto;padding:40px 20px}.profile-section{background:white;border-radius:12px;padding:32px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.profile-section h2{font-size:20px;font-weight:600;color:#1d1d1f;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f5f5f7}.password-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#1d1d1f}.form-input{padding:12px 16px;border:1px solid #d2d2d7;border-radius:8px;font-size:15px;transition:all .2s}.form-input:focus{outline:none;border-color:#ff6700;box-shadow:0 0 0 4px #ff67001a}.submit-button{padding:12px 24px;background:#ff6700;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;margin-top:8px}.submit-button:hover:not(:disabled){background:#ff7e1b}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#ff3b30;font-size:14px;padding:12px;background-color:#ffe5e5;border-radius:8px}.success-message{color:#00a86b;font-size:14px;padding:12px;background-color:#d1f2eb;border-radius:8px}.answers-list{display:flex;flex-direction:column;gap:16px}.answer-item{padding:16px;background:#f5f5f7;border-radius:8px;border:1px solid #e5e5e7}.answer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.answer-date{font-size:14px;color:#86868b}.answer-content{font-size:15px;color:#1d1d1f}.loading,.no-answers{text-align:center;padding:40px;color:#86868b}@media (max-width: 768px){.profile-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.profile-header h1{font-size:18px;width:100%}.profile-main{padding:20px 12px}.profile-section{padding:20px 16px}.profile-section h2{font-size:18px;margin-bottom:20px}.form-input{font-size:16px}.submit-button{width:100%}}@media (max-width: 480px){.profile-header h1,.profile-section h2{font-size:16px}}.app{min-height:100vh}*{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-color:#f5f5f7;color:#1d1d1f;line-height:1.47059;font-weight:400;letter-spacing:-.022em}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}@media (max-width: 768px){body{font-size:14px}}@media screen and (-webkit-min-device-pixel-ratio: 0){*{-webkit-tap-highlight-color:transparent}}
