:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#000;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-blue: #0f62fe;--primary-blue-hover: #0353e9;--light-background: #f4f7fb;--hover-background: #edf5ff;--white: #ffffff;--primary-text: #161616;--secondary-text: #525252;--tertiary-text: #878d96;--success: #24a148;--warning: #ff832b;--error: #da1e28}a{font-weight:500;color:#000;text-decoration:underline}a:hover{color:#555}body{margin:0;display:flex;min-width:320px;min-height:100vh}h1{font-size:1.5rem;line-height:1.2}button{border:none;padding:.5rem 1rem;font-size:.9rem;font-weight:500;font-family:inherit;background-color:#000;color:#fff;cursor:pointer}button:hover{background-color:#333}button:focus,button:focus-visible{outline:2px solid #000}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#000;background-color:#fff}body{min-height:100vh;background-color:var(--surface-secondary, #f4f7fb);display:flex;justify-content:center}.container{width:100%;max-width:1400px;padding:0;margin:0;flex-shrink:0}.login-container{max-width:350px;margin:2rem auto;padding:1.5rem;border:1px solid #ddd}.login-container h1{text-align:center;margin-bottom:1.5rem;font-size:1.5rem;color:#000}form div{margin-bottom:1rem}label{display:block;margin-bottom:.25rem;font-weight:500}input{width:100%;padding:.5rem;border:1px solid #ddd;background-color:#fff;color:#000;font-size:.9rem}.button-group{display:flex;justify-content:center;margin-top:1rem}.login-button{width:100%;padding:10px;background-color:#000;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer}.login-button:hover{background-color:#333}.login-button:disabled{background-color:#ccc;cursor:not-allowed}.sign-out-button{flex:0 0 auto;padding:6px 12px;font-size:12px;background-color:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer;width:auto;min-width:fit-content}.sign-out-button:hover{background-color:#e0e0e0}button:disabled{background-color:#ccc;cursor:not-allowed}button:hover:not(:disabled){background-color:inherit}button:not(.login-button):not(.edit-button):not(.delete-button):not(.add-equipment-button):not(.sign-out-button):not(.attach-button):not(.detach-button):not(.add-child-doc-button):not(.reset-filters-button):not(.clear-filters-button):not(.clear-date-button):not(.close-button):not(.modern-close-button):not(.related-add-doc-btn):not(.child-doc-item):not(.header-download-icon):hover:not(:disabled){background-color:inherit!important;color:inherit!important}.error{color:#d00;margin:.5rem 0;font-size:.9rem}.equipment-container{width:100%}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header h1{color:#000;font-size:1.5rem}.search-container{margin-bottom:20px}.search-input::placeholder{color:#999}.horizontal-table-wrapper{width:100%;overflow-x:auto;margin-bottom:1rem;background-color:var(--surface-primary, #ffffff);border-radius:8px;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.1));min-width:90%}.equipment-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:1320px;table-layout:auto;position:relative;z-index:1}.equipment-table td{text-align:left;padding:.75rem .5rem;border-bottom:1px solid #e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:2.5rem;line-height:1.2;background-color:transparent;position:relative}.equipment-table th{background-color:#f0f0f0;font-weight:600;color:#333;position:sticky;top:0;z-index:1;text-transform:uppercase;border-bottom:2px solid #ccc;padding:.75rem .5rem;text-align:left}.equipment-table th:first-child,.equipment-table td:first-child{width:100px}.equipment-table th:nth-child(2),.equipment-table td:nth-child(2){width:120px}.equipment-table th:nth-child(3),.equipment-table td:nth-child(3){width:180px}.equipment-table th:nth-child(4),.equipment-table td:nth-child(4){width:250px;white-space:normal;word-break:break-word}.equipment-table th:nth-child(5),.equipment-table td:nth-child(5){width:100px}.equipment-table th:nth-child(6),.equipment-table td:nth-child(6){width:100px}.equipment-table th:nth-child(7),.equipment-table td:nth-child(7){width:100px}.equipment-table th:nth-child(8),.equipment-table td:nth-child(8){width:100px}.equipment-table th:nth-child(9),.equipment-table td:nth-child(9){width:120px;text-align:center!important;vertical-align:middle}.equipment-table th:nth-child(10),.equipment-table td:nth-child(10){width:120px;text-align:center!important;vertical-align:middle;padding:.75rem .5rem}.actions-header{background-color:#f0f0f0!important;font-weight:600!important;color:#333!important;text-transform:uppercase!important;border-bottom:2px solid #ccc!important;text-align:center!important}.status-cell{text-align:center;vertical-align:middle}.status-cell .status-icon{margin:0}.equipment-table th{background-color:#f0f0f0}.equipment-table tbody tr:hover{background-color:#d1ecf1!important;cursor:pointer;position:relative;z-index:10}.clickable-row{position:relative}.clickable-row:hover{background-color:#d1ecf1!important;z-index:10}.equipment-table tr:hover{background-color:#d1ecf1!important;cursor:pointer;position:relative;z-index:10}.status-pk-ok{color:var(--success);font-weight:700}.status-nc{color:var(--error);font-weight:700}.status-c{color:var(--warning);font-weight:700}.status-mo{color:#e6a100;font-weight:700}.status-rc{color:#ff6d00;font-weight:700}.status-exp{color:var(--error);font-weight:700}.card-status.status-pk-ok{background-color:var(--success);color:var(--white)}.card-status.status-nc{background-color:var(--error);color:var(--white)}.card-status.status-c{background-color:var(--warning);color:var(--white)}.card-status.status-mo{background-color:#e6a100;color:var(--white)}.card-status.status-rc{background-color:#ff6d00;color:var(--white)}.card-status.status-exp{background-color:var(--error);color:var(--white)}.edit-button{background-color:var(--primary-blue);color:var(--white);border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;margin-right:4px}.edit-button:hover{background-color:var(--primary-blue-hover)}.delete-button{background-color:var(--error);color:var(--white);border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.delete-button:hover{background-color:#b71c1c}.add-equipment-button{background-color:var(--success);color:var(--white);padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-equipment-button:hover{background-color:#1e8a3a}.sign-out-button{background-color:var(--light-background);color:var(--secondary-text);border:1px solid var(--hover-background);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.sign-out-button:hover{background-color:var(--hover-background)}@media (min-width: 1400px){.equipment-table{min-width:100%}}@media (max-width: 768px){.horizontal-table-wrapper{display:none}.mobile-card-view{display:block}}@media (min-width: 769px){.horizontal-table-wrapper{display:block}.mobile-card-view{display:none}}.modern-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;animation:modalOverlayEnter var(--transition-normal, .25s) ease-out}@keyframes modalOverlayEnter{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.modern-modal{background-color:var(--surface-primary, white);border-radius:0;width:100%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl, 0 20px 40px -10px rgba(0, 0, 0, .25));overflow:hidden;animation:modalEnter var(--transition-normal, .25s) ease-out;border:none}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modern-modal-header{background:linear-gradient(135deg,#0014dc,#0010a8);color:#fff;padding:8px 12px;display:flex;justify-content:space-between;align-items:center}.modal-title-section{display:flex;align-items:center;gap:12px;flex:1}.equipment-code-badge{background-color:#fff3;border:1px solid rgba(255,255,255,.3);padding:6px 12px;border-radius:6px;font-family:Courier New,monospace;font-weight:600;font-size:12px;letter-spacing:.4px}.equipment-title-info h2{margin:0;font-size:20px;font-weight:600;line-height:1.2}.equipment-description{margin:6px 0 0;font-size:16px;opacity:.9;font-weight:400;line-height:1.3}.asset-number{margin:4px 0 0;font-size:11px;opacity:.7;font-weight:400}.modal-status-section{display:flex;align-items:center;gap:12px}.status-badge{display:flex;align-items:center;gap:6px;background-color:#ffffff26;border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:16px;font-weight:500;font-size:12px}.modern-close-button{background:none;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:0;display:flex;align-items:center;justify-content:center}.modern-close-button:hover{background-color:#ffffff1a}.modern-modal-content{padding:24px;overflow-y:auto;flex:1}.info-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-card{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;overflow:hidden}.info-card.full-width{grid-column:1 / -1}.card-header{background-color:#fff;border-bottom:1px solid #e9ecef;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.card-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.expandable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.expandable-header:hover{background-color:#f8f9fa}.expand-toggle-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#666}.expand-toggle-btn:hover{background-color:#0000001a}.expand-icon{transition:transform .3s ease}.expand-icon.expanded{transform:rotate(180deg)}.card-content{padding:20px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e9ecef}.info-row:last-child{border-bottom:none}.info-label{font-weight:500;color:#666;font-size:14px}.info-value{font-weight:600;color:#333;font-size:14px;text-align:right}.inspection-item{margin-bottom:20px;padding:16px;background-color:#fff;border-radius:8px;border:1px solid #e9ecef}.inspection-item:last-child{margin-bottom:0}.inspection-type{font-weight:600;color:#333;margin-bottom:8px;font-size:14px}.inspection-dates{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;align-items:center}.date-label{font-size:12px;color:#666;font-weight:500}.date-value{font-size:13px;color:#333;font-weight:500}.related-section{margin-bottom:32px}.related-section:last-child{margin-bottom:0}.related-title{font-size:16px;font-weight:700;color:#2c3e50;margin:0 0 20px;text-transform:uppercase;letter-spacing:.8px;border-bottom:3px solid #0014dc;background:linear-gradient(90deg,#f8f9fa,#fff);padding:12px 0 12px 16px;border-radius:4px 4px 0 0}.related-equipment-list{display:flex;flex-direction:column;gap:16px;background-color:#fff;padding:24px;border-radius:12px;border:2px solid #e9ecef;box-shadow:0 4px 12px #0000000d;min-height:120px}.related-equipment-item-with-docs{background-color:#fff;border:2px solid #e9ecef;border-radius:12px;overflow:hidden;margin-bottom:16px;box-shadow:0 2px 8px #0000000a}.related-equipment-item-with-docs:last-child{margin-bottom:0}.related-equipment-item{display:flex;align-items:flex-start;gap:20px;padding:20px 24px;background-color:#fff;border:none;border-radius:12px;margin-bottom:0;min-height:80px}.related-code{font-family:Courier New,monospace;font-weight:700;color:#fff;font-size:14px;min-width:140px;background:linear-gradient(135deg,#0014dc,#0010a8);padding:12px 16px;border-radius:8px;text-align:center;box-shadow:0 2px 6px #0014dc33;flex-shrink:0;display:flex;align-items:center;justify-content:center}.related-details{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.related-desc{font-weight:600;color:#2c3e50;font-size:15px;line-height:1.4;margin-bottom:4px}.related-serial{font-size:13px;color:#6c757d;font-family:Courier New,monospace;background-color:#f1f3f4;padding:6px 10px;border-radius:4px;display:inline-block;width:fit-content;border:1px solid #dee2e6}.child-equipment-docs{border-top:2px solid #e9ecef;background:linear-gradient(135deg,#f8f9fa,#fff);padding:20px 24px;margin-top:8px;border-radius:0 0 12px 12px}.child-docs-header{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e9ecef;display:flex;align-items:center;gap:12px}.docs-count{font-size:12px;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.6px;background:linear-gradient(135deg,#28a745,#20c997);padding:6px 12px;border-radius:20px;display:inline-block;box-shadow:0 2px 4px #28a74533}.child-docs-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px}.child-doc-item{display:flex;align-items:center;gap:6px}.child-doc-link{display:flex;align-items:center;gap:6px;padding:8px 10px;background-color:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;text-decoration:none;color:#0014dc;font-size:12px;font-weight:500;width:100%;text-align:left;box-shadow:0 1px 3px #0000000a}.child-doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.4}.modern-download-btn{display:flex;align-items:center;gap:8px;background-color:#0014dc;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.modern-download-btn:disabled{background-color:#6c757d;cursor:not-allowed}.modern-info-card{background:#fff;border-radius:0;box-shadow:0 2px 6px #0000001a;overflow:hidden;min-height:220px;display:flex;flex-direction:column}.modern-info-card.full-width{grid-column:1 / -1;min-height:0}.modern-card-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:8px 12px;border-bottom:1px solid #e9ecef}.header-left{display:flex;align-items:center;gap:8px;width:100%}.card-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,#0014dc,#0010a8);border-radius:5px;color:#fff;flex-shrink:0}.modern-card-header h3{margin:0;font-size:13px;font-weight:600;color:#2c3e50;flex:1}.header-download-icon{background:none;border:none;padding:5px;border-radius:5px;cursor:pointer;color:#6c757d;display:flex;align-items:center;justify-content:center;margin-left:6px}.header-download-icon:hover:not(:disabled){background-color:#e9ecef;color:#0014dc}.modern-card-content{padding:10px 12px;flex:1;display:flex;flex-direction:column}.modern-info-card.full-width .modern-card-content{padding:14px 18px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:start}.info-item{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.info-label{font-size:10px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.7px;line-height:1.2;margin-bottom:1px}.info-value{font-size:12px;font-weight:500;color:#2c3e50;line-height:1.4;word-break:break-word}.inspection-list{display:flex;flex-direction:column;gap:10px}.inspection-item-clean{padding:10px;background:#f8f9fa;border-radius:5px;border-left:3px solid #0014dc}.inspection-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.inspection-badge{padding:2px 5px;border-radius:3px;font-size:9px;font-weight:600;color:#fff;text-transform:uppercase}.badge-12m,.badge-48m,.badge-5y,.badge-10y{background:linear-gradient(135deg,#28a745,#20c997)}.inspection-name{font-size:12px;font-weight:500;color:#2c3e50}.inspection-dates-clean{display:grid;grid-template-columns:1fr 1fr;gap:10px}.date-pair{display:flex;flex-direction:column;gap:2px}.date-label{font-size:10px;font-weight:500;color:#6c757d;text-transform:uppercase}.date-value{font-size:11px;font-weight:500;color:#2c3e50}.date-value.overdue{color:#dc3545;font-weight:600}.date-value.due-30-days{color:#e67e22;font-weight:600}.date-value.due-90-days{color:#ffc107;font-weight:600}.equipment-table td.overdue{color:#dc3545;font-weight:600}.equipment-table td.due-30-days{color:#e67e22;font-weight:600}.equipment-table td.due-90-days{color:#ffc107;font-weight:600}.documents-grid{display:flex;flex-direction:column;gap:8px}.related-equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:0}.related-equipment-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.parent-card{border-left:4px solid #28a745}.child-card{border-left:4px solid #0014dc}.related-card-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:16px 20px;border-bottom:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between;gap:12px}.child-card-header{padding:16px 20px;border-bottom:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between;gap:12px}.child-header-title{font-size:14px;font-weight:500;color:#2c3e50;flex:1}.related-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#fff;flex-shrink:0}.parent-badge{background:linear-gradient(135deg,#28a745,#20c997)}.child-badge{background:linear-gradient(135deg,#0014dc,#0010a8)}.related-equipment-code{font-size:16px;font-weight:700;color:#2c3e50;flex:1;text-align:center}.related-add-doc-btn{background:linear-gradient(135deg,#6c757d,#495057);border:none;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;flex-shrink:0}.related-add-doc-btn:hover{background:linear-gradient(135deg,#0014dc,#0010a8);transform:scale(1.05)}.related-card-content{padding:20px}.related-equipment-info-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.related-info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid #f1f3f4;gap:12px}.related-info-row:last-child{border-bottom:none}.related-info-label{font-size:12px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;min-width:80px}.related-info-value{font-size:13px;font-weight:500;color:#2c3e50;text-align:right;word-break:break-word;flex:1}.related-docs-section{margin-top:16px;padding-top:16px;border-top:1px solid #e9ecef}.related-docs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.docs-count{font-size:12px;font-weight:600;color:#0014dc;background:#0014dc1a;padding:4px 8px;border-radius:4px}.related-docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.related-doc-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-height:80px;text-decoration:none;color:inherit}.related-doc-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,#0014dc,#0010a8);border-radius:4px;color:#fff;flex-shrink:0}.related-doc-icon svg{width:16px;height:16px}.related-doc-type-prominent{font-size:10px;font-weight:700;color:#fff;background:linear-gradient(135deg,#0014dc,#0010a8);padding:6px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;text-align:center;line-height:1.2;box-shadow:0 2px 4px #0014dc33;margin-top:6px;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.no-related-docs{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 20px 20px;color:#6c757d;text-align:center;margin-top:16px;border-top:1px solid #e9ecef;gap:8px}.no-related-docs svg{opacity:.5}.no-related-docs span{font-size:12px;font-weight:500}.related-children-section{margin-top:8px}.related-children-title{font-size:14px;font-weight:600;color:#2c3e50;margin-bottom:12px;padding-bottom:6px;border-bottom:2px solid #e9ecef}.related-children-list{display:flex;flex-direction:column;gap:8px}.related-child-item{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:16px;box-shadow:0 2px 4px #0000000d;border-left:3px solid #0014dc}.child-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.child-item-main-info{flex:1}.child-item-serial{font-size:15px;font-weight:700;color:#2c3e50;margin-bottom:3px}.child-item-description{font-size:12px;color:#6c757d;line-height:1.4}.child-item-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px;padding:12px;background-color:#f8f9fa;border-radius:6px}.child-detail-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid #e9ecef}.child-detail-row:last-child{border-bottom:none}.child-detail-label{font-size:10px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.child-detail-value{font-size:12px;font-weight:500;color:#2c3e50;text-align:right;margin-left:5px}.child-docs-section{margin-top:12px;padding-top:12px;border-top:1px solid #e9ecef}.child-docs-header{margin-bottom:8px}.child-docs-count{font-size:10px;font-weight:600;color:#0014dc;background:#0014dc1a;padding:3px 6px;border-radius:3px;display:inline-block}.child-docs-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.child-doc-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:10px;cursor:pointer;display:flex;align-items:center;gap:6px;text-decoration:none;color:inherit;min-width:120px}.child-doc-item:hover{border-color:#0014dc;background-color:#f8f9ff;transform:translateY(-1px);box-shadow:0 2px 6px #0014dc1a}.child-doc-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:#0014dc;flex-shrink:0}.child-doc-type{font-size:11px;font-weight:500;color:#2c3e50;line-height:1.3}.child-no-docs{display:flex;align-items:center;gap:6px;color:#6c757d;font-size:11px;padding:10px 0}.child-no-docs svg{color:#adb5bd}.loading-spinner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:8px}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;gap:8px}.loading-spinner{position:relative;width:40px;height:40px}.spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:2px solid transparent;border-top:2px solid #0014dc;border-radius:50%;animation:spin 1.2s linear infinite}.spinner-ring:nth-child(1){animation-delay:0s}.spinner-ring:nth-child(2){animation-delay:.3s;border-top-color:#0014dcb3;width:80%;height:80%;top:10%;left:10%}.spinner-ring:nth-child(3){animation-delay:.6s;border-top-color:#0014dc80;width:60%;height:60%;top:20%;left:20%}.spinner-ring:nth-child(4){animation-delay:.9s;border-top-color:#0014dc4d;width:40%;height:40%;top:30%;left:30%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{font-size:12px;font-weight:500;color:#2c3e50;margin:0;text-align:center}@media (max-width: 768px){.related-equipment-grid{grid-template-columns:1fr;gap:16px}.related-card-header,.child-card-header{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:8px}.related-equipment-code{text-align:left}.related-add-doc-btn{align-self:flex-end}.related-card-content{padding:16px}.related-info-row{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0}.related-info-label{min-width:auto;margin-bottom:2px}.related-info-value{text-align:left;font-size:12px}.related-docs-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}.related-doc-card{min-height:80px;padding:8px}.related-doc-type-prominent{font-size:8px;padding:5px 6px;letter-spacing:.3px}.child-item-header{flex-direction:column;align-items:stretch;gap:12px}.related-add-doc-btn{align-self:flex-end;margin-top:8px}.child-item-details{grid-template-columns:1fr;gap:8px;padding:12px}.child-detail-row{flex-direction:column;align-items:flex-start;gap:2px;padding:3px 0}.child-detail-value{text-align:left;margin-left:0}.child-docs-list{flex-direction:column}.child-doc-item{min-width:auto;width:100%}.loading-spinner{width:36px;height:36px}.loading-message{font-size:12px}}.documents-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:0}.document-grid-item{border-radius:6px;overflow:hidden;border:1px solid #e9ecef;background:#fff}.document-grid-item:hover{border-color:#0014dc;box-shadow:0 3px 10px #0014dc26;transform:translateY(-1px)}.document-grid-link{display:flex;flex-direction:column;align-items:center;padding:12px;background:none;border:none;cursor:pointer;text-decoration:none;width:100%;min-height:100px;color:inherit}.document-grid-link:hover{background-color:#f8f9fa}.document-grid-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#0014dc,#0010a8);border-radius:6px;color:#fff;margin-bottom:10px;flex-shrink:0}.document-grid-icon svg{width:20px;height:20px}.document-grid-type-prominent{font-size:11px;font-weight:700;color:#fff;background:linear-gradient(135deg,#0014dc,#0010a8);padding:10px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.7px;text-align:center;line-height:1.2;box-shadow:0 2px 6px #0014dc4d;margin-top:6px;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 768px){.documents-grid-container{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.document-grid-link{padding:12px;min-height:100px}.document-grid-icon{width:40px;height:40px;margin-bottom:8px}.document-grid-icon svg{width:20px;height:20px}.document-grid-type-prominent{font-size:11px;padding:10px 12px;letter-spacing:.6px}}.no-documents{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#666;text-align:center}.no-documents svg{margin-bottom:16px;opacity:.5}.no-documents p{margin:0;font-size:14px}@media (max-width: 768px){.modern-modal{margin:8px;max-height:calc(100vh - 16px)}.modern-modal-header{padding:16px;flex-direction:column;align-items:flex-start;gap:12px}.modal-title-section{flex-direction:column;align-items:flex-start;gap:10px}.modal-status-section{align-self:flex-end}.modern-modal-content{padding:16px}.info-cards-grid{grid-template-columns:1fr;gap:12px}.modern-info-card{min-height:auto}.modern-info-card.full-width .modern-card-content{padding:12px 16px}.inspection-dates{grid-template-columns:1fr;gap:3px}}.doc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #ddd;background-color:#0014dc;color:#fff}.doc-modal-header h2{font-size:1.2rem;margin:0;color:#fff}.close-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;flex:0}.close-button:hover{color:#fffc;background:none}.doc-modal-content{padding:1rem;overflow-y:auto;flex:1}.doc-file-list{list-style:none;padding:0;margin:0}.doc-file-item{margin:8px 0;padding:8px;border-radius:4px}.doc-file-item:hover{background-color:#f5f5f5}.doc-file-link{display:flex;align-items:center;text-decoration:none;color:#333;font-size:14px;background:none;border:none;padding:0;cursor:pointer;text-align:left;width:100%;word-break:break-word;line-height:1.4}.doc-file-link:hover{color:#0070f3;text-decoration:underline}.doc-file-name{display:inline-block;vertical-align:middle;max-width:calc(100% - 24px)}.doc-file-size{font-size:.8rem;color:#666}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1rem}.equipment-details{width:100%;border:1px solid #ddd;padding:1rem}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid #ddd;padding-bottom:.5rem}.details-header h2{font-size:1.2rem;font-weight:600}.back-button{flex:0;padding:.4rem .8rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;border:1px solid #eee;padding:.5rem}.detail-label{font-weight:600;font-size:.8rem;color:#555;margin-bottom:.25rem}.detail-value{font-size:.9rem}.view-button{flex:0;padding:.3rem .6rem;font-size:.8rem;white-space:nowrap}@media (max-width: 768px){.equipment-table th,.equipment-table td{padding:.4rem;font-size:.75rem}.details-grid{grid-template-columns:1fr}.doc-modal{width:95%;max-height:90vh}}.equipment-info-section,.related-equipment-section,.documents-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eee}.documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.documents-section h3{font-size:16px;font-weight:600;color:#333;margin:0}.download-all-btn{padding:4px 12px;font-size:12px;background-color:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer}.download-all-btn:hover{background-color:#e0e0e0}.equipment-info-section h3,.related-equipment-section h3,.documents-section h3{font-size:16px;font-weight:600;margin-bottom:16px;color:#333}.equipment-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;color:#666;font-weight:500}.info-item span{font-size:14px;color:#333}.parent-equipment,.child-equipment{margin-top:16px}.parent-equipment h4,.child-equipment h4{font-size:14px;color:#666;margin-bottom:12px;font-weight:600}.related-item{padding:12px;background-color:#f8f8f8;border-radius:4px;margin-bottom:8px;font-size:14px;color:#333}.related-item-code{font-weight:600;font-size:14px;color:#000;margin-bottom:4px}.related-item-details{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.related-item-serial{font-size:13px;color:#666}.related-item-desc{font-size:13px;color:#333}.related-item-docs{margin-top:12px;padding-top:8px;border-top:1px solid #eee}.related-item-docs h5{font-size:12px;color:#666;margin-bottom:8px;font-weight:500}.related-item-docs .doc-file-list{margin:0;padding-left:0}.related-item-docs .doc-file-item{margin:4px 0;padding:4px 8px}.related-item-docs .doc-file-link{font-size:12px;word-break:break-word;line-height:1.4}.related-item-docs .doc-file-link:hover{color:#0070f3;text-decoration:underline}@media (max-width: 768px){.equipment-info-grid{grid-template-columns:1fr}.doc-modal{width:95%;max-height:95vh}}.mobile-card-view{display:none}.equipment-card{border:1px solid #ddd;border-radius:4px;padding:12px;margin-bottom:12px;background:#fff;cursor:pointer;width:100%;text-align:left;font-family:inherit;font-size:inherit;display:block;color:inherit;box-shadow:none;outline:none}.equipment-card:hover{background-color:#f8f8f8}.equipment-card:focus{outline:2px solid #0070f3;outline-offset:2px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.card-code{font-weight:600;font-size:14px}.card-status{font-size:12px}.card-details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;font-size:12px}.card-detail-item{display:flex;flex-direction:column}.card-detail-label{color:#666;margin-bottom:2px}.card-detail-value{color:#333}@media (max-width: 768px){.horizontal-table-wrapper{display:none}.mobile-card-view{display:block}.doc-modal{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;position:fixed;top:0;left:0;right:0;bottom:0}.doc-modal-header{position:sticky;top:0;background:#fff;z-index:1;padding:12px}.doc-modal-content{padding:16px}.equipment-info-grid{grid-template-columns:1fr}.documents-header{position:sticky;top:0;background:#fff;z-index:1;padding:12px 0}.doc-file-list{margin-top:8px}}.equipment-docs,.child-equipment-docs{margin-bottom:20px}.equipment-docs h4,.child-equipment-docs h4{font-size:14px;color:#666;margin-bottom:12px;font-weight:600}.doc-equipment-code{color:#666;margin-right:4px;font-size:12px}.add-button{background-color:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-right:10px}.edit-button{background-color:#2196f3;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-right:10px}.save-button{background-color:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-right:10px}.cancel-button{background-color:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.upload-button{background-color:#ff9800;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.equipment-form{margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input,.form-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}.form-actions{margin-top:20px}.document-upload-form{margin-top:20px;padding:15px;background-color:#f5f5f5;border-radius:4px}.delete-doc-button{background-color:#f44336;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;margin-left:10px}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-actions{display:flex;align-items:center}.modal-actions{margin:15px 0}.equipment-details{margin-bottom:20px}.detail-row{display:flex;margin-bottom:8px;border-bottom:1px solid #eee;padding-bottom:8px}.detail-label{font-weight:700;width:150px;flex-shrink:0}.detail-value{flex-grow:1}.document-list{margin-top:15px}.document-item{display:flex;align-items:center;margin-bottom:8px}.document-link{display:flex;align-items:center;text-decoration:none;color:#2196f3;flex-grow:1}.document-link:hover{text-decoration:underline}.status-active{color:#4caf50;font-weight:700}.status-inactive{color:#f44336;font-weight:700}.status-maintenance{color:#ff9800;font-weight:700}.status-retired{color:#9e9e9e;font-weight:700}.card-status.status-active{background-color:#4caf50;color:#fff}.card-status.status-inactive{background-color:#f44336;color:#fff}.card-status.status-maintenance{background-color:#ff9800;color:#fff}.card-status.status-retired{background-color:#9e9e9e;color:#fff}.header-controls{display:flex;gap:1rem;align-items:center}.add-equipment-button{background-color:#4caf50;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.add-equipment-button:hover{background-color:#45a049}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background-color:#fff;border-radius:8px;padding:20px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.close-button{background:none;border:none;font-size:24px;cursor:pointer;padding:0;color:#666}.equipment-form{display:flex;flex-direction:column;gap:20px}.asset-number-display{padding:8px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:14px;color:#666;min-height:36px;display:flex;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#333}.form-group input,.form-group select{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.submit-button{background-color:#4caf50;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.cancel-button{background-color:#f44336;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.admin-actions{white-space:nowrap;padding:0;display:table-cell;vertical-align:middle;text-align:center}.admin-actions .admin-actions-inner{display:inline-flex;align-items:center;justify-content:center;gap:8px}.admin-actions .edit-button,.admin-actions .delete-button{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0}.edit-button,.delete-button{padding:6px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.edit-button{background-color:#2196f3;color:#fff}.delete-button{background-color:#f44336;color:#fff}.edit-button:hover{background-color:#1976d2}.delete-button:hover{background-color:#d32f2f}.equipment-card .admin-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #eee}.equipment-card .admin-actions .edit-button,.equipment-card .admin-actions .delete-button{padding:6px 12px;font-size:12px;min-width:auto;height:auto}.form-section{grid-column:1 / -1;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.form-section h3{margin-bottom:16px;font-size:16px;color:#333}.document-upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.file-input-container{position:relative;padding:8px;border:1px dashed #ddd;border-radius:4px;background-color:#f9f9f9}.file-input{width:100%;cursor:pointer}.file-name{display:block;margin-top:8px;font-size:12px;color:#666;word-break:break-all}.upload-progress{margin-top:8px;height:4px;background-color:#eee;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background-color:#4caf50;transition:width .3s ease}@media (max-width: 768px){.document-upload-grid{grid-template-columns:1fr}.file-input-container{padding:12px}}.related-equipment-section{margin-bottom:24px}.related-equipment-section h4{font-size:14px;font-weight:600;color:#333;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e9ecef}.related-equipment-list,.available-equipment-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding:8px;border:1px solid #e9ecef;border-radius:8px;background-color:#f8f9fa}.related-equipment-item,.available-equipment-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#fff;border:1px solid #e9ecef;border-radius:6px}.related-equipment-item:hover,.available-equipment-item:hover{border-color:#0014dc;box-shadow:0 2px 4px #0014dc1a}.related-equipment-info{flex:1;display:flex;flex-direction:column;gap:4px}.related-equipment-code{font-family:Courier New,monospace;font-weight:600;color:#0014dc;font-size:14px}.related-equipment-details{display:flex;flex-direction:column;gap:2px}.related-equipment-desc{font-size:13px;color:#333;font-weight:500}.related-equipment-meta{font-size:12px;color:#666}.attach-button,.detach-button{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap}.attach-button{background-color:#28a745;color:#fff}.attach-button:hover{background-color:#218838;transform:translateY(-1px)}.detach-button{background-color:#dc3545;color:#fff}.detach-button:hover{background-color:#c82333;transform:translateY(-1px)}.no-related-equipment,.no-available-equipment,.no-search-results{color:#666;font-style:italic;text-align:center;padding:20px;background-color:#f8f9fa;border:1px dashed #dee2e6;border-radius:6px;margin:0}.equipment-search-container{margin-bottom:16px}.equipment-search-input{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;background-color:#fff}.equipment-search-input:focus{outline:none;border-color:#0014dc;box-shadow:0 0 0 3px #0014dc1a}.equipment-search-input::placeholder{color:#6c757d;font-style:italic}.search-help-text{font-size:12px;color:#6c757d;margin-top:6px;font-style:italic}.search-results-container{margin-top:16px}.related-equipment-flat-list{display:flex;flex-direction:column;gap:24px}.related-equipment-section{background-color:#fff;border:2px solid #e9ecef;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.related-equipment-section:hover{border-color:#0014dc;box-shadow:0 6px 20px #0014dc1a;transform:translateY(-2px)}.related-equipment-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e9ecef}.related-equipment-info{display:flex;align-items:center;gap:16px;flex:1}.related-equipment-badge{font-size:10px;font-weight:700;color:#fff;padding:4px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.parent-badge{background:linear-gradient(135deg,#6f42c1,#5a32a3)}.child-badge{background:linear-gradient(135deg,#17a2b8,#138496)}.related-equipment-code{font-family:Courier New,monospace;font-weight:700;color:#0014dc;font-size:16px;background-color:#f1f3f4;padding:8px 12px;border-radius:6px;border:1px solid #dee2e6;flex-shrink:0}.related-equipment-details{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.related-equipment-desc{font-weight:600;color:#2c3e50;font-size:15px;line-height:1.3}.related-equipment-meta{font-size:12px;color:#6c757d;font-family:Courier New,monospace}.related-equipment-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.related-docs-count{display:flex;align-items:center;gap:6px;font-size:12px;color:#495057;font-weight:600;background-color:#e9ecef;padding:6px 10px;border-radius:16px;flex-shrink:0}.add-child-doc-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #28a74533}.add-child-doc-button:hover{background:linear-gradient(135deg,#218838,#1e7e34);transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.add-child-doc-button:active{transform:translateY(0)}.equipment-info-display{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;margin-bottom:24px}.equipment-info-display .info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.equipment-info-display .info-row:last-child{border-bottom:none}.equipment-info-display .info-label{font-weight:600;color:#495057;font-size:14px}.equipment-info-display .info-value{font-weight:500;color:#212529;font-size:14px;font-family:Courier New,monospace}.related-equipment-docs{padding:20px 24px;background-color:#f8f9fa;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.related-doc-item{display:flex;align-items:center}.related-doc-link{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;text-decoration:none;color:#0014dc;font-size:13px;font-weight:500;width:100%;text-align:left;box-shadow:0 1px 3px #0000001a}.related-doc-link:hover{background-color:#f8f9fa;border-color:#0014dc;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px #0014dc26}.related-doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#2c3e50}.related-doc-type{font-size:11px;color:#6c757d;background-color:#e9ecef;padding:2px 6px;border-radius:10px;text-transform:uppercase;font-weight:600;letter-spacing:.3px;flex-shrink:0}@media (max-width: 768px){.related-equipment-item,.available-equipment-item{flex-direction:column;align-items:stretch;gap:16px;padding:16px 20px}.attach-button,.detach-button{align-self:stretch;width:100%;justify-content:center}.related-equipment-list,.available-equipment-list{padding:16px;gap:12px}.related-equipment-flat-list{gap:16px}.related-equipment-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px 20px}.related-equipment-actions{flex-direction:row;justify-content:center;gap:16px}.related-equipment-info{flex-direction:column;align-items:stretch;gap:12px}.related-equipment-code{font-size:14px;padding:10px 12px;text-align:center}.related-equipment-desc{font-size:14px}.related-equipment-meta{font-size:11px}.related-docs-count{align-self:center;font-size:11px;padding:4px 8px}.related-equipment-docs{grid-template-columns:1fr;gap:10px;padding:16px 20px}.related-doc-link{font-size:12px;padding:10px 12px;gap:8px}.related-doc-name{font-size:12px}.related-doc-type{font-size:10px;padding:1px 4px}}.search-bar-container{margin-bottom:20px;background-color:#0014dc;border-radius:0;box-shadow:0 1px 3px #0000001a;padding:15px}.search-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.search-bar-header h1{color:#fff;font-size:1.3rem;margin:0}.search-row{display:flex;gap:10px;align-items:center;margin-bottom:10px}.search-input{flex:1;padding:10px;border:1px solid white;border-radius:4px;font-size:14px;color:var(--primary-text);background-color:#fff}.search-input:focus{border-color:#fff;outline:none;box-shadow:0 0 0 2px #ffffff80}.advanced-search-toggle{background-color:#fff;color:#0014dc;border:1px solid white;padding:10px 15px;border-radius:4px;cursor:pointer;font-size:14px;white-space:nowrap}.advanced-search-toggle:hover{background-color:#f0f0f0}.reset-filters-button{background-color:#fff3;color:#fff;border:1px solid white;padding:10px 15px;border-radius:4px;cursor:pointer;font-size:14px;white-space:nowrap}.reset-filters-button:hover{background-color:#ffffff4d}.advanced-search{background-color:#ffffff1a;border-radius:4px;padding:15px;margin-top:10px;border:1px solid rgba(255,255,255,.2)}.filter-row{display:flex;gap:15px;margin-bottom:15px}.filter-row:last-child{margin-bottom:0}.filter-group{flex:1;min-width:0}.filter-group label{display:block;margin-bottom:5px;font-size:13px;font-weight:500;color:#fff}.filter-select,.filter-input{width:100%;padding:8px 10px;border:1px solid var(--hover-background);border-radius:4px;font-size:14px;color:var(--primary-text);background-color:var(--white)}.filter-select:focus,.filter-input:focus{border-color:var(--primary-blue);outline:none}@media (max-width: 768px){.filter-row{flex-direction:column;gap:10px}.search-row{flex-wrap:wrap}.search-input{flex:1 0 100%;margin-bottom:10px}.advanced-search-toggle,.reset-filters-button{flex:1}}.search-bar-header .header-controls{display:flex;gap:10px;align-items:center}.search-bar-header .add-equipment-button{background-color:var(--success);color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-bar-header .add-equipment-button:hover{background-color:#1e8a3a}.search-bar-header .sign-out-button{background-color:#fff;color:#0014dc;border:1px solid white;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:12px}.search-bar-header .sign-out-button:hover{background-color:#f0f0f0}.document-category{margin-bottom:20px}.document-category h4{color:#0014dc;font-size:14px;font-weight:600;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid #eee}.expired-row{background-color:#f5f5f5!important;color:#888!important;opacity:.7}.expired-row:hover{background-color:#d1ecf1!important;opacity:.8}.expired-row td{color:#888!important}.expired-row td.status-exp{color:var(--error)!important}.sortable-header{cursor:pointer;position:relative;padding-right:20px!important;-webkit-user-select:none;user-select:none}.sortable-header:hover{background-color:#0010b0}.sortable-header:after{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid rgba(255,255,255,.3);opacity:0}.sortable-header:hover:after{opacity:1}.page-container{width:100%}.app-content-wrapper{width:100%;max-width:1400px;margin:0 auto;padding:0}@media (max-width: 768px){.app-content-wrapper{padding:0 .5rem}}.logo-area{padding:1rem 1.5rem;background-color:#f4f7fb}.slb-logo{height:40px;width:auto}.app-header-bar{background-color:#0014dc;color:#fff;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.app-title-section{display:flex;align-items:baseline;gap:.75rem}.app-title{font-size:1.25rem;font-weight:500;margin:0}.item-count{font-size:.875rem;color:#e0e0e0}.header-controls{display:flex;align-items:center;gap:.75rem}.header-controls .add-equipment-button{display:flex;align-items:center;gap:.5rem;background-color:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500}.header-controls .add-equipment-button:hover{background-color:#ffffff40}.header-controls .sign-out-button{background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.75rem}.header-controls .sign-out-button:hover{background-color:#fff3}.content-card{background-color:#fff;border:1px solid #dde1e6;box-shadow:0 1px 3px #0000000d}.filters-section{padding:1.5rem;border-bottom:1px solid #dde1e6}.filter-row-1,.filter-row-2{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:1.5rem}.filter-row-2{margin-bottom:1rem}.filter-group{display:flex;flex-direction:column}.filter-group label:not(.checkbox-label){font-size:.75rem;color:#525252;margin-bottom:.25rem;font-weight:500}.filter-select,.filter-input{width:100%;padding:.5rem .75rem;border:1px solid #878d96;border-radius:4px;font-size:.875rem;background-color:#fff;color:#333}.filter-select:focus,.filter-input:focus{border-color:#0f62fe;outline:none;box-shadow:0 0 0 2px #0f62fe33}.filter-date-input{width:100%;padding:.5rem .75rem;border:1px solid #878d96;border-radius:4px;font-size:.875rem;background-color:#fff;color:#333;cursor:pointer}.filter-date-input:focus{border-color:#0f62fe;outline:none;box-shadow:0 0 0 2px #0f62fe33}.filter-date-input:hover{border-color:#0f62fe}.additional-filters-group label:first-child{margin-bottom:.5rem}.checkbox-group{display:flex;gap:1rem;align-items:center;padding-top:.25rem}.checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:#333;font-weight:500;white-space:nowrap}input[type=checkbox]{width:auto;height:1em;width:1em;border-radius:3px;border:1px solid #878d96;accent-color:#0f62fe}.search-input-wrapper{position:relative}.clear-filters-container{display:flex;justify-content:flex-end;margin-top:.5rem}.clear-filters-button{background:none;border:none;color:#0f62fe;font-size:.875rem;cursor:pointer;padding:.25rem}.clear-filters-button:hover{text-decoration:underline}.search-bar-container{display:none}.horizontal-table-wrapper{border-radius:0 0 8px 8px;overflow-x:auto;margin:0}.equipment-table th,.equipment-table td{padding:.75rem 1rem}:root{--surface-primary: #ffffff;--surface-secondary: #f8fafc;--surface-tertiary: #f1f5f9;--border-subtle: #e2e8f0;--border-strong: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--accent-primary: #3b82f6;--accent-secondary: #1e40af;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--font-size-xs: clamp(.75rem, .7rem + .2vw, .875rem);--font-size-sm: clamp(.875rem, .8rem + .3vw, 1rem);--font-size-base: clamp(1rem, .9rem + .4vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1rem + .5vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.3rem + .8vw, 2rem);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}.dark-theme{--surface-primary: #0f172a;--surface-secondary: #1e293b;--surface-tertiary: #334155;--border-subtle: #475569;--border-strong: #64748b;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--accent-primary: #60a5fa;--accent-secondary: #3b82f6}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.focus-trap{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.loading-skeleton{padding:var(--space-md)}.skeleton-item{height:1rem;background:linear-gradient(90deg,var(--surface-tertiary) 25%,var(--border-subtle) 50%,var(--surface-tertiary) 75%);background-size:200% 100%;border-radius:4px;margin-bottom:var(--space-sm);animation:skeleton-loading 2s infinite}.skeleton-item:last-child{margin-bottom:0}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl);text-align:center;color:var(--text-secondary)}.empty-state svg{opacity:.5}.empty-state p{margin:0;font-size:var(--font-size-sm)}.modern-info-card{background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:0;overflow:hidden;container-type:inline-size}.modern-info-card.split-vertical{min-height:350px}.modern-info-card.split-vertical .modern-card-content{display:flex;flex-direction:column;gap:16px;padding:var(--space-lg)}.modern-info-card.split-vertical .modern-card-content:last-child{padding-top:12px}.modern-card-header{padding:8px 12px;border-bottom:1px solid var(--border-subtle);background:var(--surface-secondary);display:flex;align-items:center;gap:var(--space-sm)}.modern-card-header h3{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.card-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;background:var(--accent-primary);color:#fff;flex-shrink:0}.header-download-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:4px;background:var(--accent-primary);color:#fff;cursor:pointer;margin-left:auto}.header-download-icon:hover:not(:disabled){background:var(--accent-secondary);transform:scale(1.05)}.header-download-icon:disabled{opacity:.5;cursor:not-allowed}.doc-file-link{display:flex;align-items:center;width:100%;padding:var(--space-sm) var(--space-md);border:none;background:none;text-align:left;cursor:pointer;border-radius:6px;color:var(--text-primary);text-decoration:none}.doc-file-link:hover{background:var(--surface-secondary);transform:translate(4px)}.doc-file-link:active{transform:translate(2px)}.status-badge{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:20px;font-size:var(--font-size-xs);font-weight:600;border:1px solid transparent;animation:statusEnter var(--transition-normal) ease-out}@keyframes statusEnter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.inspection-badge{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:1.5rem;border-radius:4px;font-size:var(--font-size-xs);font-weight:700;color:#fff;flex-shrink:0}.badge-12m,.badge-48m,.badge-5y{background:var(--success)}@container (max-width: 400px){.modern-card-header{padding:var(--space-md)}.modern-card-header h3{font-size:var(--font-size-base)}}@media (prefers-contrast: high){:root{--border-subtle: #000;--border-strong: #000}.modern-info-card{border-width:2px}button{border:2px solid currentColor}.modern-info-card.split-vertical .info-grid{grid-template-columns:1fr;gap:12px}.modern-info-card.split-vertical{min-height:auto}.modern-info-card.split-vertical .modern-card-content{gap:12px;padding:12px 16px}.modern-info-card.split-vertical .modern-card-content:last-child{padding-top:8px}}@media print{.modern-modal-overlay{position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.modern-modal{box-shadow:none;border:1px solid #000;animation:none}.modern-close-button,.header-download-icon{display:none}}.add-child-doc-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border-subtle);border-radius:4px;background:var(--surface-primary);color:var(--text-secondary);cursor:pointer}.add-child-doc-button:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:scale(1.05)}.add-child-doc-button:active{transform:scale(.95)}.related-doc-link{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:none;background:none;cursor:pointer;border-radius:4px;color:var(--text-primary);text-decoration:none;width:100%;text-align:left}.related-doc-link:hover{background:var(--surface-secondary);transform:translate(2px)}@media (max-width: 768px){.modern-modal{margin:var(--space-sm);max-height:calc(100vh - 2rem)}.modern-modal-header{padding:var(--space-md)}.info-cards-grid{gap:var(--space-md)}}.date-input-group{display:flex;align-items:center;gap:8px;position:relative}.date-input-group input[type=date]{flex:1}.clear-date-button{flex:0 0 auto;width:24px;height:24px;border:none;background-color:#e0e0e0;color:#666;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;line-height:1;padding:0;margin:0}.clear-date-button:hover{background-color:#ccc;color:#333;transform:scale(1.1)}.clear-date-button:active{transform:scale(.95)}.clear-date-button:focus{outline:2px solid #007bff;outline-offset:2px}.inspection-timeline{background-color:var(--surface-primary, #ffffff);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.1));margin-bottom:1.5rem}.inspection-timeline-empty{background-color:var(--surface-primary, #ffffff);border-radius:8px;padding:2rem;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.1));margin-bottom:1.5rem}.timeline-empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#666}.timeline-empty-state svg{opacity:.6}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.timeline-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#333}.timeline-legend{display:flex;gap:1rem;align-items:center}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#666}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.past{background-color:#10b981}.legend-dot.upcoming{background-color:#3b82f6}.legend-dot.overdue{background-color:#ef4444}.timeline-container{position:relative;padding:2rem 0 1rem}.timeline-track{position:relative;height:3px;background-color:#e5e7eb;border-radius:1.5px;margin-bottom:2rem}.timeline-now-indicator{position:absolute;top:-10px;transform:translate(-50%);z-index:10}.timeline-now-line{width:2px;height:23px;background-color:#1f2937;margin:0 auto;border-radius:1px}.timeline-now-label{position:absolute;top:25px;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:600;color:#1f2937;white-space:nowrap;background-color:#fff;padding:2px 6px;border-radius:4px;border:1px solid #e5e7eb}.timeline-event{position:absolute;top:-15px;transform:translate(-50%);cursor:pointer;z-index:5}.timeline-event-marker{position:relative;width:30px;height:30px;border:2px solid;border-radius:50%;background-color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto}.timeline-event:hover .timeline-event-marker{transform:scale(1.1);box-shadow:0 4px 8px #0000001a}.timeline-event-badge{font-size:.65rem;font-weight:700;color:#fff;border-radius:4px;padding:1px 3px;min-width:20px;text-align:center;line-height:1.2}.timeline-event-content{position:absolute;top:35px;left:50%;transform:translate(-50%);text-align:center;white-space:nowrap;opacity:0;visibility:hidden;background-color:#fff;padding:.5rem;border-radius:6px;box-shadow:0 4px 12px #0000001a;border:1px solid #e5e7eb;z-index:20}.timeline-event:hover .timeline-event-content{opacity:1;visibility:visible}.timeline-event-date{font-size:.75rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.timeline-event-label{font-size:.7rem;color:#6b7280}.timeline-event-past .timeline-event-marker{border-color:#10b981}.timeline-event-past .timeline-event-badge{background-color:#10b981}.timeline-event-upcoming .timeline-event-marker{border-color:#3b82f6}.timeline-event-upcoming .timeline-event-badge{background-color:#3b82f6}.timeline-event-overdue .timeline-event-marker{border-color:#ef4444;animation:pulse-red 2s infinite}.timeline-event-overdue .timeline-event-badge{background-color:#ef4444}.timeline-event-future .timeline-event-marker{border-color:#6b7280}.timeline-event-future .timeline-event-badge{background-color:#6b7280}@keyframes pulse-red{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.timeline-axis{display:flex;justify-content:space-between;margin-top:1rem;font-size:.75rem;color:#9ca3af}.timeline-axis-start,.timeline-axis-end{background-color:#fff;padding:.25rem .5rem;border-radius:4px;border:1px solid #e5e7eb}@media (max-width: 768px){.timeline-header{flex-direction:column;align-items:flex-start;gap:1rem}.timeline-legend{align-self:stretch;justify-content:space-around}.legend-item{flex-direction:column;text-align:center;gap:.25rem}.timeline-event-content{position:fixed;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;max-width:90vw;z-index:1000}.timeline-event:hover .timeline-event-content{opacity:1;visibility:visible}}
