.article-search-page{padding:20px}.search-section{margin-bottom:24px}.search-input-group{display:flex;gap:12px;margin-bottom:16px}.search-input{flex:1;padding:12px 16px;border:1px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:8px;font-size:16px;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000)}.search-button{padding:12px 24px;background:var(--tg-theme-button-color, #3390ec);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;white-space:nowrap}.search-button:hover{opacity:.9}.search-button:disabled{opacity:.6;cursor:not-allowed}.min-score-control input[type=range]{flex:1;max-width:300px}.search-results{margin-top:24px}.search-results h3{margin-bottom:16px;font-size:18px;color:var(--tg-theme-text-color, #000)}.results-list{display:flex;flex-direction:column;gap:12px}.result-item{background:var(--tg-theme-bg-color, #ffffff);border:1px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:8px;padding:16px;transition:all .2s}.result-item:hover{box-shadow:0 2px 8px #0000001a}.result-item-content{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.result-item-main{display:flex;flex-direction:column;gap:8px;flex:1}.result-article-agb,.result-nomenclature-agb,.result-match-score{display:flex;align-items:center;gap:12px}.result-label{font-weight:600;font-size:14px;color:var(--tg-theme-hint-color, #999999);min-width:120px;flex-shrink:0}.result-value{font-size:16px;color:var(--tg-theme-text-color, #000);word-wrap:break-word;flex:1}.result-article-agb .result-value{font-size:18px;font-weight:600}.upload-page{animation:fadeIn .3s}.upload-description{color:var(--tg-theme-hint-color, #666666);margin-bottom:24px;line-height:1.5}.upload-icon{font-size:48px;margin-bottom:16px}.upload-hint{color:var(--tg-theme-hint-color, #999999);font-size:14px;margin-top:8px}.upload-result{margin-top:24px}.result-info{margin-top:16px}.result-info h3{margin-bottom:12px;color:var(--tg-theme-text-color, #000000)}.matches-count{font-size:18px;margin-bottom:16px}.matches-list{margin-top:16px}.matches-list h4{margin-bottom:12px;color:var(--tg-theme-text-color, #000000)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.recognition-results-table-container{max-height:60vh;overflow-y:auto;overflow-x:auto;margin:-20px;padding:20px}.recognition-results-table{width:100%;border-collapse:collapse;font-size:14px}.recognition-results-table thead{background:var(--tg-theme-secondary-bg-color, #f5f5f5);position:sticky;top:0;z-index:10}.recognition-results-table th{padding:12px;text-align:left;font-weight:600;font-size:14px;color:var(--tg-theme-text-color, #000);border-bottom:2px solid var(--tg-theme-hint-color, #e0e0e0);white-space:nowrap}.recognition-results-table td{padding:12px;border-bottom:1px solid var(--tg-theme-hint-color, #e0e0e0);vertical-align:top}.recognition-results-table tbody tr:hover{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.recognition-results-table tbody tr.has-match{background:#3390ec0d}.recognition-results-table tbody tr.no-match{background:#ff000005}.recognition-results-table .search-text{font-weight:500;color:var(--tg-theme-text-color, #000);word-break:break-word;max-width:200px}.recognition-results-table .found-text{color:var(--tg-theme-text-color, #000);word-break:break-word;max-width:250px}.recognition-results-table .no-match-text{color:var(--tg-theme-hint-color, #999999);font-style:italic}.recognition-results-table .match-score-cell{text-align:center;min-width:80px}.recognition-results-table .actions-cell{min-width:120px;text-align:center;position:sticky;right:0;background:var(--tg-theme-bg-color, #ffffff);z-index:5}.actions-buttons-container{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:90px}@media (max-width: 768px){.recognition-modal-content{max-width:100%;max-height:100vh;border-radius:0;margin:0}.modal-header{padding:16px;flex-wrap:wrap;gap:8px}.modal-header h2{font-size:16px;flex:1;min-width:100%}.modal-body{padding:12px}.recognition-results-table-container{max-height:calc(100vh - 200px);margin:-12px;padding:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.recognition-results-table{font-size:12px;min-width:600px}.recognition-results-table th,.recognition-results-table td{padding:8px;font-size:12px}.recognition-results-table .search-text{max-width:150px;font-size:11px}.recognition-results-table .found-text{max-width:180px;font-size:11px}.recognition-results-table .match-score-cell{min-width:60px;font-size:11px}.recognition-results-table .actions-cell{min-width:100px;position:sticky;right:0;background:var(--tg-theme-bg-color, #ffffff);z-index:5;padding:8px 4px}.recognition-results-table .actions-cell>div{display:flex;flex-direction:column;gap:6px;align-items:stretch}.recognition-results-table .btn-details,.recognition-results-table .btn-confirm{width:100%;max-width:100%;padding:8px 10px;font-size:11px;min-width:auto}.modal-close{font-size:28px;width:28px;height:28px}.btn-primary{font-size:12px;padding:8px 12px}}.btn-confirm{padding:6px 12px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);color:var(--tg-theme-text-color, #000);border:1px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;min-width:80px;max-width:100px;text-align:center;flex-shrink:0;width:100%}.btn-confirm.confirmed{background:var(--tg-theme-button-color, #3390ec);color:#fff;border:none}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.match-score.score-0{background:#ef4444;color:#fff}.match-score.score-1{background:#f59e0b;color:#fff}.match-score.score-2,.match-score.score-3,.match-score.score-4{background:#10b981;color:#fff}.empty-state{padding:40px;text-align:center;color:var(--tg-theme-hint-color, #999999)}.table-page{padding:20px}.table-controls{margin-bottom:24px}.search-section{margin-bottom:16px}.search-input-group{display:flex;gap:12px;margin-bottom:12px}.search-input{flex:1;padding:12px;border:2px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:8px;font-size:16px}.search-button{padding:12px 24px;background:var(--tg-theme-button-color, #3390ec);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600}.search-button:hover:not(:disabled){opacity:.9}.search-button:disabled{opacity:.5;cursor:not-allowed}.min-score-control{display:flex;align-items:center;gap:12px}.min-score-control label{font-size:14px;color:var(--tg-theme-text-color, #000);min-width:150px}.min-score-control input[type=range]{flex:1;max-width:200px}.action-buttons{display:flex;gap:12px}.btn-primary{padding:12px 24px;background:var(--tg-theme-button-color, #3390ec);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600}.btn-primary:hover{opacity:.9}.btn-danger{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;width:100%;text-align:center}.btn-danger:hover{opacity:.9}.btn-edit{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;width:100%;text-align:center}.btn-edit:hover{opacity:.9}.btn-small{padding:6px 12px;font-size:12px}.action-buttons-cell{display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:stretch;width:100%}.add-form{background:var(--tg-theme-secondary-bg-color, #f5f5f5);padding:20px;border-radius:12px;margin-bottom:24px}.add-form h3{margin-top:0;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:20px}.form-row{display:flex;flex-direction:column;gap:8px}.form-row label{font-weight:500;font-size:14px}.form-row label .required{color:#ef4444}.form-row input{padding:10px;border:2px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:6px;font-size:14px}.form-row input:required{border-color:var(--tg-theme-button-color, #3390ec)}.competitors-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--tg-theme-hint-color, #e0e0e0)}.competitors-section h4{margin-bottom:12px}.competitor-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;border-radius:6px;margin-bottom:8px}.competitor-item button{background:#ef4444;color:#fff;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:14px}.add-competitor{display:flex;gap:8px;margin-top:12px}.add-competitor input{flex:1;padding:8px;border:2px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:6px;font-size:14px}.add-competitor button{padding:8px 16px;background:var(--tg-theme-button-color, #3390ec);color:#fff;border:none;border-radius:6px;cursor:pointer}.form-actions{display:flex;gap:12px;margin-top:20px}.upload-section{margin-bottom:24px}.upload-hint{font-size:12px;color:var(--tg-theme-hint-color, #999999);margin-top:8px}.recognition-results{margin-bottom:24px;padding:20px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px}.recognition-results h3{margin-top:0;margin-bottom:16px}.recognition-results .btn-primary{margin-bottom:16px}.results-table-container{overflow-x:auto;margin-top:16px}.table-container{overflow-x:auto;margin-top:24px}.mapping-table{width:100%;border-collapse:collapse;background:var(--tg-theme-bg-color, #ffffff);border-radius:8px;overflow:hidden;table-layout:fixed}.mapping-table th,.mapping-table td{padding:12px;text-align:left;border-bottom:1px solid var(--tg-theme-hint-color, #e0e0e0);word-wrap:break-word;overflow-wrap:break-word}.mapping-table th:last-child,.mapping-table td:last-child{width:150px;min-width:150px;max-width:150px}.mapping-table th{font-weight:600;background:var(--tg-theme-secondary-bg-color, #f5f5f5);position:sticky;top:0;z-index:10}.mapping-table tr:hover{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.match-score{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:600;font-size:14px}.score-0{background:#ef4444;color:#fff}.score-1{background:#f59e0b;color:#fff}.score-2,.score-3,.score-4{background:#10b981;color:#fff}.matched-fields{font-size:11px;color:var(--tg-theme-hint-color, #999999);margin-top:4px}.empty-state{text-align:center;padding:40px;color:var(--tg-theme-hint-color, #999999)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px}.pagination-btn{padding:10px 20px;background:var(--tg-theme-button-color, #3390ec);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s}.pagination-btn:hover:not(:disabled){opacity:.9}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:var(--tg-theme-text-color, #000);font-weight:500}.info{padding:12px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:8px;margin-bottom:16px;font-size:14px;color:var(--tg-theme-text-color, #000)}.loading{text-align:center;padding:20px;color:var(--tg-theme-hint-color, #999999);font-size:16px}.error{padding:12px;background:#fee;border:1px solid #fcc;border-radius:8px;margin-bottom:16px;color:#c00;font-size:14px}.mappings-list{display:flex;flex-direction:column;gap:12px;margin-top:24px}.mapping-item{background:var(--tg-theme-bg-color, #ffffff);border:1px solid var(--tg-theme-hint-color, #e0e0e0);border-radius:8px;padding:16px;transition:all .2s}.mapping-item:hover{box-shadow:0 2px 8px #0000001a}.mapping-item-content{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.mapping-item-main{display:flex;flex-direction:column;gap:8px;flex:1}.mapping-nomenclature-agb,.mapping-article-agb,.mapping-match-score{display:flex;align-items:center;gap:12px}.mapping-label{font-weight:600;font-size:14px;color:var(--tg-theme-hint-color, #999999);min-width:120px;flex-shrink:0}.mapping-value{font-size:16px;color:var(--tg-theme-text-color, #000);word-wrap:break-word;flex:1}.mapping-nomenclature-agb .mapping-value{font-size:18px;font-weight:600}.mapping-article-agb{font-size:18px;font-weight:600;color:var(--tg-theme-text-color, #000)}.btn-details{padding:6px 12px;background:var(--tg-theme-button-color, #3390ec);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;min-width:80px;max-width:100px;text-align:center;flex-shrink:0}.btn-details:hover{opacity:.9}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--tg-theme-hint-color, #e0e0e0);position:sticky;top:0;background:var(--tg-theme-bg-color, #ffffff);z-index:10}.modal-header h2{margin:0;font-size:20px}.modal-close{background:none;border:none;font-size:32px;cursor:pointer;color:var(--tg-theme-text-color, #000);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.modal-body{padding:20px}.modal-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--tg-theme-hint-color, #e0e0e0)}.modal-field:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.modal-field label{font-weight:600;font-size:14px;color:var(--tg-theme-hint-color, #999999)}.modal-field span{font-size:16px;color:var(--tg-theme-text-color, #000);word-wrap:break-word}.modal-actions{display:flex;gap:12px;padding:20px;border-top:1px solid var(--tg-theme-hint-color, #e0e0e0);position:sticky;bottom:0;background:var(--tg-theme-bg-color, #ffffff)}.modal-actions .btn-edit,.modal-actions .btn-danger{flex:1;padding:12px 24px;font-size:16px}.recognition-modal-content{max-width:700px}.recognition-results-list{display:flex;flex-direction:column;gap:16px;max-height:60vh;overflow-y:auto;padding-right:8px}.recognition-result-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:8px;border:1px solid var(--tg-theme-hint-color, #e0e0e0);transition:all .2s}.recognition-result-item:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--tg-theme-button-color, #3390ec)}.recognition-result-main{display:flex;flex-direction:column;gap:8px;flex:1}.recognition-result-row{display:flex;align-items:center;gap:12px}.recognition-label{font-weight:600;font-size:14px;color:var(--tg-theme-hint-color, #999999);min-width:140px}.recognition-value{font-size:16px;color:var(--tg-theme-text-color, #000);word-wrap:break-word;flex:1}@media (max-width: 768px){.search-input-group{flex-direction:column}.form-row{flex-direction:column;align-items:flex-start}.form-row label{min-width:auto}.mapping-table{font-size:12px}.mapping-table th,.mapping-table td{padding:8px}.mapping-item-content{flex-direction:column;align-items:flex-start}.mapping-item-main{width:100%;flex-direction:column;align-items:flex-start}.btn-details{width:100%;max-width:100%;padding:8px 12px;font-size:13px}.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-actions{flex-direction:column}.modal-actions .btn-edit,.modal-actions .btn-danger{width:100%}}.app{min-height:100vh;padding-bottom:40px}.app-title{font-size:24px;font-weight:600;margin-bottom:24px;text-align:center;color:var(--tg-theme-text-color, #000000)}*{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:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);min-height:100vh}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff)}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-secondary{background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000)}.btn-danger{background:#ef4444;color:#fff}.card{background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.input{width:100%;padding:12px;border:1px solid var(--tg-theme-hint-color, #999999);border-radius:8px;font-size:16px;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);margin-bottom:12px}.input:focus{outline:none;border-color:var(--tg-theme-button-color, #3390ec)}.label{display:block;margin-bottom:8px;font-weight:500;color:var(--tg-theme-text-color, #000000)}.loading{text-align:center;padding:40px;color:var(--tg-theme-hint-color, #999999)}.error{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:16px}.success{background:#efe;color:#3c3;padding:12px;border-radius:8px;margin-bottom:16px}.table{width:100%;border-collapse:collapse;margin-top:16px}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid var(--tg-theme-hint-color, #e0e0e0)}.table th{font-weight:600;background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-success{background:#10b981;color:#fff}.badge-warning{background:#f59e0b;color:#fff}.badge-error{background:#ef4444;color:#fff}.tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--tg-theme-hint-color, #e0e0e0)}.tab{padding:12px 24px;background:none;border:none;cursor:pointer;font-size:16px;color:var(--tg-theme-hint-color, #999999);border-bottom:2px solid transparent;margin-bottom:-2px}.tab.active{color:var(--tg-theme-button-color, #3390ec);border-bottom-color:var(--tg-theme-button-color, #3390ec)}.file-upload{border:2px dashed var(--tg-theme-hint-color, #999999);border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .2s;background:var(--tg-theme-secondary-bg-color, #f5f5f5)}.file-upload:hover,.file-upload.dragover{border-color:var(--tg-theme-button-color, #3390ec);background:var(--tg-theme-bg-color, #ffffff)}.match-item{padding:16px;margin-bottom:12px;background:var(--tg-theme-bg-color, #ffffff);border-radius:8px;border-left:4px solid var(--tg-theme-button-color, #3390ec)}.match-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.match-item-title{font-weight:600;font-size:18px}.match-item-confidence{padding:4px 12px;border-radius:12px;font-size:14px;font-weight:500}.match-item-text{color:var(--tg-theme-hint-color, #666666);font-size:14px;margin-top:8px;font-style:italic}
