.log-work-modal{background:linear-gradient(180deg,#0d2137,#0a1628);border:1px solid rgba(64,224,208,.3);border-radius:12px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.log-work-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(64,224,208,.2)}.log-work-header h2{color:#e0f7fa;font-size:20px;font-weight:600;margin:0;display:flex;align-items:center;gap:10px}.log-work-header h2:before{content:"✏️"}.log-work-modal .close-btn{background:none;border:none;color:#80cbc4;font-size:28px;cursor:pointer;padding:0;line-height:1}.log-work-modal .close-btn:hover{color:#e0f7fa}.log-work-body{flex:1;padding:24px;overflow-y:auto}.mode-selector{display:flex;gap:12px;margin-bottom:20px}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#00acc11a;border:1px solid rgba(64,224,208,.3);border-radius:8px;cursor:pointer;transition:all .2s}.mode-btn:hover{background:#00acc126;border-color:#40e0d066}.mode-btn.active{background:#00acc140;border-color:#40e0d099}.mode-icon{font-size:18px}.mode-label{color:#e0f7fa;font-size:14px;font-weight:500}.input-step .instruction{color:#80cbc4;font-size:14px;margin:0 0 16px}.work-input{width:100%;background:#00acc11a;border:1px solid rgba(64,224,208,.3);border-radius:8px;padding:14px;color:#e0f7fa;font-size:15px;font-family:inherit;resize:vertical;min-height:100px}.work-input:focus{outline:none;border-color:#40e0d080}.work-input::placeholder{color:#546e7a}.input-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.matching-step{display:flex;align-items:center;justify-content:center;min-height:200px}.matching-loader{text-align:center}.matching-loader .spinner{width:48px;height:48px;border:3px solid rgba(64,224,208,.2);border-top-color:#40e0d0;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.matching-loader p{color:#80cbc4;font-size:14px}.parsed-info{background:#00acc10d;border:1px solid rgba(64,224,208,.15);border-radius:8px;padding:12px 16px;margin-bottom:16px}.parsed-section{display:flex;gap:8px;font-size:13px}.parsed-section .label{color:#80cbc4}.parsed-section .value{color:#e0f7fa}.result-message{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px}.result-message.confirm_job{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#86efac}.result-message.select_component,.result-message.select_job{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#fbbf24}.result-message.log_history_only{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#93c5fd}.result-message.need_clarification{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.result-message.inventory-mode,.result-message.consume_inventory_only{background:#9333ea1a;border:1px solid rgba(147,51,234,.3);color:#c4b5fd}.selection-section{margin-bottom:20px}.selection-section h4{color:#b2ebf2;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.match-list{display:flex;flex-direction:column;gap:8px}.match-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#00acc10d;border:1px solid rgba(64,224,208,.15);border-radius:8px;cursor:pointer;transition:all .2s}.match-item:hover{background:#00acc11a;border-color:#40e0d04d}.match-item.selected{background:#00acc126;border-color:#40e0d080}.match-item.overdue{border-color:#ef44444d}.match-radio{padding-top:2px}.match-radio input{accent-color:#40e0d0}.match-info{flex:1;min-width:0}.match-name{color:#e0f7fa;font-weight:500;font-size:14px;display:flex;align-items:center;gap:8px}.overdue-badge{background:#ef444433;color:#ef4444;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}.match-code,.match-hours,.match-due{color:#80cbc4;font-size:12px;margin-top:2px}.match-description{color:#80cbc4;font-size:12px;margin-top:4px;line-height:1.4}.match-confidence{color:#40e0d0;font-size:12px;font-weight:500;white-space:nowrap}.missing-tasks-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:16px;margin-bottom:20px}.missing-tasks-warning h4{color:#fbbf24;font-size:14px;font-weight:600;margin:0 0 8px}.missing-tasks-warning p{color:#fde68a;font-size:13px;margin:0 0 12px}.missing-tasks-warning ul{margin:0 0 16px;padding-left:20px}.missing-tasks-warning li{color:#fde68a;font-size:13px;margin-bottom:4px}.missing-tasks-actions{display:flex;gap:12px}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(64,224,208,.15)}.success-step,.error-step{text-align:center;padding:40px 20px}.success-icon{width:64px;height:64px;background:#22c55e33;border:2px solid rgba(34,197,94,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:32px;color:#22c55e}.error-icon{width:64px;height:64px;background:#ef444433;border:2px solid rgba(239,68,68,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:32px;color:#ef4444;font-weight:700}.success-step h3{color:#e0f7fa;font-size:20px;margin:0 0 8px}.error-step h3{color:#fca5a5;font-size:20px;margin:0 0 8px}.success-step p,.error-step p{color:#80cbc4;font-size:14px;margin:0 0 24px}.success-actions,.error-actions{display:flex;justify-content:center;gap:12px}.materials-section{margin-top:16px}.materials-list{display:flex;flex-direction:column;gap:16px}.material-group{background:#00000026;border:1px solid rgba(64,224,208,.1);border-radius:8px;padding:12px}.material-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.material-name{color:#e0f7fa;font-weight:500;font-size:15px}.material-name .parsed-qty{color:#80cbc4;font-weight:400;font-size:13px}.remove-material-btn{width:24px;height:24px;border-radius:50%;background:transparent;border:1px solid rgba(255,82,82,.3);color:#ff5252;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-material-btn:hover{background:#ff525233}.no-matches-msg{color:#80cbc499;font-size:13px;font-style:italic;padding:8px 0}.selected-material{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;background:#40e0d01a;border-radius:6px}.selected-material .inv-name{color:#e0f7fa;font-size:15px;font-weight:500}.selected-material .selected-details{flex:1;min-width:120px}.selected-material .inv-manufacturer{color:#80cbc4;font-size:13px;margin-top:3px}.selected-material .inv-manufacturer .model-type{color:#a5d6a7}.selected-material .inv-manufacturer .part-number{color:#b2ebf2;font-family:Menlo,Monaco,Consolas,monospace;font-size:12px}.selected-material .inv-location{color:#80cbc4cc;font-size:12px;margin-top:3px}.qty-controls{display:flex;align-items:center;gap:4px}.qty-controls .qty-btn{width:28px;height:28px;border-radius:4px;background:#40e0d026;border:1px solid rgba(64,224,208,.3);color:#40e0d0;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.qty-controls .qty-btn:hover:not(:disabled){background:#40e0d040}.qty-controls .qty-btn:disabled{opacity:.4;cursor:not-allowed}.qty-controls .qty-input{width:50px;height:28px;background:#0003;border:1px solid rgba(64,224,208,.2);border-radius:4px;color:#e0f7fa;font-size:14px;text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.qty-controls .qty-input::-webkit-inner-spin-button,.qty-controls .qty-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.qty-controls .unit-label{color:#80cbc4;font-size:14px;margin-left:6px}.selected-material .stock-info{color:#80cbc4cc;font-size:13px}.inventory-matches{gap:6px}.inventory-item{padding:10px 12px}.inv-thumbnail{width:48px;height:48px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#0003;border:1px solid rgba(64,224,208,.15)}.inv-thumbnail img{width:100%;height:100%;object-fit:cover}.inv-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:20px;opacity:.5}.inventory-item .match-manufacturer{color:#80cbc4;font-size:13px;margin-top:3px}.inventory-item .match-manufacturer .model-type{color:#a5d6a7;font-size:13px}.inventory-item .match-manufacturer .part-number{color:#b2ebf2;font-family:Menlo,Monaco,Consolas,monospace;font-size:12px}.inventory-item .match-details{font-size:13px;margin-top:4px}.inventory-item .match-details .stock{color:#80cbc4cc}.inventory-item .match-details .location{color:#80cbc499;margin-left:8px}.skip-item{background:transparent;border-style:dashed;opacity:.7}.skip-item:hover{opacity:1}.attachments-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(64,224,208,.1)}.attachments-section h4{color:#80cbc4;font-size:13px;font-weight:600;margin:0 0 10px}.upload-zone{border:2px dashed rgba(64,224,208,.3);border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all .2s ease;background:#0000001a}.upload-zone:hover{border-color:#40e0d080;background:#40e0d00d}.upload-zone.drag-over{border-color:#40e0d0;background:#40e0d026;box-shadow:0 0 16px #40e0d033}.upload-zone .upload-icon{font-size:28px;margin-bottom:8px}.upload-zone span{display:block;font-size:13px;color:#80cbc4}.upload-zone .upload-hint{font-size:11px;color:#80cbc480;margin-top:4px}.attachment-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.attachment-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#0003;border-radius:6px;border:1px solid rgba(64,224,208,.1)}.attachment-item .file-icon{font-size:16px;flex-shrink:0}.attachment-item .file-name{flex:1;font-size:13px;color:#e0f7fa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item .file-size{font-size:11px;color:#80cbc499;flex-shrink:0}.attachment-item .remove-btn{width:20px;height:20px;border-radius:50%;background:transparent;border:1px solid rgba(255,82,82,.3);color:#ff5252;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.attachment-item .remove-btn:hover{background:#ff525233;border-color:#ff5252}@media (max-width: 500px){.log-work-modal{width:95%;max-height:95vh}.log-work-body{padding:16px}.input-actions,.confirm-actions,.success-actions,.error-actions,.missing-tasks-actions{flex-direction:column}}.fab-container{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column-reverse;align-items:center;gap:12px}.fab-main{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#00acc1,#00897b);border:none;box-shadow:0 4px 16px #00acc166;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.fab-main:hover{transform:scale(1.05);box-shadow:0 6px 20px #00acc180}.fab-main.active{background:linear-gradient(135deg,#37474f,#263238);transform:rotate(45deg)}.fab-main .fab-icon{font-size:28px;color:#fff;line-height:1;transition:transform .3s ease}.fab-main.active .fab-icon{transform:rotate(-45deg)}.fab-actions{display:flex;flex-direction:column;gap:8px;animation:fadeInUp .2s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fab-action{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#0d2137f2;border:1px solid rgba(64,224,208,.3);border-radius:24px;cursor:pointer;transition:all .2s;white-space:nowrap}.fab-action:hover{background:#00acc133;border-color:#40e0d080;transform:translate(-4px)}.fab-action-icon{font-size:18px}.fab-action-label{color:#e0f7fa;font-size:14px;font-weight:500}.log-work-fab{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#00acc1,#00897b);border:none;border-radius:28px;box-shadow:0 4px 16px #00acc166;cursor:pointer;transition:all .3s ease}.log-work-fab:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00acc180}.log-work-fab .fab-icon{font-size:20px}.log-work-fab .fab-text{color:#fff;font-size:14px;font-weight:600}.log-work-fab.ai-fab{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 3s ease infinite;box-shadow:0 4px 20px #667eea80}.log-work-fab.ai-fab:hover{box-shadow:0 6px 28px #764ba299}.log-work-fab.ai-fab .fab-icon{animation:sparkle 2s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes sparkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}@media (max-width: 768px){.fab-container{bottom:16px;right:16px}.fab-main{width:52px;height:52px}.log-work-fab{bottom:16px;right:16px;padding:10px 16px}.log-work-fab .fab-text{display:none}.log-work-fab{border-radius:50%;width:52px;height:52px;padding:0;justify-content:center}}.global-search{position:relative}.global-search-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#40e0d01a;border:1px solid rgba(64,224,208,.3);border-radius:8px;color:#80cbc4;cursor:pointer;transition:all .2s ease}.global-search-trigger:hover{background:#40e0d033;color:#40e0d0;border-color:#40e0d080}.global-search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.global-search-modal{width:100%;max-width:600px;background:#0d2137fa;border:1px solid rgba(64,224,208,.3);border-radius:12px;box-shadow:0 20px 60px #00000080;overflow:hidden}.global-search-input-wrapper{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(64,224,208,.2);color:#80cbc4}.global-search-input{flex:1;background:transparent;border:none;outline:none;color:#e0f7fa;font-size:16px}.global-search-input::placeholder{color:#4db6ac}.global-search-clear{background:none;border:none;color:#80cbc4;font-size:20px;cursor:pointer;padding:0;line-height:1}.global-search-clear:hover{color:#40e0d0}.global-search-shortcut{background:#40e0d026;border:1px solid rgba(64,224,208,.3);border-radius:4px;padding:2px 6px;font-size:11px;color:#80cbc4;font-family:monospace}.global-search-results{max-height:400px;overflow-y:auto}.global-search-loading,.global-search-empty{padding:24px;text-align:center;color:#80cbc4}.global-search-hint{padding:24px;text-align:center;color:#4db6ac}.global-search-hint p{margin:0 0 16px}.global-search-shortcuts{display:flex;justify-content:center;gap:20px;font-size:12px;color:#4db6ac}.global-search-shortcuts kbd{background:#40e0d026;border:1px solid rgba(64,224,208,.3);border-radius:3px;padding:2px 5px;font-size:11px;font-family:monospace;margin-right:4px}.global-search-list{list-style:none;margin:0;padding:8px}.global-search-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;cursor:pointer;transition:background .15s ease}.global-search-item:hover,.global-search-item.selected{background:#40e0d026}.global-search-thumbnail{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0;background:#40e0d01a}.global-search-icon{font-size:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#40e0d01a;border-radius:6px;flex-shrink:0}.global-search-icon.hidden{display:none}.global-search-item-content{flex:1;min-width:0}.global-search-title{display:block;color:#e0f7fa;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-subtitle{display:block;color:#4db6ac;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-type{font-size:11px;color:#4db6ac;background:#40e0d01a;padding:3px 8px;border-radius:4px;white-space:nowrap}.global-search-results::-webkit-scrollbar{width:6px}.global-search-results::-webkit-scrollbar-track{background:transparent}.global-search-results::-webkit-scrollbar-thumb{background:#40e0d04d;border-radius:3px}.global-search-results::-webkit-scrollbar-thumb:hover{background:#40e0d080}.login-page{min-height:100vh;background:linear-gradient(135deg,#0a2f44,#0d3d55,#115e75,#0d4a5c,#0a2f44);background-size:400% 400%;animation:oceanWave 30s ease infinite;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes oceanWave{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.login-container{background:#00acc11a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(64,224,208,.3);border-radius:20px;padding:40px;width:400px;max-width:90vw;box-shadow:0 20px 60px #0000004d}.login-logo{text-align:center;margin-bottom:30px}.login-logo-icon{font-size:48px;display:block;margin-bottom:10px}.login-logo-text{font-size:32px;font-weight:700;color:#40e0d0}.vessel-name-display{text-align:center;margin-bottom:20px;padding:10px 15px;background:#40e0d01a;border:1px solid rgba(64,224,208,.2);border-radius:8px;color:#40e0d0;font-size:14px;font-weight:500}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#e0f7fae6;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.form-group input{background:#00acc11a;border:1px solid rgba(64,224,208,.3);color:#e0f7fa;padding:12px 15px;border-radius:10px;font-size:14px;outline:none;transition:all .3s ease}.form-group input:focus{border-color:#40e0d0;background:#40e0d026;box-shadow:0 0 0 3px #40e0d01a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:#e0f7fa80}.btn-login{background:linear-gradient(135deg,#00acc1,#26c6da);color:#fff;border:none;padding:12px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00acc180}.btn-login:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-login:active:not(:disabled){transform:translateY(0)}.error-message{background:#ff3d0033;border:1px solid rgba(255,61,0,.4);color:#ff6b6b;padding:10px;border-radius:8px;font-size:14px;text-align:center}.forgot-password{text-align:center;margin-top:20px}.forgot-password-link{background:none;border:none;color:#40e0d0;text-decoration:none;font-size:14px;cursor:pointer;padding:0}.forgot-password-link:hover{text-decoration:underline}@media (max-width: 480px){.login-container{padding:30px 20px;border-radius:15px}.login-logo-icon{font-size:40px}.login-logo-text{font-size:28px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh}.loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0a2f44,#1a5f7a,#0a2f44)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(64,224,208,.3);border-radius:50%;border-top-color:#40e0d0;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}select{color-scheme:dark}select option{background-color:#0d2137;color:#e0f7fa}
