*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:Amazon Ember,system,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f2f4f4;color:#272d3a}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:disabled{cursor:not-allowed;opacity:.6}input,textarea{font-family:inherit;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;transition:all .2s ease;text-decoration:none}.btn-primary{background-color:#f6761d;color:#fff}.btn-primary:hover{background-color:#d45b07}.btn-secondary{background-color:#fff;color:#272d3a;border:1px solid #d5dbdb}.btn-secondary:hover{background-color:#eaeded}.btn-large{padding:1rem 2rem;font-size:1.125rem}.card{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:1.5rem;margin-bottom:1.5rem}.card-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eaeded}.card-title{font-size:1.5rem;font-weight:600;color:#272d3a;margin-bottom:.5rem}.card-subtitle{color:#879196;font-size:.875rem}.card-content{padding:0}.upload-area{border:2px dashed #d5dbdb;border-radius:.75rem;padding:3rem 2rem;text-align:center;transition:all .2s ease;cursor:pointer}.upload-area-drag-active,.upload-area:hover{border-color:#f6761d;background-color:#fff8f0}.upload-area-icon{font-size:3rem;margin-bottom:1rem}.upload-area-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#272d3a}.upload-area-subtitle{color:#879196;margin-bottom:1.5rem}.results-item{background:#fff;border-radius:.5rem;padding:1.5rem;margin-bottom:1rem;border-left:4px solid #2c59dc}.results-filename{font-weight:600;color:#272d3a;margin-bottom:.5rem}.results-filename-button{background:none;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:.25rem;transition:background-color .2s ease}.results-filename-button:hover{background-color:#f2f4f4;color:#153eb3}.results-filename-button:focus{outline:2px solid #2c59dc;outline-offset:2px}.results-timestamp{font-size:.875rem;color:#879196;margin-bottom:1rem}.results-text-section{margin-bottom:1.5rem}.results-text-section:last-child{margin-bottom:0}.results-text-label{font-weight:600;margin-bottom:.5rem}.results-text-label-raw{color:#d45b07}.results-text-label-enhanced{color:#153eb3}.results-text-content{background:#f2f4f4;padding:1rem;border-radius:.375rem;line-height:1.6;white-space:pre-wrap}.results-text-content-raw{font-family:Monaco,Menlo,monospace;font-size:.875rem;background:#fff8f0}.results-text-content-enhanced{background:#f0f8ff}.loading-spinner{width:1.5rem;height:1.5rem;border:2px solid #eaeded;border-top-color:#f6761d;border-radius:50%;animation:spin 1s linear infinite;margin-right:.75rem}.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:.375rem}.error,.success{padding:1rem;margin-bottom:1rem}.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;border-radius:.375rem}@keyframes spin{to{transform:rotate(1turn)}}.navigation{width:250px;background:#272d3a;color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto}.navigation-header{padding:1.5rem;border-bottom:1px solid #3b4550}.navigation-logo{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.navigation-subtitle{font-size:.75rem;opacity:.8;line-height:1.3}.navigation-menu{flex:1 1;list-style:none;padding:1rem 0}.navigation-menu-item{margin-bottom:.25rem}.navigation-menu-button{width:100%;display:flex;align-items:center;padding:1rem 1.5rem;background:none;color:inherit;text-align:left;transition:background-color .2s ease}.navigation-menu-button:hover{background-color:#3b4550}.navigation-menu-button-active{background-color:#f6761d}.navigation-menu-button-active:hover{background-color:#d45b07}.navigation-menu-icon{margin-right:.75rem;font-size:1.25rem}.navigation-menu-label{font-weight:500}.navigation-footer{padding:1.5rem;border-top:1px solid #3b4550}.navigation-powered-by{font-size:.75rem;opacity:.7}.main-content{flex:1 1;margin-left:150px;padding:.5rem;max-width:calc(100vw - 250px)}.page{max-width:1000px}.page-header{margin-bottom:2rem}.page-title{font-size:2.5rem;font-weight:700;color:#272d3a;margin-bottom:.5rem}.page-subtitle{font-size:1.125rem;color:#879196}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:.5rem;box-shadow:0 10px 25px rgba(0,0,0,.3);max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #eaeded}.modal-title{font-size:1.25rem;font-weight:600;color:#272d3a}.modal-close{background:none;font-size:1.5rem;color:#879196;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem}.modal-close:hover{background-color:#f2f4f4}.modal-body{padding:1.5rem}.modal-body p{line-height:1.6;color:#49525f}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid #eaeded}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c}.btn-small{padding:.5rem 1rem;font-size:.875rem}.notification{padding:1rem;border-radius:.375rem;margin-bottom:1rem;white-space:pre-line;font-family:inherit;line-height:1.5}.notification-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.notification-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.notification-error .code,.notification-error code{font-family:Monaco,Menlo,monospace;background:rgba(0,0,0,.1);padding:.125rem .25rem;border-radius:.25rem}.results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.instructions-step{display:flex;gap:1rem;margin-bottom:2rem}.instructions-step:last-child{margin-bottom:0}.instructions-step-number{width:2.5rem;height:2.5rem;background-color:#f6761d;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.instructions-step-content h3{font-size:1.125rem;font-weight:600;color:#272d3a;margin-bottom:.5rem}.instructions-step-content p{color:#879196;line-height:1.6}.upload-methods{display:flex;flex-direction:column;gap:1.5rem}.upload-method h3{font-size:1.125rem;font-weight:600;color:#272d3a;margin-bottom:.5rem}.upload-method p{color:#879196;margin-bottom:.75rem}.code-block{background:#f2f4f4;padding:1rem;border-radius:.375rem;font-family:Monaco,Menlo,monospace;font-size:.875rem;border-left:4px solid #f6761d}.features{display:grid;grid-gap:1.5rem;gap:1.5rem}@media(min-width:768px){.features{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.feature{display:flex;gap:1rem}.feature-icon{font-size:2rem;flex-shrink:0}.feature-content h3{font-size:1.125rem;font-weight:600;color:#272d3a;margin-bottom:.5rem}.feature-content p{color:#879196;line-height:1.6}.api-status{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.25rem;margin-bottom:1rem;font-size:.75rem}.api-status-checking{background-color:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.8)}.api-status-healthy{background-color:rgba(34,197,94,.1);color:#22c55e}.api-status-unhealthy{background-color:rgba(239,68,68,.1);color:#ef4444}.api-status-icon{font-size:.875rem}.api-status-text{font-weight:500}.document-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem}.document-viewer{background:#fff;border-radius:.75rem;box-shadow:0 20px 50px rgba(0,0,0,.5);width:95vw;max-width:1400px;height:85vh;max-height:900px;display:flex;flex-direction:column;overflow:hidden}.document-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #eaeded;background:#fff}.document-viewer-title h2{font-size:1.5rem;font-weight:600;color:#272d3a;margin-bottom:.25rem}.document-viewer-subtitle{font-size:.875rem;color:#879196;margin:0}.document-viewer-close{background:none;font-size:2rem;color:#879196;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:background-color .2s ease}.document-viewer-close:hover{background-color:#f2f4f4}.document-viewer-content{display:flex;flex:1 1;overflow:hidden}.document-viewer-image-panel{border-right:1px solid #eaeded}.document-viewer-image-panel,.document-viewer-text-panel{width:50%;display:flex;flex-direction:column}.document-viewer-panel-title{font-size:1.125rem;font-weight:600;color:#272d3a;margin-bottom:1rem}.document-viewer-image-container{flex:1 1;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#fff;overflow:auto}.document-viewer-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15)}.document-viewer-loading{color:#879196}.document-viewer-error,.document-viewer-loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.document-viewer-error{color:#dc2626;text-align:center}.document-viewer-no-image{text-align:center;color:#879196}.document-viewer-no-image small{display:block;margin-top:.5rem;font-family:Monaco,Menlo,monospace;font-size:.75rem}.document-viewer-text-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 0}.document-viewer-tabs{display:flex;gap:.25rem}.document-viewer-tab{padding:.5rem 1rem;border:1px solid #d5dbdb;background:#fff;color:#49525f;border-radius:.375rem;font-size:.875rem;font-weight:500;transition:all .2s ease}.document-viewer-tab:hover{background:#f2f4f4}.document-viewer-tab-active{background:#f6761d;color:#fff;border-color:#f6761d}.document-viewer-tab-active:hover{background:#d45b07}.document-viewer-text-content{flex:1 1;padding:1.5rem;overflow:auto}.document-viewer-text{line-height:1.7;white-space:pre-wrap;padding:1.5rem;border-radius:.5rem;min-height:200px}.document-viewer-text-enhanced{background:#f0f8ff;border:1px solid #bde7ff;color:#272d3a}.document-viewer-text-raw{background:#fff8f0;border:1px solid #ffd6b3;font-family:Monaco,Menlo,monospace;font-size:.875rem;color:#3b4550}.document-viewer-status{padding:1rem 1.5rem;border-top:1px solid #eaeded;background:#fff}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge-completed{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.status-badge-processing{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.status-badge-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}@media(max-width:768px){.document-viewer-content{flex-direction:column}.document-viewer-image-panel{width:100%;height:50%;border-right:none;border-bottom:1px solid #eaeded}.document-viewer-text-panel{width:100%;height:50%}.document-viewer-text-header{flex-direction:column;align-items:flex-start;gap:1rem}.document-viewer-tabs{align-self:stretch}.document-viewer-tab{flex:1 1;text-align:center}.navigation{width:200px}.main-content{max-width:calc(100vw - 200px);padding:1rem}.page-title{font-size:2rem}}@media(max-width:640px){.navigation{transform:translateX(-100%);z-index:100}.main-content{margin-left:0;max-width:100vw}}.tab-container{width:100%;max-width:1200px;margin:0 auto;padding:20px}.tab-header{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin-bottom:20px}.tab-button{padding:12px 24px;border:none;background:none;cursor:pointer;font-size:16px;border-radius:4px 4px 0 0;transition:all .3s ease}.tab-button:hover{background-color:#f1f5f9}.tab-button.active{background-color:#e2e8f0;border-bottom:2px solid #3b82f6;color:#1e40af}.tab-body{padding:20px;background-color:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.tab-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app{display:flex;flex-direction:column;min-height:100vh}.app-body{padding-top:114px;padding-bottom:24px;display:flex;flex:1 1}.app-header{background:#fff;border-bottom:1px solid #eaeded;padding:1rem 2rem;box-shadow:0 2px 4px rgba(0,0,0,.1)}.app-header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.app-header-title h1{font-size:1.5rem;font-weight:600;color:#272d3a;margin:0}.app-header-title h1.clickable{cursor:pointer}.app-header-title h1.clickable:hover{color:#153eb3}.app-header-datetime{text-align:right}.app-header-date{font-size:1rem;font-weight:500;color:#272d3a;margin-bottom:.25rem}.app-header-time{font-size:.875rem;color:#879196}.app-footer{background:#d5dbdb;height:90px;display:flex;align-items:center;padding:0 2rem;position:fixed;bottom:0;left:0;right:0;z-index:1000}.app-footer-content{max-width:1200px;margin:0 auto;width:100%}.footer-section{display:flex;flex-direction:column;gap:.5rem}.footer-icon-label{display:flex;align-items:center;gap:.5rem}.footer-icon-label .footer-icon{color:#272d3a;font-size:1.25rem}.footer-icon-label .footer-label{color:#272d3a;font-weight:500;font-size:.875rem}.footer-buttons{display:flex;gap:1rem}.footer-button{background:#272d3a;color:#fff;border:none;padding:.5rem 1rem;border-radius:.25rem;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:.25rem}.footer-button:hover{background:#3b4550}.footer-button .external-icon{font-size:.875rem}.dashboard{padding:.1rem .5rem}.dashboard-header{margin-bottom:1rem}.dashboard-header h2{font-size:1.5rem;font-weight:600;color:#272d3a;margin-bottom:1rem}.dashboard-controls{display:flex;gap:1rem;align-items:center}.dashboard-search{flex:1 1;max-width:400px}.dashboard-sort{min-width:120px}.dashboard-boats{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.boat-card{cursor:pointer;transition:box-shadow .2s ease}.boat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}.boat-card-content{display:flex;gap:1rem;padding:1rem}.boat-image-placeholder{width:80px;height:80px;flex-shrink:0}.boat-details{flex:1 1}.boat-title{font-size:1.125rem;font-weight:600;color:#272d3a;margin:0 0 .75rem}.boat-availability,.boat-status-section{margin-bottom:.5rem}.boat-label{display:block;font-size:.75rem;color:#879196;margin-bottom:.25rem}.boat-date,.boat-status{display:block;font-size:.875rem;font-weight:700;color:#272d3a}.technical-reference{padding:.5rem 1rem}.technical-reference-header{margin-bottom:1rem}.technical-reference-header h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.technical-reference-controls{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.technical-reference-search{flex:1 1;max-width:400px}.technical-reference-search-by{min-width:120px}.technical-reference-filter{min-width:100px}.technical-reference-table{margin-bottom:1rem}.inspection-workflow{padding:.5rem 1rem;height:100%;display:flex;flex-direction:column}.inspection-selections{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.selection-chip{font-size:.875rem}.inspection-content{display:flex;flex:1 1;gap:1rem;margin-bottom:1rem}.inspection-main{width:90%;display:flex;flex-direction:column;gap:1rem}.inspection-sidebar{width:10%;display:flex;flex-direction:column}.boat-image-placeholder{background:#eaeded;border-radius:.5rem;padding:1rem;text-align:center;color:#879196;font-size:.75rem;min-height:200px;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.boat-image-placeholder .item-specific{font-weight:700;color:#272d3a}.inspection-section{flex:1 1;display:flex;flex-direction:column}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header h3{font-size:1.125rem;font-weight:600;color:#272d3a;margin:0}.item-list,.refit-list{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:300px;padding-right:.5rem}.refit-item{background:#fff;border:1px solid #d5dbdb;border-radius:.375rem;padding:.75rem 1rem;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.875rem}.refit-item:hover{background:#f2f4f4;border-color:#153eb3}.refit-item.selected{background:#95b0ff;border-color:#153eb3;color:#153eb3;font-weight:500}.item-item{background:#fff;border:1px solid #d5dbdb;border-radius:.375rem;padding:1rem;cursor:pointer;transition:all .2s ease;text-align:left;min-height:80px;display:flex;flex-direction:column;gap:.25rem}.item-item:hover{background:#f2f4f4;border-color:#153eb3}.item-item.selected{background:#95b0ff;border-color:#153eb3}.item-item.selected .item-label{color:#153eb3}.item-label{font-weight:600;font-size:.875rem;color:#272d3a}.item-description{font-size:.75rem;color:#879196;line-height:1.4}.inspection-actions{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #eaeded}.loading,.no-results{display:flex;align-items:center;justify-content:center;padding:2rem;color:#879196;font-size:.875rem}.no-results{font-style:italic}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#95b0ff,#f2f4f4)}.login-container{background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.1);width:100%;max-width:400px;text-align:center}.login-logo{margin-bottom:2rem}.login-logo h1{font-size:2rem;font-weight:700;color:#153eb3;margin-bottom:.5rem}.login-logo p{color:#879196;font-size:1rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-field{text-align:left}.login-field label{display:block;margin-bottom:.5rem;font-weight:500;color:#272d3a}.login-field input{width:100%;padding:.75rem;border:1px solid #d5dbdb;border-radius:.5rem;font-size:1rem;transition:border-color .2s ease}.login-field input:focus{border-color:#153eb3;box-shadow:0 0 0 3px rgba(21,62,179,.1)}.login-button{background:#153eb3;color:#fff;padding:.875rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.login-button:hover{background:#2c59dc}.login-button:active{transform:translateY(1px)}.navigation-logout-button{width:100%;padding:.75rem 1.5rem;margin-bottom:1rem;background:#49525f;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.navigation-logout-button:hover{background:#879196}