body,html{background:#f8fafc;color:#111827;padding:0;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}*{box-sizing:border-box}.places-container{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:10;width:300px}.map-container{order:2;flex:1 1 auto;width:auto;min-width:0;min-height:65vh}.map-marker{align-items:center;background:rgba(15,23,42,.72);border-radius:10px;box-shadow:inset 0 0 0 1px rgba(147,197,253,.9),0 4px 10px rgba(15,23,42,.32);color:#bfdbfe;display:inline-flex;font-size:17px;font-weight:700;height:34px;justify-content:center;line-height:1;opacity:.9;position:relative;transform:translateY(-17px);-webkit-user-select:none;user-select:none;width:34px}.map-marker svg{height:22px;stroke-width:2.1;width:22px}.map-marker-home{background:rgba(6,78,59,.72);box-shadow:inset 0 0 0 1px rgba(110,231,183,.95),0 4px 10px rgba(15,23,42,.32);color:#a7f3d0}.map-marker-aiming,.map-marker-drop,.map-marker-target{background:rgba(127,29,29,.72);box-shadow:inset 0 0 0 1px rgba(248,113,113,.95),0 4px 10px rgba(15,23,42,.32);color:#fecaca}.map-marker-camera{align-items:center;background:rgba(30,64,175,.9);border-radius:6px;box-shadow:inset 0 0 0 1px rgba(147,197,253,.9);color:#dbeafe;display:inline-flex;height:18px;justify-content:center;opacity:.92;position:absolute;right:-7px;top:-7px;width:18px}.map-marker-camera svg{height:12px;stroke-width:2.4;width:12px}.gm-style .gm-style-iw-c{border-radius:12px;box-shadow:0 14px 30px rgba(15,23,42,.18);padding:0!important}.gm-style .gm-style-iw-d{overflow:hidden!important}.gm-style .gm-ui-hover-effect{align-items:center!important;border-radius:8px!important;display:flex!important;height:32px!important;justify-content:center!important;right:10px!important;top:10px!important;width:32px!important}.gm-style .gm-ui-hover-effect span{margin:0!important}.map-point-popover{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-width:260px;padding:14px}.map-point-popover-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px;padding-right:20px}.map-point-popover-title{color:#111827;font-size:15px;font-weight:760;line-height:1.2}.map-point-popover-type{color:#6b7280;font-size:12px;font-weight:650;line-height:1.3;margin-top:2px}.map-point-popover .MuiButton-root{border-color:#fecaca;color:#dc2626;font-size:12px;font-weight:700;min-height:30px;padding:4px 8px}.map-point-popover-grid{display:grid;gap:7px 14px;grid-template-columns:max-content minmax(0,1fr)}.map-point-popover-grid span{color:#6b7280;font-size:12px;font-weight:650}.map-point-popover-grid strong{color:#111827;font-size:12px;font-weight:650;min-width:0;overflow-wrap:anywhere;text-align:right}.mission-panel-action{background:rgba(37,99,235,.08)!important;border-radius:10px!important;color:#2563eb!important;height:38px;width:38px}.mission-panel-action:hover{background:rgba(37,99,235,.14)!important}.mission-alert{align-items:center!important;border-radius:8px!important;font-size:14px!important;font-weight:600!important;line-height:1.35!important;min-height:42px;padding:8px 14px!important}.mission-alert .MuiAlert-icon{margin-right:12px;padding:3px 0}.mission-alert-dialog .MuiDialog-paper{border-radius:14px;box-shadow:0 24px 60px rgba(15,23,42,.22)}.mission-alert-dialog .MuiDialogTitle-root{color:#111827;font-size:18px;font-weight:760;padding:18px 20px 8px}.mission-alert-dialog .MuiDialogContent-root{padding:0 20px 8px}.mission-alert-dialog .MuiDialogActions-root{gap:8px;padding:12px 20px 18px}.mission-alert-dialog-description{color:#6b7280;font-size:14px;font-weight:500;line-height:1.45;margin:4px 0 12px}.dialog-secondary-text{margin-top:10px}.combobox-input{width:100%;padding:.5rem}.auth-page{align-items:center;background:linear-gradient(180deg,rgba(248,250,252,.88),rgba(248,250,252,.96)),url(https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=80);background-position:50%;background-size:cover;display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:rgba(255,255,255,.94);border:1px solid rgba(226,232,240,.92);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.16);max-width:420px;padding:32px;position:relative;width:100%}.auth-language-switch{background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;display:inline-flex;gap:2px;padding:3px;position:absolute;right:20px;top:20px}.auth-language-switch button{background:transparent;border:0;border-radius:999px;color:#6b7280;cursor:pointer;font:inherit;font-size:12px;font-weight:700;min-height:28px;padding:0 10px}.auth-language-switch button.active{background:#ffffff;box-shadow:0 1px 2px rgba(15,23,42,.08);color:#1d4ed8;cursor:default}.auth-brand-mark{align-items:center;background:#2563eb;border-radius:12px;color:#ffffff;display:inline-flex;font-size:18px;font-weight:780;height:44px;justify-content:center;margin-bottom:22px;width:44px}.auth-title{color:#111827;font-size:28px;font-weight:780;line-height:1.15;margin:0}.auth-subtitle{color:#6b7280;font-size:15px;font-weight:500;line-height:1.5;margin:10px 0 26px}.auth-google-button{min-height:48px!important}.auth-google-button .MuiButton-startIcon{margin-right:10px}.auth-note{color:#6b7280;font-size:12px;font-weight:600;line-height:1.45;margin:14px 0 0;text-align:center}.mission-workspace{display:flex;flex-direction:row;min-width:0;width:100%}.mission_card{background:#ffffff;border-left:0;border-right:1px solid #e5e7eb;box-shadow:8px 0 24px rgba(15,23,42,.04);gap:10px;margin:0;order:1;padding:16px;flex-direction:column;display:inline-flex;flex:0 0 320px;min-width:320px}.mission_card .MuiInputLabel-root{font-size:12px;font-weight:650;letter-spacing:0}.mission_card .MuiInputBase-input{color:#111827;font-size:13px;font-weight:500;letter-spacing:0}.mission_card .MuiInputBase-root.Mui-disabled .MuiInputBase-input{color:#6b7280;-webkit-text-fill-color:#6b7280}.mission_card .MuiButton-root{font-size:14px;font-weight:650}.mission_card .MuiFormControlLabel-label,.mission_card .MuiSelect-select,.mission_card .MuiTypography-root{font-size:13px;font-weight:500}.mission_card_fields{flex-direction:column;display:inline-flex;flex:1 1;gap:12px}.mission_card_div{display:flex;gap:10px}.mission-download-action{display:flex;flex:1 1}.field_div,.mission_card_div div{padding:0}.mission_card_select{height:100%}.mission_card div button{flex:1 1}.mission_card button{margin:0}.app-shell{background:#f8fafc;display:flex;min-height:100vh;width:100%}.app-sidebar{background:#ffffff;border-right:1px solid #e5e7eb;box-shadow:1px 0 0 rgba(15,23,42,.02);display:flex;flex:0 0 198px;flex-direction:column;height:100vh;max-width:198px;overflow:auto;padding:14px 12px;position:sticky;top:0;transition:flex-basis .18s ease;width:198px;z-index:40}.app-shell-collapsed .app-sidebar{flex-basis:52px;max-width:52px;padding-left:8px;padding-right:8px;width:52px}.app-content{flex:1 1;min-width:0}.app-sidebar-header{align-items:center;display:flex;gap:10px;min-height:44px;padding:0 4px 12px}.app-brand{align-items:center;color:#111827;display:inline-flex;font-size:18px;font-weight:760;letter-spacing:0;min-width:0}.app-sidebar-toggle{margin-left:auto!important}.app-shell-collapsed .app-sidebar-toggle{margin-left:0!important}.app-sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;padding-top:6px}.app-sidebar-action,.app-sidebar-link,.app-user-card{align-items:center;border:0;border-radius:10px;color:#4b5563;display:flex;font:inherit;font-size:14px;font-weight:650;gap:12px;min-height:42px;padding:0 12px;text-align:left;width:100%}.app-sidebar-action:hover,.app-sidebar-link:hover,.app-user-card:hover{background:#f3f6fb;color:#111827}.app-sidebar-link.active{background:#eef4ff;color:#1d4ed8}.app-sidebar-icon{align-items:center;display:inline-flex;flex:0 0 22px;justify-content:center}.app-sidebar-action svg,.app-sidebar-icon svg{font-size:21px}.app-sidebar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-footer{display:flex;flex-direction:column;gap:6px}.app-admin-switch{border-radius:10px;padding:2px 8px}.app-admin-switch .MuiFormControlLabel-label{color:#4b5563;font-size:13px;font-weight:650}.app-sidebar-divider{margin:6px 0!important}.app-sidebar-action,.app-user-card{background:transparent;cursor:pointer}.app-logout-action{color:#dc2626}.app-logout-action:hover{background:#fef2f2;color:#b91c1c}.app-user-card{min-height:54px;overflow:hidden;padding:7px 10px}.app-user-avatar{align-items:center;background:#e0ecff;border-radius:10px;color:#1d4ed8;display:inline-flex;flex:0 0 34px;font-size:15px;font-weight:760;height:34px;justify-content:center;width:34px}.app-user-meta{display:flex;flex:1 1;flex-direction:column;max-width:100%;min-width:0;overflow:hidden}.app-user-email{color:#111827;font-size:13px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-role{color:#6b7280;font-size:11px;font-weight:650}.account-dialog-content{display:grid;gap:14px;padding-top:16px!important}.account-dialog-readonly{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.account-dialog-readonly span{color:#6b7280;font-size:12px;font-weight:750;text-transform:uppercase}.account-dialog-readonly strong{color:#111827;font-size:14px;font-weight:700}.account-dialog-admin{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:4px 10px}.account-dialog-admin .MuiFormControlLabel-label{color:#1d4ed8;font-size:13px;font-weight:750}.app-shell-collapsed .app-sidebar-action,.app-shell-collapsed .app-sidebar-link,.app-shell-collapsed .app-user-card{justify-content:center;padding-left:0;padding-right:0}.page-shell{padding:18px}.page-header{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.page-title{color:#111827;font-size:22px;font-weight:760;margin:0}.page-subtitle{color:#6b7280;font-size:14px;font-weight:500;margin:4px 0 0}.aircraft-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.aircraft-dialog-content{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible!important;padding-top:30px!important}.aircraft-dialog-content .MuiFormControl-root{margin-top:6px}.aircraft-card{background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.04);padding:16px}.aircraft-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.aircraft-card-title{color:#111827;font-size:17px;font-weight:760;margin:0}.aircraft-card-meta{color:#6b7280;font-size:13px;font-weight:600;margin-top:2px}.aircraft-card-stats{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.aircraft-stat{background:#f8fafc;border-radius:10px;padding:10px}.aircraft-stat-label{color:#6b7280;display:block;font-size:11px;font-weight:700;text-transform:uppercase}.aircraft-stat-value{color:#111827;display:block;font-size:15px;font-weight:720;margin-top:3px}.users-table-wrap{background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.04);max-width:100%;overflow-x:auto}.users-table{border-collapse:separate;border-spacing:0;color:#111827;min-width:1040px;width:100%}.users-table td,.users-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #eef2f7;font-size:13.5px;font-weight:500;padding:12px 14px;text-align:left;vertical-align:middle}.users-table th{background:#f9fafb;color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.users-table tr:last-child td{border-bottom:0}.users-table td:last-child,.users-table th:last-child{border-right:0}.users-description-cell{color:#6b7280;max-width:320px}.user-role-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:750;line-height:1;min-height:24px;padding:0 9px}.user-role-badge-admin{background:#eef4ff;color:#1d4ed8}.user-role-badge-user{background:#f3f4f6;color:#4b5563}.users-actions{display:flex;gap:8px}.users-actions .table-icon-action{align-items:center;background:transparent;border:0;border-radius:8px;box-shadow:inset 0 0 0 1px #c7d2fe;color:#2563eb;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.users-actions .table-icon-action:hover{background:rgba(37,99,235,.08);box-shadow:inset 0 0 0 1px #2563eb}.users-actions .table-icon-action:disabled{color:#9ca3af;cursor:not-allowed;opacity:.6}.users-actions .user-delete-action{box-shadow:inset 0 0 0 1px #ef9a9a;color:#d32f2f}.users-actions .user-delete-action:hover{background:rgba(211,47,47,.08);box-shadow:inset 0 0 0 1px #d32f2f}.user-status{background:#fee2e2;border-radius:999px;color:#b91c1c;display:inline-flex;font-size:11px;font-weight:700;margin-left:8px;padding:2px 7px}.user-dialog-content{display:grid;gap:16px;padding-top:22px!important}.user-dialog-summary{background:#f8fafc;border-radius:10px;display:grid;gap:3px;padding:12px}.user-dialog-summary span{color:#6b7280;font-size:13px}.page-header-row{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:16px}.page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.flight-log-list-page{background:#f8fafc;min-height:100vh}.flight-log-table-wrap{padding:0 16px 16px}.flight-log-table{background:#ffffff;border:1px solid #e5e7eb;border-collapse:separate;border-radius:10px;border-spacing:0;box-shadow:0 1px 2px rgba(15,23,42,.04);overflow:hidden;width:100%}.flight-log-table td,.flight-log-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #eef2f7;font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;padding:12px 14px;text-align:left}.flight-log-table th{background:#f9fafb;color:#6b7280;font-size:11px;font-weight:650;letter-spacing:.02em;text-transform:uppercase}.flight-log-table tr:last-child td{border-bottom:0}.flight-log-table td:last-child,.flight-log-table th:last-child{border-right:0}.flight-log-table tbody tr:hover{background:#f8fafc}.flight-log-table a{color:inherit;display:block;text-decoration:none}.flight-log-table a.table-text-link{color:#2563eb;display:inline-flex;font-weight:800;text-decoration:none}.flight-log-table a.table-text-link:hover{text-decoration:underline}.linked-entity-card{align-items:flex-start;background:#f8fafc;border:1px solid #dbeafe;border-radius:10px;color:#6b7280;display:flex;flex-direction:column;font-size:12px;gap:4px;min-width:190px;padding:8px 10px}.linked-entity-card span,.linked-entity-inline span{font-weight:800;text-transform:uppercase}.linked-entity-card strong,.linked-entity-inline strong{color:#111827}.linked-entity-list{display:flex;flex-wrap:wrap;gap:6px 10px}.linked-entity-inline{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-top:8px}.linked-entity-inline.compact{background:#ffffff;border:1px solid #e5e7eb;border-radius:999px;margin-top:0;max-width:360px;padding:4px 8px}.linked-entity-inline.compact a{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-title-cell{display:flex;flex-direction:column;gap:3px;min-width:180px}.collection-title-cell strong{color:#111827;font-weight:650}.collection-title-cell span{color:#9ca3af;font-size:11px}.project-name-button{background:none;border:0;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:2px;padding:0;text-align:left}.project-name-button:hover strong{color:#2563eb}.project-name-button span{color:#9ca3af;font-size:11px}.project-edit-dialog{display:flex;flex-direction:column;gap:18px;padding-top:10px!important}.project-edit-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-edit-grid>:first-child,.project-edit-grid>:nth-child(2){grid-column:span 2}.project-classes-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.project-classes-header h3{color:#111827;font-size:16px;margin:0}.project-classes-header p{color:#6b7280;margin:4px 0 0}.collection-chip-dataset{background:#1d4ed8!important;color:#ffffff!important;font-weight:650}.collection-detail-page{background:#f8fafc;min-height:100vh;padding:16px}.collection-detail-header,.collection-pagination,.collection-title-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.collection-detail-actions,.collection-pagination-main,.collection-sort{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.collection-editable-title,.collection-settings-inline{align-items:center;display:flex;gap:8px;min-width:0}.collection-editable-title .page-title{min-width:0}.collection-settings-inline{max-width:560px}.collection-settings-inline .collection-select{flex:1 1 auto}.collection-title-row{margin-top:16px}.collection-loading{color:#6b7280;margin-top:24px}.collection-table-wrap{background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px rgba(15,23,42,.04);margin-top:14px;overflow:auto}.collection-files-table{border-collapse:separate;border-spacing:0;min-width:1180px;width:100%}.collection-files-table td,.collection-files-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #eef2f7;font-size:13px;padding:10px 12px;text-align:left;vertical-align:middle}.collection-files-table th{background:#f9fafb;color:#6b7280;font-size:11px;font-weight:650;letter-spacing:.02em;text-transform:uppercase}.collection-files-table th span{display:block;margin-bottom:6px}.collection-files-table td:last-child,.collection-files-table th:last-child{border-right:0}.collection-files-table tbody tr:hover{background:#f8fafc}.collection-files-table tr.highlighted{background:#fef3c7}.collection-preview{background:#f3f4f6;border-radius:8px;cursor:pointer;line-height:0;max-width:300px;overflow:hidden;position:relative;width:300px}.collection-preview-image{display:block;height:100%;object-fit:contain;width:100%}.collection-preview-layer{overflow:hidden;pointer-events:none;position:absolute}.collection-preview-box{border:2px solid #ef4444;box-sizing:border-box;position:absolute}.collection-file-name{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.collection-files-table a.table-text-link.collection-file-name{color:#2563eb;font-weight:700;text-decoration:none}.collection-files-table a.table-text-link.collection-file-name:hover{text-decoration:underline}.collection-filter-select,.collection-page-input,.collection-select{background:#ffffff;border:1px solid #d1d5db;border-radius:7px;color:#111827;font:inherit;min-height:32px;padding:4px 8px}.collection-filter-select{display:block;font-size:12px;min-width:92px}.collection-page-input{width:64px}.collection-pagination{color:#6b7280;font-size:13px;margin-top:16px}.collection-muted{color:#dc2626}.collection-status-ok{color:#16a34a;font-weight:700}.collection-status-missing{color:#dc2626;font-weight:700}.collection-create-dialog,.collection-dialog-list,.collection-import-dialog{display:flex;flex-direction:column;gap:14px;min-width:340px}.collection-checkbox-row,.collection-dialog-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.collection-dialog-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.collection-dialog-grid label{color:#6b7280;display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:6px;text-transform:uppercase}.collection-dialog-grid .collection-page-input{width:100%}.collection-training-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;font-size:13px;line-height:1.4;padding:10px 12px}.collection-training-jobs{display:flex;flex-direction:column;gap:10px}.collection-model-uri{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataset-summary-panel{border:1px solid #e5e7eb;border-radius:12px;gap:16px;margin-top:16px;padding:16px}.dataset-augmentation-progress,.dataset-summary-panel{background:#ffffff;box-shadow:0 12px 28px rgba(15,23,42,.06);display:flex;flex-direction:column}.dataset-augmentation-progress{border:1px solid #dbeafe;border-radius:12px;gap:8px;margin-top:12px;padding:12px 14px}.dataset-augmentation-progress.succeeded{border-color:#bbf7d0}.dataset-augmentation-progress.failed{border-color:#fecaca}.dataset-augmentation-progress-main{align-items:center;display:flex;gap:12px;justify-content:space-between}.dataset-augmentation-progress-main div{display:flex;flex-direction:column;gap:2px;min-width:0}.dataset-augmentation-progress-main strong{color:#111827;font-size:14px}.dataset-augmentation-progress-main span,.dataset-augmentation-progress-meta{color:#6b7280;font-size:12px}.dataset-augmentation-progress-main em{color:#2563eb;font-size:13px;font-style:normal;font-weight:700}.dataset-augmentation-progress.succeeded .dataset-augmentation-progress-main em{color:#16a34a}.dataset-augmentation-progress.failed .dataset-augmentation-progress-main em{color:#dc2626}.dataset-augmentation-progress-bar{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.dataset-augmentation-progress-bar i{background:#2563eb;border-radius:inherit;display:block;height:100%;transition:width .18s ease}.dataset-augmentation-progress.succeeded .dataset-augmentation-progress-bar i{background:#16a34a}.dataset-augmentation-progress.failed .dataset-augmentation-progress-bar i{background:#dc2626}.dataset-augmentation-progress-meta{display:flex;flex-wrap:wrap;gap:8px 14px}.dataset-history-dialog{display:flex;flex-direction:column;gap:10px}.dataset-history-item{border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:12px}.dataset-history-item.succeeded{border-color:#bbf7d0}.dataset-history-item.failed{border-color:#fecaca}.dataset-history-meta,.dataset-history-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}.dataset-history-row div{display:flex;flex-direction:column;gap:2px;min-width:0}.dataset-history-row strong{color:#111827;font-size:14px}.dataset-history-log,.dataset-history-meta,.dataset-history-row span{color:#6b7280;font-size:12px}.dataset-history-row em{background:#eff6ff;border-radius:999px;color:#2563eb;font-size:12px;font-style:normal;font-weight:700;padding:4px 8px}.dataset-history-item.succeeded .dataset-history-row em{background:#dcfce7;color:#16a34a}.dataset-history-item.failed .dataset-history-row em{background:#fee2e2;color:#dc2626}.dataset-history-error{color:#dc2626;font-size:12px;margin:0}.dataset-history-log summary{cursor:pointer;font-weight:700}.dataset-history-log ul{display:flex;flex-direction:column;gap:6px;list-style:none;margin:8px 0 0;max-height:260px;overflow:auto;padding:0}.dataset-history-log li{border-top:1px solid #f3f4f6;display:grid;gap:6px;grid-template-columns:160px minmax(0,1fr);padding-top:6px}.dataset-history-log p{color:#111827;margin:0}.dataset-summary-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.dataset-class-distribution h3,.dataset-summary-header h2{color:#111827;font-size:18px;margin:0}.dataset-summary-header p{color:#6b7280;font-size:13px;margin:4px 0 0}.dataset-split-pill{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1d4ed8;display:flex;flex-direction:row;gap:8px;min-width:132px;padding:8px 12px}.dataset-split-pill em{background:#1d4ed8;border-radius:999px;color:#ffffff;font-size:10px;font-style:normal;font-weight:900;padding:2px 7px;text-transform:uppercase}.dataset-split-pill span{font-size:11px;font-weight:800;text-transform:uppercase}.dataset-split-pill strong{font-size:18px}.dataset-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.dataset-summary-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.dataset-summary-card span{color:#6b7280;display:block;font-size:12px;font-weight:800;text-transform:uppercase}.dataset-summary-card strong{color:#111827;display:block;font-size:24px;margin-top:4px}.dataset-class-distribution{display:flex;flex-direction:column;gap:10px}.dataset-class-distribution-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.dataset-class-distribution-title span{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;color:#4b5563;font-size:12px;font-weight:700;padding:4px 9px}.dataset-class-row{align-items:center;background:transparent;border:0;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(110px,180px) 1fr 68px;padding:4px 6px;text-align:left;width:100%}.dataset-class-row.clickable{cursor:pointer}.dataset-class-row.active,.dataset-class-row.clickable:hover{background:#eff6ff}.dataset-class-row:disabled{cursor:default}.dataset-class-row span{color:#374151;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataset-class-row strong{color:#111827;font-size:13px;text-align:right}.dataset-class-bar{background:#eef2ff;border-radius:999px;height:9px;overflow:hidden}.dataset-class-bar i{background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:inherit;display:block;height:100%}.dataset-empty-note{color:#6b7280;font-size:13px;margin:0}@media (max-width:900px){.dataset-summary-header{flex-direction:column}.dataset-split-pill{align-items:flex-start;width:100%}.dataset-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dataset-class-row{grid-template-columns:minmax(90px,120px) 1fr 52px}}@media (max-width:1300px){.object-report-item{grid-template-columns:34px minmax(0,1fr)}.object-report-item-body,.object-report-presentation-link{grid-column:2}}.models-project-select{min-width:260px}.model-uri{color:#6b7280;display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;max-width:360px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.models-table td:first-child,.models-table th:first-child{max-width:240px;width:240px}.models-table td:nth-child(2),.models-table th:nth-child(2){max-width:280px;width:280px}.model-cell-truncate{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.model-uri-compact{max-width:260px}.model-subtitle{color:#6b7280;display:block;font-size:12px;margin-top:3px}.training-progress-bar{background:#e5e7eb;border-radius:999px;display:block;height:6px;margin-top:7px;max-width:180px;overflow:hidden;width:100%}.training-progress-bar span{background:linear-gradient(90deg,#2563eb,#38bdf8);border-radius:inherit;display:block;height:100%;transition:width .18s ease}.training-progress-bar.succeeded span{background:linear-gradient(90deg,#16a34a,#22c55e)}.training-progress-bar.error span{background:linear-gradient(90deg,#dc2626,#f97316)}.training-stage-help{flex:0 0 auto}.training-progress-tooltip{display:grid;gap:6px;min-width:280px}.training-progress-tooltip div{align-items:baseline;display:grid;gap:10px;grid-template-columns:64px 1fr}.training-progress-tooltip strong{color:#bfdbfe;font-weight:800}.dialog-hint{color:#6b7280;font-size:14px;line-height:1.4;margin:0}.project-class-locked{align-items:center;color:#6b7280;display:inline-flex;font-size:13px;font-weight:700}.models-jobs-section{margin-top:22px}.models-jobs-section h2{color:#111827;font-size:20px;margin:0 0 12px}.training-jobs-table td{vertical-align:top}.training-job-details{display:grid;gap:18px}.training-job-detail-grid{display:grid;gap:10px 18px;grid-template-columns:minmax(130px,170px) minmax(0,1fr) minmax(130px,170px) minmax(0,1fr)}.training-job-detail-grid span{color:#6b7280;font-size:13px;font-weight:700;text-transform:uppercase}.training-job-detail-grid strong{color:#111827;min-width:0;overflow-wrap:anywhere}.training-job-details h3{color:#111827;font-size:18px;margin:4px 0 0}.training-job-log{background:#0f172a;border-radius:10px;color:#dbeafe;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;margin:0;max-height:50vh;min-height:210px;overflow:auto;padding:14px;white-space:pre-wrap}@media (max-width:900px){.training-job-detail-grid{grid-template-columns:minmax(130px,170px) minmax(0,1fr)}}.photo-analytics-dialog{display:grid;gap:16px;padding-top:12px!important}.photo-analytics-dialog-hint{color:#6b7280;font-size:14px;line-height:1.45;margin:0}.photo-analytics-link-list{border:1px solid #e5e7eb;border-radius:10px;margin-top:12px!important;max-height:360px;overflow:auto}.photo-analytics-empty-list{color:#6b7280;padding:14px 16px}.photo-analytics-detail-header{align-items:center;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 22px rgba(15,23,42,.05);display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.photo-analytics-detail-header.admin{align-items:center;flex-direction:row}.photo-analytics-admin-actions,.photo-analytics-detail-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.photo-analytics-detail-main{flex:1 1;justify-content:space-between;min-width:0;width:100%}.photo-analytics-admin-actions{justify-content:flex-end;margin-left:auto;min-width:max-content}.photo-analytics-title-block{flex:1 1 220px;min-width:180px}.photo-analytics-title-block .page-title{font-size:20px;line-height:1.15;margin:0}.photo-analytics-title-block .page-subtitle{margin-top:2px}.collection-auto-detect-toggle{background:#f8fafc;border:1px solid #dbeafe;border-radius:999px;margin:0!important;padding:1px 9px 1px 5px}.collection-auto-detect-toggle .MuiFormControlLabel-label{font-size:13px}.collection-auto-detect-toggle.compact{white-space:nowrap}.photo-analytics-icon-button{min-width:38px!important;padding-left:0!important;padding-right:0!important}.dataset-actions-menu .MuiMenuItem-root{align-items:center;display:flex;gap:10px;min-width:230px}.dataset-actions-menu .MuiSvgIcon-root{color:#2563eb}.dataset-actions-menu .MuiMenuItem-root.Mui-disabled .MuiSvgIcon-root{color:#9ca3af}@media (max-width:1200px){.photo-analytics-detail-header.admin{align-items:stretch;flex-direction:column}.photo-analytics-admin-actions{margin-left:0}}.photo-image-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 300px}.photo-image-canvas{align-items:center;background:#111827;border-radius:12px;display:flex;justify-content:center;min-height:420px;overflow:hidden}.photo-image-canvas img{display:block;height:auto;max-height:calc(100vh - 260px);max-width:100%;object-fit:contain}.photo-image-side{background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 28px rgba(15,23,42,.06);flex:0 1 60%;max-height:60%;overflow:auto;padding:16px}.photo-image-side h2{color:#111827;font-size:18px;margin:0 0 12px}@media (max-width:1000px){.photo-image-layout{grid-template-columns:1fr}}.collection-upload-dropzone{align-items:center;background:#ffffff;border:1px dashed #93c5fd;border-radius:10px;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;margin-top:16px;min-height:92px;padding:18px;text-align:center;transition:background .15s ease,border-color .15s ease}.collection-upload-dropzone.dragging{background:#eff6ff;border-color:#2563eb}.collection-upload-dropzone input{display:none}.collection-upload-dropzone p{margin:0}.collection-upload-dropzone span{color:#8b95a5;font-size:13px;line-height:1.35;max-width:720px}.collection-settings-page{background:rgba(15,23,42,.42);display:flex;justify-content:center;min-height:100vh;padding:32px 16px}.collection-settings-card{background:#ffffff;border-radius:12px;box-shadow:0 24px 60px rgba(15,23,42,.22);max-height:calc(100vh - 64px);max-width:760px;overflow:auto;padding:24px;width:100%}.collection-settings-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.collection-settings-header h1{color:#111827;font-size:24px;margin:0}.collection-settings-header p,.collection-settings-section p{color:#6b7280;margin:4px 0 0}.collection-settings-section{border-top:1px solid #e5e7eb;padding:18px 0}.collection-settings-section h2{color:#111827;font-size:16px;margin:0 0 10px}.collection-settings-section h3{color:#4b5563;font-size:14px;margin:14px 0 8px}.collection-classes-list{display:flex;flex-direction:column;gap:8px}.collection-class-row{align-items:center;display:grid;gap:8px;grid-template-columns:32px minmax(0,.9fr) minmax(0,1fr) minmax(0,1.1fr) 136px 112px 128px auto}.collection-class-row input,.collection-class-row select,.collection-settings-search{border:1px solid #d1d5db;border-radius:8px;color:#111827;font:inherit;min-height:36px;padding:6px 10px;width:100%}.collection-class-row.add{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:12px}.collection-class-toggle{align-items:center;background:#f8fafc;border:1px solid #d1d5db;border-radius:999px;color:#374151;cursor:pointer;display:inline-flex;font-size:12px;font-weight:750;gap:6px;justify-content:center;min-height:36px;padding:6px 10px;white-space:nowrap}.collection-class-toggle input{accent-color:#2563eb;cursor:pointer;min-height:auto;padding:0;width:auto}.collection-class-toggle:has(input:checked){background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.collection-permission-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:10px 0 0;padding:0}.collection-permission-list li{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:10px;justify-content:space-between;padding:8px 10px}@media (max-width:760px){.project-edit-grid{grid-template-columns:1fr}.project-edit-grid>:first-child,.project-edit-grid>:nth-child(2){grid-column:span 1}.project-classes-header{align-items:stretch;flex-direction:column}}.image-annotation-page{background:#f8fafc;min-height:100vh;padding:16px}.image-annotation-toolbar{align-items:center;display:flex;justify-content:space-between;gap:10px;margin-bottom:14px;width:100%}.image-toolbar-main,.image-toolbar-yolo{align-items:center;background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px rgba(15,23,42,.04);display:flex;flex-wrap:wrap;gap:6px;padding:7px 9px}.image-toolbar-main{flex:1 1}.image-title-inline,.image-toolbar-file-name,.image-toolbar-title,.image-toolbar-title-block{min-width:0}.image-title-inline .page-title{white-space:nowrap}.image-title-inline .page-subtitle,.image-toolbar-file-name{color:#6b7280;display:block;font-size:13px;font-weight:650;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-toolbar-file-name{max-width:260px}.image-toolbar-file-link{color:#2563eb;text-decoration:none}.image-toolbar-file-link:hover{text-decoration:underline}.image-toolbar-title-block{flex:1 1 auto;overflow:hidden}.image-toolbar-title-line{align-items:baseline;display:flex;gap:14px;min-width:0}.image-toolbar-title-line .image-toolbar-title{flex:0 0 auto}.image-toolbar-title-line .image-toolbar-file-name{flex:1 1 auto}.image-toolbar-collection-name{color:#6b7280;display:block;font-size:11px;font-weight:650;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-toolbar-title{color:#111827;font-size:15px;font-weight:800;white-space:nowrap}.image-detection-status-chip{align-items:center;background:#eef4ff;border:1px solid #bfdbfe;border-radius:999px;color:#2563eb;display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:800;gap:6px;height:28px;max-width:150px;padding:0 10px;white-space:nowrap}.image-detection-status-chip span{overflow:hidden;text-overflow:ellipsis}.image-toolbar-yolo .collection-select{max-width:190px}.image-toolbar-yolo .collection-page-input{max-width:88px}.image-link-button{background:transparent;border:0;color:#2563eb;cursor:pointer;font:inherit;font-weight:650;padding:0}.image-link-button:hover{text-decoration:underline}.detection-group .danger,.image-annotation-row .danger,.image-link-button.danger,.image-side-header .danger{color:#dc2626}.image-nav-counter{color:#6b7280;font-size:13px;font-weight:650;min-width:46px;text-align:center}.image-nav-controls{align-items:center;display:flex;gap:8px;justify-content:center;flex:0 0 auto}.image-annotation-layout{align-items:flex-start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 300px}.image-annotation-canvas-panel,.image-annotation-side{background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px rgba(15,23,42,.04);padding:12px}.image-annotation-canvas-panel{overflow:auto}.image-annotation-sidebar{display:flex;flex-direction:column;gap:14px;height:calc(100vh - 104px);overflow:hidden}.image-annotation-side{max-height:none;overflow:auto}.image-annotation-side.detections,.image-annotation-sidebar>.image-annotation-side:not(.detections){flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 14px) * 0.5);max-height:calc((100% - 14px) * .5);min-height:0}.image-annotation-side h2,.image-annotation-side h3{color:#111827;font-size:16px;margin:0 0 10px}.image-side-header{align-items:center;display:flex;justify-content:space-between}.detection-group ol,.image-annotation-list{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:18px}.image-annotation-row{align-items:center;display:flex;gap:6px}.annotation-controls button,.detection-group button,.image-annotation-row button,.image-side-header button,.image-toolbar-main .image-icon-action,.image-toolbar-yolo .image-icon-action{background:#f3f4f6;border:1px solid #d1d5db;border-radius:7px;color:#111827;cursor:pointer;font:inherit;font-size:12px;min-height:28px;padding:3px 8px}.image-toolbar-main .image-icon-action,.image-toolbar-yolo .image-icon-action{background:#eef4ff;border-color:#bfdbfe;color:#2563eb}.image-toolbar-main .image-icon-action:disabled,.image-toolbar-yolo .image-icon-action:disabled{background:#f3f4f6;border-color:#d1d5db;color:#9ca3af;cursor:default}.detection-group .image-icon-action,.image-annotation-row .image-icon-action,.image-side-header .image-icon-action,.image-toolbar-main .image-icon-action,.image-toolbar-yolo .image-icon-action{align-items:center;display:inline-flex;height:30px;justify-content:center;min-height:30px;padding:0;width:30px}.image-toolbar-yolo .image-icon-action{height:36px;min-height:36px;width:36px}.image-toolbar-yolo button.image-icon-action.primary{appearance:none;border-radius:8px;box-shadow:none;padding:0}.auto-annotation-dialog{display:grid;gap:16px}.auto-annotation-class-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:8px}.auto-annotation-class-option{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:8px;min-width:0;padding:8px 10px}.auto-annotation-class-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auto-annotation-prompt{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;margin-top:8px;min-height:220px;resize:vertical;width:100%}.auto-annotation-test-toggle{align-items:center;color:#4b5563;display:inline-flex;gap:8px;font-size:14px}.image-icon-action.primary{background:#eef4ff;border-color:#bfdbfe;color:#2563eb}.image-icon-action.success{background:#ecfdf5;border-color:#bbf7d0;color:#16a34a}.frame-stitch-summary{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.frame-stitch-summary span,.frame-stitch-summary strong{background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;color:#111827;font-size:12px;font-weight:750;padding:6px 10px}.frame-stitch-download{margin-left:auto!important}.frame-stitch-canvas-shell{background:#0f172a;border-radius:10px;margin-bottom:14px;max-height:62vh;overflow:auto;padding:12px}.frame-stitch-canvas{background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 0);background-size:24px 24px;position:relative}.frame-stitch-frame{background:rgba(15,23,42,.1);border:2px solid;box-shadow:0 10px 28px rgba(0,0,0,.28);position:absolute}.frame-stitch-frame img{height:100%;inset:0;object-fit:fill;opacity:.48;position:absolute;width:100%}.frame-stitch-label{border-radius:0 0 7px 0;color:#ffffff;display:block;font-size:11px;font-weight:800;left:0;max-width:90%;overflow:hidden;padding:4px 7px;position:absolute;text-overflow:ellipsis;top:0;white-space:nowrap;z-index:3}.frame-stitch-box{border:2px solid;box-shadow:0 0 0 1px rgba(255,255,255,.85);display:block;position:absolute;z-index:2}.frame-stitch-pair-list{display:grid;gap:8px}.frame-stitch-pair{align-items:center;border:1px solid #e5e7eb;border-left:4px solid #f59e0b;border-radius:8px;display:grid;gap:4px 12px;grid-template-columns:minmax(180px,1fr) auto auto auto;padding:8px 10px}.frame-stitch-pair.ok{border-left-color:#16a34a}.frame-stitch-pair.failed{border-left-color:#dc2626}.frame-stitch-pair strong{color:#111827;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-stitch-pair em,.frame-stitch-pair span{color:#6b7280;font-size:12px;font-style:normal;font-weight:700;white-space:nowrap}.object-report-page{display:flex;flex-direction:column;gap:14px}.object-report-header-main{align-items:center;display:flex;gap:14px;min-width:0}.object-report-header-main>div{min-width:0}.object-report-title-edit,.object-report-title-line{align-items:center;display:flex;gap:8px;min-width:0}.object-report-title-edit .MuiTextField-root{min-width:min(520px,58vw)}.object-report-title-line .page-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-report-strip{align-items:center;background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);padding:10px 12px}.object-report-strip-title{align-items:center;display:flex;gap:8px;white-space:nowrap}.object-report-strip-title strong{color:#111827;font-size:13px}.object-report-strip-title span{background:#eff6ff;border-radius:999px;color:#2563eb;font-size:12px;font-weight:800;padding:3px 8px}.object-report-strip-list{display:flex;gap:8px;min-width:0;overflow-x:auto}.object-report-strip-card{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:grid;flex:0 0 auto;gap:6px;grid-template-columns:minmax(0,1fr) 30px;max-width:300px;min-width:220px;padding:7px}.object-report-strip-card:hover{border-color:#93c5fd}.object-report-strip-link{color:#111827;display:flex;flex-direction:column;min-width:0;text-decoration:none}.object-report-strip-link span,.object-report-strip-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-report-strip-link strong{color:#2563eb;font-size:12px}.object-report-strip-link span{color:#6b7280;font-size:11px;font-weight:700}.negative-samples-panel{background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:10px;padding:12px}.negative-samples-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.negative-samples-header h2{color:#111827;font-size:16px;margin:0}.negative-samples-header p{color:#6b7280;font-size:12px;margin:2px 0 0}.negative-samples-header strong{background:#fef2f2;border-radius:999px;color:#dc2626;font-size:12px;padding:4px 9px}.negative-samples-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.negative-sample-card{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:grid;flex:0 0 310px;gap:10px;grid-template-columns:76px minmax(0,1fr) 34px;padding:8px}.negative-sample-preview-button{background:transparent;border:0;cursor:zoom-in;padding:0}.negative-sample-preview{aspect-ratio:1;background:#e5e7eb;border-radius:8px;height:76px;object-fit:cover;overflow:hidden;width:76px}.negative-sample-preview-button:hover .negative-sample-preview{box-shadow:0 0 0 3px rgba(37,99,235,.18)}.negative-sample-body{display:grid;gap:3px;min-width:0}.negative-sample-body a,.negative-sample-body span,.negative-sample-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.negative-sample-body strong{color:#dc2626;font-size:13px}.negative-sample-body span{color:#6b7280;font-size:11px;font-weight:700}.table-icon-action-red{color:#dc2626}.negative-sample-preview-dialog{display:grid;gap:12px}.negative-sample-large-preview{background:#111827;border-radius:10px;max-height:72vh;object-fit:contain;width:100%}.negative-sample-dialog-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.negative-sample-dialog-meta strong{background:#fef2f2;border-radius:999px;color:#dc2626;font-size:13px;padding:5px 10px}.negative-sample-dialog-meta span{color:#6b7280;font-size:12px;font-weight:700}.object-report-summary{background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;padding:10px}.object-report-summary span{background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;color:#111827;font-size:12px;font-weight:700;padding:5px 9px}.object-report-list{display:grid;gap:10px}.object-report-item{align-items:flex-start;background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:12px;grid-template-columns:34px minmax(640px,840px) minmax(0,1fr);padding:10px}.object-report-item.disabled{opacity:.52}.object-report-item-index{align-items:center;background:#111827;border-radius:999px;color:#ffffff;display:flex;font-size:13px;font-weight:800;height:28px;justify-content:center;width:28px}.object-report-crop{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;height:156px;overflow:hidden;position:relative;width:220px}.object-report-crop img{object-fit:fill;position:absolute}.object-report-crop-target{pointer-events:none;position:absolute}.object-report-crop-target i{border-color:#5eead4;border-style:solid;filter:drop-shadow(0 0 4px rgba(94,234,212,.65));height:16px;position:absolute;width:16px}.object-report-crop-target i:first-child{border-width:3px 0 0 3px;left:-5px;top:-5px}.object-report-crop-target i:nth-child(2){border-width:3px 3px 0 0;right:-5px;top:-5px}.object-report-crop-target i:nth-child(3){border-width:0 0 3px 3px;bottom:-5px;left:-5px}.object-report-crop-target i:nth-child(4){border-width:0 3px 3px 0;bottom:-5px;right:-5px}.object-report-presentation-preview{background:#ffffff;border-radius:8px;overflow:hidden;width:100%}.object-report-presentation-link{border-radius:8px;display:block;outline:none;text-decoration:none}.object-report-presentation-link:hover{box-shadow:0 0 0 3px rgba(59,130,246,.16)}.object-report-presentation-link:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.32)}.object-report-presentation-preview img{display:block;height:auto;max-width:100%;width:100%}.object-report-item-body{min-width:0}.object-report-item-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.object-report-item-meta span,.object-report-item-title span{color:#6b7280;font-size:12px;font-weight:700}.object-report-item-title .object-report-single-frame{background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#c2410c;padding:3px 8px}.object-report-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}.object-report-description{border:1px solid #d1d5db;border-radius:8px;color:#111827;font:inherit;font-size:13px;min-height:54px;padding:8px;resize:vertical;width:100%}.object-report-detection-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.object-report-detection-option{background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:8px;text-align:left}.object-report-detection-option:hover{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.12)}.object-report-detection-option .object-report-crop{height:150px;width:100%}.object-report-detection-option strong{color:#111827;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-track-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.object-track-toolbar>div{display:flex;flex-direction:column;gap:2px}.object-track-toolbar strong{color:#111827;font-size:15px}.object-track-toolbar span{color:#6b7280;font-size:12px;font-weight:700}.object-track-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.object-track-card{background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:8px}.object-track-crop{background:#f8fafc;border-radius:8px;height:150px;overflow:hidden;position:relative;width:100%}.object-track-crop img{max-width:none;object-fit:fill;position:absolute}.object-track-crop-target{border:2px solid rgba(45,212,191,.85);box-shadow:0 0 0 1px rgba(15,23,42,.12);display:block;position:absolute}.object-track-crop-target i{display:none}.object-track-card-meta{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.object-track-card-meta strong{color:#111827;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-delete-all-button{align-items:center;background:#fff5f5;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:700;gap:6px;min-height:30px;padding:0 10px;white-space:nowrap}.image-side-header{margin-bottom:8px}.image-annotation-list input,.image-annotation-row select{border:1px solid #d1d5db;border-radius:7px;color:#111827;font:inherit;min-height:28px;padding:3px 8px}.image-annotation-row select{min-width:0;width:100%}.image-annotation-list input{margin-top:5px;margin-left:37px;width:calc(100% - 37px)}.detection-group{border-bottom:1px solid #e5e7eb;padding:8px 0}.detection-group-header{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.detection-group ol{gap:6px;margin-top:8px;overflow-x:auto;padding-bottom:4px}.detection-group li{align-items:center;border-left:4px solid transparent;border-radius:6px;display:flex;flex-wrap:nowrap;gap:6px;min-width:100%;padding:3px 6px;width:max-content}.detection-group li.detection-review-match{background:#ecfdf5;border-left-color:#22c55e}.detection-group li.detection-review-mismatch{background:#fefce8;border-left-color:#facc15}.detection-group li.detection-review-missing{background:#fef2f2;border-left-color:#ef4444}.detection-group li span{white-space:nowrap}.annotation-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;padding:0 0 12px}.annotation-controls button{height:34px;min-width:40px}.annotation-controls .annotation-control-icon{align-items:center;display:inline-flex;height:34px;justify-content:center;padding:0;width:40px}.annotation-controls .annotation-complete{color:#16a34a;font-weight:700}.annotation-controls .annotation-incomplete{color:#dc2626;font-weight:700}.annotation-canvas{height:600px;overflow:hidden;position:relative}.annotation-canvas img{display:block;height:100%;-webkit-user-select:none;user-select:none;width:100%}.annotation-box{box-sizing:border-box;position:absolute}.annotation-detection{pointer-events:none}.annotation-new-box{outline:2px dashed red}.annotation-label{align-items:center;background:rgba(255,255,255,.84);border-radius:4px;display:flex;line-height:1;max-width:min(320px,80%);position:absolute;z-index:2}.annotation-label.editing{z-index:10000}.annotation-label span{cursor:pointer;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-label select{appearance:auto;background:rgba(255,255,255,.98);border:var(--annotation-select-border-width,1px) solid #cbd5e1;border-radius:.35em;color:#111827;font:inherit;font-size:var(--annotation-select-font-size,inherit);height:1.55em;line-height:1.1;max-width:none;min-width:0;padding:0 .25em;text-align:left;white-space:nowrap;width:var(--annotation-select-width,8em)}.annotation-label select option{font-size:12px}.annotation-label button{align-items:center;background:none;border:0;cursor:pointer;display:inline-flex;font:inherit;justify-content:center;padding:0}.annotation-label-icon{border-radius:4px!important;color:#2563eb;flex:0 0 var(--annotation-icon-size,16px);height:var(--annotation-icon-size,16px);min-width:var(--annotation-icon-size,16px);width:var(--annotation-icon-size,16px)}.annotation-label-icon svg{height:100%;width:100%}.annotation-label-icon.danger{color:#dc2626}.annotation-stitch-toggle{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;cursor:pointer;display:inline-flex;font-size:13px;font-weight:750;gap:6px;min-height:36px;padding:0 10px;white-space:nowrap}.annotation-stitch-toggle input{accent-color:#16a34a;cursor:pointer}.annotation-detection-label{pointer-events:auto}.detected-object-list{display:flex;flex-direction:column;gap:8px}.detected-object-card{align-items:center;background:rgba(15,23,42,.04);border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:10px;padding:8px 10px}.detected-object-icon{align-items:center;background:#ecfdf5;border-radius:8px;color:#059669;display:inline-flex;height:34px;justify-content:center;width:34px}.detected-object-card strong{color:#111827;display:block;font-size:18px;line-height:1}.detected-object-card span:not(.detected-object-icon){color:#6b7280;display:block;font-size:11px;font-weight:750;letter-spacing:0;text-transform:uppercase}@media (max-width:1280px){.image-annotation-layout{grid-template-columns:1fr}.image-annotation-toolbar{align-items:stretch;flex-direction:column}.image-toolbar-main,.image-toolbar-yolo{width:100%}.image-annotation-side,.image-annotation-sidebar{height:auto;max-height:none;overflow:visible}.image-annotation-side.detections,.image-annotation-sidebar>.image-annotation-side:not(.detections){flex:0 1 auto;max-height:none;min-height:0}}.table-icon-action{align-items:center;background:transparent;border:0;border-radius:8px;box-shadow:inset 0 0 0 1px #ef9a9a;color:#d32f2f;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.table-icon-action:hover{background:rgba(211,47,47,.08);box-shadow:inset 0 0 0 1px #d32f2f}.table-icon-action:disabled{background:#f9fafb;box-shadow:inset 0 0 0 1px #e5e7eb;color:#9ca3af;cursor:not-allowed;opacity:.75}.table-sort-button{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;padding:0;text-transform:inherit}.table-sort-button:hover{color:#2563eb}.flight-log-actions-inner,.flight-log-table-actions:not(td){display:flex;gap:8px}td.flight-log-table-actions{white-space:nowrap}.flight-log-actions-inner{align-items:center}.inline-title-editor,.table-title-edit-row{align-items:center;display:flex;gap:8px;min-width:0}.table-title-edit-row a{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-inline-icon{align-items:center;background:#eff6ff;border:0;border-radius:8px;color:#2563eb;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:16px;height:26px;justify-content:center;padding:0;width:26px}.table-inline-icon:hover{background:#dbeafe}.flight-log-title-editor input,.inline-title-editor input{background:#ffffff;border:1px solid #cbd5e1;border-radius:8px;color:#111827;font:inherit;font-weight:650;min-width:0;outline:none;padding:7px 9px}.inline-title-editor input{max-width:260px;width:min(260px,36vw)}.flight-log-title-editor input:focus,.inline-title-editor input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.table-icon-action-blue{box-shadow:inset 0 0 0 1px #93c5fd!important;color:#2563eb!important}.table-icon-action-blue:hover{background:#eff6ff!important;box-shadow:inset 0 0 0 1px #2563eb!important}.table-icon-action-linked{background:#dcfce7!important;box-shadow:inset 0 0 0 1px #22c55e!important;color:#15803d!important}.table-icon-action-linked:hover{background:#bbf7d0!important;box-shadow:inset 0 0 0 1px #15803d!important}.georef-summary-panel{margin-bottom:20px}.georef-page-header,.georef-runs-header{padding-top:0}.georef-runs-header{padding:0 0 12px}.georef-runs-page .flight-log-table-wrap{padding:0}.georef-detail-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(190px,240px) minmax(0,1fr)}.georef-page-header{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(220px,1fr) minmax(320px,auto) auto;padding:0 0 12px}.georef-header-back,.georef-page-header .page-header-actions{align-items:center;display:flex}.georef-header-title{min-width:0}.georef-current-photo-pill{align-items:center;background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;display:grid;gap:1px 8px;grid-template-columns:auto minmax(0,1fr);max-width:340px;min-width:0;padding:5px 8px}.georef-current-photo-group{align-items:center;display:flex;gap:10px;justify-content:flex-end;min-width:0}.georef-header-photo-nav .MuiButton-root{min-width:58px;padding:3px 9px}.georef-current-photo-pill span{color:#64748b;font-size:.72rem;grid-column:1/-1;line-height:1}.georef-current-photo-pill strong{color:#1d4ed8;font-size:.95rem;line-height:1.2}.georef-current-photo-pill small{color:#0f172a;font-size:.82rem;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.georef-points-panel,.georef-sandbox-panel{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;min-width:0}.georef-points-panel{display:flex;flex-direction:column;max-height:calc(100vh - 90px);overflow:hidden}.georef-panel-header,.georef-selected-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:10px;justify-content:space-between;padding:14px 16px}.georef-panel-header h2,.georef-selected-header h2{font-size:1rem;margin:0}.georef-panel-header>div>span{color:#64748b;display:block;font-size:.78rem;margin-top:2px}.georef-panel-header .MuiToggleButtonGroup-root{flex-shrink:0}.georef-panel-header .MuiToggleButton-root{font-size:.68rem;min-width:34px;padding:3px 6px}.georef-list-filter{border-bottom:1px solid #e5e7eb;padding:8px 12px}.georef-selected-header p{color:#64748b;margin:4px 0 0}.georef-points-list{display:flex;flex-direction:column;flex:1 1 auto;max-height:none;overflow:auto}.georef-point-row{align-items:center;background:#ffffff;border:0;border-bottom:1px solid #edf2f7;cursor:pointer;display:grid;gap:6px;grid-template-columns:34px 42px minmax(0,1fr) 26px;min-height:46px;padding:6px 8px;text-align:left}.georef-point-thumb{align-items:center;background:#e5e7eb;border-radius:4px;display:flex;height:26px;justify-content:center;overflow:hidden;width:34px}.georef-point-thumb-image{display:block;height:100%;object-fit:cover;width:100%}.georef-point-thumb-image:not(img){color:transparent;font-size:0}.georef-point-row strong{font-size:.8rem}.georef-point-row.active,.georef-point-row:hover{background:#eff6ff}.georef-point-row span{font-size:.84rem}.georef-point-row em,.georef-point-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.georef-point-row em{border-radius:999px;color:#475569;font-size:.75rem;font-style:normal;grid-column:2/4;line-height:1}.georef-point-action{align-items:center;align-self:center;background:#ffffff;border:1px solid #cbd5e1;border-radius:6px;color:#2563eb;cursor:pointer;display:inline-flex;font-size:1rem;grid-column:4;grid-row:1/span 2;height:24px;justify-content:center;justify-self:end;padding:0;width:24px}.georef-point-action:hover{background:#eff6ff;border-color:#93c5fd}.georef-point-action.remove{color:#dc2626}.georef-point-action.remove:hover{background:#fef2f2;border-color:#fecaca}.georef-point-row.localized em{color:#15803d}.georef-point-row.failed em{color:#b91c1c}.georef-sandbox-grid{display:grid;gap:12px;grid-template-columns:minmax(340px,1fr) minmax(380px,1fr);padding:12px}.georef-image-panel,.georef-map-panel{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;min-height:500px;overflow:hidden}.georef-image-panel{display:flex;flex-direction:column}.georef-image-toolbar{align-items:center;background:#ffffff;border-bottom:1px solid #e5e7eb;display:flex;gap:10px;justify-content:space-between;min-height:42px;padding:6px 8px}.georef-image-toolbar>div:first-child{min-width:0}.georef-image-toolbar span,.georef-image-toolbar strong{display:block;line-height:1.25}.georef-image-toolbar span{color:#64748b;font-size:.82rem;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.georef-image-actions{align-items:center;display:flex;flex-wrap:nowrap;flex:1 1 auto;gap:4px;justify-content:flex-end;min-width:0}.georef-rotation-input{flex:0 0 86px;width:86px}.georef-rotation-control{align-items:center;display:flex;flex:1 1 320px;gap:8px;min-width:230px}.georef-rotation-slider{flex:1 1 auto;min-width:130px}.georef-zoom-control{align-items:center;display:flex;flex:0 1 150px;gap:6px;min-width:118px}.georef-zoom-control .MuiSlider-root{flex:1 1 auto}.georef-zoom-control .MuiButton-root{min-height:30px;min-width:38px;padding:2px 8px}.georef-image-stage{align-items:center;cursor:default;display:flex;flex:1 1;justify-content:center;min-height:430px;overflow:hidden;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.georef-image-stage.zoomed{cursor:grab}.georef-image-stage.zoomed:active{cursor:grabbing}.georef-debug-image{display:block;max-height:none;max-width:none;object-fit:contain;pointer-events:none;transform:translate(var(--georef-image-pan-x,0),var(--georef-image-pan-y,0)) rotate(var(--georef-image-rotation,0deg)) scale(var(--georef-image-zoom,1));transform-origin:center;width:100%}.georef-debug-image.loading{visibility:hidden}.georef-image-loader{align-items:center;background:rgba(248,250,252,.86);inset:0;display:flex;justify-content:center;position:absolute;z-index:2}.georef-map{height:500px;width:100%}.georef-empty-image,.georef-empty-state,.georef-map-loading{align-items:center;color:#64748b;display:flex;justify-content:center;min-height:260px}.georef-debug-controls{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 12px 0}.georef-coordinate-strip{display:grid;gap:12px;padding:0 16px 16px;color:#475569;grid-template-columns:repeat(2,minmax(0,1fr))}.georef-coordinate-strip .error{color:#b91c1c;grid-column:1/-1}.georef-steps-panel{border:1px solid #e5e7eb;border-radius:8px;margin:0 16px 16px;overflow:hidden}.georef-steps-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.georef-steps-header h3{font-size:.95rem;margin:0}.georef-steps-header p{color:#64748b;font-size:.82rem;margin:2px 0 0}.georef-step-running{align-items:center;color:#2563eb;display:inline-flex;font-size:.84rem;font-weight:650;gap:8px;white-space:nowrap}.georef-step-count-input{width:112px}.georef-steps-list{display:grid}.georef-step-row{align-items:center;border-bottom:1px solid #eef2f7;display:grid;gap:12px;grid-template-columns:minmax(170px,1.2fr) minmax(220px,1fr) auto;padding:10px 12px}.georef-step-row:last-child{border-bottom:0}.georef-step-row.next{background:#f8fbff}.georef-step-main{display:grid;gap:2px}.georef-step-main strong{color:#0f172a;font-size:.9rem}.georef-step-main em,.georef-step-main span{color:#64748b;font-size:.8rem;font-style:normal}.georef-step-stats{display:flex;flex-wrap:wrap;gap:8px}.georef-step-stats span{background:#f1f5f9;border-radius:999px;color:#475569;font-size:.78rem;padding:3px 8px;white-space:nowrap}.georef-json-accordion-grid,.georef-json-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);padding:0 16px 16px}.georef-json-accordion-grid h3,.georef-json-grid h3{font-size:.95rem;margin:0}.georef-json-pair{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.georef-json-pair h4{color:#475569;font-size:.82rem;margin:0 0 8px}.georef-json-debug-log{grid-column:1/-1}.georef-json-debug-log ol{display:grid;gap:8px;list-style:none;margin:0;padding:0}.georef-json-debug-log li{align-items:start;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:8px;grid-template-columns:58px 190px minmax(0,1fr);padding:8px 10px}.georef-json-debug-log li span{color:#64748b;font-size:.78rem;font-weight:650}.georef-json-debug-log li strong{color:#0f172a;font-size:.8rem}.georef-json-debug-log li code{color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.76rem;overflow-wrap:anywhere;white-space:pre-wrap}.georef-json-debug-log p{color:#64748b;font-size:.84rem;margin:0}.georef-json-accordion-grid pre,.georef-json-grid pre{background:#0f172a;border-radius:8px;color:#e2e8f0;font-size:.78rem;line-height:1.45;margin:0;max-height:360px;overflow:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.georef-json-accordion{border:1px solid #e5e7eb;border-radius:8px!important;box-shadow:none;overflow:hidden}.georef-json-accordion:before{display:none}.georef-json-accordion .MuiAccordionSummary-root{min-height:42px;padding:0 12px}.georef-json-accordion .MuiAccordionSummary-content{margin:10px 0}.georef-json-accordion .MuiAccordionDetails-root{padding:0 12px 12px}@media (max-width:1100px){.georef-detail-layout,.georef-json-accordion-grid,.georef-json-grid,.georef-page-header,.georef-sandbox-grid{grid-template-columns:1fr}.georef-current-photo-pill{max-width:none}.georef-current-photo-group{align-items:stretch;flex-direction:column}.georef-coordinate-strip,.georef-debug-controls,.georef-json-debug-log li,.georef-json-pair,.georef-step-row{grid-template-columns:1fr}.georef-image-actions{flex-wrap:wrap}}.flight-log-upload-dialog{display:flex;flex-direction:column;gap:14px}.flight-log-dropzone{align-items:center;background:#f8fafc;border:1px dashed #93c5fd;border-radius:12px;color:#334155;display:flex;flex-direction:column;gap:8px;padding:28px;text-align:center}.flight-log-dropzone.active{background:#eff6ff;border-color:#2563eb}.flight-log-dropzone svg{color:#2563eb;font-size:34px}.flight-log-dropzone span{color:#64748b;font-size:13px}.flight-log-upload-summary{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;padding:10px 12px}.flight-log-upload-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:13px;font-weight:650;padding:9px 10px}.flight-log-view-actions{align-items:center;display:flex;gap:8px}.flight-log-side-actions{display:grid;gap:8px}.flight-log-side-actions .flight-log-view-actions{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) repeat(2,32px) minmax(60px,auto) 32px}.flight-log-side-actions .MuiButton-root{min-width:0}.flight-log-georef-toggle{margin:0;min-width:0}.flight-log-georef-toggle .MuiFormControlLabel-label{color:#334155;font-size:.72rem;font-weight:750;line-height:1}.flight-log-privacy-toggle{align-items:center;background:#f7f9fc;border:1px solid #e2e8f0;border-radius:10px;color:#475569;display:flex;font-size:12px;font-weight:700;justify-content:space-between;padding:4px 8px}.flight-log-privacy-toggle .MuiFormControlLabel-root{margin:0;width:100%}.flight-log-privacy-toggle .MuiFormControlLabel-label{color:#475569;font-size:12px;font-weight:750}.flight-log-page{background:#f8fafc;display:flex;flex-direction:column;gap:8px;min-height:100vh;padding:12px}.flight-log-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.flight-log-title-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.flight-log-title-row .page-title{margin-bottom:0}.flight-log-title-row span{color:#6b7280;font-size:12px;font-weight:650}.flight-log-workspace{display:grid;gap:10px;grid-template-columns:minmax(300px,360px) minmax(0,1fr);min-height:0}.flight-log-map-panel,.flight-log-player,.flight-log-side-panel{background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.04);overflow:hidden}.flight-log-left-panel,.flight-log-main-panel{display:flex;flex-direction:column;gap:10px;min-width:0}.flight-log-map-panel{flex:1 1 auto;min-height:492px;position:relative}.flight-log-map{height:100%;min-height:492px;width:100%}.flight-log-side-panel{display:flex;flex-direction:column;gap:6px;padding:8px}.flight-log-stat-grid>div,.flight-log-summary-card,.flight-log-telemetry-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.flight-log-summary-card{display:grid;gap:2px;padding:6px 8px}.flight-log-title-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:grid;gap:4px;padding:6px 8px}.flight-log-title-card>span{color:#6b7280;font-size:10.5px;font-weight:680;text-transform:uppercase}.flight-log-title-content{align-items:center;display:flex;gap:8px;min-width:0}.flight-log-title-card strong{color:#111827;flex:1 1 auto;font-size:13px;font-weight:760}.flight-log-title-card small,.flight-log-title-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-log-title-card small{color:#64748b;display:block;font-size:10.5px;font-weight:650}.flight-log-title-editor{align-items:center;display:flex;gap:6px;min-width:0;width:100%}.flight-log-title-editor input{flex:1 1 auto}.flight-log-stat-grid span,.flight-log-summary-card span,.flight-log-telemetry-grid span{color:#6b7280;font-size:10.5px;font-weight:680}.flight-log-stat-grid strong,.flight-log-summary-card strong,.flight-log-telemetry-grid strong{color:#111827;font-size:12.5px;font-weight:760;overflow-wrap:anywhere}.flight-log-stat-grid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.flight-log-stat-grid>div{display:grid;gap:2px;padding:6px 8px}.flight-log-telemetry-card{padding:8px}.flight-log-telemetry-card h2{color:#111827;font-size:13px;font-weight:760;margin:0 0 6px}.flight-log-telemetry-grid{display:grid;gap:4px 8px;grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.flight-log-telemetry-grid strong{text-align:right}.flight-log-player{display:flex;flex-direction:column;gap:5px;padding:7px 10px 8px}.flight-log-player-actions{display:flex;gap:6px}.flight-log-player-controls{align-items:center;display:flex;gap:8px;justify-content:center}.flight-log-slider-wrap{min-width:0;position:relative;width:100%}.flight-log-slider-control{margin-left:24px}.flight-log-slider-control .MuiSlider-root{padding:11px 0 18px}.flight-log-slider-control .MuiSlider-mark{background:#64748b;border-radius:999px;height:14px;opacity:.78;top:50%;transform:translate(-50%,-50%);width:2px}.flight-log-slider-control .MuiSlider-markLabel{color:#64748b;font-size:10px;font-weight:700;top:24px}.flight-log-player-time{color:#6b7280;display:flex;font-size:11px;font-weight:650;justify-content:space-between;margin-bottom:0}.flight-log-event-rows{display:grid;gap:0;margin-bottom:0}.flight-log-event-row{align-items:center;display:grid;grid-template-columns:24px minmax(0,1fr);min-height:18px}.flight-log-event-row-icon{align-items:center;color:#64748b;display:inline-flex;justify-content:center}.flight-log-event-row .flight-log-event-row-icon.MuiIconButton-root,.flight-log-event-row-icon{height:18px;min-height:18px;padding:0;width:20px}.flight-log-event-row-icon svg{font-size:16px}.flight-log-event-row-track{height:18px;position:relative}.flight-log-event-cursor{background:rgba(15,23,42,.62);bottom:-1px;pointer-events:none;position:absolute;top:-1px;transform:translateX(-50%);width:1px;z-index:2}.flight-log-event-marker{border:1px solid #ffffff;border-radius:999px;box-shadow:0 1px 4px rgba(15,23,42,.26);cursor:pointer;height:9px;padding:0;position:absolute;top:4px;transform:translateX(-50%);width:9px}.flight-log-event-marker.photo-range{background:#2563eb}.flight-log-event-marker.photo-count{background:#38bdf8}.flight-log-event-marker.video-off{background:#94a3b8}.flight-log-event-marker.video-camera-1{background:#0ea5e9}.flight-log-event-marker.video-camera-2{background:#0284c7}.flight-log-event-marker.gps-nmea{background:#c084fc}.flight-log-event-marker.gps-general{background:#7c3aed}.flight-log-event-marker.mission-reached{background:#16a34a}.flight-log-event-marker.mission-current{background:#006600}.flight-log-event-marker.mission-skipped{background:#22c55e}.flight-log-event-marker.other-info{background:#64748b}.flight-log-event-marker.other-warning{background:#f59e0b}.flight-log-event-marker.other-error{background:#ef4444}.flight-log-filter-dialog{display:flex;flex-direction:column;min-width:280px;padding-top:4px}.flight-log-speed-control{background:#f3f6fb;border-radius:10px;display:inline-flex;gap:2px;padding:3px}.flight-log-speed-control button{background:transparent;border:0;border-radius:8px;color:#4b5563;cursor:pointer;font-size:12px;font-weight:750;height:28px;min-width:34px}.flight-log-speed-control button.active{background:#ffffff;box-shadow:0 1px 2px rgba(15,23,42,.12);color:#1d4ed8}.flight-log-plane-marker-wrap{left:0;pointer-events:none;position:absolute;top:0;transform:translate(-50%,-50%)}.flight-log-plane-marker{align-items:center;background:rgba(37,99,235,.72);border:2px solid rgba(255,255,255,.78);border-radius:999px;box-shadow:0 10px 24px rgba(15,23,42,.18);color:#ffffff;display:inline-flex;height:38px;justify-content:center;opacity:.82;transform-origin:center;width:38px;will-change:transform}.flight-log-plane-marker svg{display:block;fill:currentColor;height:28px;width:28px}.flight-log-mission-marker{transform:translate(-50%,-50%)}.flight-log-gps-correction-marker{background:rgba(124,58,237,.56);border:1px solid rgba(255,255,255,.72);border-radius:999px;box-shadow:0 6px 14px rgba(15,23,42,.16);height:26px;opacity:.78;width:26px}.flight-log-gps-correction-marker,.flight-log-localized-photo-marker{align-items:center;color:#ffffff;display:flex;font-size:9px;font-weight:850;justify-content:center;letter-spacing:0;pointer-events:auto;transform:translate(-50%,-50%)}.flight-log-localized-photo-marker{background:rgba(16,185,129,.78);border:1px solid rgba(255,255,255,.78);border-radius:999px;box-shadow:0 7px 16px rgba(15,23,42,.2);height:24px;max-width:46px;min-width:24px;padding:0 5px}.flight-log-map-legend{align-items:center;background:rgba(15,23,42,.82);border:1px solid rgba(255,255,255,.16);border-radius:10px;bottom:38px;color:#ffffff;display:inline-flex;gap:12px;padding:7px 9px;position:absolute;right:72px;z-index:3}.flight-log-map-legend span{align-items:center;display:inline-flex;font-size:12px;font-weight:750;gap:6px}.flight-log-map-legend i{border-radius:999px;display:inline-block;height:4px;width:22px}.flight-log-map-legend i.mission{background:#f97316}.flight-log-map-legend i.telemetry{background:#2563eb}.flight-log-map-legend i.localized-photo{background:#10b981}.flight-hud{aspect-ratio:1;background:#101827;border:1px solid rgba(148,163,184,.3);border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 1px 2px rgba(15,23,42,.08);color:#ffffff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;max-width:none;opacity:.92;pointer-events:none;position:relative;text-shadow:0 2px 2px rgba(0,0,0,.7);width:100%}.flight-hud-dome{background:#101827;border-radius:999px;inset:0;overflow:hidden;position:absolute}.flight-hud-horizon{inset:-12% 0;position:absolute;transition:transform .12s linear;will-change:transform}.flight-hud-ground,.flight-hud-sky{left:0;position:absolute;width:100%}.flight-hud-sky{background:linear-gradient(180deg,rgba(18,62,210,.98),rgba(25,157,246,.92));height:66%;top:0}.flight-hud-ground{background:linear-gradient(180deg,rgba(34,151,50,.9),rgba(38,93,42,.92));bottom:0;height:34%}.flight-hud-pitch-line{border-top:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.38);font-size:clamp(7px,.8vw,11px);font-weight:800;left:31%;position:absolute;text-align:right;width:38%}.flight-hud-pitch-line-top{top:28%}.flight-hud-pitch-line-mid{top:46%}.flight-hud-compass-pointer{border-left:12px solid transparent;border-right:12px solid transparent;border-top:20px solid #facc15;filter:drop-shadow(0 2px 1px rgba(0,0,0,.4));left:calc(50% - 12px);position:absolute;top:61%}.flight-hud-course,.flight-hud-heading{color:#ffffff;font-size:clamp(14px,2vw,25px);font-weight:900;left:0;position:absolute;text-align:center;width:100%}.flight-hud-heading{bottom:11%}.flight-hud-course{bottom:6%;color:#facc15;font-size:clamp(8px,1.05vw,13px)}.flight-hud-column,.flight-hud-mode,.flight-hud-range,.flight-hud-top{position:absolute;z-index:2}.flight-hud-top{display:flex;font-size:clamp(9px,1.15vw,16px);font-weight:900;justify-content:space-between;left:3%;right:3%;top:2%}.flight-hud-mode,.flight-hud-top span:last-child,.flight-hud-top strong{color:#bef264}.flight-hud-range{font-size:clamp(9px,1.15vw,16px);top:9%}.flight-hud-mode,.flight-hud-range{font-weight:900;left:0;text-align:center;width:100%}.flight-hud-mode{font-size:clamp(10px,1.35vw,18px);letter-spacing:.04em;top:22%}.flight-hud-column{display:grid;font-size:clamp(7px,.95vw,15px);font-weight:900;gap:2px;top:33%}.flight-hud-left{left:3%}.flight-hud-right{right:3%;text-align:right}.flight-hud .accent{color:#facc15}@media (max-width:900px){.mission-workspace{flex-direction:column}.flight-log-header,.flight-log-player{align-items:stretch;display:flex;flex-direction:column}.flight-log-workspace{grid-template-columns:1fr}.flight-log-map,.flight-log-map-panel{min-height:460px}.map-container{flex-basis:auto;min-height:52vh;width:100%}.mission_card{border-left:0;border-top:1px solid #e5e7eb;box-shadow:0 -8px 24px rgba(15,23,42,.04);flex-basis:auto;min-width:0;width:100%}.app-sidebar{flex-basis:52px;padding-left:8px;padding-right:8px}.app-admin-switch,.app-brand,.app-sidebar-action span,.app-sidebar-label,.app-user-card svg,.app-user-meta{display:none}.app-sidebar-action,.app-sidebar-link,.app-user-card{justify-content:center;padding-left:0;padding-right:0}}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin:normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em;width:var(--fa-width,1.25em)}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285714em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa .fa-pull-start,.svg-inline--fa.fa-pull-left{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa .fa-pull-end,.svg-inline--fa.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-inline-start:calc(-1 * var(--fa-li-width, 2em));inset-block-start:.25em}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:var(--fa-width,1.25em)}.fa-layers .svg-inline--fa{inset:0;margin:auto;position:absolute;transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:calc(10 / 16 * 1em);line-height:calc(1 / 10 * 1em);vertical-align:calc((6 / 10 - .375) * 1em)}.fa-xs{font-size:calc(12 / 16 * 1em);line-height:calc(1 / 12 * 1em);vertical-align:calc((6 / 12 - .375) * 1em)}.fa-sm{font-size:calc(14 / 16 * 1em);line-height:calc(1 / 14 * 1em);vertical-align:calc((6 / 14 - .375) * 1em)}.fa-lg{font-size:calc(20 / 16 * 1em);line-height:calc(1 / 20 * 1em);vertical-align:calc((6 / 20 - .375) * 1em)}.fa-xl{font-size:calc(24 / 16 * 1em);line-height:calc(1 / 24 * 1em);vertical-align:calc((6 / 24 - .375) * 1em)}.fa-2xl{font-size:calc(32 / 16 * 1em);line-height:calc(1 / 32 * 1em);vertical-align:calc((6 / 32 - .375) * 1em)}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.0625em);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}24%,8%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:black}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{inset:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index,auto)}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:hsl(6,78%,57%);--toastify-color-transparent:rgba(255,255,255,0.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px rgba(0,0,0,0.1);--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y:0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}.Toastify__toast{--toastify-toast-width:100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}