.file-manager-module{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#33475b;background:#f5f8fa;padding:20px;border-radius:8px;min-height:400px}.loading-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;color:#7c98b6}.standalone-mode h2{margin-top:0;color:#33475b;font-size:24px;margin-bottom:24px}.module-sections{display:grid;gap:24px}.files-manager-island{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.files-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.files-manager-header h3{margin:0;font-size:20px;color:#33475b}.file-actions{display:flex;gap:8px}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #cbd6e2;background:#fff;color:#33475b;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.action-btn:hover:not(:disabled){border-color:#ff7a59;color:#ff7a59}.action-btn:disabled{background:#f5f8fa;color:#b0c1d4;cursor:not-allowed;border-color:#e5e9ed}.action-btn svg{width:16px;height:16px;flex-shrink:0}.download-btn:hover:not(:disabled){background:#f5f8fa}.email-btn:hover:not(:disabled){background:#fff5f2}.file-sections details{margin-bottom:16px;background:#f5f8fa;border-radius:4px;padding:12px}.file-sections summary{cursor:pointer;font-weight:500;color:#33475b;-webkit-user-select:none;user-select:none;list-style:none;display:flex;justify-content:space-between;align-items:center}.file-sections summary::-webkit-details-marker{display:none}.file-sections summary:after{content:"+";font-size:20px;line-height:1;color:#7c98b6;transition:transform .3s ease;display:block;width:20px;height:20px;text-align:center}.file-sections details[open] summary:after{transform:rotate(45deg)}.file-sections summary:hover{color:#ff7a59}.file-sections summary:hover:after{color:#ff7a59}.file-list{margin-top:12px;padding-left:20px;color:#7c98b6}.file-item{display:flex;align-items:flex-start;padding:8px 0;border-bottom:1px solid #e6ecf1}.file-item input[type=checkbox]{margin-right:12px;margin-top:4px}.file-info{flex:1}.file-name{display:block;font-weight:500;color:#33475b;margin-bottom:4px}.file-meta{display:block;font-size:13px;color:#7c98b6}.file-description,.file-tags{display:block;font-size:13px;color:#516f90;margin-top:4px}.file-tags{font-style:italic}.no-files-message{color:#7c98b6;font-style:italic;margin:0}.summary-with-logo{display:flex;align-items:center;gap:8px;flex:1}.company-logo{width:20px;height:20px;object-fit:contain;border-radius:3px}.association-label{font-size:12px;color:#7c98b6;font-style:italic;margin-left:4px}.files-upload-island{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.upload-header h3{margin:0 0 20px;font-size:20px;color:#33475b}.drop-zone{border:2px dashed #cbd6e2;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .3s;background:#f5f8fa}.drop-zone:hover{border-color:#ff7a59;background:#fff5f2}.drop-zone.dragging{border-color:#ff7a59;background:#fff5f2;transform:scale(1.02)}.drop-zone-content{pointer-events:none}.drop-icon{font-size:48px;margin-bottom:16px}.drop-zone p{margin:8px 0;color:#33475b}.drop-zone-hint{font-size:12px;color:#7c98b6}.files-section{margin-top:24px}.file-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;border-bottom:2px solid #e5e9ed;padding-bottom:12px}.file-tab{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f5f8fa;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s;position:relative}.file-tab:hover{background:#e5e9ed}.file-tab.active{background:#ff7a59;color:#fff}.remove-file{background:none;border:none;color:#cbd6e2;font-size:20px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.file-tab.active .remove-file{color:#fff}.remove-file:hover{color:#ff5c36}.upload-status{font-size:12px}.file-details-form{background:#f5f8fa;padding:20px;border-radius:8px;margin-bottom:20px}.file-details-form h4{margin-top:0;color:#33475b;font-size:16px;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#33475b;font-size:14px}.form-group input[type=text],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #cbd6e2;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#ff7a59}.form-group input[type=text]:disabled,.form-group select:disabled{background:#e5e9ed;cursor:not-allowed}.form-group:has(select){display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.form-group:has(select) label{grid-column:1 / -1}.file-errors{margin-top:12px;padding:12px;background:#ffeef0;border:1px solid #ff7a59;border-radius:4px}.error-message{margin:0;color:#c9302c;font-size:14px}.upload-actions{text-align:center}.upload-button{background:#00bda5;color:#fff;border:none;padding:12px 32px;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.upload-button:hover:not(:disabled){background:#00a693}.upload-button:disabled{background:#cbd6e2;cursor:not-allowed}.files-manager-loading,.files-manager-error{padding:40px;text-align:center;color:#7c98b6}.files-manager-error{color:#c9302c}.both-mode .module-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.both-mode h3{margin:0 0 16px;font-size:20px;color:#33475b}.file-explorer-section,.file-upload-section{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.both-mode .module-sections{grid-template-columns:1fr}.file-manager-module{padding:16px}.files-manager-header{flex-direction:column;gap:12px;align-items:stretch}.file-actions{justify-content:stretch}.action-btn{flex:1;justify-content:center}.action-btn span{display:none}.drop-zone{padding:24px}.file-tabs{flex-direction:column}.file-tab{width:100%;justify-content:space-between}.form-group:has(select){grid-template-columns:1fr}}.upload-success{background:#e8f5e9;border:1px solid #4caf50;border-radius:8px;padding:20px;margin-top:20px;text-align:center}.upload-success h3{color:#2e7d32;margin:0 0 10px}.uploaded-file-info{background:#fff;padding:12px;margin:8px 0;border-radius:4px;text-align:left}.record-info{margin-top:4px}.record-info small{display:block;color:#7c98b6;font-size:12px}.success-actions{margin-top:20px}.continue-button{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.continue-button:hover{background:#45a049}.associations-info{margin-top:4px;color:#7c98b6}.association-group{background:#fafbfc;padding:12px;border-radius:4px;margin-bottom:8px}.association-group label{font-size:13px;margin-bottom:6px}.association-group input,.association-group select{font-size:13px}.association-input-group{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.fetch-associations-btn{background:#00bda5;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.fetch-associations-btn:hover:not(:disabled){background:#00a693}.fetch-associations-btn:disabled{background:#cbd6e2;cursor:not-allowed}.association-group select{width:100%;padding:10px 12px;border:1px solid #cbd6e2;border-radius:4px;font-family:inherit;transition:border-color .2s;background:#fff}.association-group select:focus{outline:none;border-color:#ff7a59}.logged-in-contact{padding:10px 12px;background:#e8f5e9;border:1px solid #4caf50;border-radius:4px}.contact-info{display:flex;flex-direction:column;gap:4px}.contact-info strong{color:#2e7d32;font-size:14px}.contact-info small{color:#66bb6a;font-size:12px;display:block}.contact-email{color:#558b2f!important;font-style:italic}.graphql-response{margin-top:12px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:8px}.graphql-response summary{cursor:pointer;font-size:12px;color:#666;-webkit-user-select:none;user-select:none}.graphql-response pre{margin:8px 0 0;font-size:11px;overflow:auto;max-height:200px;background:#fff;padding:8px;border-radius:4px}.not-logged-in-message{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:12px;color:#856404}.not-logged-in-message strong{display:block;margin-bottom:4px;color:#856404}.not-logged-in-message p{margin:0;font-size:13px}
