.App{min-height:100vh;display:flex;flex-direction:column}.App-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;box-shadow:0 2px 4px #0000001a}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.header-title{text-align:left}.header-title h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:600}.header-title p{font-size:1.1rem;opacity:.9}.header-controls{display:flex;align-items:center;gap:2rem}.ged-switcher{display:flex;gap:.5rem;background:#ffffff1a;padding:.5rem;border-radius:8px}.ged-link{padding:.5rem 1rem;border-radius:6px;text-decoration:none;color:#fff;font-weight:500;transition:all .3s ease;background:transparent}.ged-link:hover{background:#fff3}.ged-link.active{background:#ffffff4d;box-shadow:0 2px 4px #0000001a}.user-display{background:#fff3;padding:.5rem 1.5rem;border-radius:8px;font-weight:500}.user-display span{color:#fff;font-size:.95rem}.App-main{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}@media (max-width: 768px){.header-content{flex-direction:column;align-items:stretch;gap:1rem}.header-title{text-align:center}.header-title h1{font-size:2rem}.header-controls{flex-direction:column;gap:1rem}.ged-switcher{justify-content:center}.App-main{padding:1rem}}.document-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.document-detail-dialog{background:#fff;border-radius:12px;width:90%;max-width:1400px;max-height:90vh;overflow-y:auto;padding:30px;position:relative;box-shadow:0 10px 40px #0000004d}.close-button{position:absolute;top:15px;right:15px;background:#e74c3c;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;padding:0}.close-button:hover{background:#c0392b}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:20px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}.error-container{padding:40px;text-align:center}.error-container h3{color:#e74c3c;margin-bottom:15px}.error-container button{margin-top:20px;padding:10px 30px;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px}.error-container button:hover{background:#2980b9}.document-header{border-bottom:2px solid #ecf0f1;padding-bottom:20px;margin-bottom:30px}.document-header h2{margin:0 0 10px;color:#2c3e50;font-size:28px}.document-date{color:#7f8c8d;margin:0;font-size:14px}.refreshing-indicator{color:#3498db;font-size:12px;animation:pulse 1.5s ease-in-out infinite}.refreshing-badge{display:inline-block;color:#3498db;font-size:16px;margin-left:8px;animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.document-content{display:grid;grid-template-columns:1fr 1fr;gap:30px}@media (max-width: 1024px){.document-content{grid-template-columns:1fr}}.document-preview-section,.document-text-section{display:flex;flex-direction:column}.document-preview-section h3,.document-text-section h3{margin:0 0 15px;color:#34495e;font-size:18px;font-weight:600}.preview-container{border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#f8f9fa;min-height:400px;display:flex;align-items:center;justify-content:center}.preview-container img{width:100%;height:auto;display:block}.preview-error{display:flex;align-items:center;justify-content:center;padding:40px;color:#7f8c8d;font-style:italic}.content-container{border:1px solid #ddd;border-radius:8px;background:#f8f9fa;padding:20px;overflow-y:auto;max-height:600px;min-height:400px}.content-container pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;line-height:1.6;color:#2c3e50}.document-actions{margin-top:30px;padding-top:20px;border-top:2px solid #ecf0f1;display:flex;align-items:center;gap:15px}.update-version-button{padding:12px 24px;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0000001a}.update-version-button:hover:not(:disabled){background:#2980b9;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.update-version-button:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.upload-success{color:#27ae60;font-weight:600;font-size:14px;display:flex;align-items:center;gap:5px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.procedure-detail-container{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.procedure-detail-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.procedure-detail-header h2{font-size:1.8rem;color:#333;font-weight:600;margin-top:1rem;margin-bottom:0}.back-button{background:#6c757d;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s;margin-bottom:.5rem}.back-button:hover{background:#5a6268}.back-button:active{transform:scale(.98)}.documents-section{margin-top:2rem}.documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.documents-section h3{font-size:1.4rem;color:#333;font-weight:600;margin:0}.upload-form{display:flex;flex-direction:column;gap:.5rem}.upload-form-fields{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.file-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;cursor:pointer}.file-input:disabled{cursor:not-allowed;opacity:.6}.label-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;min-width:200px}.label-input:disabled{cursor:not-allowed;opacity:.6}.upload-button{background:#667eea;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.upload-button:hover:not(:disabled){background:#5568d3}.upload-button:disabled{background:#ccc;cursor:not-allowed}.upload-error{color:#d32f2f;font-size:.9rem;margin-top:.5rem}.search-bar-container{margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.search-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.search-input{flex:1;min-width:250px;padding:.6rem 1rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea}.search-input:disabled{cursor:not-allowed;opacity:.6;background:#f5f5f5}.search-button{background:#667eea;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s;white-space:nowrap}.search-button:hover:not(:disabled){background:#5568d3}.search-button:disabled{background:#ccc;cursor:not-allowed}.clear-search-button{background:#6c757d;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s;white-space:nowrap}.clear-search-button:hover:not(:disabled){background:#5a6268}.clear-search-button:disabled{background:#ccc;cursor:not-allowed}.search-error{color:#d32f2f;font-size:.9rem;margin-top:.5rem;padding:.5rem;background:#ffebee;border-radius:4px}.search-info{color:#666;font-size:.9rem;margin-top:.5rem;padding:.5rem;background:#e3f2fd;border-radius:4px;font-weight:500}.loading,.error,.empty-state{text-align:center;padding:3rem;color:#666}.error{color:#d32f2f}.error p{margin-bottom:1rem;font-size:1rem}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:1rem 0}.document-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.document-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.document-preview{width:100%;height:300px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.preview-image{width:100%;height:100%;object-fit:contain;background:#fff}.preview-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#999;font-size:.9rem;background:#f5f5f5}.document-info{padding:1rem;border-bottom:1px solid #e0e0e0}.document-name{margin:0;font-size:1rem;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-actions{display:flex;gap:.5rem;padding:.75rem;background:#f8f9fa}.action-button{flex:1;padding:.5rem .75rem;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s,opacity .2s}.action-button:disabled{opacity:.5;cursor:not-allowed}.download-button{background:#667eea;color:#fff}.download-button:hover:not(:disabled){background:#5568d3}.detail-button{background:#6c757d;color:#fff}.detail-button:hover:not(:disabled){background:#5a6268}.delete-button{background:#dc3545;color:#fff}.delete-button:hover:not(:disabled){background:#c82333}@media (max-width: 768px){.procedure-detail-container{padding:1rem}.document-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.document-preview{height:250px}.document-actions{flex-direction:column}.action-button{width:100%}.search-form{flex-direction:column}.search-input,.search-button,.clear-search-button{width:100%}}.procedure-list-container{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.procedure-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.procedure-list-header h2{font-size:1.8rem;color:#333;font-weight:600}.add-button{background:#667eea;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.add-button:hover{background:#5568d3}.add-button:active{transform:scale(.98)}.error-message{background:#ffebee;color:#d32f2f;padding:1rem;border-radius:6px;margin-bottom:1rem}.error-message p{margin:0 0 .5rem}.procedure-form{background:#f8f9fa;padding:1.5rem;border-radius:6px;margin-bottom:1.5rem}.procedure-name-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;margin-bottom:1rem;box-sizing:border-box}.procedure-name-input:focus{outline:none;border-color:#667eea}.form-actions{display:flex;gap:.5rem}.submit-button,.cancel-button{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.submit-button{background:#667eea;color:#fff}.submit-button:hover:not(:disabled){background:#5568d3}.submit-button:disabled{background:#ccc;cursor:not-allowed}.cancel-button{background:#6c757d;color:#fff}.cancel-button:hover:not(:disabled){background:#5a6268}.cancel-button:disabled{background:#ccc;cursor:not-allowed}.loading,.empty-state{text-align:center;padding:3rem;color:#666}.loading{font-size:1.1rem}.procedure-table-wrapper{overflow-x:auto}.procedure-table{width:100%;border-collapse:collapse;font-size:.95rem}.procedure-table thead{background-color:#f8f9fa}.procedure-table th{padding:1rem;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.procedure-table td{padding:1rem;border-bottom:1px solid #e9ecef}.procedure-row{cursor:pointer;transition:background-color .2s}.procedure-row:hover{background-color:#f8f9fa}.procedure-table tbody tr:last-child td{border-bottom:none}.delete-button{background:#dc3545;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background-color .2s}.delete-button:hover{background:#c82333}.delete-button:active{transform:scale(.98)}.retry-button{background:#667eea;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background-color .2s}.retry-button:hover{background:#5568d3}@media (max-width: 768px){.procedure-list-container{padding:1rem}.procedure-list-header{flex-direction:column;align-items:flex-start;gap:1rem}.procedure-table{font-size:.85rem}.procedure-table th,.procedure-table td{padding:.6rem}}*{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:#f5f5f5;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
