.recruitment-tool{max-width:900px;margin:0 auto;padding:30px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}h1{text-align:center;color:#333;margin-bottom:40px}section{margin-bottom:40px;padding:20px;background-color:#f9f9f9;border-radius:8px;border:1px solid #eee}h2{font-size:1.2em;color:#333;margin-bottom:20px;border-bottom:2px solid #007bff;padding-bottom:10px}label{display:block;font-weight:600;margin-bottom:8px;color:#333}input[type=text],input[type=email],select,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1em;font-family:inherit;box-sizing:border-box}input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 5px #007bff4d}textarea{resize:vertical;line-height:1.5}button{padding:12px 20px;font-size:1em;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-generate{background-color:#007bff;color:#fff;width:100%;margin-bottom:20px}.btn-generate:hover:not(:disabled){background-color:#0056b3}.btn-generate:disabled{background-color:#ccc;cursor:not-allowed}.btn-save-template{background-color:#28a745;color:#fff}.btn-save-template:hover{background-color:#218838}.btn-copy{background-color:#6c757d;color:#fff;margin-top:15px}.btn-copy:hover{background-color:#5a6268}.action-buttons{text-align:center;margin:30px 0}.generated-result{background-color:#e7f3ff;border:2px solid #007bff}.result-box{background-color:#fff;padding:20px;border-radius:4px;border-left:4px solid #007bff}.result-box p{line-height:1.8;color:#333;margin:0 0 15px}.btn-nav{display:inline-block;padding:10px 20px;background-color:#6c757d;color:#fff;text-decoration:none;border-radius:4px;font-size:.9em;transition:background-color .3s ease;margin-bottom:20px}.btn-nav:hover{background-color:#5a6268}.profile-actions{display:flex;gap:10px;margin-top:10px}.btn-paste,.btn-clear{flex:1;padding:10px 20px;border:none;border-radius:5px;font-size:14px;cursor:pointer;transition:all .3s;font-weight:500}.btn-paste{background-color:#4caf50;color:#fff}.btn-paste:hover{background-color:#45a049}.btn-clear{background-color:#f44336;color:#fff}.btn-clear:hover{background-color:#da190b}.btn-paste:active,.btn-clear:active{transform:scale(.98)}.toast-notification{position:fixed;bottom:30px;right:30px;background-color:#4caf50;color:#fff;padding:16px 24px;border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:14px;font-weight:600;z-index:9999;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.job-types-page{max-width:1400px;margin:0 auto;padding:30px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1em;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 5px #007bff4d}.job-types-list{background-color:#f9f9f9;padding:20px;border-radius:8px;border:1px solid #ddd}.job-types-list h2{margin-top:0;color:#333}.job-types-grid{display:grid;grid-template-columns:120px 1fr 250px;gap:0;margin-top:15px;border:1px solid #ddd;border-radius:4px;overflow:hidden}.grid-header{background-color:#007bff;color:#fff;padding:12px;font-weight:600;text-align:left;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.grid-cell{background-color:#fff;padding:12px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;display:flex;align-items:center;min-height:50px;word-wrap:break-word;overflow-wrap:break-word}.grid-cell:nth-child(3n){border-right:none}.grid-cell:first-child{font-weight:600;color:#333}.grid-actions{display:flex;gap:8px;justify-content:center;border-right:none}.job-types-page .btn-edit{flex:1;margin-top:0;padding:8px 12px;background-color:#ffc107;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:600;transition:background-color .3s ease}.job-types-page .btn-edit:hover{background-color:#e0a800}.btn-delete{padding:6px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:600;transition:background-color .3s ease}.templates-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #e5e7eb}.page-header h1{font-size:28px;font-weight:600;color:#1a202c;margin:0}.btn-back{padding:10px 20px;background-color:#6b7280;color:#fff;text-decoration:none;border-radius:6px;font-size:14px;transition:background-color .2s;display:inline-block}.btn-back:hover{background-color:#4b5563}.btn-add{padding:12px 24px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;margin-bottom:20px;transition:background-color .2s}.btn-add:hover{background-color:#2563eb}.form-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;border:1px solid #e5e7eb}.form-card h2{font-size:22px;font-weight:600;margin-bottom:20px;color:#1a202c;margin-top:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;font-family:inherit;line-height:1.5}.form-actions{display:flex;gap:12px;margin-top:24px}.btn-save,.btn-cancel{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-save{background-color:#10b981;color:#fff}.btn-save:hover{background-color:#059669}.btn-cancel{background-color:#6b7280;color:#fff}.btn-cancel:hover{background-color:#4b5563}.templates-list{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;border:1px solid #e5e7eb}.templates-list h2{font-size:22px;font-weight:600;margin-bottom:20px;color:#1a202c;margin-top:0;padding-bottom:15px;border-bottom:2px solid #f3f4f6}.templates-grid{display:grid;grid-template-columns:180px 150px 1fr 1fr;gap:0;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.grid-header{background-color:#f9fafb;padding:14px 16px;font-weight:600;font-size:14px;color:#374151;border-bottom:2px solid #e5e7eb;border-right:1px solid #e5e7eb}.grid-header:last-child{border-right:none}.templates-grid .grid-cell{background-color:#fff;padding:14px 16px;font-size:14px;color:#1f2937;display:flex;align-items:center;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;min-height:60px}.templates-grid .grid-cell:nth-child(4n){border-right:none}.grid-cell:nth-last-child(-n+4){border-bottom:none}.grid-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.templates-grid .btn-view-users,.templates-grid .btn-duplicate,.templates-grid .btn-edit,.templates-grid .btn-delete{flex:1;padding:8px 14px;border:none;border-radius:5px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-view-users{background-color:#8b5cf6;color:#fff}.btn-view-users:hover{background-color:#7c3aed;transform:translateY(-1px);box-shadow:0 2px 4px #8b5cf64d}.btn-duplicate{background-color:#06b6d4;color:#fff}.btn-duplicate:hover{background-color:#0891b2;transform:translateY(-1px);box-shadow:0 2px 4px #06b6d44d}.btn-edit{background-color:#f59e0b;color:#fff}.btn-edit:hover{background-color:#d97706;transform:translateY(-1px);box-shadow:0 2px 4px #f59e0b4d}.btn-delete{background-color:#ef4444;color:#fff}.btn-delete:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 2px 4px #ef44444d}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .2s ease-out}.modal-content.modal-large{max-width:700px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:20px;font-weight:600;color:#1a202c;margin:0}.modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f3f4f6;color:#1f2937}.modal-body{padding:24px;overflow-y:auto;flex:1}.template-name{margin-bottom:20px;font-size:14px;color:#4b5563;margin-top:0}.loading,.error,.no-users{text-align:center;padding:40px 20px;color:#6b7280;font-size:14px}.error{color:#ef4444}.users-table{width:100%;border-collapse:collapse;margin-top:10px}.users-table thead{background-color:#f9fafb}.users-table th{text-align:left;padding:12px;font-weight:600;font-size:13px;color:#374151;border-bottom:2px solid #e5e7eb}.users-table td{padding:12px;font-size:14px;color:#1f2937;border-bottom:1px solid #e5e7eb}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background-color:#f9fafb}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.role-badge.role-admin{background-color:#fef3c7;color:#92400e}.role-badge.role-manager{background-color:#dbeafe;color:#1e40af}.role-badge.role-user{background-color:#e0e7ff;color:#3730a3}.user-selection{margin-top:10px}.selection-help{color:#6b7280;font-size:14px;margin-bottom:16px;padding:12px;background-color:#f9fafb;border-radius:6px;border-left:3px solid #3b82f6}.user-checkboxes{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;padding:8px}.user-checkbox-item{display:flex;align-items:center;padding:12px;border-radius:6px;cursor:pointer;transition:background-color .2s;margin-bottom:4px}.user-checkbox-item:hover{background-color:#f9fafb}.user-checkbox-item input[type=checkbox]{width:18px;height:18px;margin-right:12px;cursor:pointer;flex-shrink:0}.user-info{display:flex;align-items:center;gap:12px;flex:1}.username{font-size:14px;color:#1f2937;font-weight:500}.modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px}.btn-close,.btn-edit-users{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-close{background-color:#6b7280;color:#fff}.btn-close:hover{background-color:#4b5563}.btn-edit-users{background-color:#3b82f6;color:#fff}.btn-edit-users:hover{background-color:#2563eb}.templates-list>p{text-align:center;color:#6b7280;font-size:14px;padding:40px 20px}@media(max-width:1024px){.templates-grid{grid-template-columns:2fr 1fr 1fr 2.5fr}.grid-actions{flex-direction:column;gap:6px}.grid-actions button{width:100%}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.form-row,.templates-grid{grid-template-columns:1fr}.grid-header:nth-child(3),.grid-cell:nth-child(4n+3){display:none}.grid-cell{border-right:none!important}.grid-actions{flex-direction:row;flex-wrap:wrap}.grid-actions button{flex:1 1 calc(50% - 4px);min-width:100px}.modal-content{width:95%;max-height:90vh}.modal-body{padding:16px}}.output-rules-page{max-width:1400px;margin:0 auto;padding:30px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.btn-add{margin-bottom:20px;padding:12px 20px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:1em;cursor:pointer;font-weight:600;transition:background-color .3s ease}.btn-add:hover{background-color:#218838}.form-card{background-color:#f9f9f9;padding:20px;border-radius:8px;border:1px solid #ddd;margin-bottom:30px}.form-card h2{margin-top:0;margin-bottom:20px;color:#333}.form-group{margin-bottom:15px}.form-group input[type=text],.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1em;font-family:inherit;box-sizing:border-box}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 5px #007bff4d}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;margin-bottom:0;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;margin-right:8px;cursor:pointer}.form-actions{display:flex;gap:10px;margin-top:20px}.btn-save{flex:1;padding:12px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.btn-save:hover{background-color:#0056b3}.output-rules-list{background-color:#f9f9f9;padding:20px;border-radius:8px;border:1px solid #ddd}.output-rules-list h2{margin-top:0;color:#333}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;margin-top:15px}.rule-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;display:flex;flex-direction:column;transition:box-shadow .3s ease}.rule-card:hover{box-shadow:0 4px 8px #0000001a}.rule-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:10px}.rule-header h3{margin:0;color:#333;font-size:1.1em;flex:1}.status{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85em;font-weight:600}.status.active{background-color:#d4edda;color:#155724}.status.inactive{background-color:#f8d7da;color:#721c24}.rule-description{margin:8px 0;color:#666;font-size:.9em;font-weight:500}.rule-text{background-color:#f5f5f5;padding:12px;border-radius:4px;font-size:.85em;color:#555;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;max-height:150px;overflow-y:auto;margin:10px 0;flex:1}.rule-actions{display:flex;gap:8px;margin-top:12px}.output-rules-page .btn-edit{flex:1;padding:8px 12px;background-color:#ffc107;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:600;transition:background-color .3s ease}.output-rules-page .btn-edit:hover{background-color:#e0a800}.btn-delete{flex:1;padding:8px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:600;transition:background-color .3s ease}.btn-delete:hover{background-color:#c82333}@media(max-width:768px){.rules-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:15px}.btn-back{align-self:flex-end}}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.login-container{width:100%;max-width:400px;padding:20px}.login-card{background-color:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0003}.login-card h1{text-align:center;font-size:2em;margin:0 0 10px;color:#333}.login-card h2{text-align:center;font-size:1.5em;color:#667eea;margin:0 0 30px;border-bottom:2px solid #667eea;padding-bottom:15px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:#333;font-size:.95em}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1em;font-family:inherit;box-sizing:border-box;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 8px #667eea4d}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:6px;margin-bottom:20px;font-size:.9em;border:1px solid #f5c6cb}.btn-login{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-login:disabled{opacity:.7;cursor:not-allowed}.login-info{margin-top:30px;padding-top:20px;border-top:1px solid #eee;text-align:center;color:#666;font-size:.9em;line-height:1.6}.login-info p{margin:5px 0}@media(max-width:480px){.login-card{padding:30px 20px}.login-card h1{font-size:1.5em}.login-card h2{font-size:1.2em}}.mypage{max-width:1000px;margin:0 auto;padding:30px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #007bff}.page-header h1{margin:0;color:#333}.btn-back{display:inline-block;padding:10px 15px;background-color:#6c757d;color:#fff;text-decoration:none;border-radius:4px;font-size:.9em;transition:background-color .3s ease}.btn-back:hover{background-color:#5a6268}.success-message{background-color:#d4edda;color:#155724;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #c3e6cb}.error-message{background-color:#f8d7da;color:#721c24;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #f5c6cb}.user-info-display{margin-bottom:30px}.info-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000000d}.info-card h2{margin-top:0;margin-bottom:30px;color:#333;font-size:1.3em;border-bottom:2px solid #007bff;padding-bottom:10px}.info-row{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #eee}.info-row:last-of-type{border-bottom:none}.info-row label{font-weight:600;color:#333;min-width:150px}.info-row p{margin:0;color:#555;flex:1;text-align:right}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.85em;font-weight:600}.role-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.85em;font-weight:600}.mypage .btn-edit{margin-top:20px;padding:12px 24px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.mypage .btn-edit:hover{background-color:#0056b3}.user-info-edit{margin-bottom:30px}.form-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000000d}.form-card h2{margin-top:0;margin-bottom:30px;color:#333;font-size:1.3em;border-bottom:2px solid #007bff;padding-bottom:10px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:#333}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:1em;font-family:inherit;box-sizing:border-box;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 8px #007bff4d}.btn-save{flex:1;padding:12px 20px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.btn-save:hover{background-color:#218838}.btn-cancel{flex:1;padding:12px 20px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.btn-cancel:hover{background-color:#c82333}.generation-history-section{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000000d;margin-top:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #007bff}.section-header h2{margin:0;color:#333;font-size:1.3em}.history-count{color:#666;font-size:.9em}.no-history{text-align:center;color:#999;padding:40px 0}.history-list{display:flex;flex-direction:column;gap:15px}.history-item{border:1px solid #e0e0e0;border-radius:6px;padding:15px;transition:all .3s ease}.history-item:hover{box-shadow:0 2px 8px #0000001a;border-color:#007bff}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.history-meta{display:flex;gap:10px}.history-job-type{display:inline-block;padding:4px 10px;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.85em;font-weight:600}.history-industry{display:inline-block;padding:4px 10px;background-color:#f3e5f5;color:#7b1fa2;border-radius:12px;font-size:.85em;font-weight:600}.history-date{color:#999;font-size:.85em}.history-preview{color:#555;line-height:1.6;margin-bottom:10px;padding:10px;background-color:#f8f9fa;border-radius:4px}.history-actions{display:flex;gap:10px}.btn-view-detail,.btn-delete-history{padding:6px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.9em;font-weight:600;transition:all .3s ease}.btn-view-detail{background-color:#007bff;color:#fff}.btn-view-detail:hover{background-color:#0056b3}.btn-delete-history{background-color:#dc3545;color:#fff}.btn-delete-history:hover{background-color:#c82333}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:8px;max-width:800px;width:90%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003;animation:slideIn .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.modal-header h2{margin:0;color:#333;font-size:1.3em}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#999;transition:color .3s;padding:0;width:30px;height:30px;line-height:1}.modal-close:hover{color:#333}.detail-section h3{margin-top:0;margin-bottom:15px;color:#007bff;font-size:1.1em;border-bottom:2px solid #007bff;padding-bottom:5px}.detail-content{padding:15px;background-color:#f8f9fa;border-radius:4px;line-height:1.8;color:#333;white-space:pre-wrap}.generated-message{background-color:#e3f2fd;border-left:4px solid #007bff}.modal-actions{display:flex;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-delete-modal,.btn-close-modal{flex:1;padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-delete-modal{background-color:#dc3545;color:#fff}.btn-delete-modal:hover{background-color:#c82333}.btn-close-modal{background-color:#6c757d;color:#fff}.btn-close-modal:hover{background-color:#5a6268}@media(max-width:768px){.mypage{padding:15px}.page-header{flex-direction:column;gap:15px;align-items:flex-start}.btn-back{align-self:flex-end}.info-row{flex-direction:column;align-items:flex-start;gap:8px}.info-row p{text-align:left}.history-header{flex-direction:column;align-items:flex-start;gap:10px}.modal-content{width:95%;max-height:90vh}}.history-template-name{display:inline-block;padding:6px 12px;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.85em;font-weight:600}.detail-section .detail-row span:not(.detail-label){color:#333}.user-management{max-width:1200px;margin:0 auto;padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{font-size:28px;color:#2c3e50}.btn-back{padding:10px 20px;background-color:#95a5a6;color:#fff;text-decoration:none;border-radius:5px;transition:background-color .3s}.btn-back:hover{background-color:#7f8c8d}.success-message,.error-message{padding:15px;margin-bottom:20px;border-radius:5px;font-weight:500}.success-message{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.action-bar{margin-bottom:20px}.btn-add{padding:12px 24px;background-color:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s}.btn-add:hover{background-color:#2980b9}.users-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.users-table table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:15px;text-align:left;border-bottom:1px solid #ecf0f1;color:#2c3e50}.users-table th{background-color:#34495e;color:#fff;font-weight:600}.users-table tr:hover{background-color:#f8f9fa}.status-badge,.role-badge{padding:5px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.role-badge.admin{background-color:#fff3cd;color:#856404}.role-badge.manager{background-color:#ff9800;color:#fff}.role-badge.user{background-color:#d1ecf1;color:#0c5460}.btn-logs-small,.btn-edit-small,.btn-delete-small{padding:6px 12px;margin-right:5px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.btn-logs-small{background-color:#17a2b8;color:#fff}.btn-logs-small:hover{background-color:#138496}.btn-edit-small{background-color:#ffc107;color:#333}.btn-edit-small:hover{background-color:#e0a800}.btn-delete-small{background-color:#dc3545;color:#fff}.btn-delete-small:hover{background-color:#c82333}.user-form{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:600px;margin:0 auto}.user-form h2{margin-bottom:20px;color:#2c3e50}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#34495e}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db}.form-actions{display:flex;gap:10px;margin-top:30px}.btn-save,.btn-cancel{flex:1;padding:12px;border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s}.btn-save{background-color:#27ae60;color:#fff}.btn-save:hover{background-color:#229954}.btn-cancel{background-color:#95a5a6;color:#fff}.btn-cancel:hover{background-color:#7f8c8d}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.logs-modal{width:90%;max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ecf0f1}.modal-header h2{margin:0;color:#2c3e50}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#95a5a6;transition:color .3s}.modal-close:hover{color:#7f8c8d}.tab{flex:1;padding:15px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:600;color:#7f8c8d;transition:all .3s;border-bottom:3px solid transparent}.tab:hover{background-color:#ecf0f1}.tab.active{color:#3498db;border-bottom-color:#3498db;background-color:#fff}.modal-body{padding:20px;overflow-y:auto;flex:1}.logs-table{overflow-x:auto}.logs-table table{width:100%;border-collapse:collapse}.logs-table th,.logs-table td{padding:12px;text-align:left;border-bottom:1px solid #ecf0f1;color:#2c3e50}.logs-table th{background-color:#f8f9fa;font-weight:600;color:#34495e}.logs-table tr:hover{background-color:#f8f9fa}.logs-table .user-agent{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#7f8c8d}@media(max-width:768px){.users-table,.logs-table{font-size:14px}.users-table th,.users-table td,.logs-table th,.logs-table td{padding:10px}.btn-logs-small,.btn-edit-small,.btn-delete-small{padding:4px 8px;font-size:12px}.logs-modal{width:95%;max-height:90vh}.modal-body{padding:15px}}.message-preview{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.btn-view-detail-small{padding:6px 12px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.btn-view-detail-small:hover{background-color:#2980b9}.detail-modal{width:90%;max-width:800px}.detail-section{margin-bottom:25px}.detail-section h3{margin-top:0;margin-bottom:15px;color:#3498db;font-size:1.1em;border-bottom:2px solid #3498db;padding-bottom:5px}.detail-row{margin-bottom:10px;display:flex;gap:10px}.detail-label{font-weight:600;color:#555;min-width:100px}.detail-content{padding:15px;background-color:#f8f9fa;border-radius:4px;line-height:1.8;color:#2c3e50;white-space:pre-wrap}.generated-message{background-color:#e3f2fd;border-left:4px solid #3498db}.modal-actions{display:flex;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #ecf0f1}.btn-close-modal{flex:1;padding:10px 20px;background-color:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s}.btn-close-modal:hover{background-color:#7f8c8d}.tabs{display:flex;border-bottom:1px solid #ecf0f1;background-color:#f8f9fa}.tab{flex:1;padding:15px;background:none;border:none;cursor:pointer;font-size:15px;font-weight:600;color:#7f8c8d;transition:all .3s;border-bottom:3px solid transparent}.assign-modal{width:90%;max-width:600px;max-height:80vh;overflow-y:auto}.assignment-section{margin-bottom:2rem}.assignment-section h3{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.checkbox-list{display:flex;flex-direction:column;gap:.75rem}.checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:4px;background-color:#f9f9f9;cursor:pointer;transition:background-color .2s}.checkbox-item:hover{background-color:#f0f0f0}.checkbox-item input[type=checkbox]{cursor:pointer;width:18px;height:18px}.checkbox-item span{flex:1;color:#333}.btn-assign-small{padding:6px 12px;font-size:14px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;margin-right:.5rem}.btn-assign-small:hover{background-color:#45a049}.btn-assign-small:active{transform:scale(.98)}.terms-container{max-width:800px;margin:40px auto;padding:40px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;line-height:1.8}.terms-container h1{font-size:28px;margin-bottom:10px;color:#333;border-bottom:3px solid #4a90e2;padding-bottom:10px}.update-date{color:#666;font-size:14px;margin-bottom:30px}.terms-container section{margin-bottom:30px}.terms-container h2{font-size:22px;margin-top:30px;margin-bottom:15px;color:#2c3e50}.terms-container h3{font-size:18px;margin-top:20px;margin-bottom:10px;color:#34495e}.terms-container ul{margin-left:20px;margin-top:10px}.terms-container li{margin-bottom:8px}.terms-container strong{color:#e74c3c}.terms-container p{margin-bottom:10px}.howto-page{max-width:900px;margin:0 auto;padding:2rem}.howto-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2.5rem}.howto-title{font-size:2rem;color:#2c3e50;margin-bottom:.5rem;text-align:center}.howto-description{text-align:center;color:#7f8c8d;font-size:1rem;margin-bottom:2.5rem;line-height:1.6}.howto-sections{display:flex;flex-direction:column;gap:1rem}.howto-section{border:1px solid #e1e8ed;border-radius:8px;overflow:hidden;transition:all .3s ease}.howto-section:hover{box-shadow:0 2px 8px #00000014}.section-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;font-size:1.25rem;font-weight:600;transition:all .3s ease;text-align:left}.section-header:hover,.section-header.active{background:linear-gradient(135deg,#5568d3,#65408b)}.section-title{display:flex;align-items:center;gap:.5rem}.section-toggle{font-size:1.5rem;font-weight:700;min-width:30px;text-align:center}.section-content{padding:1.5rem;background:#fafbfc;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.faq-item{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #00000014;transition:all .2s ease}.faq-item:last-child{margin-bottom:0}.faq-item:hover{box-shadow:0 2px 6px #0000001f;transform:translateY(-2px)}.faq-question{font-size:1.1rem;color:#2c3e50;margin-bottom:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.faq-question:before{content:"●";color:#667eea;font-size:.8rem}.faq-answer{color:#555;line-height:1.8;font-size:.95rem}.faq-answer p{margin-bottom:1rem}.faq-answer p:last-child{margin-bottom:0}.faq-answer ul,.faq-answer ol{margin:.75rem 0;padding-left:1.5rem}.faq-answer ul{list-style-type:disc}.faq-answer ol{list-style-type:decimal}.faq-answer li{margin-bottom:.5rem;line-height:1.7}.faq-answer li:last-child{margin-bottom:0}.faq-answer ul ul{margin-top:.5rem;margin-bottom:.5rem}.faq-answer strong{color:#2c3e50;font-weight:600}.howto-footer{margin-top:2.5rem;padding-top:2rem;border-top:2px solid #e1e8ed;text-align:center}.howto-footer p{color:#7f8c8d;font-size:.95rem;line-height:1.6}@media(max-width:768px){.howto-page{padding:1rem}.howto-container{padding:1.5rem}.howto-title{font-size:1.5rem}.howto-description{font-size:.9rem}.section-header{padding:1rem;font-size:1rem}.section-content,.faq-item{padding:1rem}.faq-question{font-size:1rem}.faq-answer{font-size:.9rem}}@media(max-width:480px){.howto-container{padding:1rem}.howto-title{font-size:1.3rem}.section-header{padding:.875rem;font-size:.95rem}.faq-item{padding:.875rem}}.admin-dashboard{max-width:1000px;margin:0 auto;padding:20px}.admin-dashboard .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-dashboard .page-header h1{margin:0}.admin-dashboard .btn-back{padding:10px 20px;background:#6c757d;color:#fff;text-decoration:none;border-radius:4px;transition:background .3s}.admin-dashboard .btn-back:hover{background:#5a6268}.loading,.error{text-align:center;padding:40px;font-size:18px}.error{color:#dc3545}.total-stats{background:#fff;border-radius:8px;padding:30px;margin-bottom:30px;box-shadow:0 2px 8px #0000001a}.total-stats h2{margin:0 0 20px;font-size:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-item{display:flex;flex-direction:column;padding:20px;background:#f8f9fa;border-radius:8px}.stat-item.highlight{background:#e3f2fd}.stat-label{font-size:14px;color:#666;margin-bottom:8px}.stat-value{font-size:32px;font-weight:700;color:#333}.stat-item.highlight .stat-value{color:#1976d2}.monthly-stats{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.monthly-stats h2{margin:0 0 20px;font-size:20px}.monthly-stats table{width:100%;border-collapse:collapse}.monthly-stats thead{background:#f5f5f5}.monthly-stats th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.monthly-stats td{padding:12px;border-bottom:1px solid #eee}.monthly-stats tbody tr:hover{background:#f9f9f9}.info-note{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:12px;margin-top:20px}.info-note p{margin:0;font-size:14px;color:#856404}.download-section{background:#fff;border-radius:8px;padding:30px;margin-bottom:30px;box-shadow:0 2px 8px #0000001a}.download-section h2{margin:0 0 10px;font-size:20px}.download-section p{margin:0 0 20px;color:#666;font-size:14px}.btn-download{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background .3s}.btn-download:hover{background:#218838}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:12px;border-radius:4px;margin-bottom:20px}.success-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:12px;border-radius:4px;margin-bottom:20px}.timeout-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease;pointer-events:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.timeout-modal{background:#fff;border-radius:12px;padding:30px;max-width:450px;box-shadow:0 10px 40px #0000004d;text-align:center;animation:slideIn .3s ease;position:relative;z-index:10000;pointer-events:auto}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.timeout-icon{font-size:60px;margin-bottom:20px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.timeout-modal h2{color:#e74c3c;margin-bottom:15px;font-size:24px}.timeout-modal p{color:#2c3e50;margin-bottom:10px;font-size:16px;line-height:1.6}.timeout-modal p strong{color:#e74c3c;font-weight:700;font-size:18px}.timeout-hint{font-size:14px;color:#7f8c8d}.timeout-actions{display:flex;gap:15px;margin-top:25px;pointer-events:auto}.btn-extend,.btn-logout-now{flex:1;padding:12px 20px;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s;pointer-events:auto}.btn-extend{background-color:#27ae60;color:#fff}.btn-extend:hover{background-color:#229954;transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.btn-logout-now{background-color:#95a5a6;color:#fff}.btn-logout-now:hover{background-color:#7f8c8d;transform:translateY(-2px);box-shadow:0 4px 12px #95a5a64d}*{box-sizing:border-box}body{margin:0 auto;padding:0;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:#f5f5f5}.App{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:#2c3e50;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}.nav-container{margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:60px}.nav-logo-icon{width:40px;height:40px;margin-right:10px;object-fit:contain}.nav-logo{display:flex;align-items:center;text-decoration:none;color:#fff;font-size:1.5rem;font-weight:700}.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center;margin:0;padding:0}.nav-item{margin:0}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .3s}.nav-link:hover{background-color:#ffffff1a}.nav-user{display:flex;align-items:center;gap:1rem}.nav-username{color:#fff;padding:.5rem 1rem;border-radius:4px;transition:background-color .3s;text-decoration:none}.nav-username:hover{background-color:#ffffff1a}.nav-logout{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.nav-logout:hover{background-color:#c0392b}main{flex:1;width:100%}:root{color-scheme:light only}html,body{color-scheme:light;background-color:#f5f5f5;color:#333}.usage-notice{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:20px;margin-bottom:30px}.usage-notice h3{margin:0 0 15px;color:#856404;font-size:18px}.usage-notice ul{margin:0;padding-left:25px}.usage-notice li{margin-bottom:10px;color:#856404;line-height:1.6}.usage-notice strong{color:#d32f2f;font-weight:600}.app-footer{background:#2c3e50;color:#fff;padding:30px 20px;margin-top:60px;text-align:center}.footer-content{max-width:1200px;margin:0 auto}.footer-content p{margin:0 0 10px;font-size:14px}.footer-links{font-size:14px;color:#bdc3c7}.footer-links a{color:#3498db;text-decoration:none;transition:color .3s}.footer-links a:hover{color:#5dade2;text-decoration:underline}.footer-divider{margin:0 10px;color:#7f8c8d}main{min-height:calc(100vh - 200px)}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
