@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.header-actions[data-v-872ab2c6]{display:flex;align-items:center;gap:4px;flex-shrink:0}.notif-wrapper[data-v-872ab2c6]{position:relative}.notif-bell[data-v-872ab2c6]{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-872ab2c6]:hover{background:#ffffff1a}.notif-bell.has-unread[data-v-872ab2c6]{animation:notifPulse-872ab2c6 2s ease-in-out infinite}@keyframes notifPulse-872ab2c6{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notif-badge[data-v-872ab2c6]{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}.admin-badge[data-v-872ab2c6]{display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:100px;padding:0 5px;margin-left:6px;line-height:1}.notif-dropdown[data-v-872ab2c6]{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-872ab2c6]{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-872ab2c6]{font-size:.9rem;font-weight:700;margin:0;color:var(--slate-900)}.notif-header-actions[data-v-872ab2c6]{display:flex;align-items:center;gap:10px}.notif-count[data-v-872ab2c6]{font-size:.72rem;color:var(--slate-400);font-weight:500}.notif-mark-read-btn[data-v-872ab2c6]{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-872ab2c6]:hover{background:#0d948814}.notif-loading[data-v-872ab2c6],.notif-empty[data-v-872ab2c6]{padding:32px 16px;text-align:center;color:var(--slate-400);font-size:.85rem}.notif-list[data-v-872ab2c6]{flex:1;overflow-y:auto;padding:4px 0}.notif-item[data-v-872ab2c6]{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-872ab2c6]:hover{background:var(--slate-50)}.notif-item.notif-read[data-v-872ab2c6]{opacity:.65}.notif-item.notif-read .notif-title[data-v-872ab2c6]{font-weight:500}.notif-unread[data-v-872ab2c6]{border-left-color:#3b82f6!important}.notif-unread .notif-title[data-v-872ab2c6]{font-weight:700;color:var(--slate-900)}.notif-overdue[data-v-872ab2c6]{border-left-color:#dc2626}.notif-critical[data-v-872ab2c6]{border-left-color:#f59e0b}.notif-warning[data-v-872ab2c6]{border-left-color:#eab308}.notif-icon[data-v-872ab2c6]{font-size:.9rem;padding-top:1px;flex-shrink:0}.notif-body[data-v-872ab2c6]{flex:1;min-width:0}.notif-title[data-v-872ab2c6]{font-weight:600;font-size:.82rem;color:var(--slate-900)}.notif-desc[data-v-872ab2c6]{font-size:.74rem;color:var(--slate-400);margin-top:1px}.notif-unread-dot[data-v-872ab2c6]{position:absolute;left:6px;top:14px;width:7px;height:7px;border-radius:50%;background:#3b82f6;flex-shrink:0}.notif-meta[data-v-872ab2c6]{flex-shrink:0;text-align:right}.notif-days[data-v-872ab2c6]{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:100px;white-space:nowrap}.notif-sr-no[data-v-872ab2c6]{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-872ab2c6]{background:#dc26261a;color:#dc2626}.days-critical[data-v-872ab2c6]{background:#f59e0b1a;color:#d97706}.days-warning[data-v-872ab2c6]{background:#eab30814;color:#a16207}.notif-footer[data-v-872ab2c6]{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-872ab2c6]:hover{background:var(--slate-50)}.theme-toggle[data-v-872ab2c6]{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-872ab2c6]:hover{opacity:1;background:#ffffff1a}.user-menu[data-v-872ab2c6]{position:relative;margin-left:8px}.user-avatar[data-v-872ab2c6]{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-872ab2c6]:hover{border-color:#ffffff80;transform:scale(1.05)}.user-dropdown[data-v-872ab2c6]{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-872ab2c6]{padding:14px 16px;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--slate-100)}.user-dropdown-header strong[data-v-872ab2c6]{font-size:.9rem;color:var(--slate-900)}.user-role[data-v-872ab2c6]{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--teal)}.user-email[data-v-872ab2c6]{font-size:.75rem;color:var(--slate-400)}.user-dropdown-body[data-v-872ab2c6]{padding:6px}.user-dropdown-item[data-v-872ab2c6]{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-872ab2c6]:hover{background:var(--slate-50);color:var(--slate-900)}.user-dropdown-footer[data-v-872ab2c6]{padding:6px;border-top:1px solid var(--slate-100)}.user-dropdown-item.logout[data-v-872ab2c6]{color:var(--rose)}.user-dropdown-item.logout[data-v-872ab2c6]:hover{background:#e11d480f}.dashboard[data-v-8ab85417]{padding-bottom:40px}.stats-grid[data-v-8ab85417]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-bottom:28px}.stat-card[data-v-8ab85417]{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-8ab85417]:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-card[data-v-8ab85417]:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.stat-card-ships[data-v-8ab85417]:before{background:linear-gradient(90deg,var(--navy),var(--teal))}.stat-card-expiring[data-v-8ab85417]:before{background:linear-gradient(90deg,var(--amber),#f97316)}.stat-card-overdue[data-v-8ab85417]:before{background:linear-gradient(90deg,#dc2626,#ef4444)}.stat-card-tests[data-v-8ab85417]:before{background:linear-gradient(90deg,var(--rose),#f43f5e)}.stat-card-overdue-tests[data-v-8ab85417]:before{background:linear-gradient(90deg,#dc2626,#ef4444)}.stat-card-owners[data-v-8ab85417]:before{background:linear-gradient(90deg,#6366f1,#818cf8)}.stat-card-upcoming-survey[data-v-8ab85417]:before{background:linear-gradient(90deg,var(--teal),#06b6d4)}.stat-card-overdue-survey[data-v-8ab85417]:before{background:linear-gradient(90deg,#dc2626,#ef4444)}.stat-icon-box[data-v-8ab85417]{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-8ab85417]{background:#0d94881a}.stat-card-expiring .stat-icon-box[data-v-8ab85417]{background:#f59e0b1a}.stat-card-overdue .stat-icon-box[data-v-8ab85417],.stat-card-overdue-tests .stat-icon-box[data-v-8ab85417]{background:#dc26261a}.stat-card-tests .stat-icon-box[data-v-8ab85417]{background:#e11d4814}.stat-card-owners .stat-icon-box[data-v-8ab85417]{background:#6366f11a}.stat-card-upcoming-survey .stat-icon-box[data-v-8ab85417]{background:#06b6d41a}.stat-card-overdue-survey .stat-icon-box[data-v-8ab85417]{background:#dc26261a}.stat-body[data-v-8ab85417]{margin-bottom:8px}.stat-label[data-v-8ab85417]{font-size:.8rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em}.stat-value[data-v-8ab85417]{font-size:2rem;font-weight:800;color:var(--slate-900);line-height:1.2}.stat-trend[data-v-8ab85417]{font-size:.78rem;font-weight:500;color:var(--slate-500)}.stat-trend.up[data-v-8ab85417]{color:var(--teal)}.stat-trend.warn[data-v-8ab85417]{color:var(--amber)}.stat-trend.danger[data-v-8ab85417]{color:#dc2626}.dashboard-grid[data-v-8ab85417]{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dashboard-cards-grid[data-v-8ab85417]{margin-top:28px}.survey-grid[data-v-8ab85417]{margin-top:28px;margin-bottom:28px}.dashboard-card[data-v-8ab85417]{margin-bottom:0}.recent-list[data-v-8ab85417]{display:flex;flex-direction:column}.recent-item[data-v-8ab85417]{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-8ab85417]:last-child{border-bottom:none}.recent-item[data-v-8ab85417]:hover{padding-left:8px}.recent-avatar[data-v-8ab85417]{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-8ab85417]{flex:1;min-width:0}.recent-name[data-v-8ab85417]{font-weight:600;color:var(--slate-900);font-size:.9rem}.recent-meta[data-v-8ab85417]{font-size:.78rem;color:var(--slate-400);margin-top:2px}.recent-date[data-v-8ab85417]{font-size:.75rem;color:var(--slate-400);white-space:nowrap}.see-all[data-v-8ab85417]{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--teal);text-decoration:none}.see-all[data-v-8ab85417]:hover{text-decoration:underline}.stock-summary[data-v-8ab85417]{padding:12px 16px 16px}.stock-stats-row[data-v-8ab85417]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.stock-stat-card[data-v-8ab85417]{text-align:center;padding:12px 8px;background:var(--slate-50);border-radius:10px}.stock-stat-value[data-v-8ab85417]{display:block;font-size:1.4rem;font-weight:800;color:var(--slate-900);line-height:1.2}.stock-stat-value.text-danger[data-v-8ab85417]{color:#dc2626}.stock-stat-label[data-v-8ab85417]{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-8ab85417]{max-width:260px;margin:0 auto;padding:4px 0}.chart-wrapper-sm canvas[data-v-8ab85417]{width:100%!important;height:auto!important}.movement-mini[data-v-8ab85417]{border-top:1px solid var(--slate-200);margin-top:12px;padding-top:10px}.movement-mini-title[data-v-8ab85417]{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-8ab85417]{display:flex;align-items:center;gap:8px;padding:4px;font-size:.78rem}.mm-badge[data-v-8ab85417]{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:4px;flex-shrink:0}.mm-in[data-v-8ab85417]{background:#0d94881a;color:#0d9488}.mm-out[data-v-8ab85417]{background:#e11d481a;color:#e11d48}.mm-item[data-v-8ab85417]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--slate-700)}.mm-qty[data-v-8ab85417]{font-weight:700;color:var(--slate-600);flex-shrink:0}.stock-group-list[data-v-8ab85417]{border-top:1px solid var(--slate-200);margin-top:12px;padding-top:10px}.stock-group-list-title[data-v-8ab85417]{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-8ab85417]{display:flex;align-items:center;gap:8px;padding:3px 4px;font-size:.78rem}.sg-name[data-v-8ab85417]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--slate-700)}.sg-count[data-v-8ab85417]{font-weight:600;color:var(--slate-500);flex-shrink:0}.sg-warn[data-v-8ab85417]{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:4px;background:#e11d481a;color:#e11d48;flex-shrink:0}.charts-grid[data-v-8ab85417]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.chart-wrapper[data-v-8ab85417]{padding:8px 16px 16px;display:flex;justify-content:center}.chart-wrapper canvas[data-v-8ab85417]{max-width:100%;max-height:320px}.card-badge[data-v-8ab85417]{margin-left:auto;padding:3px 12px;border-radius:100px;font-size:.72rem;font-weight:600}.card-badge.warn[data-v-8ab85417]{background:#f59e0b1a;color:#92400e}.card-badge.danger[data-v-8ab85417]{background:#e11d481a;color:#991b1b}.perf-chart-wrap[data-v-8ab85417]{height:300px;position:relative;display:block;padding:12px 16px 16px}.perf-chart-wrap canvas[data-v-8ab85417]{max-height:none}.perf-link[data-v-8ab85417]{margin-left:auto;font-size:.72rem;font-weight:600;color:#0d9488;text-decoration:none}.perf-link[data-v-8ab85417]:hover{text-decoration:underline}.perf-empty[data-v-8ab85417]{text-align:center;padding:32px;color:var(--slate-400);font-size:.9rem}.alert-scroll-wrap[data-v-8ab85417]{max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 0}.alert-scroll-wrap[data-v-8ab85417]::-webkit-scrollbar{width:5px}.alert-scroll-wrap[data-v-8ab85417]::-webkit-scrollbar-track{background:var(--slate-100);border-radius:4px}.alert-scroll-wrap[data-v-8ab85417]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.alert-scroll-wrap[data-v-8ab85417]::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.alert-card[data-v-8ab85417]{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-8ab85417]:hover{box-shadow:var(--shadow-sm);border-color:var(--slate-300)}.alert-card.alert-overdue[data-v-8ab85417]{border-left:4px solid #dc2626}.alert-card.alert-warning[data-v-8ab85417]{border-left:4px solid #d97706}.alert-card.alert-warning .alert-card-icon[data-v-8ab85417]{background:#d9770614}.alert-card.alert-overdue .alert-card-icon[data-v-8ab85417]{background:#dc262614}.alert-card-left[data-v-8ab85417]{display:flex;align-items:center;padding:14px 0 14px 14px}.alert-card-icon[data-v-8ab85417]{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-8ab85417]{flex:1;min-width:0;padding:12px 14px 12px 0;display:flex;flex-direction:column;gap:8px}.alert-card-top[data-v-8ab85417]{display:flex;align-items:center;gap:8px}.alert-ship-name[data-v-8ab85417]{font-weight:700;font-size:.88rem;color:var(--slate-900);text-decoration:none;flex-shrink:0}.alert-ship-name[data-v-8ab85417]:hover{color:var(--teal)}.alert-equip-label[data-v-8ab85417]{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-8ab85417]{display:flex;align-items:center;gap:12px}.alert-date[data-v-8ab85417]{font-weight:600;color:var(--slate-600);font-size:.78rem;white-space:nowrap;flex-shrink:0}.alert-bar-wrap[data-v-8ab85417]{flex:1;display:flex;align-items:center;gap:10px}.alert-bar[data-v-8ab85417]{flex:1;height:6px;background:var(--slate-200);border-radius:100px;overflow:hidden}.alert-bar-fill[data-v-8ab85417]{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#14b8a6);border-radius:100px;transition:width .6s ease}.alert-days[data-v-8ab85417]{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-8ab85417],.alert-overdue .alert-days[data-v-8ab85417]{color:#dc2626}.alert-warning .alert-date[data-v-8ab85417],.alert-warning .alert-days[data-v-8ab85417]{color:#d97706}.alert-group[data-v-8ab85417]{border:1px solid var(--slate-200);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:8px}.alert-group[data-v-8ab85417]:last-child{margin-bottom:0}.alert-group-header[data-v-8ab85417]{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-8ab85417]:hover{background:var(--slate-100)}.alert-group-header .alert-ship-name[data-v-8ab85417]{font-size:.85rem}.alert-group-icon[data-v-8ab85417]{font-size:.7rem;color:var(--slate-400);width:14px;flex-shrink:0}.alert-group-arrow[data-v-8ab85417]{font-size:.65rem;color:var(--slate-400);margin-left:8px}.alert-group-body[data-v-8ab85417]{padding:0;max-height:320px;overflow-y:auto}.alert-group-body[data-v-8ab85417]::-webkit-scrollbar{width:5px}.alert-group-body[data-v-8ab85417]::-webkit-scrollbar-track{background:var(--slate-100)}.alert-group-body[data-v-8ab85417]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.alert-group-body .alert-card[data-v-8ab85417]{border:none;border-top:1px solid var(--slate-100);border-radius:0}.alert-group-body .alert-card[data-v-8ab85417]:last-child{border-bottom:none}.alert-group-body .alert-card[data-v-8ab85417]:hover{background:var(--slate-50)}.alert-group-body .alert-card.alert-overdue[data-v-8ab85417]{border-left:4px solid #dc2626}.alert-group-body .alert-card.alert-warning[data-v-8ab85417]{border-left:4px solid #d97706}.alert-group-body .alert-equip-label[data-v-8ab85417]{font-size:.75rem}.alert-group-body .alert-date[data-v-8ab85417]{font-size:.72rem}.alert-overdue .alert-bar-fill[data-v-8ab85417]{background:linear-gradient(90deg,#dc2626,#f43f5e)}.alert-warning .alert-bar-fill[data-v-8ab85417]{background:linear-gradient(90deg,#d97706,#f59e0b)}.test-status-tag[data-v-8ab85417]{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-8ab85417]{background:#dc26261f;color:#dc2626}.tag-warning[data-v-8ab85417]{background:#d977061f;color:#d97706}.tag-ok[data-v-8ab85417]{background:#0d94881a;color:#0d9488}.alert-list[data-v-8ab85417]{display:flex;flex-direction:column;gap:8px;padding:4px 0;max-height:360px;overflow-y:auto}.alert-list[data-v-8ab85417]::-webkit-scrollbar{width:5px}.alert-list[data-v-8ab85417]::-webkit-scrollbar-track{background:var(--slate-100);border-radius:4px}.alert-list[data-v-8ab85417]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.alert-list[data-v-8ab85417]::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.survey-row[data-v-8ab85417]{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--slate-200);border-radius:12px;text-decoration:none;transition:var(--transition)}.survey-row[data-v-8ab85417]:hover{box-shadow:var(--shadow-sm);border-color:var(--slate-300)}.survey-ship[data-v-8ab85417]{font-weight:700;font-size:.88rem;color:var(--slate-900);text-decoration:none;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.survey-row:hover .survey-ship[data-v-8ab85417]{color:var(--teal)}.survey-date[data-v-8ab85417]{font-weight:600;font-size:.78rem;color:var(--slate-500);white-space:nowrap}.batt-group[data-v-8ab85417]{margin-bottom:12px}.batt-group[data-v-8ab85417]:last-child{margin-bottom:0}.batt-group-header[data-v-8ab85417]{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-8ab85417]:hover{background:var(--slate-100)}.batt-group-icon[data-v-8ab85417]{font-size:.7rem;color:var(--slate-400);width:14px;flex-shrink:0}.batt-ship-link[data-v-8ab85417]{font-weight:700;font-size:.88rem;color:var(--slate-900);text-decoration:none}.batt-ship-link[data-v-8ab85417]:hover{color:var(--teal)}.batt-group-body[data-v-8ab85417]{padding:0}.batt-group-body .alert-card[data-v-8ab85417]{margin-bottom:6px;border-radius:8px}.batt-group-body .alert-card[data-v-8ab85417]:last-child{margin-bottom:0}.empty-mini[data-v-8ab85417]{text-align:center;padding:24px;color:var(--slate-400);font-size:.9rem}.empty-mini p[data-v-8ab85417]{margin-bottom:12px}@media(max-width:1024px){.dashboard-grid[data-v-8ab85417],.charts-grid[data-v-8ab85417]{grid-template-columns:1fr}}@media(max-width:768px){.stats-grid[data-v-8ab85417]{grid-template-columns:repeat(2,1fr)}.alert-bar[data-v-8ab85417]{display:none}.survey-row[data-v-8ab85417]{flex-wrap:wrap;gap:4px 10px}.survey-date[data-v-8ab85417]{font-size:.72rem;min-width:0}.batt-group-header[data-v-8ab85417]{flex-wrap:wrap}.alert-equip-label[data-v-8ab85417]{white-space:normal;overflow:visible;text-overflow:clip}.perf-chart-wrap[data-v-8ab85417]{height:240px}}@media(max-width:480px){.stats-grid[data-v-8ab85417]{grid-template-columns:1fr}.alert-bar[data-v-8ab85417]{display:none}.stat-value[data-v-8ab85417]{font-size:1.5rem}.stat-card[data-v-8ab85417]{padding:16px}.recent-item[data-v-8ab85417]{gap:10px}.recent-name[data-v-8ab85417]{font-size:.82rem}}[data-theme=dark] .card-badge.warn[data-v-8ab85417]{color:#fcd34d}[data-theme=dark] .card-badge.danger[data-v-8ab85417]{color:#fca5a5}[data-theme=dark] .stat-trend[data-v-8ab85417]{color:var(--slate-400)}[data-theme=dark] .stat-trend.up[data-v-8ab85417]{color:#5eead4}[data-theme=dark] .stat-trend.warn[data-v-8ab85417]{color:#fcd34d}[data-theme=dark] .stat-trend.danger[data-v-8ab85417]{color:#fca5a5}.modal-overlay[data-v-0e196812]{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-0e196812]{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-0e196812]{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-0e196812]{font-weight:700;font-size:.95rem;color:var(--slate-800)}.pdf-modal-actions[data-v-0e196812]{display:flex;gap:8px}.pdf-modal-body[data-v-0e196812]{flex:1;overflow-y:auto;padding:20px;background:var(--slate-50)}.pdf-iframe[data-v-0e196812]{width:100%;height:100%;border:none;border-radius:var(--radius-sm)}.pdf-html-preview[data-v-0e196812]{background:#fff;max-width:210mm;margin:0 auto;box-shadow:var(--shadow);border-radius:var(--radius-sm);overflow:hidden}[data-v-0e196812] .pdf-wrapper{font-family:Inter,sans-serif;padding:40px 48px;color:#0f172a;font-size:11px;line-height:1.5}[data-v-0e196812] .pdf-header-wrapper{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:3px solid #0d9488}[data-v-0e196812] .pdf-main-title{font-size:20px;font-weight:800;color:#0f172a;margin-bottom:4px}[data-v-0e196812] .pdf-subtitle{font-size:12px;color:#64748b}[data-v-0e196812] .pdf-section{margin-bottom:16px}[data-v-0e196812] .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-0e196812] .pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}[data-v-0e196812] .pdf-sub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}[data-v-0e196812] .pdf-sub-group{border:1px solid #e2e8f0;border-radius:6px;padding:10px;background:#fafbfc}[data-v-0e196812] .pdf-sub-title{font-weight:700;font-size:10px;color:#0d9488;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #e2e8f0}[data-v-0e196812] .pdf-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid #f1f5f9;font-size:10px}[data-v-0e196812] .pdf-label{font-weight:600;color:#64748b;min-width:90px}[data-v-0e196812] .pdf-value{color:#0f172a;font-weight:500;text-align:right}[data-v-0e196812] .pdf-divider{font-size:14px;font-weight:800;margin:20px 0 12px;padding-bottom:6px;border-bottom:3px solid #0d9488;color:#0f172a}[data-v-0e196812] .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-0e196812]{height:100vh;max-width:100%;border-radius:0}.modal-overlay[data-v-0e196812]{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}}.group-header-row[data-v-b22c3df6]{cursor:pointer}.group-header-row.group-open[data-v-b22c3df6]{background:var(--slate-50)}.group-name-cell[data-v-b22c3df6]{display:flex;align-items:center;gap:8px}.group-toggle[data-v-b22c3df6]{background:none;border:none;cursor:pointer;padding:0;font-size:.75rem;color:var(--slate-400);width:18px}.group-toggle[data-v-b22c3df6]:hover{color:var(--teal)}.group-name[data-v-b22c3df6]{font-weight:600;color:var(--slate-900)}.group-count[data-v-b22c3df6]{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:100px;background:#0d94881a;color:var(--teal)}.group-detail-row td[data-v-b22c3df6]{padding:0!important;border:none}.group-detail-cell[data-v-b22c3df6]{background:var(--slate-50)}.group-dropdown[data-v-b22c3df6]{border-top:1px solid var(--slate-200);padding:8px 12px}.group-dropdown-title[data-v-b22c3df6]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--slate-400);margin-bottom:6px}.group-dropdown-item[data-v-b22c3df6]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px}.group-dropdown-item[data-v-b22c3df6]:hover{background:var(--bg-card)}.gd-dot[data-v-b22c3df6]{flex-shrink:0}.gd-name[data-v-b22c3df6]{font-weight:600;color:var(--slate-900);text-decoration:none;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gd-name[data-v-b22c3df6]:hover{color:var(--teal)}.gd-date[data-v-b22c3df6],.gd-imo[data-v-b22c3df6]{font-size:.78rem;color:var(--slate-500);white-space:nowrap}.gd-actions[data-v-b22c3df6]{display:flex;gap:4px;flex-shrink:0}@media(max-width:768px){.page-header[data-v-b22c3df6]{flex-direction:column;align-items:stretch;gap:8px}.page-header>div[data-v-b22c3df6]{flex-wrap:wrap}.filter-bar[data-v-b22c3df6]{flex-wrap:wrap;gap:6px}.filter-bar .search-bar[data-v-b22c3df6]{flex:1 1 100%}.filter-bar .search-bar input[data-v-b22c3df6]{width:100%}.filter-bar .filter-group[data-v-b22c3df6]{flex:1 1 auto;min-width:0}.filter-bar .filter-group input[type=date][data-v-b22c3df6]{width:100%;min-width:0}.stats-row[data-v-b22c3df6]{grid-template-columns:1fr 1fr;gap:8px}.advanced-grid[data-v-b22c3df6]{grid-template-columns:1fr}.table-wrapper table thead[data-v-b22c3df6]{display:none}.table-wrapper table tr[data-v-b22c3df6]{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-b22c3df6]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.table-wrapper table td[data-v-b22c3df6]: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-b22c3df6]{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-b22c3df6]:before{display:none}}.badge-number[data-v-3efb60bb]{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-3efb60bb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.equip-group[data-v-3efb60bb]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px}.equip-group-title[data-v-3efb60bb]{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-3efb60bb]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.equip-row .form-group+.form-group[data-v-3efb60bb]{margin-top:0}.equip-rows[data-v-3efb60bb]{display:flex;flex-direction:column;gap:10px}.equip-rows .equip-row+.equip-row[data-v-3efb60bb]{margin-top:0}.vhf-grid[data-v-3efb60bb]{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.vhf-group[data-v-3efb60bb]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:16px}.vhf-group-title[data-v-3efb60bb]{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-3efb60bb]{margin-top:10px}.sub-grid[data-v-3efb60bb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.sub-group[data-v-3efb60bb]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:16px}.sub-group-title[data-v-3efb60bb]{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-3efb60bb]{margin-top:10px}.stock-assign[data-v-3efb60bb]{padding:16px}.stock-add-row[data-v-3efb60bb]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.form-select[data-v-3efb60bb]{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-3efb60bb]{display:flex;flex-direction:column;gap:6px}.stock-selected-row[data-v-3efb60bb]{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-3efb60bb]{font-weight:600;font-size:.85rem;color:var(--slate-900);flex:1}.stock-sel-qty[data-v-3efb60bb]{font-weight:700;color:var(--teal-dark);font-size:.85rem}.stock-empty[data-v-3efb60bb]{text-align:center;font-size:.82rem;color:var(--slate-400);padding:16px 0}.sr-form-letterhead[data-v-3efb60bb]{margin-bottom:0}.sr-letterhead-img[data-v-3efb60bb]{display:block;width:auto;max-width:100%;max-height:60px;height:auto;margin:0 auto;object-fit:contain}@media(max-width:1024px){.vhf-grid[data-v-3efb60bb]{grid-template-columns:repeat(2,1fr)}.equip-grid[data-v-3efb60bb]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.vhf-grid[data-v-3efb60bb],.sub-grid[data-v-3efb60bb],.equip-grid[data-v-3efb60bb],.equip-row[data-v-3efb60bb]{grid-template-columns:1fr}.stock-add-row[data-v-3efb60bb]{flex-wrap:wrap}.stock-add-row .form-select[data-v-3efb60bb]{flex:1 1 100%}.form-actions[data-v-3efb60bb]{flex-wrap:wrap}.form-actions[data-v-3efb60bb]>*{flex:1 1 100%;justify-content:center}}.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-07455c1a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 20px}.vhf-detail-grid[data-v-07455c1a]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vhf-detail-group[data-v-07455c1a]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px}.vhf-detail-title[data-v-07455c1a]{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-07455c1a]{padding:6px 0}.vhf-detail-group .detail-item+.detail-item[data-v-07455c1a]{border-top:1px solid var(--slate-100)}.sub-detail-grid[data-v-07455c1a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.sub-detail-group[data-v-07455c1a]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px}.sub-detail-title[data-v-07455c1a]{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-07455c1a]{padding:6px 0}.sub-detail-group .detail-item+.detail-item[data-v-07455c1a]{border-top:1px solid var(--slate-100)}.detail-sub-grid[data-v-07455c1a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.detail-sub-group[data-v-07455c1a]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:12px}.detail-sub-title[data-v-07455c1a]{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-07455c1a]{padding:5px 0}.detail-sub-group .detail-item+.detail-item[data-v-07455c1a]{border-top:1px solid var(--slate-100)}@media(max-width:1024px){.vhf-detail-grid[data-v-07455c1a]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.vhf-detail-grid[data-v-07455c1a],.sub-detail-grid[data-v-07455c1a],.detail-sub-grid[data-v-07455c1a]{grid-template-columns:1fr}.sr-history-item[data-v-07455c1a]{flex-direction:column;gap:6px}.sr-history-left[data-v-07455c1a]{min-width:0;width:100%}}.sr-print-letterhead[data-v-07455c1a]{margin-bottom:0}.sr-letterhead-img[data-v-07455c1a]{display:block;width:auto;max-width:100%;max-height:60px;height:auto;margin:0 auto;object-fit:contain}.ship-print-title[data-v-07455c1a]{text-align:center;font-size:2.1rem;font-weight:1000;margin:60px 0 40px;letter-spacing:.05em}.stock-row[data-v-07455c1a]{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-07455c1a]{font-weight:700;color:#92400e;white-space:nowrap}.stock-badge[data-v-07455c1a]{background:#fff;border:1px solid #d4c56a;border-radius:4px;padding:2px 8px;color:#713f12}.sub-detail-group .stock-row[data-v-07455c1a],.vhf-detail-group .stock-row[data-v-07455c1a]{margin-top:12px}.stock-used-item[data-v-07455c1a]{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-07455c1a]{font-weight:600;font-size:.85rem;color:var(--slate-900);flex:1}.stock-used-qty[data-v-07455c1a]{font-weight:700;font-size:.82rem;color:var(--teal-dark);white-space:nowrap}.stock-used-cat[data-v-07455c1a]{font-size:.7rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em}.sr-history-list[data-v-07455c1a]{display:flex;flex-direction:column;gap:6px}.sr-history-item[data-v-07455c1a]{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-07455c1a]{display:flex;flex-direction:column;gap:2px;min-width:140px}.sr-history-no[data-v-07455c1a]{font-size:.82rem;font-weight:700;color:var(--teal-dark);text-decoration:none}.sr-history-no[data-v-07455c1a]:hover{text-decoration:underline}.sr-history-date[data-v-07455c1a]{font-size:.68rem;color:var(--slate-500)}.sr-history-mid[data-v-07455c1a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sr-history-fault[data-v-07455c1a]{font-size:.75rem;font-weight:500;color:var(--slate-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-history-action[data-v-07455c1a]{font-size:.7rem;color:var(--slate-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-history-right[data-v-07455c1a]{flex-shrink:0}.sr-history-engineer[data-v-07455c1a]{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-5b68daa7]{background:var(--low-stock-bg, #fff8f8)!important}.group-list[data-v-5b68daa7]{display:flex;flex-direction:column;gap:12px}.group-card[data-v-5b68daa7]{border:1px solid var(--slate-200);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}.group-card .group-header[data-v-5b68daa7]{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-5b68daa7]:hover{background:var(--slate-200)}.group-collapse-btn[data-v-5b68daa7]{font-size:.75rem;color:var(--slate-500);flex-shrink:0}.group-collapse-btn[data-v-5b68daa7]:hover{color:var(--teal-dark)}.group-count[data-v-5b68daa7]{color:var(--slate-500);font-weight:400;font-size:.8rem;margin-left:4px}.group-actions[data-v-5b68daa7]{position:relative;margin-left:auto}.group-table-wrap[data-v-5b68daa7]{max-height:280px;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.group-table-wrap table[data-v-5b68daa7]{min-width:560px}.group-table-wrap[data-v-5b68daa7]::-webkit-scrollbar{width:5px}.group-table-wrap[data-v-5b68daa7]::-webkit-scrollbar-track{background:var(--slate-100)}.group-table-wrap[data-v-5b68daa7]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.group-table-wrap[data-v-5b68daa7]::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.group-card table[data-v-5b68daa7]{width:100%;border-collapse:collapse;font-size:.82rem}.group-card table thead[data-v-5b68daa7]{position:sticky;top:0;z-index:2}.group-card table thead th[data-v-5b68daa7]{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-5b68daa7]{padding:7px 12px;border-bottom:1px solid var(--slate-100);vertical-align:middle}.group-card table tbody tr[data-v-5b68daa7]:hover{background:var(--slate-50)}.group-actions .btn-group-dropdown[data-v-5b68daa7]{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-5b68daa7]:hover{color:var(--slate-900)}.group-dropdown-menu[data-v-5b68daa7]{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-5b68daa7]{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-5b68daa7]:hover{background:var(--slate-50);color:var(--teal)}.qty-badge[data-v-5b68daa7]{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-5b68daa7]{background:#0d94881a;color:var(--teal-dark)}.qty-low[data-v-5b68daa7]{background:#e11d481a;color:#991b1b;animation:pulse-5b68daa7 2s infinite}@keyframes pulse-5b68daa7{0%,to{opacity:1}50%{opacity:.6}}.barcode-text[data-v-5b68daa7]{cursor:pointer;font-size:.78rem;background:var(--slate-50);padding:2px 6px;border-radius:4px;color:var(--slate-600)}.barcode-text[data-v-5b68daa7]:hover{color:var(--teal-dark);background:#0d948814}.movement-type-toggle[data-v-5b68daa7]{display:flex;gap:8px}.movement-type-toggle .btn[data-v-5b68daa7]{flex:1}.modal-wide[data-v-5b68daa7]{max-width:560px;max-height:70vh;overflow-y:auto}.modal-header-row[data-v-5b68daa7]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.modal-header-row h3[data-v-5b68daa7]{margin:0;flex:1}.modal-header-row .btn[data-v-5b68daa7]{flex-shrink:0}.history-list[data-v-5b68daa7]{display:flex;flex-direction:column;gap:6px}.history-item[data-v-5b68daa7]{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-5b68daa7]:hover{border-color:var(--slate-200)}.hm-marker[data-v-5b68daa7]{font-size:1.1rem;padding-top:2px}.hm-body[data-v-5b68daa7]{flex:1;min-width:0}.hm-top[data-v-5b68daa7]{display:flex;align-items:center;gap:10px;margin-bottom:2px}.hm-type[data-v-5b68daa7]{padding:1px 8px;border-radius:100px;font-size:.68rem;font-weight:700;text-transform:uppercase}.hm-qty[data-v-5b68daa7]{font-weight:800;font-size:.95rem}.hm-in .hm-qty[data-v-5b68daa7]{color:#16a34a}.hm-out .hm-qty[data-v-5b68daa7]{color:#dc2626}.hm-time[data-v-5b68daa7]{margin-left:auto;font-size:.72rem;color:var(--slate-400)}.hm-ref[data-v-5b68daa7]{font-size:.75rem;color:var(--slate-500)}.hm-notes[data-v-5b68daa7]{font-size:.78rem;color:var(--slate-500);margin-top:2px}.empty-mini[data-v-5b68daa7]{text-align:center;padding:24px;color:var(--slate-400)}.empty-mini p[data-v-5b68daa7]{margin-bottom:0}.card-scroll[data-v-5b68daa7]{max-height:400px;overflow-y:auto}.card-scroll[data-v-5b68daa7]::-webkit-scrollbar{width:6px}.card-scroll[data-v-5b68daa7]::-webkit-scrollbar-track{background:var(--slate-100);border-radius:4px}.card-scroll[data-v-5b68daa7]::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:4px}.card-scroll[data-v-5b68daa7]::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.page-header-actions[data-v-5b68daa7]{display:flex;align-items:center;gap:12px}.warehouse-tabs[data-v-5b68daa7]{display:flex;gap:4px}.movement-tabs[data-v-5b68daa7]{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--slate-200);background:var(--slate-50)}.movement-tabs .btn[data-v-5b68daa7]{font-size:.78rem}.movement-list[data-v-5b68daa7]{display:flex;flex-direction:column}.movement-row[data-v-5b68daa7]{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--slate-100);transition:var(--transition)}.movement-row[data-v-5b68daa7]:last-child{border-bottom:none}.movement-row[data-v-5b68daa7]:hover{background:var(--slate-50)}.movement-icon[data-v-5b68daa7]{font-size:1.1rem;padding-top:2px}.movement-body[data-v-5b68daa7]{flex:1;min-width:0}.movement-top[data-v-5b68daa7]{display:flex;align-items:center;gap:8px;margin-bottom:2px}.movement-top strong[data-v-5b68daa7]{font-size:.85rem}.movement-type-badge[data-v-5b68daa7]{padding:1px 8px;border-radius:100px;font-size:.65rem;font-weight:700;letter-spacing:.3px}.badge-in[data-v-5b68daa7]{background:#0d94881a;color:#0f766e}.badge-out[data-v-5b68daa7]{background:#e11d481a;color:#991b1b}.movement-details[data-v-5b68daa7]{display:flex;align-items:center;gap:12px;font-size:.78rem;color:var(--slate-500);flex-wrap:wrap}.movement-qty[data-v-5b68daa7]{font-weight:800;font-size:.9rem}.qty-in[data-v-5b68daa7]{color:#16a34a}.qty-out[data-v-5b68daa7]{color:#dc2626}.movement-ref[data-v-5b68daa7]{color:var(--slate-400)}.movement-time[data-v-5b68daa7]{margin-left:auto;font-size:.72rem;color:var(--slate-400)}.movement-notes[data-v-5b68daa7]{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){.page-header-actions[data-v-5b68daa7],.warehouse-tabs[data-v-5b68daa7]{flex-wrap:wrap}.group-table-wrap table[data-v-5b68daa7]{min-width:0}.group-table-wrap table thead[data-v-5b68daa7]{display:none}.group-table-wrap table tr[data-v-5b68daa7]{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-5b68daa7]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.group-table-wrap table td[data-v-5b68daa7]: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-5b68daa7]{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-5b68daa7]:before{display:none}}.timeline[data-v-6cc958bc]{display:flex;flex-direction:column;gap:2px}.timeline-item[data-v-6cc958bc]{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--slate-100);transition:var(--transition)}.timeline-item[data-v-6cc958bc]:hover{background:var(--slate-50);margin:0 -12px;padding:14px 12px;border-radius:var(--radius-sm)}.tl-marker[data-v-6cc958bc]{flex-shrink:0;width:36px;display:flex;justify-content:center;padding-top:2px}.tl-icon[data-v-6cc958bc]{font-size:1rem}.tl-content[data-v-6cc958bc]{flex:1;min-width:0}.tl-header[data-v-6cc958bc]{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.tl-action[data-v-6cc958bc]{padding:1px 10px;border-radius:100px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-create[data-v-6cc958bc]{background:#0d94881a;color:#0f766e}.badge-update[data-v-6cc958bc]{background:#f59e0b1a;color:#92400e}.badge-delete[data-v-6cc958bc]{background:#e11d481a;color:#991b1b}.tl-entity[data-v-6cc958bc]{font-size:.75rem;color:var(--slate-400);font-weight:500}.tl-user[data-v-6cc958bc]{font-size:.72rem;font-weight:600;color:var(--teal);background:#0d948814;padding:1px 8px;border-radius:100px;white-space:nowrap}.tl-time[data-v-6cc958bc]{margin-left:auto;font-size:.72rem;color:var(--slate-400);white-space:nowrap}.tl-name[data-v-6cc958bc]{font-weight:600;font-size:.9rem;color:var(--slate-900)}.tl-details[data-v-6cc958bc]{margin-top:6px;padding:8px 10px;background:var(--slate-50);border-radius:var(--radius-sm);font-size:.78rem}.tl-meta[data-v-6cc958bc]{color:var(--slate-500);font-size:.75rem}.tl-diff[data-v-6cc958bc]{display:flex;gap:6px;align-items:baseline;padding:2px 0}.diff-field[data-v-6cc958bc]{font-weight:600;color:var(--slate-600);min-width:100px}.diff-arrow[data-v-6cc958bc]{color:var(--slate-300);font-size:.7rem}.diff-from[data-v-6cc958bc]{color:#dc2626;text-decoration:line-through;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-to[data-v-6cc958bc]{color:#16a34a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.tl-header[data-v-6cc958bc]{gap:4px 6px}.tl-time[data-v-6cc958bc]{margin-left:0;width:100%}.tl-user[data-v-6cc958bc],.tl-entity[data-v-6cc958bc]{white-space:normal;overflow-wrap:anywhere}.diff-field[data-v-6cc958bc]{min-width:0}}.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-8a46d603]{max-width:800px;max-height:80vh;overflow-y:auto}.modal-header-row[data-v-8a46d603]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.modal-header-row h3[data-v-8a46d603]{margin:0;flex:1}.modal-header-row .btn[data-v-8a46d603]{flex-shrink:0}.perm-table input[type=checkbox][data-v-8a46d603]{width:20px;height:20px;cursor:pointer;accent-color:var(--teal)}@media(max-width:768px){.modal-overlay .modal.modal-wide .perm-table thead[data-v-8a46d603]{display:none}.modal-overlay .modal.modal-wide .perm-table tr[data-v-8a46d603]{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-8a46d603]{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-8a46d603]: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-8a46d603]:first-child:before{display:none}.modal-overlay .modal.modal-wide .perm-table td[data-v-8a46d603]: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-8a46d603]{width:24px;height:24px;margin-left:auto}.modal-overlay .modal.modal-wide .table-wrapper[data-v-8a46d603]{max-height:none;overflow:visible}.modal-wide[data-v-8a46d603]{max-height:85vh}}@media(max-width:768px){.table-wrapper table thead[data-v-8a46d603]{display:none}.table-wrapper table tr[data-v-8a46d603]{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-8a46d603]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.table-wrapper table td[data-v-8a46d603]: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-8a46d603]{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-8a46d603]:before{display:none}}.owner-cards[data-v-1e4b53f0]{display:flex;flex-direction:column;gap:8px}.owner-card[data-v-1e4b53f0]{border:1px solid var(--slate-200);border-radius:10px;background:var(--bg-card);overflow:hidden;transition:box-shadow .15s}.owner-card-header[data-v-1e4b53f0]{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-1e4b53f0]:hover{background:#0d94880f}.owner-card-info[data-v-1e4b53f0]{display:flex;align-items:center;gap:12px}.owner-card-name[data-v-1e4b53f0]{font-weight:700;font-size:14px;color:var(--slate-900)}.owner-card-toggle[data-v-1e4b53f0]{color:var(--slate-400);font-size:13px}.owner-card-body[data-v-1e4b53f0]{padding:12px 18px}.badge-count[data-v-1e4b53f0]{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-1e4b53f0]{display:flex;flex-direction:column;gap:6px}.owner-ship-item[data-v-1e4b53f0]{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-1e4b53f0]:hover,.owner-ship-item.active[data-v-1e4b53f0]{border-color:var(--teal);background:#0d94880a}.owner-ship-avatar[data-v-1e4b53f0]{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-1e4b53f0]{flex:1;min-width:0}.owner-ship-name[data-v-1e4b53f0]{font-weight:600;font-size:13px;color:var(--slate-900)}.owner-ship-meta[data-v-1e4b53f0]{font-size:11px;color:var(--slate-500);margin-top:2px}.owner-alerts-row[data-v-1e4b53f0]{display:flex;gap:6px;align-items:center;margin:0 12px;flex-wrap:wrap}.owner-alert[data-v-1e4b53f0]{font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;letter-spacing:.02em}.owner-alert-red[data-v-1e4b53f0]{background:#dc26261a;color:#b91c1c;border:1px solid rgba(220,38,38,.2)}.owner-alert-amber[data-v-1e4b53f0]{background:#d977061a;color:#92400e;border:1px solid rgba(217,119,6,.2)}.ship-alerts-row[data-v-1e4b53f0]{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.ship-alert-tag[data-v-1e4b53f0]{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-1e4b53f0]{background:#dc262614;color:#b91c1c}.ship-alert-soon[data-v-1e4b53f0]{background:#d9770614;color:#92400e}.ship-alert-dot[data-v-1e4b53f0]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-red[data-v-1e4b53f0]{background:#dc2626}.dot-amber[data-v-1e4b53f0]{background:#d97706}[data-theme=dark] .owner-alert-red[data-v-1e4b53f0]{background:#fca5a51a;color:#fca5a5;border-color:#fca5a533}[data-theme=dark] .owner-alert-amber[data-v-1e4b53f0]{background:#fcd34d1a;color:#fcd34d;border-color:#fcd34d33}[data-theme=dark] .ship-alert-overdue[data-v-1e4b53f0]{background:#fca5a514;color:#fca5a5}[data-theme=dark] .ship-alert-soon[data-v-1e4b53f0]{background:#fcd34d14;color:#fcd34d}[data-theme=dark] .dot-red[data-v-1e4b53f0]{background:#fca5a5}[data-theme=dark] .dot-amber[data-v-1e4b53f0]{background:#fcd34d}.owner-ship-arrow[data-v-1e4b53f0]{color:var(--slate-400);font-size:16px;flex-shrink:0}.owner-ship-detail[data-v-1e4b53f0]{margin-top:12px;padding:16px;border-radius:10px;background:var(--bg-card);border:2px solid var(--teal)}.owner-ship-detail-header[data-v-1e4b53f0]{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-1e4b53f0]{margin:0;font-size:16px;font-weight:700;color:var(--teal)}.detail-grid[data-v-1e4b53f0],.detail-compact-grid[data-v-1e4b53f0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 20px}.sub-detail-grid[data-v-1e4b53f0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.sub-detail-group[data-v-1e4b53f0]{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:8px;padding:12px}.sub-detail-title[data-v-1e4b53f0]{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-1e4b53f0]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-input[data-v-1e4b53f0]{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-1e4b53f0]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.filter-input[data-v-1e4b53f0]::placeholder{color:var(--slate-400);font-size:.75rem}@media(max-width:640px){.filter-row[data-v-1e4b53f0]{flex-direction:column;gap:6px}.filter-input[data-v-1e4b53f0]{min-width:0;width:100%;flex:none}.owner-card-header[data-v-1e4b53f0]{flex-wrap:wrap;gap:6px;padding:10px 12px}.owner-card-info[data-v-1e4b53f0]{flex:1 1 100%}.owner-alerts-row[data-v-1e4b53f0]{margin:0;flex:1 1 100%;order:1}.owner-card-toggle[data-v-1e4b53f0]{order:2}.owner-card-body[data-v-1e4b53f0]{padding:8px 10px}.owner-ship-item[data-v-1e4b53f0]{gap:8px;padding:8px 10px;flex-wrap:wrap}.owner-ship-avatar[data-v-1e4b53f0]{width:28px;height:28px;font-size:11px}.owner-ship-info[data-v-1e4b53f0]{flex:1 1 calc(100% - 44px)}.owner-ship-name[data-v-1e4b53f0]{font-size:12px}.owner-ship-meta[data-v-1e4b53f0]{font-size:10px}.ship-alerts-row[data-v-1e4b53f0]{margin-top:3px}.ship-alert-tag[data-v-1e4b53f0]{font-size:8px;padding:1px 6px 1px 4px}.owner-ship-arrow[data-v-1e4b53f0]{font-size:14px;align-self:flex-start;margin-top:4px}.owner-ship-detail[data-v-1e4b53f0]{padding:10px}.owner-ship-detail-header h4[data-v-1e4b53f0]{font-size:14px}.detail-grid[data-v-1e4b53f0],.detail-compact-grid[data-v-1e4b53f0],.sub-detail-grid[data-v-1e4b53f0]{grid-template-columns:1fr}.owner-alert[data-v-1e4b53f0]{font-size:9px;padding:2px 8px}}@media(max-width:480px){.owner-alerts-row[data-v-1e4b53f0]{gap:4px}.owner-alert[data-v-1e4b53f0]{font-size:8px;padding:2px 6px}.ship-alert-tag[data-v-1e4b53f0]{font-size:7px;padding:1px 5px 1px 3px}.badge-count[data-v-1e4b53f0]{font-size:10px;min-width:22px;height:20px;padding:0 6px}}.sr-form[data-v-eea5ce5a]{max-width:1100px;margin:0 auto}.sr-form-letterhead[data-v-eea5ce5a]{margin-bottom:0}.sr-letterhead-img[data-v-eea5ce5a]{display:block;width:auto;max-width:100%;max-height:60px;height:auto;margin:0 auto;object-fit:contain}.sr-header[data-v-eea5ce5a]{position:relative;text-align:center;margin:24px 0}.sr-header h2[data-v-eea5ce5a]{font-size:1.2rem;font-weight:800;margin:0;letter-spacing:.05em}.sr-no-row[data-v-eea5ce5a]{position:absolute;top:50%;right:0;transform:translateY(-50%);display:flex;align-items:center;gap:8px}.sr-no-row label[data-v-eea5ce5a]{font-weight:700;font-size:.85rem}.sr-no-input[data-v-eea5ce5a]{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-eea5ce5a]{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-eea5ce5a]{font-size:.85rem;font-weight:700;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--teal-dark);color:var(--slate-800)}.att-toolbar[data-v-eea5ce5a]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.att-fields[data-v-eea5ce5a]{display:flex;gap:16px;flex:1;min-width:320px;flex-wrap:wrap}.att-field[data-v-eea5ce5a]{display:flex;align-items:center;gap:8px;flex:1;min-width:220px}.att-field label[data-v-eea5ce5a]{font-weight:600;font-size:.78rem;color:var(--slate-500);white-space:nowrap}.att-actions[data-v-eea5ce5a]{display:flex;gap:8px;align-items:center}.att-fault-input[data-v-eea5ce5a]{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.82rem;background:var(--bg-input);color:var(--slate-800)}.att-fault-input[data-v-eea5ce5a]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}[data-theme=dark] .att-fault-input[data-v-eea5ce5a]{background:var(--bg-input);color:var(--slate-800)}.att-file-input[data-v-eea5ce5a]{display:none}.att-block[data-v-eea5ce5a]{margin-bottom:14px}.att-block-title[data-v-eea5ce5a]{font-size:.78rem;font-weight:700;color:var(--slate-500);margin:0 0 8px}.att-grid[data-v-eea5ce5a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.att-item[data-v-eea5ce5a]{position:relative;border:1px solid var(--slate-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-input);box-shadow:0 1px 2px #0f172a0a}.att-img[data-v-eea5ce5a]{width:100%;height:140px;object-fit:cover;display:block}.att-caption[data-v-eea5ce5a]{display:block;width:100%;box-sizing:border-box;padding:6px 8px;border:none;border-top:1px solid var(--slate-200);font-size:.72rem;background:var(--bg-card);color:var(--slate-800);outline:none}.att-caption[data-v-eea5ce5a]:focus{box-shadow:inset 0 0 0 2px #0d948840}.att-remove[data-v-eea5ce5a]{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:#dc2626e6;color:#fff;font-size:.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.att-empty[data-v-eea5ce5a]{font-size:.82rem;color:var(--slate-400);margin:0}.sr-grid-2[data-v-eea5ce5a]{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.sr-field[data-v-eea5ce5a]{display:flex;align-items:center;gap:6px}.sr-field label[data-v-eea5ce5a]{font-weight:600;font-size:.78rem;color:var(--slate-500);white-space:nowrap;min-width:100px}.sr-field input[data-v-eea5ce5a],.sr-field select[data-v-eea5ce5a]{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-eea5ce5a]:focus,.sr-field select[data-v-eea5ce5a]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.port-field-wrap[data-v-eea5ce5a]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.port-field-wrap select[data-v-eea5ce5a],.port-field-wrap input[data-v-eea5ce5a]{flex:1;min-width:0}.port-custom-input[data-v-eea5ce5a]{padding:6px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.82rem;background:var(--bg-input);color:var(--slate-800)}.port-custom-input[data-v-eea5ce5a]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}[data-theme=dark] .port-custom-input[data-v-eea5ce5a]{background:var(--bg-input);color:var(--slate-800)}.sr-field-combo[data-v-eea5ce5a]{display:flex;flex-direction:column}.sr-field-combo label[data-v-eea5ce5a]{font-weight:600;font-size:.78rem;color:var(--slate-500);margin-bottom:4px}.sr-field-combo .combo-row[data-v-eea5ce5a]{display:flex;gap:8px}.sr-field-combo .combo-col[data-v-eea5ce5a]{flex:1;display:flex;align-items:center;gap:4px;min-width:0}.sr-field-combo .combo-col span[data-v-eea5ce5a]{font-size:.7rem;color:var(--slate-500);white-space:nowrap}.sr-field-combo .combo-col input[data-v-eea5ce5a]{flex:1;min-width:0;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-combo .combo-col input[data-v-eea5ce5a]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.sr-field-combo .combo-col select[data-v-eea5ce5a]{flex:1;min-width:0;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-combo .combo-col select[data-v-eea5ce5a]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.sig-input-wrap[data-v-eea5ce5a]{display:flex;align-items:center;gap:8px;flex:1}.sig-input-wrap select[data-v-eea5ce5a]{flex:1}.sig-type-select[data-v-eea5ce5a]{max-width:150px;flex:0 0 auto}.sig-preview[data-v-eea5ce5a]{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-eea5ce5a]{width:60px;height:60px;object-fit:contain;flex-shrink:0}.sig-field .sr-field label[data-v-eea5ce5a]{min-width:120px}.engineer-select-wrap[data-v-eea5ce5a]{display:flex;align-items:center;gap:8px;flex:1}.engineer-select[data-v-eea5ce5a]{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-eea5ce5a]{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--teal);flex-shrink:0}.imo-spinner[data-v-eea5ce5a]{display:inline-block;width:14px;height:14px;border:2px solid var(--slate-200);border-top-color:var(--teal);border-radius:50%;animation:imoSpin-eea5ce5a .6s linear infinite;flex-shrink:0}@keyframes imoSpin-eea5ce5a{to{transform:rotate(360deg)}}.sr-table[data-v-eea5ce5a]{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:8px}.sr-table th[data-v-eea5ce5a]{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-eea5ce5a]{padding:4px 8px;border-bottom:1px solid var(--slate-100)}.sr-table input[data-v-eea5ce5a]{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-eea5ce5a]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.sr-table select[data-v-eea5ce5a]{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-eea5ce5a]{background:var(--slate-100);color:var(--slate-500);cursor:default}.part-stock-select[data-v-eea5ce5a]{max-width:180px}.part-custom-input[data-v-eea5ce5a]{margin-top:2px}.qty-input[data-v-eea5ce5a]{width:70px!important;text-align:center}.sr-work-grid[data-v-eea5ce5a]{display:grid;grid-template-columns:1fr;gap:12px}.sr-work-item[data-v-eea5ce5a]{display:flex;flex-direction:column}.sr-work-item label[data-v-eea5ce5a]{font-weight:600;font-size:.78rem;color:var(--slate-500);margin-bottom:4px}.sr-work-item textarea[data-v-eea5ce5a]{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-eea5ce5a]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #0d948826}.sr-parts-expenses[data-v-eea5ce5a]{display:flex;gap:20px}.sr-parts-col[data-v-eea5ce5a]{flex:1}.sr-expenses-col[data-v-eea5ce5a]{width:260px}.expense-row[data-v-eea5ce5a]{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-eea5ce5a]{width:18px;height:18px;accent-color:var(--teal-dark);cursor:pointer}.expense-label[data-v-eea5ce5a]{font-weight:700;font-size:.82rem;color:var(--slate-600);text-transform:uppercase;letter-spacing:.03em;cursor:pointer}.expense-row[data-v-eea5ce5a]:has(input:checked){background:#0d948814}.expense-row:has(input:checked) .expense-label[data-v-eea5ce5a]{color:var(--teal-dark)}.sr-actions[data-v-eea5ce5a]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-xs[data-v-eea5ce5a]{padding:2px 8px;font-size:.7rem}@media(max-width:1080px){.sr-parts-expenses[data-v-eea5ce5a]{flex-direction:column}.sr-expenses-col[data-v-eea5ce5a]{width:100%}}@media(max-width:768px){.sr-grid-2[data-v-eea5ce5a]{grid-template-columns:1fr}.sr-letterhead-img[data-v-eea5ce5a]{max-height:40px}.sr-parts-expenses[data-v-eea5ce5a]{flex-direction:column}.sr-expenses-col[data-v-eea5ce5a]{width:100%}.sr-form[data-v-eea5ce5a]{max-width:100%}.sr-section[data-v-eea5ce5a]{padding:12px}.sr-field[data-v-eea5ce5a]{flex-direction:column;align-items:stretch}.sr-field label[data-v-eea5ce5a]{min-width:auto}.sr-field input[data-v-eea5ce5a],.sr-field select[data-v-eea5ce5a]{width:100%}.sr-field-combo .combo-row[data-v-eea5ce5a]{flex-direction:column}.sr-field-combo .combo-col[data-v-eea5ce5a]{flex-direction:column;align-items:stretch}.sr-field-combo .combo-col input[data-v-eea5ce5a]{width:100%}.sr-table[data-v-eea5ce5a]{min-width:auto}.sr-table-wrap[data-v-eea5ce5a]{overflow-x:auto;-webkit-overflow-scrolling:touch}.sr-table input[type=time][data-v-eea5ce5a]{min-width:90px}.sr-table input[type=number][data-v-eea5ce5a]{min-width:50px}.sr-header h2[data-v-eea5ce5a]{font-size:1rem}.sr-no-row[data-v-eea5ce5a]{position:static;transform:none;justify-content:flex-end;margin-top:6px}.sr-no-input[data-v-eea5ce5a]{width:180px;font-size:.8rem}.att-toolbar[data-v-eea5ce5a]{flex-direction:column;align-items:stretch}.att-fields[data-v-eea5ce5a]{min-width:0;flex-direction:column;gap:8px}.att-field[data-v-eea5ce5a]{min-width:0}.att-actions[data-v-eea5ce5a]{justify-content:space-between}.att-actions .btn[data-v-eea5ce5a]{flex:1}.att-grid[data-v-eea5ce5a]{grid-template-columns:repeat(2,1fr);gap:8px}.att-img[data-v-eea5ce5a]{height:110px}}@media(max-width:480px){.att-grid[data-v-eea5ce5a]{grid-template-columns:1fr}.att-actions[data-v-eea5ce5a]{flex-direction:column}.att-actions .btn[data-v-eea5ce5a]{width:100%;flex:none}.att-field[data-v-eea5ce5a]{flex-direction:column;align-items:stretch}.att-field label[data-v-eea5ce5a]{white-space:normal}}[data-theme=dark] .sr-field input[data-v-eea5ce5a],[data-theme=dark] .sr-field select[data-v-eea5ce5a],[data-theme=dark] .sr-field-combo .combo-col input[data-v-eea5ce5a],[data-theme=dark] .sr-field-combo .combo-col select[data-v-eea5ce5a],[data-theme=dark] .sr-table input[data-v-eea5ce5a],[data-theme=dark] .sr-table select[data-v-eea5ce5a],[data-theme=dark] .sr-work-item textarea[data-v-eea5ce5a],[data-theme=dark] .sr-no-input[data-v-eea5ce5a]{background:var(--bg-input);color:var(--slate-800)}[data-theme=dark] .sr-table input[readonly][data-v-eea5ce5a]{background:var(--slate-200);color:var(--slate-400)}[data-theme=dark] .expense-row[data-v-eea5ce5a]{background:var(--slate-100)}.sr-print-view[data-v-ce73f500]{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-ce73f500]{margin:0 -28px}.sr-letterhead-img[data-v-ce73f500]{display:block;width:auto;max-width:100%;max-height:60px;height:auto;margin:0 auto;object-fit:contain}.sr-print-header[data-v-ce73f500]{position:relative;text-align:center;margin:14px 0}.sr-print-header h2[data-v-ce73f500]{font-size:1.15rem;margin:0;letter-spacing:1px;text-transform:uppercase}.sr-print-no[data-v-ce73f500]{position:absolute;top:50%;right:0;transform:translateY(-50%);font-size:.8rem;color:var(--slate-500)}.sr-print-section[data-v-ce73f500]{margin-bottom:10px;padding:8px 10px;border:1px solid var(--slate-200);border-radius:var(--radius-sm)}.sr-print-section h3[data-v-ce73f500]{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-ce73f500]{width:100%;border-collapse:collapse;font-size:.78rem}.print-table th[data-v-ce73f500]{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-ce73f500]{padding:3px 7px;border-bottom:1px solid var(--slate-100);vertical-align:top}.print-table tr:last-child td[data-v-ce73f500]{border-bottom:none}.print-table .pl[data-v-ce73f500]{font-weight:600;color:var(--slate-500);white-space:nowrap;width:130px}.print-table .pv[data-v-ce73f500]{font-weight:500}.work-block[data-v-ce73f500]{display:grid;grid-template-columns:1fr;gap:0}.work-item[data-v-ce73f500]{padding:5px 7px;background:var(--slate-50);border-radius:4px}.work-item strong[data-v-ce73f500]{font-size:.7rem;color:var(--teal-dark);display:block}.work-item p[data-v-ce73f500]{margin:2px 0 0;font-size:.75rem;white-space:pre-wrap;color:var(--slate-700)}.parts-expenses-row[data-v-ce73f500]{display:flex;gap:12px;align-items:flex-start}.ts-exp-col[data-v-ce73f500]{flex:1 1 auto;min-width:0}.ts-exp-col .print-table-wrap[data-v-ce73f500]{overflow-x:auto;-webkit-overflow-scrolling:touch}.ts-exp-col .print-table[data-v-ce73f500]{min-width:560px}.expenses-col[data-v-ce73f500]{width:200px;flex-shrink:0}.parts-expenses-row.expenses-only[data-v-ce73f500]{align-items:center;justify-content:center}.parts-expenses-row.expenses-only .expenses-col[data-v-ce73f500]{width:auto}.expenses-col .exp-list[data-v-ce73f500]{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px}.exp-list[data-v-ce73f500]{display:flex;flex-direction:column;gap:6px}.exp-item[data-v-ce73f500]{display:flex;align-items:center;gap:5px;padding:4px 7px;border-radius:var(--radius-sm);font-weight:700;font-size:.66rem;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.exp-item .exp-chk[data-v-ce73f500]{width:13px;height:13px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.5rem;color:#fff;flex-shrink:0;line-height:1}.exp-item.is-yes[data-v-ce73f500]{background:#0d94881a;color:var(--teal-dark);border:1px solid rgba(13,148,136,.3)}.exp-item.is-yes .exp-chk[data-v-ce73f500]{background:var(--teal-dark)}.exp-item.is-no[data-v-ce73f500]{background:var(--slate-50);color:var(--slate-400);border:1px dashed var(--slate-300)}.exp-item.is-no .exp-chk[data-v-ce73f500]{background:var(--slate-300)}.signatures-row[data-v-ce73f500]{display:flex;gap:32px;margin-top:4px;align-items:stretch}.sig-box[data-v-ce73f500]{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.sig-label[data-v-ce73f500]{font-size:.68rem;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.sig-body[data-v-ce73f500]{min-height:64px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px}.sig-fallback[data-v-ce73f500]{font-size:.72rem;color:var(--slate-400);letter-spacing:.05em}.sig-name[data-v-ce73f500]{font-size:.82rem;font-weight:600;color:var(--slate-900);margin-top:4px}.sig-line[data-v-ce73f500]{border-bottom:2px solid var(--slate-400);width:60%}.qr-image[data-v-ce73f500]{width:64px;height:64px;image-rendering:pixelated;display:block}.sr-actions-bar[data-v-ce73f500]{display:flex;justify-content:center;gap:8px;margin-top:16px}.sr-section[data-v-ce73f500]{max-width:820px;margin:20px auto 0;padding:16px;background:var(--bg-card);border:1px solid var(--slate-200);border-radius:var(--radius-md)}.sr-section-title[data-v-ce73f500]{font-size:.85rem;font-weight:700;margin:0 0 14px;padding-bottom:6px;border-bottom:2px solid var(--teal-dark);color:var(--slate-800);text-transform:uppercase;letter-spacing:.02em}.att-grid[data-v-ce73f500]{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.att-card[data-v-ce73f500]{border:1px solid var(--slate-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-card);box-shadow:0 1px 2px #0f172a0d;display:flex;flex-direction:column}.att-card-img[data-v-ce73f500]{position:relative}.att-num[data-v-ce73f500]{position:absolute;top:6px;left:6px;background:#0f172ab8;color:#fff;font-size:.7rem;font-weight:600;padding:2px 9px;border-radius:999px}.att-img[data-v-ce73f500]{width:100%;height:160px;object-fit:cover;display:block}.att-card-body[data-v-ce73f500]{padding:10px;flex:1;display:flex;flex-direction:column}.att-row[data-v-ce73f500]{display:flex;gap:8px;margin-bottom:6px;align-items:flex-start}.att-label[data-v-ce73f500]{flex:0 0 auto;font-size:.68rem;font-weight:700;color:var(--slate-500);text-transform:uppercase;letter-spacing:.02em;padding-top:2px}.att-value[data-v-ce73f500]{flex:1;font-size:.78rem;color:var(--slate-800);overflow-wrap:break-word;word-break:break-word}.att-dl-btn[data-v-ce73f500]{width:100%;margin-top:auto}@media(max-width:1080px){.parts-expenses-row[data-v-ce73f500]{flex-direction:column}.expenses-col[data-v-ce73f500]{width:100%}.expenses-col .exp-list[data-v-ce73f500]{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:6px}}@media(max-width:768px){.sr-print-view[data-v-ce73f500]{width:100%;max-width:100%;padding:8px;min-width:0;box-sizing:border-box;overflow:hidden}.sr-print-letterhead[data-v-ce73f500]{margin:0 -8px}.sr-letterhead-img[data-v-ce73f500]{max-height:40px;width:auto;max-width:100%;height:auto;margin:0 auto;object-fit:contain;display:block}.sr-print-header h2[data-v-ce73f500]{font-size:.95rem}.sr-print-header[data-v-ce73f500]{position:relative;margin:8px 0}.sr-print-no[data-v-ce73f500]{position:static;transform:none;font-size:.72rem;margin-top:2px}.parts-expenses-row[data-v-ce73f500]{flex-direction:column}.expenses-col[data-v-ce73f500]{width:100%}.expenses-col .exp-list[data-v-ce73f500]{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px}.signatures-row[data-v-ce73f500]{flex-direction:column;gap:16px}.sr-print-section[data-v-ce73f500]{padding:6px;overflow:visible}.sr-print-section h3[data-v-ce73f500]{font-size:.75rem}.print-table-wrap[data-v-ce73f500]{overflow-x:auto;-webkit-overflow-scrolling:touch}.print-table[data-v-ce73f500]{min-width:560px}.print-table .pl[data-v-ce73f500]{display:table-cell}.work-item p[data-v-ce73f500]{font-size:.72rem}.work-item strong[data-v-ce73f500]{font-size:.65rem}.sig-label[data-v-ce73f500]{font-size:.6rem}.sig-body[data-v-ce73f500]{min-height:48px}.sig-fallback[data-v-ce73f500]{font-size:.65rem}.sig-name[data-v-ce73f500]{font-size:.75rem}.sig-line[data-v-ce73f500]{border-bottom-width:1.5px}.sr-actions-bar[data-v-ce73f500]{flex-wrap:wrap;justify-content:stretch}.sr-actions-bar .btn[data-v-ce73f500],.sr-actions-bar a[data-v-ce73f500]{flex:1;text-align:center}.qr-image[data-v-ce73f500]{width:52px;height:52px}.sr-section[data-v-ce73f500]{margin:16px 8px 0;padding:12px;max-width:100%}.att-grid[data-v-ce73f500]{grid-template-columns:1fr}.att-img[data-v-ce73f500]{height:200px}}.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}}.perf-page[data-v-51cb6de1]{padding-bottom:40px}.perf-card[data-v-51cb6de1]{margin-bottom:20px}.perf-period[data-v-51cb6de1]{margin-left:auto;font-size:.78rem;font-weight:600;color:var(--slate-400)}.chart-wrapper[data-v-51cb6de1]{padding:12px 16px;height:260px;position:relative}.perf-chart-body[data-v-51cb6de1]{padding-bottom:4px}.month-strip[data-v-51cb6de1]{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}.month-chip[data-v-51cb6de1]{font-size:.68rem;font-weight:500;color:var(--slate-600);background:#0d948814;border:1px solid var(--slate-200);border-radius:100px;padding:3px 10px}.month-chip strong[data-v-51cb6de1]{margin-left:4px;color:#0f766e}.month-chip-zero[data-v-51cb6de1]{background:var(--slate-50);color:var(--slate-400)}.month-chip-zero strong[data-v-51cb6de1]{color:var(--slate-400)}.stats-grid[data-v-51cb6de1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card[data-v-51cb6de1]{background:var(--bg-card);border-radius:14px;padding:18px 20px;border:1px solid var(--slate-200);box-shadow:var(--shadow-sm)}.stat-icon-box[data-v-51cb6de1]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:12px;background:#0d94881a}.stat-label[data-v-51cb6de1]{font-size:.75rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em}.stat-value[data-v-51cb6de1]{font-size:1.6rem;font-weight:800;color:var(--slate-900);line-height:1.2}.stat-trend[data-v-51cb6de1]{font-size:.76rem;font-weight:500;color:var(--slate-500)}.role-tag[data-v-51cb6de1]{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:100px}.role-main[data-v-51cb6de1]{background:#0d94881f;color:#0f766e}.role-second[data-v-51cb6de1]{background:#6366f11f;color:#4338ca}.empty-mini[data-v-51cb6de1]{text-align:center;padding:28px;color:var(--slate-400);font-size:.9rem}@media(max-width:640px){.stats-grid[data-v-51cb6de1]{grid-template-columns:1fr 1fr}.chart-wrapper[data-v-51cb6de1]{height:220px}}.equip-table-scroll[data-v-00a8611d]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:16px}.data-table[data-v-00a8611d]{width:100%;border-collapse:collapse;margin-top:0;font-size:.8rem;min-width:800px;table-layout:fixed;border:1px solid var(--slate-200);border-radius:10px;overflow:hidden}.data-table th[data-v-00a8611d],.data-table td[data-v-00a8611d]{padding:10px 14px;border-bottom:1px solid var(--slate-100);text-align:left;font-size:.78rem;vertical-align:middle}.data-table col.col-name[data-v-00a8611d]{width:30%}.data-table col.col-equip[data-v-00a8611d]{width:26%}.data-table col.col-brand[data-v-00a8611d]{width:24%}.data-table col.col-date[data-v-00a8611d]{width:20%}.data-table th[data-v-00a8611d]{background:var(--slate-50);font-weight:600;color:var(--slate-500);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;position:sticky;top:0;z-index:10}.data-table tbody tr:last-child>td[data-v-00a8611d]{border-bottom:none}.data-table tr[data-v-00a8611d]{background:var(--bg-card)}.data-table tbody tr[data-v-00a8611d]:hover{background:var(--slate-50)}.filter-bar[data-v-00a8611d]{display:flex;gap:10px;align-items:center;margin:12px 0 8px;flex-wrap:wrap}.search-bar[data-v-00a8611d]{flex:1;min-width:200px}.search-bar input[data-v-00a8611d]{width:100%;padding:7px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.8rem;background:var(--bg-card);color:var(--slate-700)}.search-count[data-v-00a8611d]{font-size:.75rem;color:var(--slate-500);white-space:nowrap}.empty-state[data-v-00a8611d]{padding:40px 20px;text-align:center;color:var(--slate-400)}.equipment-select[data-v-00a8611d]{width:100%;padding:6px 8px;border:1px solid var(--slate-300);border-radius:6px;background:var(--bg-card);color:var(--slate-700);font-size:.75rem;cursor:pointer;transition:border-color .15s ease}.equipment-select[data-v-00a8611d]:focus{outline:none;border-color:var(--teal)}.group-row[data-v-00a8611d]{cursor:pointer}.group-row.group-open[data-v-00a8611d]{background:var(--bg-card);box-shadow:inset 0 0 0 1px var(--slate-200)}.group-row[data-v-00a8611d]:hover{background:var(--slate-50)}.name-cell[data-v-00a8611d]{display:flex;align-items:center;gap:8px;min-width:0}.group-caret[data-v-00a8611d]{font-size:.7rem;color:var(--slate-400);width:14px;flex-shrink:0}.group-name[data-v-00a8611d]{font-weight:600;color:var(--slate-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-count[data-v-00a8611d]{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:100px;background:#0d94881a;color:var(--teal);flex-shrink:0}.group-detail-row td[data-v-00a8611d]{padding:0!important;border:none}.group-detail-cell[data-v-00a8611d]{background:var(--slate-50)}.group-dropdown[data-v-00a8611d]{border-top:1px solid var(--slate-200);padding:10px 14px}.group-dropdown-title[data-v-00a8611d]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--slate-400);margin-bottom:8px}.group-dropdown-item[data-v-00a8611d]{padding:10px 12px;border-radius:8px;margin-bottom:6px;background:var(--bg-card);border:1px solid var(--slate-200);box-shadow:var(--shadow-sm)}.group-dropdown-item[data-v-00a8611d]:last-child{margin-bottom:0}.gd-main[data-v-00a8611d]{display:grid;grid-template-columns:150px 1fr 140px;gap:16px;align-items:center}.gd-date[data-v-00a8611d]{font-weight:600;font-size:.78rem;color:var(--slate-500);white-space:nowrap}.gd-equip label[data-v-00a8611d]{display:block;font-size:.62rem;font-weight:600;color:var(--slate-400);text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px}.gd-brand[data-v-00a8611d]{font-weight:600;font-size:.78rem;color:var(--slate-700);white-space:nowrap;text-align:right}@media(max-width:900px){.gd-main[data-v-00a8611d]{grid-template-columns:1fr;gap:10px}.gd-brand[data-v-00a8611d]{text-align:left}}@media(max-width:768px){.data-table[data-v-00a8611d]{display:block;width:100%;min-width:0;overflow:visible}.data-table thead[data-v-00a8611d]{display:none}.data-table tbody[data-v-00a8611d]{display:block;width:100%}.data-table tr.group-row[data-v-00a8611d]{display:block;margin-bottom:8px;padding:0;border:1px solid var(--slate-200);border-radius:10px;overflow:hidden}.data-table tr.group-row td[data-v-00a8611d]{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;min-width:0}.data-table tr.group-row td[data-v-00a8611d]:before{display:none}.data-table tr.group-row td.name-cell[data-v-00a8611d]{font-weight:700;background:var(--slate-50);border-bottom:1px solid var(--slate-100)}.data-table tr.group-row td[data-v-00a8611d]:not(.name-cell){font-size:.78rem;color:var(--slate-700)}.data-table tr.group-row td[data-v-00a8611d]:not(:last-child){border-bottom:1px solid var(--slate-100)}.group-name[data-v-00a8611d]{white-space:normal}.group-count[data-v-00a8611d]{margin-left:auto}.data-table tr.group-detail-row[data-v-00a8611d]{display:block;margin:-1px 0 8px;border:1px solid var(--slate-200);border-radius:10px;overflow:hidden}.data-table tr.group-detail-row td[data-v-00a8611d]{display:block;padding:0!important;border:none}.group-detail-cell[data-v-00a8611d]{background:var(--bg-card);border-top:1px solid var(--slate-200)}.group-dropdown[data-v-00a8611d]{padding:12px}.group-dropdown-title[data-v-00a8611d]{margin-bottom:10px;font-size:.68rem}.group-dropdown-item[data-v-00a8611d]{padding:12px}.gd-main[data-v-00a8611d]{grid-template-columns:1fr;gap:10px}.gd-date[data-v-00a8611d]{font-size:.8rem;color:var(--slate-600)}.gd-brand[data-v-00a8611d]{text-align:left}}.mkt-summary[data-v-188ea781]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:20px}.stat-card[data-v-188ea781]{background:var(--bg-card);border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:14px 16px;text-align:center}.stat-num[data-v-188ea781]{font-size:1.5rem;font-weight:800;color:var(--teal-dark);line-height:1.1}.stat-label[data-v-188ea781]{font-size:.7rem;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:.03em;margin-top:3px}.filter-group.search[data-v-188ea781]{flex:1;min-width:220px}.cell-main[data-v-188ea781]{font-weight:600;color:var(--slate-900);font-size:.82rem}.cell-sub[data-v-188ea781]{font-size:.72rem;color:var(--slate-400)}.tag[data-v-188ea781]{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap}.tag-telesales[data-v-188ea781]{background:#0d94881a;color:var(--teal-dark)}.tag-sales[data-v-188ea781]{background:#3b82f61a;color:#1d4ed8}.tag-kerjasama[data-v-188ea781]{background:#7c3aed1a;color:#6d28d9}.tag-new[data-v-188ea781]{background:#0d94881a;color:var(--teal-dark)}.tag-tetap[data-v-188ea781]{background:#64748b1f;color:var(--slate-600)}.tag-none[data-v-188ea781]{background:var(--slate-100);color:var(--slate-400)}.data-table[data-v-188ea781]{width:100%;border-collapse:collapse;font-size:.8rem}.data-table th[data-v-188ea781]{background:var(--slate-50);padding:8px 10px;text-align:left;font-weight:700;font-size:.7rem;color:var(--slate-500);border-bottom:2px solid var(--slate-200);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.data-table td[data-v-188ea781]{padding:8px 10px;border-bottom:1px solid var(--slate-100);vertical-align:top}.data-table tr:hover td[data-v-188ea781]{background:#0d948808}.actions-cell[data-v-188ea781]{white-space:nowrap;text-align:right}.btn-xs[data-v-188ea781]{padding:3px 8px;font-size:.72rem}.mkt-form[data-v-105747d3]{max-width:900px;margin:0 auto;background:var(--bg-card);border:1px solid var(--slate-200);border-radius:var(--radius-md);padding:24px 28px 28px}.mkt-form-letterhead[data-v-105747d3]{text-align:center;margin-bottom:14px}.mkt-letterhead-img[data-v-105747d3]{display:block;max-width:100%;max-height:56px;height:auto;margin:0 auto;object-fit:contain}.mkt-header[data-v-105747d3]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--teal);padding-bottom:12px;margin-bottom:18px}.mkt-header h2[data-v-105747d3]{margin:0;font-size:1.05rem;letter-spacing:.5px;text-transform:uppercase;color:var(--slate-900)}.mkt-date-row[data-v-105747d3]{display:flex;align-items:center;gap:8px}.mkt-date-row label[data-v-105747d3]{font-weight:600;font-size:.78rem;color:var(--slate-500);text-transform:uppercase}.mkt-date-row input[data-v-105747d3]{padding:6px 10px;border:1px solid var(--slate-300);border-radius:6px;font-family:inherit;background:var(--bg-input);color:var(--slate-900)}.mkt-section[data-v-105747d3]{border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:16px}.mkt-section-title[data-v-105747d3]{margin:0 0 12px;font-size:.82rem;font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.03em;padding-bottom:6px;border-bottom:1px solid var(--slate-100)}.mkt-grid[data-v-105747d3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 16px;margin-bottom:12px}.mkt-field[data-v-105747d3]{display:flex;flex-direction:column;gap:4px}.mkt-field.full[data-v-105747d3]{grid-column:1 / -1}.mkt-field.wide[data-v-105747d3]{flex:2;min-width:240px}.mkt-field label[data-v-105747d3]{font-size:.72rem;font-weight:700;color:var(--slate-500);text-transform:uppercase;letter-spacing:.02em}.mkt-field input[data-v-105747d3],.mkt-field textarea[data-v-105747d3],.mkt-field select[data-v-105747d3],.mkt-proj-inline input[data-v-105747d3],.chip-other[data-v-105747d3]{padding:8px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.85rem;font-family:inherit;background:var(--bg-input);color:var(--slate-900);outline:none;transition:var(--transition)}.mkt-field input[data-v-105747d3]:focus,.mkt-field textarea[data-v-105747d3]:focus,.mkt-proj-inline input[data-v-105747d3]:focus,.chip-other[data-v-105747d3]:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d94881f}.mkt-field textarea[data-v-105747d3]{resize:vertical}.mkt-block[data-v-105747d3]{margin-bottom:14px}.mkt-block-label[data-v-105747d3]{display:block;font-size:.72rem;font-weight:700;color:var(--slate-500);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px}.chip-group[data-v-105747d3]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip[data-v-105747d3]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--slate-300);border-radius:999px;background:var(--bg-card);font-size:.78rem;font-weight:600;color:var(--slate-600);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition)}.chip[data-v-105747d3]:hover{border-color:var(--teal)}.chip.active[data-v-105747d3]{background:#0d94881a;border-color:var(--teal);color:var(--teal-dark)}.chip input[data-v-105747d3]{display:none}.chip-other[data-v-105747d3]{min-width:180px;border-radius:999px}.mkt-proj-row[data-v-105747d3]{margin-bottom:14px}.mkt-check-line[data-v-105747d3]{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--slate-700);cursor:pointer}.mkt-check-line input[data-v-105747d3]{width:16px;height:16px;accent-color:var(--teal-dark)}.mkt-check-line.active[data-v-105747d3]{color:var(--teal-dark)}.mkt-proj-inline[data-v-105747d3]{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding:12px;background:var(--slate-50);border:1px dashed var(--slate-200);border-radius:8px}.mkt-proj-inline .mkt-field[data-v-105747d3]{flex:1;min-width:140px}.mkt-table-wrap[data-v-105747d3]{overflow-x:auto;margin-bottom:8px}.mkt-table[data-v-105747d3]{width:100%;border-collapse:collapse;font-size:.8rem}.mkt-table th[data-v-105747d3]{background:var(--slate-50);padding:6px 8px;text-align:left;font-weight:700;font-size:.72rem;color:var(--slate-500);border-bottom:2px solid var(--slate-200);white-space:nowrap}.mkt-table td[data-v-105747d3]{padding:4px 8px;border-bottom:1px solid var(--slate-100)}.mkt-table input[data-v-105747d3]{width:100%;padding:6px 8px;border:1px solid var(--slate-300);border-radius:6px;font-size:.8rem;background:var(--bg-input);color:var(--slate-900)}.mkt-table input[data-v-105747d3]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0d94881f}.mkt-actions[data-v-105747d3]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn-xs[data-v-105747d3]{padding:2px 8px;font-size:.7rem}.att-toolbar[data-v-105747d3]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.att-fields[data-v-105747d3]{display:flex;gap:16px;flex:1;min-width:280px;flex-wrap:wrap}.att-field[data-v-105747d3]{display:flex;align-items:center;gap:8px;flex:1;min-width:220px}.att-field label[data-v-105747d3]{font-weight:600;font-size:.72rem;color:var(--slate-500);text-transform:uppercase;white-space:nowrap}.att-actions[data-v-105747d3]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.att-caption-input[data-v-105747d3]{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.85rem;background:var(--bg-input);color:var(--slate-900);font-family:inherit}.att-caption-input[data-v-105747d3]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0d94881f}.att-file-input[data-v-105747d3]{display:none}.att-block[data-v-105747d3]{margin-bottom:12px}.att-block-title[data-v-105747d3]{font-size:.72rem;font-weight:700;color:var(--slate-500);margin:0 0 8px;text-transform:uppercase;letter-spacing:.02em}.att-grid[data-v-105747d3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.att-item[data-v-105747d3]{position:relative;border:1px solid var(--slate-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-input);box-shadow:0 1px 2px #0f172a0a}.att-img[data-v-105747d3]{width:100%;height:140px;object-fit:cover;display:block}.att-caption[data-v-105747d3]{display:block;width:100%;box-sizing:border-box;padding:6px 8px;border:none;border-top:1px solid var(--slate-200);font-size:.72rem;background:var(--bg-card);color:var(--slate-900);outline:none;font-family:inherit}.att-caption[data-v-105747d3]:focus{box-shadow:inset 0 0 0 2px #0d948840}.att-remove[data-v-105747d3]{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:#dc2626e6;color:#fff;font-size:.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.att-empty[data-v-105747d3]{font-size:.82rem;color:var(--slate-400);margin:0}.mkt-company-wrap[data-v-105747d3]{position:relative}.company-suggestions[data-v-105747d3]{position:absolute;top:100%;left:0;right:0;z-index:50;max-height:220px;overflow-y:auto;margin-top:3px;background:var(--bg-card);border:1px solid var(--slate-300);border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.company-suggestion[data-v-105747d3]{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;font-size:.82rem;color:var(--slate-800);cursor:pointer;font-family:inherit}.company-suggestion[data-v-105747d3]:hover,.company-suggestion.active[data-v-105747d3]{background:#0d948814;color:var(--teal-dark)}.company-suggestion-empty[data-v-105747d3]{padding:8px 12px;font-size:.78rem;color:var(--slate-400)}.sig-row[data-v-105747d3]{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.sig-select[data-v-105747d3]{padding:8px 10px;border:1px solid var(--slate-300);border-radius:6px;font-size:.85rem;font-family:inherit;background:var(--bg-input);color:var(--slate-900);min-width:220px}.sig-select[data-v-105747d3]:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0d94881f}.sig-preview[data-v-105747d3]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px}.sig-name[data-v-105747d3]{font-family:Segoe Script,Brush Script MT,Brush Script Std,cursive;font-size:1.3rem;color:var(--slate-800);line-height:1.1}.sig-line[data-v-105747d3]{display:block;width:140px;border-bottom:1.5px solid var(--slate-500)}@media(max-width:640px){.mkt-form[data-v-105747d3]{padding:12px 12px 20px}.mkt-header[data-v-105747d3]{flex-direction:column;align-items:stretch}.mkt-actions[data-v-105747d3]{flex-direction:column}.mkt-actions .btn[data-v-105747d3]{width:100%;text-align:center}.sig-row[data-v-105747d3]{flex-direction:column;align-items:stretch}.sig-select[data-v-105747d3]{width:100%;min-width:0}.sig-preview[data-v-105747d3]{align-items:flex-start}.att-toolbar[data-v-105747d3]{flex-direction:column;align-items:stretch}.att-actions[data-v-105747d3]{justify-content:stretch}.att-actions .btn[data-v-105747d3]{flex:1 1 auto}}.mkt-detail-wrap[data-v-39ce649b]{max-width:860px;margin:0 auto;background:var(--bg-card);border:1px solid var(--slate-200);border-radius:var(--radius-md);padding:28px 32px 20px}.mkt-letterhead[data-v-39ce649b]{text-align:center;margin-bottom:12px}.mkt-letterhead-img[data-v-39ce649b]{display:block;max-width:100%;max-height:60px;height:auto;margin:0 auto;object-fit:contain}.mkt-title[data-v-39ce649b]{text-align:center;margin:12px 0 16px}.mkt-title h2[data-v-39ce649b]{margin:0;letter-spacing:.5px;text-transform:uppercase}.mkt-title-date[data-v-39ce649b]{font-size:.8rem;color:var(--slate-500);margin-top:2px}.mkt-section[data-v-39ce649b]{margin-bottom:12px;padding:10px 12px;border:1px solid var(--slate-200);border-radius:var(--radius-sm)}.mkt-section h3[data-v-39ce649b]{font-size:.8rem;font-weight:700;margin:0 0 6px;padding-bottom:4px;border-bottom:2px solid var(--teal-dark);color:var(--slate-900);text-transform:uppercase}.mkt-grid[data-v-39ce649b]{width:100%;border-collapse:collapse;font-size:.8rem}.mkt-grid td[data-v-39ce649b]{padding:3px 6px;vertical-align:top}.mkt-grid .lbl[data-v-39ce649b]{font-weight:700;color:var(--slate-500);white-space:nowrap;width:140px}.mkt-grid .val[data-v-39ce649b]{font-weight:500}.mkt-table[data-v-39ce649b]{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:5px}.mkt-table th[data-v-39ce649b]{background:var(--slate-50);padding:4px 8px;text-align:left;font-weight:700;font-size:.7rem;color:var(--slate-500);border-bottom:2px solid var(--slate-200)}.mkt-table td[data-v-39ce649b]{padding:4px 8px;border-bottom:1px solid var(--slate-100)}.mkt-table .muted[data-v-39ce649b]{color:var(--slate-400)}.field-line[data-v-39ce649b]{padding:2px 6px;font-size:.8rem}.lbl-long[data-v-39ce649b]{font-weight:700;color:var(--slate-500);white-space:nowrap}.val-inline[data-v-39ce649b]{font-weight:500}.preline[data-v-39ce649b]{white-space:pre-wrap}.mkt-actions-bar[data-v-39ce649b]{display:flex;justify-content:center;gap:8px;margin-top:16px;flex-wrap:wrap}.mkt-signature-section .signatures-row[data-v-39ce649b]{display:flex;gap:32px;margin-top:4px;align-items:stretch}.mkt-signature-section .sig-box[data-v-39ce649b]{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.mkt-signature-section .sig-label[data-v-39ce649b]{font-size:.68rem;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.mkt-signature-section .sig-body[data-v-39ce649b]{min-height:64px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px}.mkt-signature-section .sig-fallback[data-v-39ce649b]{font-size:.72rem;color:var(--slate-400);letter-spacing:.05em}.mkt-signature-section .sig-name[data-v-39ce649b]{font-size:.82rem;font-weight:600;color:var(--slate-900);margin-top:4px}.mkt-signature-section .sig-line[data-v-39ce649b]{border-bottom:2px solid var(--slate-400);width:60%}.mkt-att-section .att-grid[data-v-39ce649b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.mkt-att-section .att-card[data-v-39ce649b]{border:1px solid var(--slate-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-card);box-shadow:0 1px 2px #0f172a0d;display:flex;flex-direction:column}.mkt-att-section .att-card-img[data-v-39ce649b]{position:relative}.mkt-att-section .att-num[data-v-39ce649b]{position:absolute;top:6px;left:6px;background:#0f172ab8;color:#fff;font-size:.7rem;font-weight:600;padding:2px 9px;border-radius:999px}.mkt-att-section .att-img[data-v-39ce649b]{width:100%;height:150px;object-fit:cover;display:block}.mkt-att-section .att-card-body[data-v-39ce649b]{padding:10px;flex:1;display:flex;flex-direction:column;gap:8px}.mkt-att-section .att-row[data-v-39ce649b]{display:flex;flex-direction:column;gap:2px;font-size:.76rem}.mkt-att-section .att-label[data-v-39ce649b]{font-weight:700;color:var(--slate-500);font-size:.66rem;text-transform:uppercase;letter-spacing:.03em}.mkt-att-section .att-value[data-v-39ce649b]{color:var(--slate-800);word-break:break-word}.mkt-att-section .att-dl-btn[data-v-39ce649b]{align-self:flex-start}@media print{.mkt-att-section .att-dl-btn[data-v-39ce649b]{display:none}}@media(max-width:640px){.mkt-detail-wrap[data-v-39ce649b]{padding:12px 12px 16px;overflow-x:auto}.mkt-section[data-v-39ce649b]{overflow-x:auto;-webkit-overflow-scrolling:touch}.mkt-grid[data-v-39ce649b],.mkt-table[data-v-39ce649b]{min-width:460px}.mkt-actions-bar .btn[data-v-39ce649b]{flex:1 1 auto;justify-content:center}.mkt-signature-section .signatures-row[data-v-39ce649b]{flex-direction:column;gap:16px}}.upload-zone[data-v-e3876db2]{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-e3876db2]:hover,.upload-zone.drag-over[data-v-e3876db2]{border-color:var(--teal);background:#0d94880a}.upload-icon[data-v-e3876db2]{font-size:2.4rem;margin-bottom:8px}.upload-placeholder p[data-v-e3876db2]{margin:4px 0;color:var(--slate-500);font-size:.95rem}.upload-hint[data-v-e3876db2]{font-size:.78rem!important;color:var(--slate-400)!important}.upload-selected p[data-v-e3876db2]{margin:4px 0;font-size:1rem}.result-summary[data-v-e3876db2]{display:flex;gap:20px}.result-stat[data-v-e3876db2]{display:flex;flex-direction:column;align-items:center;padding:16px 24px;border-radius:var(--radius);min-width:100px}.result-number[data-v-e3876db2]{font-size:1.8rem;font-weight:800}.result-label[data-v-e3876db2]{font-size:.78rem;color:var(--slate-500);font-weight:600;text-transform:uppercase}.result-ok[data-v-e3876db2]{background:#0d948814}.result-ok .result-number[data-v-e3876db2]{color:#0f766e}.result-err[data-v-e3876db2]{background:#e11d4814}.result-err .result-number[data-v-e3876db2]{color:#dc2626}@media(max-width:640px){.upload-zone[data-v-e3876db2]{padding:24px 16px}.result-summary[data-v-e3876db2]{flex-direction:column;gap:8px}.result-stat[data-v-e3876db2]{flex-direction:row;gap:12px;padding:12px 16px;min-width:auto}.result-number[data-v-e3876db2]{font-size:1.3rem}.table-wrapper table thead[data-v-e3876db2]{display:none}.table-wrapper table tr[data-v-e3876db2]{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-e3876db2]{display:flex;flex-direction:column;gap:0;padding:2px 0;border:none}.table-wrapper table td[data-v-e3876db2]:before{content:attr(data-label);font-weight:600;color:var(--slate-400);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em}}.auth-page[data-v-3b124593]{min-height:calc(100vh - 100px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card[data-v-3b124593]{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-3b124593]{text-align:center;margin-bottom:32px}.auth-logo[data-v-3b124593]{height:100px;width:auto;margin-bottom:12px}.auth-header h1[data-v-3b124593]{font-size:1.5rem;font-weight:800;color:var(--slate-900);margin-bottom:4px}.auth-subtitle[data-v-3b124593]{font-size:.9rem;color:var(--slate-400)}.auth-btn[data-v-3b124593]{width:100%;padding:12px;font-size:.95rem;margin-top:8px}.auth-tabs[data-v-3b124593]{display:flex;margin-bottom:20px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--slate-200)}.auth-tab[data-v-3b124593]{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-3b124593]{background:var(--bg-card);color:var(--teal-dark);box-shadow:inset 0 -2px 0 var(--teal)}.auth-tab[data-v-3b124593]:hover:not(.active){background:var(--slate-100)}.theme-toggle-login[data-v-3b124593]{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-3b124593]: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-primary{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 2px 8px #2563eb40}.btn-primary:hover{box-shadow:0 4px 14px #2563eb59}.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,.auth-card{padding:32px 20px!important;margin:0 12px;border-radius:var(--radius)!important}.login-card h1,.register-card h1,.auth-card h1{font-size:1.5rem!important}}@media(max-width:600px){.form-actions{flex-wrap:wrap}.form-actions>*{flex:1 1 auto;justify-content:center;min-width:120px}}img,canvas,video,iframe,svg{max-width:100%}@media(max-width:768px){.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}}.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}
