@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.header-actions[data-v-6608ee39]{display:flex;align-items:center;gap:4px;flex-shrink:0}.notif-wrapper[data-v-6608ee39]{position:relative}.notif-bell[data-v-6608ee39]{position:relative;background:none;border:none;font-size:1.2rem;cursor:pointer;padding:6px;border-radius:8px;transition:var(--transition);line-height:1}.notif-bell[data-v-6608ee39]:hover{background:#ffffff1a}.notif-bell.has-unread[data-v-6608ee39]{animation:notifPulse-6608ee39 2s ease-in-out infinite}@keyframes notifPulse-6608ee39{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notif-badge[data-v-6608ee39]{position:absolute;top:-2px;right:-4px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:100px;padding:0 4px;box-shadow:0 2px 6px #ef444466}.notif-dropdown[data-v-6608ee39]{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:480px;background:#fff;border-radius:var(--radius);box-shadow:0 20px 60px #00000026;border:1px solid var(--slate-200);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.notif-header[data-v-6608ee39]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--slate-100)}.notif-header h3[data-v-6608ee39]{font-size:.9rem;font-weight:700;margin:0;color:var(--slate-900)}.notif-header-actions[data-v-6608ee39]{display:flex;align-items:center;gap:10px}.notif-count[data-v-6608ee39]{font-size:.72rem;color:var(--slate-400);font-weight:500}.notif-mark-read-btn[data-v-6608ee39]{font-size:.68rem;font-weight:600;color:var(--teal-dark);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px}.notif-mark-read-btn[data-v-6608ee39]:hover{background:#0d948814}.notif-loading[data-v-6608ee39],.notif-empty[data-v-6608ee39]{padding:32px 16px;text-align:center;color:var(--slate-400);font-size:.85rem}.notif-list[data-v-6608ee39]{flex:1;overflow-y:auto;padding:4px 0}.notif-item[data-v-6608ee39]{display:flex;gap:10px;padding:10px 16px;cursor:pointer;transition:var(--transition);align-items:flex-start;border-left:3px solid transparent;position:relative}.notif-item[data-v-6608ee39]:hover{background:var(--slate-50)}.notif-item.notif-read[data-v-6608ee39]{opacity:.65}.notif-item.notif-read .notif-title[data-v-6608ee39]{font-weight:500}.notif-unread[data-v-6608ee39]{border-left-color:#3b82f6!important}.notif-unread .notif-title[data-v-6608ee39]{font-weight:700;color:var(--slate-900)}.notif-overdue[data-v-6608ee39]{border-left-color:#dc2626}.notif-critical[data-v-6608ee39]{border-left-color:#f59e0b}.notif-warning[data-v-6608ee39]{border-left-color:#eab308}.notif-icon[data-v-6608ee39]{font-size:.9rem;padding-top:1px;flex-shrink:0}.notif-body[data-v-6608ee39]{flex:1;min-width:0}.notif-title[data-v-6608ee39]{font-weight:600;font-size:.82rem;color:var(--slate-900)}.notif-desc[data-v-6608ee39]{font-size:.74rem;color:var(--slate-400);margin-top:1px}.notif-unread-dot[data-v-6608ee39]{position:absolute;left:6px;top:14px;width:7px;height:7px;border-radius:50%;background:#3b82f6;flex-shrink:0}.notif-meta[data-v-6608ee39]{flex-shrink:0;text-align:right}.notif-days[data-v-6608ee39]{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:100px;white-space:nowrap}.notif-sr-no[data-v-6608ee39]{font-size:.62rem;font-weight:600;color:var(--teal-dark);background:#0d948814;padding:2px 8px;border-radius:100px;white-space:nowrap}.days-overdue[data-v-6608ee39]{background:#dc26261a;color:#dc2626}.days-critical[data-v-6608ee39]{background:#f59e0b1a;color:#d97706}.days-warning[data-v-6608ee39]{background:#eab30814;color:#a16207}.notif-footer[data-v-6608ee39]{display:block;text-align:center;padding:10px 16px;font-size:.78rem;font-weight:600;color:var(--teal-dark);text-decoration:none;border-top:1px solid var(--slate-100)}.notif-footer[data-v-6608ee39]:hover{background:var(--slate-50)}.theme-toggle[data-v-6608ee39]{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:6px;border-radius:8px;transition:var(--transition);line-height:1;opacity:.8;margin-right:2px}.theme-toggle[data-v-6608ee39]:hover{opacity:1;background:#ffffff1a}.user-menu[data-v-6608ee39]{position:relative;margin-left:8px}.user-avatar[data-v-6608ee39]{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal-light));color:#fff;border:2px solid rgba(255,255,255,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;transition:var(--transition)}.user-avatar[data-v-6608ee39]:hover{border-color:#ffffff80;transform:scale(1.05)}.user-dropdown[data-v-6608ee39]{position:absolute;right:0;top:calc(100% + 8px);width:220px;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--slate-200);box-shadow:var(--shadow-lg);z-index:300;animation:slideUp .2s ease;overflow:hidden}.user-dropdown-header[data-v-6608ee39]{padding:14px 16px;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--slate-100)}.user-dropdown-header strong[data-v-6608ee39]{font-size:.9rem;color:var(--slate-900)}.user-role[data-v-6608ee39]{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--teal)}.user-email[data-v-6608ee39]{font-size:.75rem;color:var(--slate-400)}.user-dropdown-body[data-v-6608ee39]{padding:6px}.user-dropdown-item[data-v-6608ee39]{display:block;padding:8px 12px;border-radius:6px;font-size:.82rem;font-weight:500;color:var(--slate-700);text-decoration:none;transition:var(--transition);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:Inter,sans-serif}.user-dropdown-item[data-v-6608ee39]:hover{background:var(--slate-50);color:var(--slate-900)}.user-dropdown-footer[data-v-6608ee39]{padding:6px;border-top:1px solid var(--slate-100)}.user-dropdown-item.logout[data-v-6608ee39]{color:var(--rose)}.user-dropdown-item.logout[data-v-6608ee39]:hover{background:#e11d480f}.dashboard[data-v-a8f9596e]{padding-bottom:40px}.stats-grid[data-v-a8f9596e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-bottom:28px}.stat-card[data-v-a8f9596e]{background:var(--bg-card);border-radius:16px;padding:22px 24px;border:1px solid var(--slate-200);box-shadow:var(--shadow-sm);transition:var(--transition);position:relative;overflow:hidden}.stat-card[data-v-a8f9596e]:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-card[data-v-a8f9596e]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.stat-card-ships[data-v-a8f9596e]:before{background:linear-gradient(90deg,var(--navy),var(--teal))}.stat-card-expiring[data-v-a8f9596e]:before{background:linear-gradient(90deg,var(--amber),#f97316)}.stat-card-overdue[data-v-a8f9596e]:before{background:linear-gradient(90deg,#dc2626,#ef4444)}.stat-card-tests[data-v-a8f9596e]:before{background:linear-gradient(90deg,var(--rose),#f43f5e)}.stat-card-overdue-tests[data-v-a8f9596e]:before{background:linear-gradient(90deg,#dc2626,#ef4444)}.stat-card-owners[data-v-a8f9596e]:before{background:linear-gradient(90deg,#6366f1,#818cf8)}.stat-icon-box[data-v-a8f9596e]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:14px}.stat-card-ships .stat-icon-box[data-v-a8f9596e]{background:#0d94881a}.stat-card-expiring .stat-icon-box[data-v-a8f9596e]{background:#f59e0b1a}.stat-card-overdue .stat-icon-box[data-v-a8f9596e],.stat-card-overdue-tests .stat-icon-box[data-v-a8f9596e]{background:#dc26261a}.stat-card-tests .stat-icon-box[data-v-a8f9596e]{background:#e11d4814}.stat-card-owners .stat-icon-box[data-v-a8f9596e]{background:#6366f11a}.stat-body[data-v-a8f9596e]{margin-bottom:8px}.stat-label[data-v-a8f9596e]{font-size:.8rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em}.stat-value[data-v-a8f9596e]{font-size:2rem;font-weight:800;color:var(--slate-900);line-height:1.2}.stat-trend[data-v-a8f9596e]{font-size:.78rem;font-weight:500;color:var(--slate-500)}.stat-trend.up[data-v-a8f9596e]{color:var(--teal)}.stat-trend.warn[data-v-a8f9596e]{color:var(--amber)}.stat-trend.danger[data-v-a8f9596e]{color:#dc2626}.dashboard-grid[data-v-a8f9596e]{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dashboard-card[data-v-a8f9596e]{margin-bottom:0}.recent-list[data-v-a8f9596e]{display:flex;flex-direction:column}.recent-item[data-v-a8f9596e]{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--slate-100);text-decoration:none;transition:var(--transition)}.recent-item[data-v-a8f9596e]:last-child{border-bottom:none}.recent-item[data-v-a8f9596e]:hover{padding-left:8px}.recent-avatar[data-v-a8f9596e]{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--teal),var(--teal-light));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.recent-info[data-v-a8f9596e]{flex:1;min-width:0}.recent-name[data-v-a8f9596e]{font-weight:600;color:var(--slate-900);font-size:.9rem}.recent-meta[data-v-a8f9596e]{font-size:.78rem;color:var(--slate-400);margin-top:2px}.recent-date[data-v-a8f9596e]{font-size:.75rem;color:var(--slate-400);white-space:nowrap}.see-all[data-v-a8f9596e]{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--teal);text-decoration:none}.see-all[data-v-a8f9596e]:hover{text-decoration:underline}.stock-summary[data-v-a8f9596e]{padding:12px 16px 16px}.stock-stats-row[data-v-a8f9596e]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.stock-stat-card[data-v-a8f9596e]{text-align:center;padding:12px 8px;background:var(--slate-50);border-radius:10px}.stock-stat-value[data-v-a8f9596e]{display:block;font-size:1.4rem;font-weight:800;color:var(--slate-900);line-height:1.2}.stock-stat-value.text-danger[data-v-a8f9596e]{color:#dc2626}.stock-stat-label[data-v-a8f9596e]{display:block;font-size:.7rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.chart-wrapper-sm[data-v-a8f9596e]{max-width:260px;margin:0 auto;padding:4px 0}.chart-wrapper-sm canvas[data-v-a8f9596e]{width:100%!important;height:auto!important}.movement-mini[data-v-a8f9596e]{border-top:1px solid var(--slate-200);margin-top:12px;padding-top:10px}.movement-mini-title[data-v-a8f9596e]{font-size:.75rem;font-weight:700;color:var(--slate-400);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;padding:0 4px}.movement-mini-row[data-v-a8f9596e]{display:flex;align-items:center;gap:8px;padding:4px;font-size:.78rem}.mm-badge[data-v-a8f9596e]{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:4px;flex-shrink:0}.mm-in[data-v-a8f9596e]{background:#0d94881a;color:#0d9488}.mm-out[data-v-a8f9596e]{background:#e11d481a;color:#e11d48}.mm-item[data-v-a8f9596e]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--slate-700)}.mm-qty[data-v-a8f9596e]{font-weight:700;color:var(--slate-600);flex-shrink:0}.stock-group-list[data-v-a8f9596e]{border-top:1px solid var(--slate-200);margin-top:12px;padding-top:10px}.stock-group-list-title[data-v-a8f9596e]{font-size:.75rem;font-weight:700;color:var(--slate-400);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;padding:0 4px}.stock-group-row[data-v-a8f9596e]{display:flex;align-items:center;gap:8px;padding:3px 4px;font-size:.78rem}.sg-name[data-v-a8f9596e]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--slate-700)}.sg-count[data-v-a8f9596e]{font-weight:600;color:var(--slate-500);flex-shrink:0}.sg-warn[data-v-a8f9596e]{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:4px;background:#e11d481a;color:#e11d48;flex-shrink:0}.charts-grid[data-v-a8f9596e]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.chart-wrapper[data-v-a8f9596e]{padding:8px 16px 16px;display:flex;justify-content:center}.chart-wrapper canvas[data-v-a8f9596e]{max-width:100%;max-height:320px}.card-badge[data-v-a8f9596e]{margin-left:auto;padding:3px 12px;border-radius:100px;font-size:.72rem;font-weight:600}.card-badge.warn[data-v-a8f9596e]{background:#f59e0b1a;color:#92400e}.card-badge.danger[data-v-a8f9596e]{background:#e11d481a;color:#991b1b}.alert-scroll-wrap[data-v-a8f9596e]{max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 0}.alert-scroll-wrap[data-v-a8f9596e]::-webkit-scrollbar{width:5px}.alert-scroll-wrap[data-v-a8f9596e]::-webkit-scrollbar-track{background:var(--slate-100);border-radius:4px}.alert-scroll-wrap[data-v-a8f9596e]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.alert-scroll-wrap[data-v-a8f9596e]::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.alert-card[data-v-a8f9596e]{display:flex;gap:12px;background:var(--bg-card);border:1px solid var(--slate-200);border-radius:12px;padding:0;transition:var(--transition)}.alert-card[data-v-a8f9596e]:hover{box-shadow:var(--shadow-sm);border-color:var(--slate-300)}.alert-card.alert-overdue[data-v-a8f9596e]{border-left:4px solid #dc2626}.alert-card.alert-warning[data-v-a8f9596e]{border-left:4px solid #d97706}.alert-card.alert-warning .alert-card-icon[data-v-a8f9596e]{background:#d9770614}.alert-card.alert-overdue .alert-card-icon[data-v-a8f9596e]{background:#dc262614}.alert-card-left[data-v-a8f9596e]{display:flex;align-items:center;padding:14px 0 14px 14px}.alert-card-icon[data-v-a8f9596e]{width:42px;height:42px;border-radius:10px;background:#0d94880f;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.alert-card-body[data-v-a8f9596e]{flex:1;min-width:0;padding:12px 14px 12px 0;display:flex;flex-direction:column;gap:8px}.alert-card-top[data-v-a8f9596e]{display:flex;align-items:center;gap:8px}.alert-ship-name[data-v-a8f9596e]{font-weight:700;font-size:.88rem;color:var(--slate-900);text-decoration:none;flex-shrink:0}.alert-ship-name[data-v-a8f9596e]:hover{color:var(--teal)}.alert-equip-label[data-v-a8f9596e]{font-size:.7rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-card-bottom[data-v-a8f9596e]{display:flex;align-items:center;gap:12px}.alert-date[data-v-a8f9596e]{font-weight:600;color:var(--slate-600);font-size:.78rem;white-space:nowrap;flex-shrink:0}.alert-bar-wrap[data-v-a8f9596e]{flex:1;display:flex;align-items:center;gap:10px}.alert-bar[data-v-a8f9596e]{flex:1;height:6px;background:var(--slate-200);border-radius:100px;overflow:hidden}.alert-bar-fill[data-v-a8f9596e]{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#14b8a6);border-radius:100px;transition:width .6s ease}.alert-days[data-v-a8f9596e]{font-weight:700;font-size:.85rem;color:var(--slate-500);text-align:right;flex-shrink:0;min-width:36px}.alert-overdue .alert-date[data-v-a8f9596e],.alert-overdue .alert-days[data-v-a8f9596e]{color:#dc2626}.alert-warning .alert-date[data-v-a8f9596e],.alert-warning .alert-days[data-v-a8f9596e]{color:#d97706}.alert-group[data-v-a8f9596e]{border:1px solid var(--slate-200);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:8px}.alert-group[data-v-a8f9596e]:last-child{margin-bottom:0}.alert-group-header[data-v-a8f9596e]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--slate-50);cursor:pointer;transition:var(--transition);font-weight:600;font-size:.85rem}.alert-group-header[data-v-a8f9596e]:hover{background:var(--slate-100)}.alert-group-header .alert-ship-name[data-v-a8f9596e]{font-size:.85rem}.alert-group-icon[data-v-a8f9596e]{font-size:.7rem;color:var(--slate-400);width:14px;flex-shrink:0}.alert-group-arrow[data-v-a8f9596e]{font-size:.65rem;color:var(--slate-400);margin-left:8px}.alert-group-body[data-v-a8f9596e]{padding:0;max-height:320px;overflow-y:auto}.alert-group-body[data-v-a8f9596e]::-webkit-scrollbar{width:5px}.alert-group-body[data-v-a8f9596e]::-webkit-scrollbar-track{background:var(--slate-100)}.alert-group-body[data-v-a8f9596e]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.alert-group-body .alert-card[data-v-a8f9596e]{border:none;border-top:1px solid var(--slate-100);border-radius:0}.alert-group-body .alert-card[data-v-a8f9596e]:last-child{border-bottom:none}.alert-group-body .alert-card[data-v-a8f9596e]:hover{background:var(--slate-50)}.alert-group-body .alert-card.alert-overdue[data-v-a8f9596e]{border-left:4px solid #dc2626}.alert-group-body .alert-card.alert-warning[data-v-a8f9596e]{border-left:4px solid #d97706}.alert-group-body .alert-equip-label[data-v-a8f9596e]{font-size:.75rem}.alert-group-body .alert-date[data-v-a8f9596e]{font-size:.72rem}.alert-overdue .alert-bar-fill[data-v-a8f9596e]{background:linear-gradient(90deg,#dc2626,#f43f5e)}.alert-warning .alert-bar-fill[data-v-a8f9596e]{background:linear-gradient(90deg,#d97706,#f59e0b)}.test-status-tag[data-v-a8f9596e]{font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:100px;letter-spacing:.04em;flex-shrink:0;margin-left:auto}.tag-overdue[data-v-a8f9596e]{background:#dc26261f;color:#dc2626}.tag-warning[data-v-a8f9596e]{background:#d977061f;color:#d97706}.tag-ok[data-v-a8f9596e]{background:#0d94881a;color:#0d9488}.batt-group[data-v-a8f9596e]{margin-bottom:12px}.batt-group[data-v-a8f9596e]:last-child{margin-bottom:0}.batt-group-header[data-v-a8f9596e]{display:flex;align-items:center;gap:8px;padding:8px;background:var(--slate-50);border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;transition:var(--transition)}.batt-group-header[data-v-a8f9596e]:hover{background:var(--slate-100)}.batt-group-icon[data-v-a8f9596e]{font-size:.7rem;color:var(--slate-400);width:14px;flex-shrink:0}.batt-ship-link[data-v-a8f9596e]{font-weight:700;font-size:.88rem;color:var(--slate-900);text-decoration:none}.batt-ship-link[data-v-a8f9596e]:hover{color:var(--teal)}.batt-group-body[data-v-a8f9596e]{padding:0}.batt-group-body .alert-card[data-v-a8f9596e]{margin-bottom:6px;border-radius:8px}.batt-group-body .alert-card[data-v-a8f9596e]:last-child{margin-bottom:0}.empty-mini[data-v-a8f9596e]{text-align:center;padding:24px;color:var(--slate-400);font-size:.9rem}.empty-mini p[data-v-a8f9596e]{margin-bottom:12px}@media(max-width:1024px){.dashboard-grid[data-v-a8f9596e],.charts-grid[data-v-a8f9596e]{grid-template-columns:1fr}}@media(max-width:768px){.stats-grid[data-v-a8f9596e]{grid-template-columns:repeat(2,1fr)}.alert-row[data-v-a8f9596e]{grid-template-columns:1fr 1fr 80px;gap:4px}.alert-bar[data-v-a8f9596e]{display:none}}@media(max-width:480px){.stats-grid[data-v-a8f9596e]{grid-template-columns:1fr}.alert-row[data-v-a8f9596e]{grid-template-columns:1fr 80px}.alert-equip[data-v-a8f9596e]{grid-column:1 / -1}.stat-value[data-v-a8f9596e]{font-size:1.5rem}.stat-card[data-v-a8f9596e]{padding:16px}.recent-item[data-v-a8f9596e]{gap:10px}.recent-name[data-v-a8f9596e]{font-size:.82rem}}[data-theme=dark] .card-badge.warn[data-v-a8f9596e]{color:#fcd34d}[data-theme=dark] .card-badge.danger[data-v-a8f9596e]{color:#fca5a5}[data-theme=dark] .stat-trend[data-v-a8f9596e]{color:var(--slate-400)}[data-theme=dark] .stat-trend.up[data-v-a8f9596e]{color:#5eead4}[data-theme=dark] .stat-trend.warn[data-v-a8f9596e]{color:#fcd34d}[data-theme=dark] .stat-trend.danger[data-v-a8f9596e]{color:#fca5a5}.modal-overlay[data-v-62b381b9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.pdf-modal[data-v-62b381b9]{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:900px;height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.pdf-modal-header[data-v-62b381b9]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--slate-200);gap:12px}.pdf-modal-title[data-v-62b381b9]{font-weight:700;font-size:.95rem;color:var(--slate-800)}.pdf-modal-actions[data-v-62b381b9]{display:flex;gap:8px}.pdf-modal-body[data-v-62b381b9]{flex:1;overflow-y:auto;padding:20px;background:var(--slate-50)}.pdf-iframe[data-v-62b381b9]{width:100%;height:100%;border:none;border-radius:var(--radius-sm)}.pdf-html-preview[data-v-62b381b9]{background:#fff;max-width:210mm;margin:0 auto;box-shadow:var(--shadow);border-radius:var(--radius-sm);overflow:hidden}[data-v-62b381b9] .pdf-wrapper{font-family:Inter,sans-serif;padding:40px 48px;color:#0f172a;font-size:11px;line-height:1.5}[data-v-62b381b9] .pdf-header-wrapper{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:3px solid #0d9488}[data-v-62b381b9] .pdf-main-title{font-size:20px;font-weight:800;color:#0f172a;margin-bottom:4px}[data-v-62b381b9] .pdf-subtitle{font-size:12px;color:#64748b}[data-v-62b381b9] .pdf-section{margin-bottom:16px}[data-v-62b381b9] .pdf-section-title{font-size:13px;font-weight:700;margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid #0d9488;color:#0f172a}[data-v-62b381b9] .pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}[data-v-62b381b9] .pdf-sub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}[data-v-62b381b9] .pdf-sub-group{border:1px solid #e2e8f0;border-radius:6px;padding:10px;background:#fafbfc}[data-v-62b381b9] .pdf-sub-title{font-weight:700;font-size:10px;color:#0d9488;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #e2e8f0}[data-v-62b381b9] .pdf-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid #f1f5f9;font-size:10px}[data-v-62b381b9] .pdf-label{font-weight:600;color:#64748b;min-width:90px}[data-v-62b381b9] .pdf-value{color:#0f172a;font-weight:500;text-align:right}[data-v-62b381b9] .pdf-divider{font-size:14px;font-weight:800;margin:20px 0 12px;padding-bottom:6px;border-bottom:3px solid #0d9488;color:#0f172a}[data-v-62b381b9] .pdf-footer{margin-top:24px;padding-top:12px;border-top:1px solid #e2e8f0;font-size:9px;color:#94a3b8;text-align:center}@media(max-width:768px){.pdf-modal[data-v-62b381b9]{height:100vh;max-width:100%;border-radius:0}.modal-overlay[data-v-62b381b9]{padding:0}}.pdf-wrapper{font-family:Inter,sans-serif;padding:40px 48px;color:#0f172a;font-size:11px;line-height:1.5;background:#fff}.pdf-header-wrapper{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:3px solid #0d9488}.pdf-main-title{font-size:20px;font-weight:800;color:#0f172a;margin-bottom:4px}.pdf-subtitle{font-size:12px;color:#64748b}.pdf-section{margin-bottom:16px}.pdf-section-title{font-size:13px;font-weight:700;margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid #0d9488;color:#0f172a}.pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}.pdf-sub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pdf-sub-group{border:1px solid #e2e8f0;border-radius:6px;padding:10px;background:#fafbfc}.pdf-sub-title{font-weight:700;font-size:10px;color:#0d9488;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #e2e8f0}.pdf-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid #f1f5f9;font-size:10px}.pdf-label{font-weight:600;color:#64748b;min-width:90px}.pdf-value{color:#0f172a;font-weight:500;text-align:right}.pdf-divider{font-size:14px;font-weight:800;margin:20px 0 12px;padding-bottom:6px;border-bottom:3px solid #0d9488;color:#0f172a}.pdf-footer{margin-top:24px;padding-top:12px;border-top:1px solid #e2e8f0;font-size:9px;color:#94a3b8;text-align:center}@media(max-width:768px){.pdf-grid,.pdf-sub-grid{grid-template-columns:1fr}.pdf-wrapper{padding:20px}}@media(max-width:768px){.page-header[data-v-100c2ec1]{flex-direction:column;align-items:stretch;gap:8px}.page-header>div[data-v-100c2ec1]{flex-wrap:wrap}.filter-bar[data-v-100c2ec1]{flex-wrap:wrap;gap:6px}.filter-bar .search-bar[data-v-100c2ec1]{flex:1 1 100%}.filter-bar .search-bar input[data-v-100c2ec1]{width:100%}.filter-bar .filter-group[data-v-100c2ec1]{flex:1 1 auto;min-width:0}.filter-bar .filter-group input[type=date][data-v-100c2ec1]{width:100%;min-width:0}.stats-row[data-v-100c2ec1]{grid-template-columns:1fr 1fr;gap:8px}.advanced-grid[data-v-100c2ec1]{grid-template-columns:1fr}.table-wrapper table thead[data-v-100c2ec1]{display:none}.table-wrapper table tr[data-v-100c2ec1]{display:block;margin-bottom:10px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-card)}.table-wrapper table td[data-v-100c2ec1]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.table-wrapper table td[data-v-100c2ec1]:before{content:attr(data-label);font-weight:600;color:var(--slate-400);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em}.table-wrapper table td[data-label=Actions][data-v-100c2ec1]{flex-direction:row;justify-content:flex-end;padding-top:6px;margin-top:4px;border-top:1px solid var(--slate-100)}.table-wrapper table td[data-label=Actions][data-v-100c2ec1]:before{display:none}}.badge-number[data-v-2b587abb]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--teal);color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0}.equip-grid[data-v-2b587abb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.equip-group[data-v-2b587abb]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px}.equip-group-title[data-v-2b587abb]{font-weight:700;font-size:.82rem;color:var(--teal-dark);margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--slate-200)}.equip-row[data-v-2b587abb]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.equip-row .form-group+.form-group[data-v-2b587abb]{margin-top:0}.equip-rows[data-v-2b587abb]{display:flex;flex-direction:column;gap:10px}.equip-rows .equip-row+.equip-row[data-v-2b587abb]{margin-top:0}.vhf-grid[data-v-2b587abb]{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.vhf-group[data-v-2b587abb]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:16px}.vhf-group-title[data-v-2b587abb]{font-weight:700;font-size:.85rem;color:var(--teal-dark);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--slate-200)}.vhf-group .form-group+.form-group[data-v-2b587abb]{margin-top:10px}.sub-grid[data-v-2b587abb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.sub-group[data-v-2b587abb]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:16px}.sub-group-title[data-v-2b587abb]{font-weight:700;font-size:.85rem;color:var(--teal-dark);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--slate-200)}.sub-group .form-group+.form-group[data-v-2b587abb]{margin-top:10px}.stock-assign[data-v-2b587abb]{padding:16px}.stock-add-row[data-v-2b587abb]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.form-select[data-v-2b587abb]{flex:1;padding:8px 12px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.85rem;background:var(--bg-card);color:var(--slate-900)}.stock-selected[data-v-2b587abb]{display:flex;flex-direction:column;gap:6px}.stock-selected-row[data-v-2b587abb]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--slate-50);border-radius:8px;border:1px solid var(--slate-200)}.stock-sel-name[data-v-2b587abb]{font-weight:600;font-size:.85rem;color:var(--slate-900);flex:1}.stock-sel-qty[data-v-2b587abb]{font-weight:700;color:var(--teal-dark);font-size:.85rem}.stock-empty[data-v-2b587abb]{text-align:center;font-size:.82rem;color:var(--slate-400);padding:16px 0}.sr-form-letterhead[data-v-2b587abb]{margin-bottom:0}.sr-letterhead-img[data-v-2b587abb]{display:block;width:100%;height:auto}@media(max-width:1024px){.vhf-grid[data-v-2b587abb]{grid-template-columns:repeat(2,1fr)}.equip-grid[data-v-2b587abb]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.vhf-grid[data-v-2b587abb],.sub-grid[data-v-2b587abb],.equip-grid[data-v-2b587abb],.equip-row[data-v-2b587abb]{grid-template-columns:1fr}}.detail-item[data-v-619dce5f]{padding:4px 0;border-radius:4px;transition:background .2s}.detail-item-overdue[data-v-619dce5f]{background:var(--overdue-bg, #fef2f2);border-left:3px solid var(--overdue-border, #dc2626);padding-left:8px;padding-right:6px;margin:2px 0}.detail-item-soon[data-v-619dce5f]{background:var(--soon-bg, #fefce8);border-left:3px solid var(--soon-border, #ca8a04);padding-left:8px;padding-right:6px;margin:2px 0}.status-dot[data-v-619dce5f]{font-size:10px;margin-right:3px;vertical-align:middle}.status-dot-overdue[data-v-619dce5f]{color:var(--overdue-dot, #dc2626)}.status-dot-soon[data-v-619dce5f]{color:var(--soon-dot, #ca8a04)}.text-muted[data-v-619dce5f]{color:var(--slate-300)!important}.detail-compact-grid[data-v-fc63739b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 20px}.vhf-detail-grid[data-v-fc63739b]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vhf-detail-group[data-v-fc63739b]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px}.vhf-detail-title[data-v-fc63739b]{font-weight:700;font-size:.85rem;color:var(--teal-dark);margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid var(--slate-200)}.vhf-detail-group .detail-item[data-v-fc63739b]{padding:6px 0}.vhf-detail-group .detail-item+.detail-item[data-v-fc63739b]{border-top:1px solid var(--slate-100)}.sub-detail-grid[data-v-fc63739b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.sub-detail-group[data-v-fc63739b]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px}.sub-detail-title[data-v-fc63739b]{font-weight:700;font-size:.85rem;color:var(--teal-dark);margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid var(--slate-200)}.sub-detail-group .detail-item[data-v-fc63739b]{padding:6px 0}.sub-detail-group .detail-item+.detail-item[data-v-fc63739b]{border-top:1px solid var(--slate-100)}.detail-sub-grid[data-v-fc63739b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.detail-sub-group[data-v-fc63739b]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:12px}.detail-sub-title[data-v-fc63739b]{font-weight:700;font-size:.8rem;color:var(--teal-dark);margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid var(--slate-200)}.detail-sub-group .detail-item[data-v-fc63739b]{padding:5px 0}.detail-sub-group .detail-item+.detail-item[data-v-fc63739b]{border-top:1px solid var(--slate-100)}@media(max-width:1024px){.vhf-detail-grid[data-v-fc63739b]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.vhf-detail-grid[data-v-fc63739b],.sub-detail-grid[data-v-fc63739b],.detail-sub-grid[data-v-fc63739b]{grid-template-columns:1fr}}.sr-print-letterhead[data-v-fc63739b]{margin-bottom:0}.sr-letterhead-img[data-v-fc63739b]{display:block;width:100%;height:auto}.ship-print-title[data-v-fc63739b]{text-align:center;font-size:1.1rem;font-weight:800;margin:24px 0 20px;letter-spacing:.05em}.stock-row[data-v-fc63739b]{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;margin-top:8px;background:#fefce8;border:1px solid #e6d88a;border-radius:var(--radius);font-size:.8rem}.stock-label[data-v-fc63739b]{font-weight:700;color:#92400e;white-space:nowrap}.stock-badge[data-v-fc63739b]{background:#fff;border:1px solid #d4c56a;border-radius:4px;padding:2px 8px;color:#713f12}.sub-detail-group .stock-row[data-v-fc63739b],.vhf-detail-group .stock-row[data-v-fc63739b]{margin-top:12px}.stock-used-item[data-v-fc63739b]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--slate-50);border-radius:8px;border:1px solid var(--slate-200)}.stock-used-name[data-v-fc63739b]{font-weight:600;font-size:.85rem;color:var(--slate-900);flex:1}.stock-used-qty[data-v-fc63739b]{font-weight:700;font-size:.82rem;color:var(--teal-dark);white-space:nowrap}.stock-used-cat[data-v-fc63739b]{font-size:.7rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em}.sr-history-list[data-v-fc63739b]{display:flex;flex-direction:column;gap:6px}.sr-history-item[data-v-fc63739b]{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius-sm)}.sr-history-left[data-v-fc63739b]{display:flex;flex-direction:column;gap:2px;min-width:140px}.sr-history-no[data-v-fc63739b]{font-size:.82rem;font-weight:700;color:var(--teal-dark);text-decoration:none}.sr-history-no[data-v-fc63739b]:hover{text-decoration:underline}.sr-history-date[data-v-fc63739b]{font-size:.68rem;color:var(--slate-500)}.sr-history-mid[data-v-fc63739b]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sr-history-fault[data-v-fc63739b]{font-size:.75rem;font-weight:500;color:var(--slate-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-history-action[data-v-fc63739b]{font-size:.7rem;color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-history-right[data-v-fc63739b]{flex-shrink:0}.sr-history-engineer[data-v-fc63739b]{font-size:.72rem;font-weight:600;color:var(--slate-600)}.forecast-cards[data-v-157e9d55]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}.stat-card[data-v-157e9d55]{background:var(--bg-card);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px 16px;text-align:center}.stat-label[data-v-157e9d55]{font-size:.72rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.stat-value[data-v-157e9d55]{font-size:1.6rem;font-weight:800;color:var(--slate-900);line-height:1.1}.stat-critical[data-v-157e9d55]{border-left:3px solid #dc2626}.stat-critical .stat-value[data-v-157e9d55]{color:#dc2626}.stat-warning[data-v-157e9d55]{border-left:3px solid #d97706}.stat-warning .stat-value[data-v-157e9d55]{color:#d97706}.stat-healthy[data-v-157e9d55]{border-left:3px solid #16a34a}.stat-healthy .stat-value[data-v-157e9d55]{color:#16a34a}.chart-row[data-v-157e9d55]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.chart-box[data-v-157e9d55]{background:var(--bg-card);border:1px solid var(--slate-200);border-radius:var(--radius);padding:16px}.chart-box-donut[data-v-157e9d55]{max-width:360px;justify-self:center;width:100%}.chart-title[data-v-157e9d55]{margin:0 0 12px;font-size:.82rem;font-weight:700;color:var(--slate-600)}.forecast-filters[data-v-157e9d55]{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.filter-input[data-v-157e9d55]{flex:1;min-width:180px;padding:7px 12px;border:1px solid var(--slate-300);border-radius:6px;font-size:.82rem;background:var(--bg-input);color:var(--slate-800)}.filter-select[data-v-157e9d55]{padding:7px 12px;border:1px solid var(--slate-300);border-radius:6px;font-size:.82rem;background:var(--bg-input);color:var(--slate-800);min-width:140px}.table-wrap[data-v-157e9d55]{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--slate-200)}.forecast-table[data-v-157e9d55]{width:100%;border-collapse:collapse;font-size:.8rem}.forecast-table th[data-v-157e9d55]{background:var(--slate-50);padding:8px 10px;text-align:left;font-weight:700;font-size:.72rem;color:var(--slate-500);border-bottom:2px solid var(--slate-200);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.forecast-table th[data-v-157e9d55]:hover{color:var(--slate-800)}.forecast-table td[data-v-157e9d55]{padding:7px 10px;border-bottom:1px solid var(--slate-100);vertical-align:middle}.td-name[data-v-157e9d55]{font-weight:600;color:var(--slate-900)}.td-code[data-v-157e9d55]{font-size:.7rem;color:var(--slate-400);margin-left:4px;font-weight:400}.td-stock[data-v-157e9d55]{font-weight:700}.td-stock.low-stock[data-v-157e9d55]{color:#dc2626}.td-empty[data-v-157e9d55]{text-align:center;padding:24px;color:var(--slate-400)}.row-critical td[data-v-157e9d55]{background:#dc262608}.row-warning td[data-v-157e9d55]{background:#d9770608}.status-badge[data-v-157e9d55]{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:100px;white-space:nowrap}.badge-critical[data-v-157e9d55]{background:#dc26261a;color:#dc2626}.badge-warning[data-v-157e9d55]{background:#d977061a;color:#d97706}.badge-ok[data-v-157e9d55]{background:#16a34a1a;color:#16a34a}.depletion-critical[data-v-157e9d55]{color:#dc2626;font-weight:700}.depletion-warning[data-v-157e9d55]{color:#d97706;font-weight:700}.depletion-ok[data-v-157e9d55]{color:#16a34a}.td-predicted[data-v-157e9d55]{font-weight:700;color:var(--slate-800)}.td-ship-need[data-v-157e9d55]{font-weight:700;color:#7c3aed}.td-ship-total[data-v-157e9d55]{font-size:.75rem;color:var(--slate-500)}.order-qty[data-v-157e9d55]{font-weight:700;color:#2563eb;display:block}.order-date[data-v-157e9d55]{font-size:.65rem;color:var(--slate-400);display:block}.td-ships[data-v-157e9d55]{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--slate-500);cursor:help}.source-badge[data-v-157e9d55]{font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:100px;white-space:nowrap}.source-ship[data-v-157e9d55]{background:#7c3aed1a;color:#7c3aed}.source-usage[data-v-157e9d55]{background:#0d94881a;color:#0f766e}.source-none[data-v-157e9d55]{background:var(--slate-100);color:var(--slate-400)}.ship-need-trigger[data-v-157e9d55]{cursor:pointer;border-bottom:1px dashed var(--slate-300)}.ship-names-popup[data-v-157e9d55]{position:absolute;background:var(--bg-card);border:1px solid var(--slate-200);border-radius:6px;padding:6px 10px;font-size:.75rem;line-height:1.5;max-width:360px;max-height:240px;overflow-y:auto;box-shadow:0 4px 12px #0000001a;z-index:10;white-space:normal}.ship-link-item[data-v-157e9d55]{padding:2px 0}.ship-link[data-v-157e9d55]{color:#2563eb;text-decoration:none}.ship-link[data-v-157e9d55]:hover{text-decoration:underline;color:#1d4ed8}.td-ship-need[data-v-157e9d55]{position:relative}@media(max-width:768px){.chart-row[data-v-157e9d55]{grid-template-columns:1fr}.chart-box-donut[data-v-157e9d55]{max-width:100%}.forecast-table thead[data-v-157e9d55]{display:none}.forecast-table tr[data-v-157e9d55]{display:block;margin-bottom:10px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-card)}.forecast-table td[data-v-157e9d55]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.forecast-table td[data-v-157e9d55]:before{content:attr(data-label);font-weight:600;color:var(--slate-400);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em}.ship-names-popup[data-v-157e9d55]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);max-width:90vw;max-height:60vh;z-index:999}}.row-low-stock td[data-v-bf657657]{background:var(--low-stock-bg, #fff8f8)!important}.group-list[data-v-bf657657]{display:flex;flex-direction:column;gap:12px}.group-card[data-v-bf657657]{border:1px solid var(--slate-200);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}.group-card .group-header[data-v-bf657657]{display:flex;align-items:center;gap:6px;background:var(--slate-100);padding:8px 12px;font-size:.9rem;border-bottom:2px solid var(--teal-dark);cursor:pointer;-webkit-user-select:none;user-select:none}.group-card .group-header[data-v-bf657657]:hover{background:var(--slate-200)}.group-collapse-btn[data-v-bf657657]{font-size:.75rem;color:var(--slate-500);flex-shrink:0}.group-collapse-btn[data-v-bf657657]:hover{color:var(--teal-dark)}.group-count[data-v-bf657657]{color:var(--slate-500);font-weight:400;font-size:.8rem;margin-left:4px}.group-actions[data-v-bf657657]{position:relative;margin-left:auto}.group-table-wrap[data-v-bf657657]{max-height:280px;overflow-y:auto}.group-table-wrap[data-v-bf657657]::-webkit-scrollbar{width:5px}.group-table-wrap[data-v-bf657657]::-webkit-scrollbar-track{background:var(--slate-100)}.group-table-wrap[data-v-bf657657]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.group-table-wrap[data-v-bf657657]::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.group-card table[data-v-bf657657]{width:100%;border-collapse:collapse;font-size:.82rem}.group-card table thead[data-v-bf657657]{position:sticky;top:0;z-index:2}.group-card table thead th[data-v-bf657657]{background:var(--slate-50);padding:7px 12px;text-align:left;font-weight:700;font-size:.72rem;color:var(--slate-500);border-bottom:2px solid var(--slate-200)}.group-card table td[data-v-bf657657]{padding:7px 12px;border-bottom:1px solid var(--slate-100);vertical-align:middle}.group-card table tbody tr[data-v-bf657657]:hover{background:var(--slate-50)}.group-actions .btn-group-dropdown[data-v-bf657657]{background:none;border:none;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 4px;color:var(--slate-500)}.group-actions .btn-group-dropdown[data-v-bf657657]:hover{color:var(--slate-900)}.group-dropdown-menu[data-v-bf657657]{position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--slate-200);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:140px;padding:4px 0}.group-dropdown-item[data-v-bf657657]{display:block;width:100%;padding:6px 14px;font-size:.82rem;color:var(--slate-700);text-align:left;background:none;border:none;cursor:pointer;text-decoration:none}.group-dropdown-item[data-v-bf657657]:hover{background:var(--slate-50);color:var(--teal)}.qty-badge[data-v-bf657657]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:2px 10px;border-radius:100px;font-weight:700;font-size:.85rem}.qty-ok[data-v-bf657657]{background:#0d94881a;color:var(--teal-dark)}.qty-low[data-v-bf657657]{background:#e11d481a;color:#991b1b;animation:pulse-bf657657 2s infinite}@keyframes pulse-bf657657{0%,to{opacity:1}50%{opacity:.6}}.barcode-text[data-v-bf657657]{cursor:pointer;font-size:.78rem;background:var(--slate-50);padding:2px 6px;border-radius:4px;color:var(--slate-600)}.barcode-text[data-v-bf657657]:hover{color:var(--teal-dark);background:#0d948814}.movement-type-toggle[data-v-bf657657]{display:flex;gap:8px}.movement-type-toggle .btn[data-v-bf657657]{flex:1}.modal-wide[data-v-bf657657]{max-width:560px;max-height:70vh;overflow-y:auto}.modal-header-row[data-v-bf657657]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.modal-header-row h3[data-v-bf657657]{margin:0;flex:1}.modal-header-row .btn[data-v-bf657657]{flex-shrink:0}.history-list[data-v-bf657657]{display:flex;flex-direction:column;gap:6px}.history-item[data-v-bf657657]{display:flex;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--slate-100);transition:var(--transition)}.history-item[data-v-bf657657]:hover{border-color:var(--slate-200)}.hm-marker[data-v-bf657657]{font-size:1.1rem;padding-top:2px}.hm-body[data-v-bf657657]{flex:1;min-width:0}.hm-top[data-v-bf657657]{display:flex;align-items:center;gap:10px;margin-bottom:2px}.hm-type[data-v-bf657657]{padding:1px 8px;border-radius:100px;font-size:.68rem;font-weight:700;text-transform:uppercase}.hm-qty[data-v-bf657657]{font-weight:800;font-size:.95rem}.hm-in .hm-qty[data-v-bf657657]{color:#16a34a}.hm-out .hm-qty[data-v-bf657657]{color:#dc2626}.hm-time[data-v-bf657657]{margin-left:auto;font-size:.72rem;color:var(--slate-400)}.hm-ref[data-v-bf657657]{font-size:.75rem;color:var(--slate-500)}.hm-notes[data-v-bf657657]{font-size:.78rem;color:var(--slate-500);margin-top:2px}.empty-mini[data-v-bf657657]{text-align:center;padding:24px;color:var(--slate-400)}.empty-mini p[data-v-bf657657]{margin-bottom:0}.card-scroll[data-v-bf657657]{max-height:400px;overflow-y:auto}.card-scroll[data-v-bf657657]::-webkit-scrollbar{width:6px}.card-scroll[data-v-bf657657]::-webkit-scrollbar-track{background:var(--slate-100);border-radius:4px}.card-scroll[data-v-bf657657]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.card-scroll[data-v-bf657657]::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.page-header-actions[data-v-bf657657]{display:flex;align-items:center;gap:12px}.warehouse-tabs[data-v-bf657657]{display:flex;gap:4px}.movement-tabs[data-v-bf657657]{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--slate-200);background:var(--slate-50)}.movement-tabs .btn[data-v-bf657657]{font-size:.78rem}.movement-list[data-v-bf657657]{display:flex;flex-direction:column}.movement-row[data-v-bf657657]{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--slate-100);transition:var(--transition)}.movement-row[data-v-bf657657]:last-child{border-bottom:none}.movement-row[data-v-bf657657]:hover{background:var(--slate-50)}.movement-icon[data-v-bf657657]{font-size:1.1rem;padding-top:2px}.movement-body[data-v-bf657657]{flex:1;min-width:0}.movement-top[data-v-bf657657]{display:flex;align-items:center;gap:8px;margin-bottom:2px}.movement-top strong[data-v-bf657657]{font-size:.85rem}.movement-type-badge[data-v-bf657657]{padding:1px 8px;border-radius:100px;font-size:.65rem;font-weight:700;letter-spacing:.3px}.badge-in[data-v-bf657657]{background:#0d94881a;color:#0f766e}.badge-out[data-v-bf657657]{background:#e11d481a;color:#991b1b}.movement-details[data-v-bf657657]{display:flex;align-items:center;gap:12px;font-size:.78rem;color:var(--slate-500);flex-wrap:wrap}.movement-qty[data-v-bf657657]{font-weight:800;font-size:.9rem}.qty-in[data-v-bf657657]{color:#16a34a}.qty-out[data-v-bf657657]{color:#dc2626}.movement-ref[data-v-bf657657]{color:var(--slate-400)}.movement-time[data-v-bf657657]{margin-left:auto;font-size:.72rem;color:var(--slate-400)}.movement-notes[data-v-bf657657]{margin-top:4px;font-size:.78rem;color:var(--slate-500);background:var(--slate-50);padding:4px 10px;border-radius:4px;display:inline-block}@media(max-width:768px){.group-table-wrap table thead[data-v-bf657657]{display:none}.group-table-wrap table tr[data-v-bf657657]{display:block;margin-bottom:8px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:8px 10px;background:var(--bg-card)}.group-table-wrap table td[data-v-bf657657]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.group-table-wrap table td[data-v-bf657657]:before{content:attr(data-label);font-weight:600;color:var(--slate-400);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em}.group-table-wrap table td[data-label=Actions][data-v-bf657657]{flex-direction:row;justify-content:flex-end;padding-top:4px;margin-top:3px;border-top:1px solid var(--slate-100)}.group-table-wrap table td[data-label=Actions][data-v-bf657657]:before{display:none}}.timeline[data-v-f71bc2fc]{display:flex;flex-direction:column;gap:2px}.timeline-item[data-v-f71bc2fc]{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--slate-100);transition:var(--transition)}.timeline-item[data-v-f71bc2fc]:hover{background:var(--slate-50);margin:0 -12px;padding:14px 12px;border-radius:var(--radius-sm)}.tl-marker[data-v-f71bc2fc]{flex-shrink:0;width:36px;display:flex;justify-content:center;padding-top:2px}.tl-icon[data-v-f71bc2fc]{font-size:1rem}.tl-content[data-v-f71bc2fc]{flex:1;min-width:0}.tl-header[data-v-f71bc2fc]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.tl-action[data-v-f71bc2fc]{padding:1px 10px;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-create[data-v-f71bc2fc]{background:#0d94881a;color:#0f766e}.badge-update[data-v-f71bc2fc]{background:#f59e0b1a;color:#92400e}.badge-delete[data-v-f71bc2fc]{background:#e11d481a;color:#991b1b}.tl-entity[data-v-f71bc2fc]{font-size:.75rem;color:var(--slate-400);font-weight:500}.tl-user[data-v-f71bc2fc]{font-size:.72rem;font-weight:600;color:var(--teal);background:#0d948814;padding:1px 8px;border-radius:100px;white-space:nowrap}.tl-time[data-v-f71bc2fc]{margin-left:auto;font-size:.72rem;color:var(--slate-400);white-space:nowrap}.tl-name[data-v-f71bc2fc]{font-weight:600;font-size:.9rem;color:var(--slate-900)}.tl-details[data-v-f71bc2fc]{margin-top:6px;padding:8px 10px;background:var(--slate-50);border-radius:var(--radius-sm);font-size:.78rem}.tl-meta[data-v-f71bc2fc]{color:var(--slate-500);font-size:.75rem}.tl-diff[data-v-f71bc2fc]{display:flex;gap:6px;align-items:baseline;padding:2px 0}.diff-field[data-v-f71bc2fc]{font-weight:600;color:var(--slate-600);min-width:100px}.diff-arrow[data-v-f71bc2fc]{color:var(--slate-300);font-size:.7rem}.diff-from[data-v-f71bc2fc]{color:#dc2626;text-decoration:line-through;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-to[data-v-f71bc2fc]{color:#16a34a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-zone[data-v-96e10468]{border:2px dashed var(--slate-300);border-radius:var(--radius);padding:36px 20px;text-align:center;cursor:pointer;transition:var(--transition);background:var(--slate-50)}.upload-zone[data-v-96e10468]:hover,.upload-zone.drag-over[data-v-96e10468]{border-color:var(--teal);background:#0d94880a}.upload-icon[data-v-96e10468]{font-size:2.4rem;margin-bottom:8px}.upload-placeholder p[data-v-96e10468]{margin:4px 0;color:var(--slate-500);font-size:.95rem}.upload-hint[data-v-96e10468]{font-size:.78rem!important;color:var(--slate-400)!important}.upload-selected p[data-v-96e10468]{margin:4px 0;font-size:1rem}.result-summary[data-v-96e10468]{display:flex;gap:20px}.result-stat[data-v-96e10468]{display:flex;flex-direction:column;align-items:center;padding:16px 24px;border-radius:var(--radius);min-width:100px}.result-number[data-v-96e10468]{font-size:1.8rem;font-weight:800}.result-label[data-v-96e10468]{font-size:.78rem;color:var(--slate-500);font-weight:600;text-transform:uppercase}.result-ok[data-v-96e10468]{background:#0d948814}.result-ok .result-number[data-v-96e10468]{color:#0f766e}.result-err[data-v-96e10468]{background:#e11d4814}.result-err .result-number[data-v-96e10468]{color:#dc2626}@media(max-width:640px){.upload-zone[data-v-96e10468]{padding:24px 16px}.result-summary[data-v-96e10468]{flex-direction:column;gap:8px}.result-stat[data-v-96e10468]{flex-direction:row;gap:12px;padding:12px 16px;min-width:auto}.result-number[data-v-96e10468]{font-size:1.3rem}.table-wrapper table thead[data-v-96e10468]{display:none}.table-wrapper table tr[data-v-96e10468]{display:block;margin-bottom:8px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:8px 10px;background:var(--bg-card)}.table-wrapper table td[data-v-96e10468]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.table-wrapper table td[data-v-96e10468]:before{content:attr(data-label);font-weight:600;color:var(--slate-400);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em}}.modal-wide[data-v-f5581fe8]{max-width:800px;max-height:80vh;overflow-y:auto}.modal-header-row[data-v-f5581fe8]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.modal-header-row h3[data-v-f5581fe8]{margin:0;flex:1}.modal-header-row .btn[data-v-f5581fe8]{flex-shrink:0}.perm-table input[type=checkbox][data-v-f5581fe8]{width:20px;height:20px;cursor:pointer;accent-color:var(--teal)}@media(max-width:768px){.modal-overlay .modal.modal-wide .perm-table thead[data-v-f5581fe8]{display:none}.modal-overlay .modal.modal-wide .perm-table tr[data-v-f5581fe8]{display:flex;flex-wrap:wrap;padding:10px 12px;margin-bottom:8px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--bg-card)}.modal-overlay .modal.modal-wide .perm-table td[data-v-f5581fe8]{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;min-height:44px;font-size:.82rem;flex:0 0 50%}.modal-overlay .modal.modal-wide .perm-table td[data-v-f5581fe8]:first-child{flex:0 0 100%;font-weight:700;font-size:.85rem;border-bottom:1px solid var(--slate-100);margin-bottom:4px;padding-bottom:8px}.modal-overlay .modal.modal-wide .perm-table td[data-v-f5581fe8]:first-child:before{display:none}.modal-overlay .modal.modal-wide .perm-table td[data-v-f5581fe8]:before{content:attr(data-label);font-size:.7rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em;min-width:60px}.modal-overlay .modal.modal-wide .perm-table input[type=checkbox][data-v-f5581fe8]{width:24px;height:24px;margin-left:auto}.modal-overlay .modal.modal-wide .table-wrapper[data-v-f5581fe8]{max-height:none;overflow:visible}.modal-wide[data-v-f5581fe8]{max-height:85vh}}@media(max-width:768px){.table-wrapper table thead[data-v-f5581fe8]{display:none}.table-wrapper table tr[data-v-f5581fe8]{display:block;margin-bottom:10px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-card)}.table-wrapper table td[data-v-f5581fe8]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.table-wrapper table td[data-v-f5581fe8]:before{content:attr(data-label);font-weight:600;color:var(--slate-400);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em}.table-wrapper table td[data-label=Actions][data-v-f5581fe8]{flex-direction:row;justify-content:flex-end;padding-top:6px;margin-top:4px;border-top:1px solid var(--slate-100)}.table-wrapper table td[data-label=Actions][data-v-f5581fe8]:before{display:none}}.owner-cards[data-v-f599a082]{display:flex;flex-direction:column;gap:8px}.owner-card[data-v-f599a082]{border:1px solid var(--slate-200);border-radius:10px;background:var(--bg-card);overflow:hidden;transition:box-shadow .15s}.owner-card-header[data-v-f599a082]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--slate-50);border-bottom:1px solid var(--slate-200);transition:background .15s}.owner-card-header[data-v-f599a082]:hover{background:#0d94880f}.owner-card-info[data-v-f599a082]{display:flex;align-items:center;gap:12px}.owner-card-name[data-v-f599a082]{font-weight:700;font-size:14px;color:var(--slate-900)}.owner-card-toggle[data-v-f599a082]{color:var(--slate-400);font-size:13px}.owner-card-body[data-v-f599a082]{padding:12px 18px}.badge-count[data-v-f599a082]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 8px;border-radius:12px;background:var(--teal);color:#fff;font-size:11px;font-weight:600}.owner-ship-list[data-v-f599a082]{display:flex;flex-direction:column;gap:6px}.owner-ship-item[data-v-f599a082]{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:var(--bg-card);border:1px solid var(--slate-200);cursor:pointer;transition:all .15s}.owner-ship-item[data-v-f599a082]:hover,.owner-ship-item.active[data-v-f599a082]{border-color:var(--teal);background:#0d94880a}.owner-ship-avatar[data-v-f599a082]{width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.owner-ship-info[data-v-f599a082]{flex:1;min-width:0}.owner-ship-name[data-v-f599a082]{font-weight:600;font-size:13px;color:var(--slate-900)}.owner-ship-meta[data-v-f599a082]{font-size:11px;color:var(--slate-500);margin-top:2px}.owner-alerts-row[data-v-f599a082]{display:flex;gap:6px;align-items:center;margin:0 12px;flex-wrap:wrap}.owner-alert[data-v-f599a082]{font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;letter-spacing:.02em}.owner-alert-red[data-v-f599a082]{background:#dc26261a;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.owner-alert-amber[data-v-f599a082]{background:#d977061a;color:#92400e;border:1px solid rgba(217,119,6,.2)}.ship-alerts-row[data-v-f599a082]{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.ship-alert-tag[data-v-f599a082]{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:600;padding:2px 8px 2px 5px;border-radius:10px;white-space:nowrap;letter-spacing:.01em;text-transform:uppercase}.ship-alert-overdue[data-v-f599a082]{background:#dc262614;color:#b91c1c}.ship-alert-soon[data-v-f599a082]{background:#d9770614;color:#92400e}.ship-alert-dot[data-v-f599a082]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-red[data-v-f599a082]{background:#dc2626}.dot-amber[data-v-f599a082]{background:#d97706}[data-theme=dark] .owner-alert-red[data-v-f599a082]{background:#fca5a51a;color:#fca5a5;border-color:#fca5a533}[data-theme=dark] .owner-alert-amber[data-v-f599a082]{background:#fcd34d1a;color:#fcd34d;border-color:#fcd34d33}[data-theme=dark] .ship-alert-overdue[data-v-f599a082]{background:#fca5a514;color:#fca5a5}[data-theme=dark] .ship-alert-soon[data-v-f599a082]{background:#fcd34d14;color:#fcd34d}[data-theme=dark] .dot-red[data-v-f599a082]{background:#fca5a5}[data-theme=dark] .dot-amber[data-v-f599a082]{background:#fcd34d}.owner-ship-arrow[data-v-f599a082]{color:var(--slate-400);font-size:16px;flex-shrink:0}.owner-ship-detail[data-v-f599a082]{margin-top:12px;padding:16px;border-radius:10px;background:var(--bg-card);border:2px solid var(--teal)}.owner-ship-detail-header[data-v-f599a082]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--slate-200)}.owner-ship-detail-header h4[data-v-f599a082]{margin:0;font-size:16px;font-weight:700;color:var(--teal)}.detail-grid[data-v-f599a082],.detail-compact-grid[data-v-f599a082]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 20px}.sub-detail-grid[data-v-f599a082]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.sub-detail-group[data-v-f599a082]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:8px;padding:12px}.sub-detail-title[data-v-f599a082]{font-weight:700;font-size:.85rem;color:var(--teal);margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid var(--slate-200)}.filter-row[data-v-f599a082]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-input[data-v-f599a082]{padding:6px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.8rem;background:var(--bg-input);color:var(--slate-800);min-width:120px;flex:1}.filter-input[data-v-f599a082]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.filter-input[data-v-f599a082]::placeholder{color:var(--slate-400);font-size:.75rem}@media(max-width:640px){.filter-row[data-v-f599a082]{flex-direction:column;gap:6px}.filter-input[data-v-f599a082]{min-width:0;width:100%;flex:none}.owner-card-header[data-v-f599a082]{flex-wrap:wrap;gap:6px;padding:10px 12px}.owner-card-info[data-v-f599a082]{flex:1 1 100%}.owner-alerts-row[data-v-f599a082]{margin:0;flex:1 1 100%;order:1}.owner-card-toggle[data-v-f599a082]{order:2}.owner-card-body[data-v-f599a082]{padding:8px 10px}.owner-ship-item[data-v-f599a082]{gap:8px;padding:8px 10px;flex-wrap:wrap}.owner-ship-avatar[data-v-f599a082]{width:28px;height:28px;font-size:11px}.owner-ship-info[data-v-f599a082]{flex:1 1 calc(100% - 44px)}.owner-ship-name[data-v-f599a082]{font-size:12px}.owner-ship-meta[data-v-f599a082]{font-size:10px}.ship-alerts-row[data-v-f599a082]{margin-top:3px}.ship-alert-tag[data-v-f599a082]{font-size:8px;padding:1px 6px 1px 4px}.owner-ship-arrow[data-v-f599a082]{font-size:14px;align-self:flex-start;margin-top:4px}.owner-ship-detail[data-v-f599a082]{padding:10px}.owner-ship-detail-header h4[data-v-f599a082]{font-size:14px}.detail-grid[data-v-f599a082],.detail-compact-grid[data-v-f599a082],.sub-detail-grid[data-v-f599a082]{grid-template-columns:1fr}.owner-alert[data-v-f599a082]{font-size:9px;padding:2px 8px}}@media(max-width:480px){.owner-alerts-row[data-v-f599a082]{gap:4px}.owner-alert[data-v-f599a082]{font-size:8px;padding:2px 6px}.ship-alert-tag[data-v-f599a082]{font-size:7px;padding:1px 5px 1px 3px}.badge-count[data-v-f599a082]{font-size:10px;min-width:22px;height:20px;padding:0 6px}}.sr-form[data-v-bb2ef666]{max-width:1100px;margin:0 auto}.sr-form-letterhead[data-v-bb2ef666]{margin-bottom:0}.sr-letterhead-img[data-v-bb2ef666]{display:block;width:100%;height:auto}.sr-header[data-v-bb2ef666]{text-align:center;margin:24px 0}.sr-header h2[data-v-bb2ef666]{font-size:1.2rem;font-weight:800;margin:0 0 8px;letter-spacing:.05em}.sr-no-row[data-v-bb2ef666]{display:flex;align-items:center;justify-content:center;gap:8px}.sr-no-row label[data-v-bb2ef666]{font-weight:700;font-size:.85rem}.sr-no-input[data-v-bb2ef666]{width:220px;text-align:center;font-weight:700;background:var(--bg-input);border:1px solid var(--slate-300);border-radius:6px;padding:6px 12px;font-size:.85rem}.sr-section[data-v-bb2ef666]{margin-bottom:24px;padding:16px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--slate-200)}.sr-section-title[data-v-bb2ef666]{font-size:.85rem;font-weight:700;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--teal-dark);color:var(--slate-800)}.sr-grid-2[data-v-bb2ef666]{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.sr-field[data-v-bb2ef666]{display:flex;align-items:center;gap:6px}.sr-field label[data-v-bb2ef666]{font-weight:600;font-size:.78rem;color:var(--slate-500);white-space:nowrap;min-width:100px}.sr-field input[data-v-bb2ef666],.sr-field select[data-v-bb2ef666]{flex:1;padding:6px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.82rem;background:var(--bg-input);color:var(--slate-800)}.sr-field input[data-v-bb2ef666]:focus,.sr-field select[data-v-bb2ef666]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.sig-input-wrap[data-v-bb2ef666]{display:flex;align-items:center;gap:8px;flex:1}.sig-input-wrap select[data-v-bb2ef666]{flex:1}.sig-preview[data-v-bb2ef666]{max-height:36px;max-width:120px;object-fit:contain;border:1px solid var(--slate-200);border-radius:4px;padding:2px 6px;background:#fff}.qr-preview[data-v-bb2ef666]{width:60px;height:60px;object-fit:contain;flex-shrink:0}.sig-field .sr-field label[data-v-bb2ef666]{min-width:120px}.engineer-select-wrap[data-v-bb2ef666]{display:flex;align-items:center;gap:8px;flex:1}.engineer-select[data-v-bb2ef666]{flex:1;padding:6px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.82rem;background:var(--bg-input);color:var(--slate-800)}.engineer-select-photo[data-v-bb2ef666]{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--teal);flex-shrink:0}.imo-spinner[data-v-bb2ef666]{display:inline-block;width:14px;height:14px;border:2px solid var(--slate-200);border-top-color:var(--teal);border-radius:50%;animation:imoSpin-bb2ef666 .6s linear infinite;flex-shrink:0}@keyframes imoSpin-bb2ef666{to{transform:rotate(360deg)}}.sr-table[data-v-bb2ef666]{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:8px}.sr-table th[data-v-bb2ef666]{background:var(--slate-50);padding:6px 8px;text-align:left;font-weight:700;font-size:.75rem;color:var(--slate-500);border-bottom:2px solid var(--slate-200)}.sr-table td[data-v-bb2ef666]{padding:4px 8px;border-bottom:1px solid var(--slate-100)}.sr-table input[data-v-bb2ef666]{width:100%;padding:4px 6px;border:1px solid var(--slate-300);border-radius:4px;font-size:.8rem;background:var(--bg-input);color:var(--slate-800)}.sr-table input[data-v-bb2ef666]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.sr-table select[data-v-bb2ef666]{width:100%;padding:4px 6px;border:1px solid var(--slate-300);border-radius:4px;font-size:.8rem;background:var(--bg-input);color:var(--slate-800)}.sr-table input[readonly][data-v-bb2ef666]{background:var(--slate-100);color:var(--slate-500);cursor:default}.part-stock-select[data-v-bb2ef666]{max-width:180px}.part-custom-input[data-v-bb2ef666]{margin-top:2px}.qty-input[data-v-bb2ef666]{width:70px!important;text-align:center}.sr-work-grid[data-v-bb2ef666]{display:grid;grid-template-columns:1fr;gap:12px}.sr-work-item[data-v-bb2ef666]{display:flex;flex-direction:column}.sr-work-item label[data-v-bb2ef666]{font-weight:600;font-size:.78rem;color:var(--slate-500);margin-bottom:4px}.sr-work-item textarea[data-v-bb2ef666]{width:100%;padding:8px;border:1px solid var(--slate-300);border-radius:6px;font-size:.82rem;resize:vertical;background:var(--bg-input);color:var(--slate-800);font-family:inherit}.sr-work-item textarea[data-v-bb2ef666]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.sr-parts-expenses[data-v-bb2ef666]{display:flex;gap:20px}.sr-parts-col[data-v-bb2ef666]{flex:1}.sr-expenses-col[data-v-bb2ef666]{width:260px}.expense-row[data-v-bb2ef666]{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;background:var(--slate-50);border-radius:6px;cursor:pointer}.expense-row input[type=checkbox][data-v-bb2ef666]{width:18px;height:18px;accent-color:var(--teal-dark);cursor:pointer}.expense-label[data-v-bb2ef666]{font-weight:700;font-size:.82rem;color:var(--slate-600);text-transform:uppercase;letter-spacing:.03em;cursor:pointer}.expense-row[data-v-bb2ef666]:has(input:checked){background:#0d948814}.expense-row:has(input:checked) .expense-label[data-v-bb2ef666]{color:var(--teal-dark)}.sr-actions[data-v-bb2ef666]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-xs[data-v-bb2ef666]{padding:2px 8px;font-size:.7rem}@media(max-width:768px){.sr-grid-2[data-v-bb2ef666]{grid-template-columns:1fr}.sr-parts-expenses[data-v-bb2ef666]{flex-direction:column}.sr-expenses-col[data-v-bb2ef666]{width:100%}.sr-form[data-v-bb2ef666]{max-width:100%}.sr-section[data-v-bb2ef666]{padding:12px}.sr-field[data-v-bb2ef666]{flex-direction:column;align-items:stretch}.sr-field label[data-v-bb2ef666]{min-width:auto}.sr-field input[data-v-bb2ef666],.sr-field select[data-v-bb2ef666]{width:100%}.sr-table[data-v-bb2ef666]{min-width:auto}.sr-table-wrap[data-v-bb2ef666]{overflow-x:auto;-webkit-overflow-scrolling:touch}.sr-table input[type=time][data-v-bb2ef666]{min-width:90px}.sr-table input[type=number][data-v-bb2ef666]{min-width:50px}.sr-header h2[data-v-bb2ef666]{font-size:1rem}.sr-no-input[data-v-bb2ef666]{width:180px;font-size:.8rem}}[data-theme=dark] .sr-field input[data-v-bb2ef666],[data-theme=dark] .sr-field select[data-v-bb2ef666],[data-theme=dark] .sr-table input[data-v-bb2ef666],[data-theme=dark] .sr-table select[data-v-bb2ef666],[data-theme=dark] .sr-work-item textarea[data-v-bb2ef666],[data-theme=dark] .sr-no-input[data-v-bb2ef666]{background:var(--bg-input);color:var(--slate-800)}[data-theme=dark] .sr-table input[readonly][data-v-bb2ef666]{background:var(--slate-200);color:var(--slate-400)}[data-theme=dark] .expense-row[data-v-bb2ef666]{background:var(--slate-100)}.sr-print-view[data-v-e8b8c2ef]{max-width:820px;margin:0 auto;background:var(--bg-card);padding:0 28px 20px;border-radius:var(--radius-md);border:1px solid var(--slate-200)}.sr-print-letterhead[data-v-e8b8c2ef]{margin:0 -28px}.sr-letterhead-img[data-v-e8b8c2ef]{display:block;width:100%;height:auto;max-height:72px;object-fit:cover}.sr-print-header[data-v-e8b8c2ef]{text-align:center;margin:14px 0}.sr-print-header h2[data-v-e8b8c2ef]{font-size:1.15rem;margin:0;letter-spacing:1px;text-transform:uppercase}.sr-print-no[data-v-e8b8c2ef]{font-size:.8rem;color:var(--slate-500);margin-top:2px}.sr-print-section[data-v-e8b8c2ef]{margin-bottom:10px;padding:8px 10px;border:1px solid var(--slate-200);border-radius:var(--radius-sm)}.sr-print-section h3[data-v-e8b8c2ef]{font-size:.82rem;font-weight:700;margin:0 0 5px;padding-bottom:3px;border-bottom:2px solid var(--teal-dark);color:var(--slate-900)}.print-table[data-v-e8b8c2ef]{width:100%;border-collapse:collapse;font-size:.78rem}.print-table th[data-v-e8b8c2ef]{background:var(--slate-50);padding:3px 7px;text-align:left;font-weight:600;font-size:.7rem;color:var(--slate-500);border-bottom:2px solid var(--slate-200)}.print-table td[data-v-e8b8c2ef]{padding:3px 7px;border-bottom:1px solid var(--slate-100);vertical-align:top}.print-table tr:last-child td[data-v-e8b8c2ef]{border-bottom:none}.print-table .pl[data-v-e8b8c2ef]{font-weight:600;color:var(--slate-500);white-space:nowrap;width:130px}.print-table .pv[data-v-e8b8c2ef]{font-weight:500}.work-block[data-v-e8b8c2ef]{display:grid;grid-template-columns:1fr;gap:5px}.work-item[data-v-e8b8c2ef]{padding:5px 7px;background:var(--slate-50);border-radius:4px}.work-item strong[data-v-e8b8c2ef]{font-size:.7rem;color:var(--teal-dark);display:block}.work-item p[data-v-e8b8c2ef]{margin:2px 0 0;font-size:.75rem;white-space:pre-wrap;color:var(--slate-700)}.parts-expenses-row[data-v-e8b8c2ef]{display:flex;gap:10px;align-items:flex-start}.parts-col[data-v-e8b8c2ef]{flex:1;min-width:0}.expenses-col[data-v-e8b8c2ef]{width:190px;flex-shrink:0}.expenses-col td[data-v-e8b8c2ef]{border:none!important;padding:2px 7px!important}.signatures-row[data-v-e8b8c2ef]{display:flex;gap:28px;margin-top:4px;align-items:stretch}.sig-box[data-v-e8b8c2ef]{flex:1;display:flex;flex-direction:column;gap:3px;padding:0 6px}.sig-divider[data-v-e8b8c2ef]{border-top:1px solid var(--slate-300)}.sig-label[data-v-e8b8c2ef]{font-size:.68rem;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:.03em;margin-top:1px}.sig-body[data-v-e8b8c2ef]{flex:1;display:flex;align-items:center}.sig-fallback[data-v-e8b8c2ef]{font-size:.72rem;color:var(--slate-400);letter-spacing:.05em}.sig-name[data-v-e8b8c2ef]{font-size:.82rem;font-weight:600;color:var(--slate-900)}.sig-line[data-v-e8b8c2ef]{border-bottom:2px solid var(--slate-400);min-height:16px}.qr-image[data-v-e8b8c2ef]{width:80px;height:80px;image-rendering:pixelated;display:block}.sr-actions-bar[data-v-e8b8c2ef]{display:flex;justify-content:center;gap:8px;margin-top:16px}@media(max-width:768px){.sr-print-view[data-v-e8b8c2ef]{width:100%;max-width:100%;padding:8px;min-width:0;box-sizing:border-box;overflow:hidden}.sr-print-letterhead[data-v-e8b8c2ef]{margin:0 -8px}.sr-letterhead-img[data-v-e8b8c2ef]{max-height:36px;width:100%;height:auto;object-fit:cover;display:block}.sr-print-header h2[data-v-e8b8c2ef]{font-size:.95rem}.sr-print-header[data-v-e8b8c2ef]{margin:8px 0}.sr-print-no[data-v-e8b8c2ef]{font-size:.72rem}.parts-expenses-row[data-v-e8b8c2ef]{flex-direction:column}.expenses-col[data-v-e8b8c2ef]{width:100%}.expenses-col td[data-v-e8b8c2ef]{border:none!important;padding:2px 0!important}.signatures-row[data-v-e8b8c2ef]{flex-direction:column;gap:16px}.sr-print-section[data-v-e8b8c2ef]{padding:6px;overflow:hidden}.sr-print-section h3[data-v-e8b8c2ef]{font-size:.75rem}.print-table[data-v-e8b8c2ef]{width:100%}.print-table thead[data-v-e8b8c2ef]{display:none}.print-table tr[data-v-e8b8c2ef]{display:block;margin-bottom:8px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:8px 10px;background:var(--bg-card);overflow:hidden}.print-table td[data-v-e8b8c2ef]{display:block;padding:2px 0;border:none;overflow-wrap:break-word;word-break:break-word}.print-table td[data-v-e8b8c2ef]:before{content:attr(data-label);display:block;font-weight:600;color:var(--slate-500);font-size:.6rem;text-transform:uppercase;letter-spacing:.03em;overflow-wrap:break-word}.print-table .pl[data-v-e8b8c2ef]{display:none}.print-table .pv[data-v-e8b8c2ef]{font-weight:500}.work-item p[data-v-e8b8c2ef]{font-size:.72rem}.work-item strong[data-v-e8b8c2ef]{font-size:.65rem}.sig-label[data-v-e8b8c2ef]{font-size:.6rem}.sig-body[data-v-e8b8c2ef]{flex:1}.sig-fallback[data-v-e8b8c2ef]{font-size:.65rem}.sig-name[data-v-e8b8c2ef]{font-size:.75rem}.sig-line[data-v-e8b8c2ef]{border-bottom-width:1.5px;min-height:14px}.sr-actions-bar[data-v-e8b8c2ef]{flex-wrap:wrap;justify-content:stretch}.sr-actions-bar .btn[data-v-e8b8c2ef],.sr-actions-bar a[data-v-e8b8c2ef]{flex:1;text-align:center}.qr-image[data-v-e8b8c2ef]{width:70px;height:70px}}.engineer-grid[data-v-ffd5be44]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px}.engineer-card[data-v-ffd5be44]{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--slate-200);border-radius:10px}.engineer-photo-section[data-v-ffd5be44]{position:relative;flex-shrink:0}.engineer-avatar[data-v-ffd5be44]{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--teal);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s}.engineer-avatar[data-v-ffd5be44]:hover{transform:scale(1.05)}.engineer-photo[data-v-ffd5be44]{width:100%;height:100%;object-fit:cover}.engineer-initial[data-v-ffd5be44]{color:#fff;font-weight:700;font-size:1.3rem}.photo-upload-label[data-v-ffd5be44]{position:absolute;bottom:-2px;right:-4px;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;cursor:pointer;border:2px solid var(--bg-card);overflow:hidden}.file-input[data-v-ffd5be44]{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer}.engineer-info[data-v-ffd5be44]{flex:1;min-width:0}.engineer-name[data-v-ffd5be44]{font-weight:700;font-size:.9rem;color:var(--slate-900)}.engineer-email[data-v-ffd5be44]{font-size:.75rem;color:var(--slate-400);margin-top:2px}.engineer-signature-row[data-v-ffd5be44]{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid var(--slate-100)}.engineer-sig-preview[data-v-ffd5be44]{max-height:32px;max-width:140px;object-fit:contain}.engineer-sig-empty[data-v-ffd5be44]{font-size:.7rem;color:var(--slate-400);font-style:italic}.sig-upload-label[data-v-ffd5be44]{cursor:pointer;font-size:.85rem;opacity:.6;transition:opacity .15s;overflow:hidden;position:relative}.sig-upload-label[data-v-ffd5be44]:hover{opacity:1}.engineer-actions[data-v-ffd5be44]{flex-shrink:0;display:flex;flex-direction:column;gap:4px}.photo-full[data-v-ffd5be44]{max-width:100%;max-height:60vh;border-radius:8px}.qr-img[data-v-ffd5be44]{width:280px;height:280px;image-rendering:pixelated}@media(max-width:640px){.engineer-grid[data-v-ffd5be44]{grid-template-columns:1fr}.engineer-card[data-v-ffd5be44]{flex-wrap:wrap}.engineer-actions[data-v-ffd5be44]{flex-direction:row;width:100%;margin-top:8px}}.auth-page[data-v-4856fa07]{min-height:calc(100vh - 100px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card[data-v-4856fa07]{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--slate-200);box-shadow:var(--shadow-lg);padding:40px;width:100%;max-width:420px}.auth-header[data-v-4856fa07]{text-align:center;margin-bottom:32px}.auth-logo[data-v-4856fa07]{height:100px;width:auto;margin-bottom:12px}.auth-header h1[data-v-4856fa07]{font-size:1.5rem;font-weight:800;color:var(--slate-900);margin-bottom:4px}.auth-subtitle[data-v-4856fa07]{font-size:.9rem;color:var(--slate-400)}.auth-btn[data-v-4856fa07]{width:100%;padding:12px;font-size:.95rem;margin-top:8px}.auth-tabs[data-v-4856fa07]{display:flex;margin-bottom:20px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--slate-200)}.auth-tab[data-v-4856fa07]{flex:1;padding:10px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;background:var(--slate-50);color:var(--slate-500);transition:var(--transition)}.auth-tab.active[data-v-4856fa07]{background:var(--bg-card);color:var(--teal-dark);box-shadow:inset 0 -2px 0 var(--teal)}.auth-tab[data-v-4856fa07]:hover:not(.active){background:var(--slate-100)}.theme-toggle-login[data-v-4856fa07]{position:fixed;top:16px;right:16px;background:var(--bg-card);border:1px solid var(--slate-200);font-size:1.3rem;cursor:pointer;padding:8px 12px;border-radius:10px;box-shadow:var(--shadow-sm);transition:var(--transition);line-height:1;z-index:10}.theme-toggle-login[data-v-4856fa07]:hover{box-shadow:var(--shadow);transform:scale(1.05)}.auth-page[data-v-550d9628]{min-height:calc(100vh - 100px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card[data-v-550d9628]{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--slate-200);box-shadow:var(--shadow-lg);padding:40px;width:100%;max-width:420px}.auth-header[data-v-550d9628]{text-align:center;margin-bottom:32px}.auth-logo[data-v-550d9628]{height:100px;width:auto;margin-bottom:12px}.auth-header h1[data-v-550d9628]{font-size:1.5rem;font-weight:800;color:var(--slate-900);margin-bottom:4px}.auth-subtitle[data-v-550d9628]{font-size:.9rem;color:var(--slate-400)}.auth-btn[data-v-550d9628]{width:100%;padding:12px;font-size:.95rem;margin-top:8px}.auth-footer[data-v-550d9628]{text-align:center;margin-top:24px;font-size:.85rem;color:var(--slate-500)}.auth-footer a[data-v-550d9628]{color:var(--teal);font-weight:600;text-decoration:none}.auth-footer a[data-v-550d9628]:hover{text-decoration:underline}:root{--navy: #0f172a;--navy-light: #1e293b;--teal: #0d9488;--teal-light: #14b8a6;--teal-dark: #0f766e;--amber: #f59e0b;--rose: #e11d48;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--bg-body: var(--slate-100);--bg-card: #fff;--bg-input: #fff;--bg-subtle: var(--slate-50);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition: .25s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--slate-50: #0b1120;--slate-100: #111827;--slate-200: #1e293b;--slate-300: #334155;--slate-400: #64748b;--slate-500: #94a3b8;--slate-600: #cbd5e1;--slate-700: #e2e8f0;--slate-800: #f1f5f9;--slate-900: #f8fafc;--bg-body: #0b1120;--bg-card: #111827;--bg-input: #1e293b;--bg-subtle: #1e293b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .35), 0 4px 6px -2px rgba(0, 0, 0, .25);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3)}[data-theme=dark] .alert-success{background:#064e3b;color:#6ee7b7}[data-theme=dark] .alert-danger{background:#450a0a;color:#fca5a5}[data-theme=dark] .alert-info{background:#1e1b4b;color:#93c5fd}[data-theme=dark] tbody tr:nth-child(2n) td{background:#0f1729}[data-theme=dark] tbody tr:hover td{background:#1a2332}[data-theme=dark] tbody tr:nth-child(2n):hover td{background:#1a2332}[data-theme=dark] table thead{background:#0b1120}[data-theme=dark] .alert-item{background:#1a2332}[data-theme=dark] .alert-item-header{background:var(--bg-card);border-bottom-color:var(--slate-200)}[data-theme=dark] .quick-action-btn{background:var(--bg-subtle);border-color:var(--slate-200)}[data-theme=dark] .recent-item{border-bottom-color:var(--slate-200)}[data-theme=dark] .recent-avatar{background:linear-gradient(135deg,#0d9488,#0f766e)}[data-theme=dark] .badge-teal,[data-theme=dark] .badge-create{background:#0d948826;color:#5eead4}[data-theme=dark] .badge-update{background:#f59e0b26;color:#fcd34d}[data-theme=dark] .badge-delete{background:#e11d4826;color:#fca5a5}[data-theme=dark] .badge-in{background:#0d948826;color:#5eead4}[data-theme=dark] .badge-out{background:#e11d4826;color:#fca5a5}[data-theme=dark] .barcode-text{background:var(--bg-subtle);color:var(--slate-400)}[data-theme=dark] .history-item{border-color:var(--slate-200)}[data-theme=dark] .tl-details{background:var(--bg-subtle)}[data-theme=dark] .notif-dropdown{background:var(--bg-card);border-color:var(--slate-200)}[data-theme=dark] .notif-item:hover{background:var(--bg-subtle)}[data-theme=dark] .notif-footer{border-top-color:var(--slate-200)}[data-theme=dark] .notif-footer:hover{background:var(--bg-subtle)}[data-theme=dark] .notif-header{border-bottom-color:var(--slate-200)}[data-theme=dark]{--low-stock-bg: #2d0a0a;--overdue-bg: #450a0a;--overdue-border: #f87171;--overdue-dot: #f87171;--soon-bg: #422006;--soon-border: #fbbf24;--soon-dot: #fbbf24}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}@media screen and (max-width:768px){input,select,textarea{font-size:16px!important}}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-body);color:var(--slate-900);line-height:1.6;min-height:100vh;transition:background .25s,color .25s}.container{max-width:1280px;margin:0 auto;padding:0 24px}.app-header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);color:#fff;padding:0;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #00000026;border-bottom:1px solid rgba(255,255,255,.06)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{display:flex;align-items:center;color:#fff;text-decoration:none}.logo-text{display:flex;flex-direction:column;line-height:1.2}.logo-main{font-size:1.05rem;font-weight:700;color:#fff;letter-spacing:.02em}.logo-sub{font-size:.6rem;font-weight:500;color:#ffffff80;letter-spacing:.05em;text-transform:uppercase}nav{display:flex;gap:4px;align-items:center}.nav-link{position:relative;color:#ffffffb3;text-decoration:none;font-size:.875rem;font-weight:500;padding:8px 14px;border-radius:var(--radius-sm);transition:all .2s ease;white-space:nowrap}.nav-link:hover{color:#fff;background:#ffffff1a;transform:translateY(-1px)}.nav-link.router-link-exact-active{color:#fff;background:#ffffff1f;box-shadow:inset 0 -2px 0 0 var(--teal-light),0 1px 8px #0d948833}.nav-link.router-link-exact-active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:2px;background:var(--teal-light);border-radius:2px 2px 0 0}.nav-dropdown{position:relative}.nav-dropdown-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.dropdown-arrow{font-size:.55rem;transition:transform .2s ease}.nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:180px;background:var(--navy);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000004d;z-index:200;padding:6px;animation:slideDown .15s ease}.nav-dropdown-menu.open{display:flex;flex-direction:column;gap:2px}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-item{color:#ffffffb3;text-decoration:none;font-size:.85rem;font-weight:500;padding:10px 14px;border-radius:var(--radius-sm);transition:all .15s ease;white-space:nowrap}.nav-dropdown-item:hover{color:#fff;background:#ffffff1a}.nav-dropdown-item.router-link-exact-active{color:#fff;background:#ffffff1f}.btn-add{background:linear-gradient(135deg,var(--teal),var(--teal-light))!important;color:#fff!important;font-weight:600;-webkit-text-fill-color:#fff!important;box-shadow:0 2px 8px #0d94884d}.btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0d948866}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:2px solid transparent;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;text-decoration:none;transition:var(--transition);line-height:1.4;gap:6px;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-success{background:linear-gradient(135deg,#065f46,#0d9488);color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 2px 8px #0d948840}.btn-success:hover{box-shadow:0 4px 14px #0d948859}.btn-danger{background:#991b1b;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 2px 8px #e11d4833}.btn-danger:hover{background:#be123c;box-shadow:0 4px 14px #e11d484d}.btn-warning{background:#f59e0b;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 2px 8px #f59e0b33}.btn-warning:hover{background:#d97706;box-shadow:0 4px 14px #f59e0b4d}.btn-outline{background:transparent;border:2px solid var(--slate-200);color:var(--slate-700)}.btn-outline:hover{border-color:var(--teal);color:var(--teal-dark);background:#0d94880a}.btn-sm{padding:6px 12px;font-size:.78rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin:32px 0 24px;gap:16px}.page-header h1{font-size:1.75rem;font-weight:800;color:var(--slate-900);letter-spacing:-.03em}.page-header h1:before{content:"";display:inline-block;width:4px;height:28px;background:linear-gradient(180deg,var(--teal),var(--teal-light));border-radius:4px;margin-right:14px;vertical-align:middle}.filter-bar{display:flex;gap:10px;align-items:end;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:3px}.filter-group label{font-size:.7rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em}.filter-group select,.filter-group input[type=date],.filter-group input[type=text]{padding:8px 10px;border:2px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.82rem;font-family:Inter,sans-serif;outline:none;background:var(--bg-input);transition:var(--transition);color:var(--slate-900);min-width:100px;height:36px}.filter-group select:focus,.filter-group input[type=date]:focus,.filter-group input[type=text]:focus{border-color:var(--teal);box-shadow:0 0 0 4px #0d94881a}.filter-group select{cursor:pointer}.filter-bar .search-bar{margin-bottom:0;flex:1;min-width:180px}.filter-bar .search-bar input{height:36px;padding:8px 12px;font-size:.82rem}.filter-bar .search-bar:before{display:none}.filter-bar .btn{height:36px;padding:0 14px;font-size:.82rem}.filter-bar .btn-sm{height:36px;padding:0 12px;font-size:.78rem}.search-bar{position:relative;margin-bottom:24px}.filter-select{padding:8px 12px;border:2px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.85rem;font-family:Inter,sans-serif;outline:none;background:var(--bg-input);transition:var(--transition);color:var(--slate-900);min-width:150px;cursor:pointer}.filter-select:focus{border-color:var(--teal);box-shadow:0 0 0 4px #0d94881a}.advanced-search{margin-bottom:20px;padding:18px 20px 16px;background:var(--bg-card);border:2px solid var(--slate-200);border-radius:var(--radius-sm)}.advanced-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.adv-field{display:flex;flex-direction:column;gap:3px}.adv-field label{font-size:.72rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em}.adv-field input{padding:7px 10px;border:2px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.85rem;font-family:Inter,sans-serif;outline:none;background:var(--bg-input);transition:var(--transition);color:var(--slate-900)}.adv-field input:focus{border-color:var(--teal);box-shadow:0 0 0 4px #0d94881a}.search-bar input{width:100%;padding:12px 16px 12px 42px;border:2px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.9rem;font-family:Inter,sans-serif;outline:none;background:var(--bg-input);transition:var(--transition);color:var(--slate-900)}.search-bar input::placeholder{color:var(--slate-400)}.search-bar input:focus{border-color:var(--teal);box-shadow:0 0 0 4px #0d94881a}.search-bar:before{content:"🔍";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.1rem;pointer-events:none;opacity:.5}.form-group textarea{padding:10px 14px;border:2px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.9rem;font-family:Inter,sans-serif;outline:none;background:var(--bg-input);transition:var(--transition);color:var(--slate-900)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px #0d94881a}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--slate-300)}.form-actions{display:flex;gap:12px;margin-top:28px;padding-top:24px;border-top:2px solid var(--slate-100)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:4px}.detail-item{padding:10px 14px;border-radius:var(--radius-sm);transition:var(--transition)}.detail-item:hover{background:var(--slate-50)}.detail-item .label{font-size:.72rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.detail-item .value{font-size:.92rem;color:var(--slate-800);font-weight:500}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--slate-400)}.spinner{width:40px;height:40px;border:4px solid var(--slate-200);border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--slate-200) 25%,var(--slate-100) 50%,var(--slate-200) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{display:flex;gap:16px;padding:16px 18px;border-bottom:1px solid var(--slate-100)}.skeleton-cell{height:18px;flex:1}.skeleton-cell:last-child{flex:0 0 140px}.empty{text-align:center;padding:60px 20px;color:var(--slate-400)}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.4}.empty h3{font-size:1.1rem;color:var(--slate-600);margin-bottom:8px}.empty p{font-size:.9rem;color:var(--slate-400);margin-bottom:20px}.alert{padding:14px 18px;border-radius:var(--radius-sm);margin-bottom:20px;font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:10px}.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.alert-danger{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border-radius:var(--radius-lg);padding:32px;max-width:420px;width:100%;box-shadow:var(--shadow-lg);animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-icon{width:48px;height:48px;background:#fef2f2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px}.modal h3{font-size:1.15rem;font-weight:700;margin-bottom:8px;color:var(--slate-900)}.modal p{font-size:.9rem;color:var(--slate-500);margin-bottom:24px;line-height:1.6}.modal .form-actions{margin:0;padding:0;border:none;justify-content:flex-end}.toast-container{position:fixed;top:80px;right:24px;z-index:300;display:flex;flex-direction:column;gap:10px}.toast{padding:14px 20px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-lg);animation:slideIn .3s ease;display:flex;align-items:center;gap:10px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:#065f46;color:#fff}.toast-error{background:#991b1b;color:#fff}.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border-radius:var(--radius);padding:20px;border:1px solid var(--slate-200);box-shadow:var(--shadow-sm);transition:var(--transition)}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.stat-card .stat-label{font-size:.78rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.04em}.stat-card .stat-value{font-size:1.6rem;font-weight:800;color:var(--slate-900);margin-top:4px}.stat-card .stat-icon{float:right;font-size:1.5rem;opacity:.2}.table-wrapper{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--slate-200);box-shadow:var(--shadow-sm);overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.85rem}table thead{background:var(--slate-50);border-bottom:2px solid var(--slate-200)}table th{padding:12px 14px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--slate-500);white-space:nowrap;-webkit-user-select:none;user-select:none}table th.sortable{cursor:pointer;transition:var(--transition)}table th.sortable:hover{color:var(--teal-dark)}.sort-icon{display:inline-block;margin-left:4px;font-size:.7rem;opacity:.5;transition:var(--transition)}table th.sortable:hover .sort-icon{opacity:1}table td{padding:10px 14px;border-bottom:1px solid var(--slate-100);vertical-align:middle;color:var(--slate-700)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--slate-50)}tbody tr:nth-child(2n) td{background:var(--bg-subtle)}tbody tr:nth-child(2n):hover td{background:var(--slate-50)}.actions-cell{display:flex;gap:6px;align-items:center;white-space:nowrap}.vessel-link{color:var(--teal-dark);font-weight:600;text-decoration:none;transition:var(--transition)}.vessel-link:hover{color:var(--teal);text-decoration:underline}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:100px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.badge-teal{background:#0d94881a;color:var(--teal-dark)}.badge-create{background:#0d94881a;color:#0f766e}.badge-update{background:#f59e0b1a;color:#b45309}.badge-delete{background:#e11d481a;color:#991b1b}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:.78rem;font-weight:600;color:var(--slate-600)}.form-group input,.form-group select{padding:10px 14px;border:2px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.9rem;font-family:Inter,sans-serif;outline:none;background:var(--bg-input);transition:var(--transition);color:var(--slate-900)}.form-group input:focus,.form-group select:focus{border-color:var(--teal);box-shadow:0 0 0 4px #0d94881a}.card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--slate-200);box-shadow:var(--shadow-sm);padding:24px;transition:var(--transition)}.card:hover{box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.card-header h2{font-size:1rem;font-weight:700;color:var(--slate-800);flex:1}.card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.card-icon-navy,.card-icon-teal{background:#0d94881a}.card-icon-amber{background:#f59e0b1a}.card-icon-rose{background:#e11d4814}.chart-wrapper{padding:8px 4px 4px;display:flex;justify-content:center;position:relative}.chart-wrapper canvas{max-width:100%;max-height:280px}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 0;flex-wrap:wrap;gap:12px}.pagination-info{font-size:.85rem;color:var(--slate-500)}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-dots{padding:6px 4px;color:var(--slate-400);font-size:.85rem}.pagination-per-page{padding:4px 8px;border:2px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.8rem;font-family:Inter,sans-serif;outline:none;background:var(--bg-input);color:var(--slate-900);cursor:pointer;margin-right:8px}.hamburger{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:8px 10px;border-radius:var(--radius-sm);line-height:1;transition:all .2s ease}.hamburger:hover{background:#ffffff1f;transform:scale(1.05)}@media(max-width:1024px){.container{padding:0 20px}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.dashboard-grid,.charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.header-inner{height:auto;padding:12px 0;flex-wrap:wrap;gap:10px}.app-header nav{order:3;width:100%;justify-content:center}.header-actions{order:2;margin-left:auto}.page-header{flex-direction:column;align-items:stretch;gap:12px}.page-header h1{font-size:1.35rem}.page-header h1:before{height:22px}.form-grid,.detail-grid{grid-template-columns:1fr}.actions-cell{flex-wrap:wrap}.table-wrapper{overflow-x:auto}table{min-width:700px}.card{padding:20px}.stats-row{grid-template-columns:repeat(2,1fr)}.modal{padding:24px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.charts-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.hamburger{display:block}.app-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;padding:8px 12px 16px;box-shadow:0 12px 32px #0000004d;z-index:99;gap:2px;border-top:1px solid rgba(255,255,255,.06)}.app-header nav.open{display:flex}.app-header,.header-inner{position:relative}.app-header nav .nav-link,.nav-dropdown-trigger{padding:12px 16px;font-size:.95rem;width:100%;border-radius:var(--radius-sm)}.app-header nav .nav-link.router-link-exact-active{background:#ffffff1f;box-shadow:inset 3px 0 0 0 var(--teal-light),0 1px 8px #0d948826}.app-header nav .nav-link.router-link-exact-active:after{display:none}.nav-dropdown{width:100%}.nav-dropdown-menu{position:static;box-shadow:none;border:none;padding:0 0 0 16px;animation:none;display:none}.nav-dropdown-menu.open{display:flex}.nav-dropdown-item{font-size:.9rem;padding:10px 14px}.modal-overlay{padding:0;align-items:flex-end}.modal-overlay .modal{max-width:100%;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px 20px;animation:slideUpMobile .3s ease;overflow-y:auto}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.detail-item{padding:8px 12px}.detail-item .value{font-size:.85rem}.filter-bar .search-bar{min-width:100%}.filter-bar .filter-group,.filter-bar .filter-group select{width:100%}.filter-bar .btn{width:100%;justify-content:center}.pagination-bar{flex-direction:column;align-items:stretch;gap:8px}.pagination-info{text-align:center;font-size:.78rem}.pagination-controls{justify-content:center;flex-wrap:wrap}.pagination-per-page{margin-right:4px}}@media(max-width:480px){.container{padding:0 12px}.page-header h1{font-size:1.2rem}.stats-row,.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-card .stat-value{font-size:1.3rem}.btn{padding:10px 16px;font-size:.82rem;min-height:44px}.btn-sm{padding:8px 12px;min-height:36px;font-size:.78rem}nav{flex-wrap:wrap;justify-content:center}.table-wrapper table{min-width:600px}.filter-group select,.filter-group input[type=date],.filter-group input[type=text]{height:44px;font-size:16px}.search-bar input{font-size:16px;height:44px;padding:10px 14px 10px 42px}.header-inner .logo{font-size:1rem}.logo-icon{height:24px}.sub-detail-grid,.vhf-detail-grid{grid-template-columns:1fr}.page-header .btn{width:100%}input,select,textarea{font-size:16px}.form-group input,.form-group select{height:44px}.modal-overlay .modal{padding:20px 16px}.quick-actions{grid-template-columns:1fr 1fr}.stats-grid .stat-trend{font-size:.68rem}.quick-action-btn{padding:12px;min-height:44px}}@media(max-width:600px){.table-wrapper table,.table-wrapper thead,.table-wrapper tbody,.table-wrapper th,.table-wrapper td,.table-wrapper tr{display:block}.table-wrapper thead{display:none}.table-wrapper tr{margin-bottom:12px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-card)}.table-wrapper td{padding:8px 12px 8px 40%;border:none;border-bottom:1px solid var(--slate-100);position:relative;min-height:36px;display:flex;align-items:center;font-size:.82rem}.table-wrapper td:last-child{border-bottom:none}.table-wrapper td:before{content:attr(data-label);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:35%;font-weight:600;font-size:.7rem;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-wrapper td .actions-cell{justify-content:flex-end;gap:8px}.table-wrapper td .actions-cell .btn{min-height:36px}.table-wrapper tbody tr:nth-child(2n) td{background:transparent}.table-wrapper tbody tr:hover td{background:transparent}}@media(max-width:480px){.login-card,.register-card{padding:32px 20px!important;margin:0 12px;border-radius:var(--radius)!important}.login-card h1,.register-card h1{font-size:1.5rem!important}}.live-badge{display:inline-block;font-size:.65rem;font-weight:700;color:#16a34a;background:#16a34a1a;padding:2px 10px;border-radius:100px;vertical-align:middle;margin-left:8px;animation:live-pulse 2s infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.5}}.live-badge-off{color:#dc2626;background:#dc26261a;animation:none}
