:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.btn{padding:.5rem 1rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block;transition:background-color .2s;font-family:inherit}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-link{background-color:transparent;color:#007bff;text-decoration:underline}.btn-link:hover:not(:disabled){color:#0056b3}.btn-warning:hover:not(:disabled){background-color:#e0a800}@media(max-width:768px){.layout-main{padding:1rem}.app-navigation{flex-direction:column}.nav-btn{width:100%;text-align:center}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-header{background-color:#2c3e50;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.layout-header h1{margin:0;font-size:1.5rem}.layout-main{flex:1;padding:2rem;background-color:#f8f9fa}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:50px;height:50px;animation:spin 2s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.company-list{max-width:1400px;margin:0 auto}.company-list-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.header-left{display:flex;flex-direction:column;gap:1rem}.header-left h2{margin:0;color:#2c3e50}.header-right{display:flex;align-items:center}.action-buttons{display:flex;gap:1rem}.btn-analysis{background-color:#28a745;color:#fff;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:600}.btn-analysis:hover{background-color:#218838}.company-list-content{display:flex;gap:2rem;align-items:flex-start}.company-list-section{flex:2;min-width:0}.meeting-note-register-section{flex:1;min-width:350px}.search-section{display:flex;gap:1rem;margin-bottom:1rem}.company-list-table{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.company-list-table table{width:100%;border-collapse:collapse}.company-list-table th,.company-list-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.company-list-table th{background-color:#f8f9fa;font-weight:600;color:#495057;white-space:nowrap}.company-list-table td{white-space:nowrap}.meeting-note-register{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.meeting-note-register h3{margin-top:0;margin-bottom:1rem;color:#2c3e50}.meeting-note-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;resize:vertical;margin-bottom:1rem;min-height:120px}.register-controls{display:flex;flex-direction:column;gap:1rem}.nurturing-stage-select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.btn{padding:.5rem 1rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block;transition:background-color .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-link{background-color:transparent;color:#007bff;text-decoration:underline;padding:.25rem .5rem}.btn-link:hover{color:#0056b3}@media(max-width:1200px){.company-list-content{flex-direction:column}.meeting-note-register-section{min-width:auto}.register-controls{flex-direction:row;align-items:center}.nurturing-stage-select{flex:1}}@media(max-width:768px){.company-list-header{flex-direction:column;align-items:stretch;gap:1rem}.header-left{align-items:flex-start}.header-right{justify-content:flex-end}.action-buttons{flex-wrap:wrap}.action-buttons button{flex:1;min-width:150px}.search-section{flex-direction:column}.company-list-table{overflow-x:auto}.register-controls{flex-direction:column}}.company-list-table th.sortable-header{font-weight:600;color:#495057;white-space:nowrap;padding:1rem .5rem}.company-list-table th{vertical-align:middle}.meeting-notes-list{max-width:1400px;margin:0 auto}.meeting-notes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.meeting-notes-header h2{color:#2c3e50;margin-bottom:.5rem}.meeting-notes-header h3{color:#495057;margin-top:0}.search-section{display:flex;gap:1rem;margin-bottom:2rem}.search-input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.meeting-notes-table{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;overflow-x:auto}.meeting-notes-table table{width:100%;border-collapse:collapse;min-width:1200px}.meeting-notes-table th,.meeting-notes-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.meeting-notes-table th{background-color:#f8f9fa;font-weight:600;color:#495057;white-space:nowrap}.note-content{max-width:300px}.note-content-preview{cursor:pointer;white-space:pre-wrap;word-break:break-word}.expand-button{background:none;border:none;color:#007bff;text-decoration:underline;cursor:pointer;font-size:.9rem;margin-top:.5rem}.stage-select{padding:.25rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;min-width:120px}.new-note-register{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.new-note-register h3{margin-top:0;color:#2c3e50}.note-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;resize:vertical;margin-bottom:1rem}.register-controls{display:flex;gap:1rem;align-items:center}.navigation-buttons{text-align:center}.btn-sm{padding:.25rem .5rem;font-size:.9rem}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;position:relative}.sortable-header:hover{background-color:#e9ecef!important}.sortable-header:active{background-color:#dee2e6!important}.meeting-notes-table th.sortable-header{font-weight:600;color:#495057;white-space:nowrap;padding:1rem .5rem}.meeting-notes-table th{vertical-align:middle}@media(max-width:768px){.sortable-header{font-size:.9rem}.meeting-notes-table th{padding:.5rem .25rem}}.analysis-management{max-width:1400px;margin:0 auto}.analysis-management h2{color:#2c3e50;margin-bottom:2rem}.company-selection{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.company-selection label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057}.company-select{width:100%;max-width:300px;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.analysis-sections{display:flex;flex-direction:column;gap:2rem}.analysis-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.analysis-header h3{margin:0;color:#2c3e50}.analysis-buttons{display:flex;gap:1rem}.analysis-results-table h4{color:#495057;margin-bottom:1rem}.analysis-results-table table{width:100%;border-collapse:collapse;margin-bottom:1rem}.analysis-results-table th,.analysis-results-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.analysis-results-table th{background-color:#f8f9fa;font-weight:600;color:#495057}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.sortable-header:hover{background-color:#e9ecef}.result-content{max-width:400px}.result-preview{cursor:pointer;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;transition:background-color .2s ease;padding:.5rem;border-radius:4px;margin:-.5rem}.result-preview:hover{background-color:#f8f9fa;margin:-.5rem}.result-preview::selection{background-color:#007bff;color:#fff}.result-preview::-moz-selection{background-color:#007bff;color:#fff}.expand-button{background:none;border:none;color:#007bff;text-decoration:underline;cursor:pointer;font-size:.9rem;margin-top:.5rem;z-index:1;position:relative;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s ease}.expand-button:hover{background-color:#e7f3ff;text-decoration:none}.expand-button:focus{outline:2px solid #007bff;outline-offset:2px}.status{padding:.25rem .5rem;border-radius:4px;font-size:.9rem;font-weight:500}.status.完了{background-color:#d4edda;color:#155724}.status.分析中{background-color:#fff3cd;color:#856404}.status.失敗{background-color:#f8d7da;color:#721c24}.no-results{text-align:center;padding:2rem;background-color:#f8f9fa;border-radius:8px;margin:1rem 0}.no-results p{margin:.5rem 0;color:#6c757d}.script-modification{margin-bottom:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:4px}.modification-controls{display:flex;flex-direction:column;gap:1rem}.modification-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;resize:vertical}.modification-bottom{display:flex;gap:1rem;align-items:center}.script-select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;min-width:200px}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}.btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.company-search{margin-bottom:.5rem}.company-search-input{width:100%;max-width:300px;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.company-search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.company-select{width:100%;max-width:400px;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.company-select:disabled{background-color:#f5f5f5;cursor:not-allowed}@media(max-width:768px){.analysis-management{padding:1rem}.analysis-header{flex-direction:column;gap:1rem;align-items:flex-start}.analysis-buttons{width:100%;justify-content:flex-start}.modification-bottom{flex-direction:column;align-items:stretch}.script-select{min-width:auto}.result-content{max-width:none}.analysis-results-table{overflow-x:auto}.analysis-results-table table{min-width:600px}}
