body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.Login{align-items:stretch;background:#f7f9fb;display:flex;min-height:100vh}.Login-left{align-items:center;background:#0d1b2a;display:flex;flex:1 0;justify-content:center;overflow:hidden;position:relative}.Login-image-wrap{inset:0;opacity:.6;position:absolute}.Login-image{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.Login-image-gradient{background:linear-gradient(0deg,#000c,#0000);inset:0;position:absolute}.Login-brand-copy{align-items:center;display:flex;flex-direction:column;gap:16px;padding:47px 48px;position:relative}.Login-brand-heading{color:#fff;font-family:Space Grotesk,sans-serif;font-size:48px;font-weight:400;line-height:52.8px;margin:0;text-align:center}.Login-brand-heading span{display:block}.Login-brand-sub{color:#f2f4f6;font-family:Inter,sans-serif;font-size:16px;line-height:24px;margin:0;max-width:448px;text-align:center}.Login-right{background:#fff;flex:1 0;padding:64px;position:relative}.Login-logo,.Login-right{align-items:center;display:flex;flex-direction:column;justify-content:center}.Login-logo{gap:4px;left:0;position:absolute;right:0;top:101px}.Login-logo-kicker{color:#006d37;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:600;letter-spacing:2.4px;line-height:32px;text-transform:uppercase}.Login-logo-title{color:#191c1e;font-family:Space Grotesk,sans-serif;font-size:40px;font-weight:700;letter-spacing:-.8px;line-height:48px}.Login-form{gap:48px;max-width:448px;padding-top:48px}.Login-form,.Login-form-heading{align-items:center;display:flex;flex-direction:column;width:100%}.Login-form-heading{gap:8px}.Login-form-heading h2{color:#191c1e;font-size:32px;font-weight:500;letter-spacing:-.32px;line-height:40px;margin:0;text-align:center}.Login-form-heading p{color:#3d4a3f;font-size:16px;line-height:24px;margin:0;text-align:center}.Login-form-action{align-items:center;display:flex;flex-direction:column;gap:8px;width:100%}.Login-google-button-wrap{position:relative;width:100%}.Login-google-button{align-items:center;background:#fff;border:2px solid #e0e3e5;border-radius:12px;color:#191c1e;cursor:pointer;display:flex;font-size:18px;font-weight:500;gap:16px;justify-content:center;line-height:28px;padding:18px 2px;pointer-events:none;width:100%}.Login-google-button-wrap:hover .Login-google-button{background:#f7f9fb}.Login-google-overlay{inset:0;opacity:0;overflow:hidden;position:absolute}.Login-form-error{color:#c0362c;font-size:14px;margin:0;text-align:center}.Login-form-hint{color:#3d4a3f;font-size:16px;line-height:24px;margin:0;text-align:center}.Login-footer{align-items:center;bottom:24px;display:flex;gap:16px;justify-content:center;left:0;position:absolute;right:0}.Login-footer a{color:#3d4a3f;font-size:11px;letter-spacing:.55px;line-height:14px;text-decoration:none}.Login-footer a:hover{text-decoration:underline}.Login-footer span{color:#e0e3e5;font-size:16px;line-height:24px}@media (max-width:900px){.Login{flex-direction:column}.Login-left{min-height:320px}.Login-right{padding:48px 24px}.Login-logo{padding-bottom:24px;position:static}.Login-form{padding-top:0}.Login-footer{margin-top:32px;position:static}}.SideNavBar{background:#fff;border-right:1px solid #bccabc;box-shadow:1px 0 1px #0000000d;display:flex;flex-direction:column;flex-shrink:0;min-height:100vh;padding:24px 0;width:256px}.SideNavBar-brand{align-items:center;display:flex;gap:16px;padding:0 16px 32px}.SideNavBar-brand-mark{border:1px solid #bccabc;border-radius:2px;flex-shrink:0;object-fit:cover}.SideNavBar-brand-text{display:flex;flex-direction:column;gap:4px}.SideNavBar-brand-name{color:#27ae60;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700;line-height:27px}.SideNavBar-brand-tagline{color:#3d4a3f;font-size:16px;line-height:24px}.SideNavBar-list{display:flex;flex:1 0;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.SideNavBar-item{width:100%}.SideNavBar-link{align-items:center;background:none;border:none;border-right:4px solid #0000;color:#3d4a3f;cursor:pointer;display:flex;font:inherit;font-size:16px;gap:12px;line-height:24px;padding:8px 20px 8px 16px;text-align:left;text-decoration:none;width:100%}.SideNavBar-link:disabled{cursor:not-allowed;opacity:.45}.SideNavBar-link--active{background:#27ae601a;border-right-color:#27ae60;color:#27ae60}.SideNavBar-deploy{padding:16px}.SideNavBar-deploy-button{background:#27ae60;border:none;border-radius:4px;color:#00391a;cursor:pointer;font:inherit;font-size:16px;line-height:24px;padding:8px;width:100%}.SideNavBar-deploy-button:disabled{cursor:not-allowed;opacity:.5}.SideNavBar-secondary{border-top:1px solid #bccabc;display:flex;flex-direction:column;gap:8px;padding-top:17px}.TopBar{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid #bccabc;display:flex;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:1}.TopBar--minimal{background:#f7f9fbcc;height:47px;padding:0 24px}.TopBar-breadcrumb{color:#3d4a3f;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.65px;opacity:.7;text-transform:uppercase}.TopBar-icons{align-items:center;display:flex;gap:16px}.TopBar-icon-button{align-items:center;background:none;border:none;border-radius:12px;cursor:pointer;display:flex;justify-content:center;padding:8px}.TopBar-icon-button:disabled{cursor:not-allowed;opacity:.4}.TopBar--full{background:#ffffffe6;box-shadow:0 1px 2px #0000000d;height:64px;padding:0 32px 0 24px;position:relative}.TopBar-search{background:#eceef0;border:1px solid #bccabc;border-radius:2px;color:#191c1e;flex:1 0;font-size:16px;max-width:256px;padding:9px 41px 7px 17px}.TopBar-search::placeholder{color:#6b7280}.TopBar-search:disabled{cursor:not-allowed}.TopBar-search-icon{pointer-events:none;position:relative;right:41px}.TopBar-actions{align-items:center;display:flex;gap:24px}.TopBar-theme-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:8px;padding:0}.TopBar-theme-toggle:disabled{cursor:not-allowed;opacity:.6}.TopBar-theme-track{background:#eceef0;border-radius:12px;height:24px;position:relative;width:40px}.TopBar-theme-track:after{background:#fff;border:4px solid #eceef0;border-radius:12px;content:"";height:20px;left:2px;position:absolute;top:2px;width:20px}.TopBar-avatar{background:#e0e3e5;border:1px solid #bccabc;border-radius:12px;display:block;height:32px;width:32px}.DetectionModal-backdrop{align-items:center;background:#191c1e80;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100}.DetectionModal-card{background:#fff;border-radius:8px;box-shadow:0 20px 40px -8px #00000040;display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:480px;overflow:hidden;position:relative;width:100%}.DetectionModal-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;position:absolute;right:12px;top:12px;width:32px}.DetectionModal-close:hover{background:#000000b3}.DetectionModal-image{background:#191c1e;flex-shrink:0;height:280px;object-fit:contain;width:100%}.DetectionModal-body{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:20px 24px 24px}.DetectionModal-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.DetectionModal-title{min-width:0}.DetectionModal-species{color:#191c1e;font-size:20px;line-height:28px;margin:0}.DetectionModal-scientific{color:#3d4a3f;font-size:13px;font-style:italic;margin:2px 0 0;opacity:.7}.DetectionModal-status{border-radius:12px;flex-shrink:0;font-size:12px;font-weight:500;padding:4px 10px;white-space:nowrap}.DetectionModal-status--unverified{background:#e0e3e5;color:#3d4a3f}.DetectionModal-status--verified{background:#27ae601a;color:#27ae60}.DetectionModal-status--corrected{background:#1967d21a;color:#1967d2}.DetectionModal-status--false_positive{background:#a7344c1a;color:#a7344c}.DetectionModal-correction{background:#1967d214;border-radius:4px;color:#1967d2;font-size:13px;margin:0;padding:8px 12px}.DetectionModal-fields{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr 1fr;margin:4px 0 0}.DetectionModal-field{display:flex;flex-direction:column;gap:2px;min-width:0}.DetectionModal-field dt{color:#3d4a3f;font-size:12px;opacity:.7}.DetectionModal-field dd{color:#191c1e;font-size:14px;margin:0;overflow-wrap:break-word}.DetectionModal-note{color:#3d4a3f;font-size:12px;margin:4px 0 0;opacity:.6}.DetectionModal-note--error{color:#a7344c;opacity:1}@media (max-width:520px){.DetectionModal-fields{grid-template-columns:1fr}}.TeamSwitcher{display:inline-block;position:relative}.TeamSwitcher-button{align-items:center;background:none;border:none;border-radius:4px;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:6px;padding:2px 4px}.TeamSwitcher-button:hover{color:#27ae60}.TeamSwitcher-caret{color:#6d7a6e;flex-shrink:0;transition:transform .15s ease}.TeamSwitcher-button[aria-expanded=true] .TeamSwitcher-caret{transform:rotate(180deg)}.TeamSwitcher-menu{background:#fff;border:1px solid #00000014;border-radius:8px;box-shadow:0 8px 20px -4px #0000001f,0 2px 6px -2px #0000000f;left:0;list-style:none;margin:0;min-width:240px;padding:6px;position:absolute;top:calc(100% + 6px);z-index:10}.TeamSwitcher-item{align-items:center;background:none;border:none;border-radius:4px;color:#191c1e;cursor:pointer;display:flex;font:inherit;font-size:14px;gap:12px;justify-content:space-between;padding:8px 10px;text-align:left;width:100%}.TeamSwitcher-item:hover{background:#f7f9fb}.TeamSwitcher-item--active{background:#27ae601a}.TeamSwitcher-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.TeamSwitcher-role-badge{border-radius:12px;flex-shrink:0;font-size:12px;font-weight:500;padding:4px 10px}.TeamSwitcher-role-badge--owner{background:#27ae6026;color:#006d37}.TeamSwitcher-role-badge--manager{background:#27ae601a;color:#27ae60}.TeamSwitcher-role-badge--member{background:#e0e3e5;color:#3d4a3f}.Home{align-items:stretch;background:#f7f9fb;display:flex;min-height:100vh}.Home-body{display:flex;flex:1 0;flex-direction:column;min-width:0}.Home-status{align-items:center;color:#3d4a3f;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh;padding:32px;text-align:center}.Home-status-error{color:#a7344c;max-width:420px}.Home-status-actions{display:flex;gap:12px}.Home-status-button{background:#27ae60;border:1px solid #bccabc;border-radius:4px;color:#00391a;cursor:pointer;font:inherit;font-size:16px;padding:9px 17px}.Home-status-button--secondary{background:#fff;color:#191c1e}.Home-empty{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:672px;padding:64px 24px;text-align:center}.Home-empty-illustration-wrap{align-items:center;display:flex;height:320px;justify-content:center;margin-bottom:40px;position:relative;width:320px}.Home-empty-illustration{border-radius:12px;box-shadow:0 8px 5px #00000014,0 20px 13px #00000008;height:100%;object-fit:cover;width:100%}.Home-empty-ring{border:1px solid #bccabc4d;border-radius:12px;pointer-events:none;position:absolute}.Home-empty-ring--1{inset:-32px;opacity:.5}.Home-empty-ring--2{inset:-80px;opacity:.3}.Home-empty-heading{color:#191c1e;font-size:40px;font-weight:500;letter-spacing:-.8px;line-height:48px;margin:0 0 16px}.Home-empty-sub{color:#4e6073;font-size:18px;line-height:29px;margin:0 0 48px}.Home-cta-grid{display:flex;gap:24px;width:100%}.Home-cta-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:inherit;cursor:pointer;display:flex;flex:1 0;flex-direction:column;font:inherit;min-width:0;padding:32px;text-align:left}.Home-cta-card:hover{border-color:#006d37}.Home-cta-icon{align-items:center;background:#f2f4f6;border-radius:4px;display:flex;height:48px;justify-content:center;margin-bottom:24px;width:48px}.Home-cta-card h2{color:#191c1e;font-size:24px;font-weight:500;line-height:32px;margin:0 0 12px}.Home-cta-card p{color:#3d4a3f;font-size:16px;line-height:24px;margin:0}.Home-cta-proceed{align-items:center;color:#006d37;display:flex;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;gap:4px;letter-spacing:.65px;margin-top:24px;opacity:0;transition:opacity .15s ease}.Home-cta-card--secondary .Home-cta-proceed{color:#4e6073}.Home-cta-card:focus-visible .Home-cta-proceed,.Home-cta-card:hover .Home-cta-proceed{opacity:1}.Home-dashboard{display:flex;flex-direction:column;gap:24px;padding:24px}.Home-panel,.Home-team-header{background:#fff;border:1px solid #0000000d;border-radius:8px;box-shadow:0 4px 12px -2px #0000000d,0 2px 4px -2px #00000008}.Home-team-header{align-items:center;display:flex;gap:32px;padding:25px 33px}.Home-team-header-main{display:flex;flex:1 0;flex-direction:column;gap:8px;min-width:0}.Home-team-name{margin:0}.Home-team-name,.Home-team-switcher{color:#191c1e;font-size:20px;line-height:30px}.Home-team-header-meta{align-items:center;display:flex;gap:12px}.Home-role-badge{background:#27ae601a;border-radius:2px;color:#27ae60;font-size:11px;letter-spacing:.55px;padding:2px 8px;text-transform:uppercase}.Home-team-description{color:#3d4a3f;font-size:16px;opacity:.8}.Home-team-header-stats{border-left:1px solid #bccabc;display:flex;gap:32px;padding-left:33px}.Home-stat{display:flex;flex-direction:column}.Home-stat-label{color:#3d4a3f;font-size:12px;text-transform:uppercase}.Home-stat-value{color:#191c1e;font-size:16px}.Home-team-manage-button{background:#fff;border:1px solid #bccabc;border-radius:4px;color:#191c1e;cursor:pointer;flex-shrink:0;font:inherit;font-size:16px;padding:9px 17px;text-transform:uppercase}.Home-team-manage-button:disabled{cursor:not-allowed;opacity:.5}.Home-kpis{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.Home-kpi{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:8px;box-shadow:0 4px 12px -2px #0000000d,0 2px 4px -2px #00000008;display:flex;flex-direction:column;gap:8px;padding:25px;text-align:center}.Home-kpi-label{color:#3d4a3f;font-size:16px}.Home-kpi-value{color:#191c1e;font-family:Space Grotesk,sans-serif;font-size:40px;line-height:48px}.Home-kpi-sub{color:#3d4a3f;font-size:14px;opacity:.6}.Home-panels{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.Home-panel{padding:25px}.Home-panel--wide{width:100%}.Home-panel-title{color:#191c1e;font-size:18px;line-height:28px;margin:0 0 16px}.Home-panel-empty,.Home-panel-placeholder{align-items:center;background:#eceef0;border:1px solid #bccabc;border-radius:4px;color:#6d7a6e;display:flex;font-size:14px;justify-content:center;min-height:240px;padding:24px;text-align:center}.Home-panel-empty{min-height:80px}.Home-robot-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.Home-robot{align-items:center;background:#f7f9fb;border:1px solid #bccabc80;border-radius:4px;display:flex;gap:16px;padding:16px}.Home-robot-name{color:#191c1e;flex:1 0;font-weight:600}.Home-robot-status{background:#e0e3e5;border-radius:12px;color:#3d4a3f;font-size:12px;font-weight:500;padding:4px 12px}.Home-robot-battery{color:#3d4a3f;font-size:14px}.Home-robot-occupied{color:#4e6073;font-size:12px}.Home-feed-list{display:flex;flex-direction:column;gap:16px;list-style:none;margin:0 0 16px;padding:0}.Home-feed-item{align-items:center;background:#f7f9fb;border:1px solid #bccabc80;border-radius:4px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;padding:17px;text-align:left;width:100%}.Home-feed-item:focus-visible,.Home-feed-item:hover{border-color:#27ae60}.Home-feed-thumb{background:#e0e3e5;border-radius:4px;flex-shrink:0;height:80px;object-fit:cover;width:80px}.Home-feed-body{align-items:center;display:flex;flex:1 0;gap:16px;justify-content:space-between;min-width:0}.Home-feed-main{display:flex;flex-direction:column;gap:4px;min-width:0}.Home-feed-species{color:#191c1e;font-size:18px;font-weight:700}.Home-feed-robot{color:#3d4a3f;font-size:14px}.Home-feed-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.Home-feed-confidence{background:#27ae601a;border-radius:12px;color:#27ae60;font-size:12px;padding:4px 12px}.Home-feed-time{color:#3d4a3f;font-size:12px;opacity:.6}.Home-feed-more{background:none;border:1px solid #bccabc;border-radius:4px;color:#191c1e;cursor:pointer;font:inherit;font-size:14px;padding:13px;width:100%}.Home-feed-more:disabled{cursor:not-allowed;opacity:.5}@media (max-width:960px){.Home-kpis{grid-template-columns:repeat(2,1fr)}.Home-panels{grid-template-columns:1fr}.Home-cta-grid{flex-direction:column}.Home-team-header{flex-wrap:wrap}.Home-team-header-stats{border-left:none;padding-left:0}}@media (max-width:640px){.Home{flex-direction:column}.SideNavBar{min-height:auto;width:100%}.Home-kpis{grid-template-columns:1fr}.Home-feed-body{flex-direction:column}.Home-feed-body,.Home-feed-meta{align-items:flex-start}}.TeamManage{align-items:stretch;background:#f7f9fb;display:flex;min-height:100vh}.TeamManage-body{display:flex;flex:1 0;flex-direction:column;min-width:0}.TeamManage-status{align-items:center;color:#3d4a3f;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh;padding:32px;text-align:center}.TeamManage-status-error{color:#a7344c;max-width:420px}.TeamManage-status-button{background:#27ae60;border:1px solid #bccabc;border-radius:4px;color:#00391a;cursor:pointer;font:inherit;font-size:16px;padding:9px 17px}.TeamManage-content{display:flex;flex-direction:column;gap:24px;padding:24px}.TeamManage-header h1{color:#191c1e;font-size:24px;line-height:32px;margin:0 0 4px}.TeamManage-header p{margin:0}.TeamManage-header p,.TeamManage-team-switcher{color:#3d4a3f;font-size:16px}.TeamManage-action-error{background:#a7344c14;border:1px solid #a7344c4d;border-radius:4px;color:#a7344c;font-size:14px;margin:0;padding:12px 16px}.TeamManage-panel{background:#fff;border:1px solid #0000000d;border-radius:8px;box-shadow:0 4px 12px -2px #0000000d,0 2px 4px -2px #00000008;padding:25px}.TeamManage-panel-title{color:#191c1e;font-size:18px;line-height:28px;margin:0 0 16px}.TeamManage-panel-empty{background:#eceef0;border:1px solid #bccabc;border-radius:4px;color:#6d7a6e;font-size:14px;padding:16px;text-align:center}.TeamManage-panel-empty--error{background:#a7344c14;border-color:#a7344c4d;color:#a7344c}.TeamManage-member-list,.TeamManage-request-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.TeamManage-member{align-items:center;background:#f7f9fb;border:1px solid #bccabc80;border-radius:4px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px}.TeamManage-member-info{display:flex;flex-direction:column;gap:4px;min-width:0}.TeamManage-member-name{align-items:center;color:#191c1e;display:flex;font-weight:600;gap:8px}.TeamManage-member-me{background:#27ae601a;border-radius:2px;color:#27ae60;font-size:11px;padding:1px 8px}.TeamManage-member-email{color:#3d4a3f;font-size:14px}.TeamManage-member-joined{color:#3d4a3f;font-size:12px;opacity:.6}.TeamManage-member-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.TeamManage-role-select{background:#fff;border:1px solid #bccabc;border-radius:4px;color:#191c1e;font:inherit;font-size:14px;padding:6px 10px}.TeamManage-role-select:disabled{cursor:not-allowed;opacity:.6}.TeamManage-role-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.TeamManage-role-badge--owner{background:#27ae6026;color:#006d37}.TeamManage-role-badge--manager{background:#27ae601a;color:#27ae60}.TeamManage-role-badge--member{background:#e0e3e5;color:#3d4a3f}.TeamManage-remove-button{background:none;border:1px solid #a7344c66;border-radius:4px;color:#a7344c;cursor:pointer;font:inherit;font-size:13px;padding:6px 12px}.TeamManage-remove-button:disabled{cursor:not-allowed;opacity:.5}.TeamManage-confirm{align-items:center;color:#a7344c;display:flex;font-size:13px;gap:8px}.TeamManage-confirm-button{background:#fff;border:1px solid #bccabc;border-radius:4px;color:#191c1e;cursor:pointer;font:inherit;font-size:12px;padding:4px 10px}.TeamManage-confirm-button--danger{background:#a7344c;border-color:#a7344c;color:#fff}.TeamManage-confirm-button:disabled{cursor:not-allowed;opacity:.5}.TeamManage-transfer-confirm{align-items:center;background:#a7344c14;border:1px solid #a7344c4d;border-radius:4px;color:#a7344c;display:flex;flex-wrap:wrap;font-size:14px;gap:8px;margin:16px 0 0;padding:12px 16px}.TeamManage-robot-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0 0 16px;padding:0}.TeamManage-robot{align-items:center;background:#f7f9fb;border:1px solid #bccabc80;border-radius:4px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px}.TeamManage-robot-info{display:flex;flex-direction:column;gap:4px;min-width:0}.TeamManage-robot-name{color:#191c1e;font-weight:600}.TeamManage-robot-uid{color:#3d4a3f;font-family:JetBrains Mono,monospace;font-size:12px;opacity:.7}.TeamManage-robot-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.TeamManage-robot-status{background:#e0e3e5;border-radius:12px;color:#3d4a3f;font-size:12px;font-weight:500;padding:4px 10px}.TeamManage-robot-copy{background:#fff;border:1px solid #bccabc;border-radius:4px;color:#191c1e;cursor:pointer;font:inherit;font-size:13px;padding:6px 12px}.TeamManage-robot-copy:hover{border-color:#006d37}.TeamManage-robot-add{display:flex;flex-wrap:wrap;gap:12px}.TeamManage-robot-add-input{background:#fff;border:1px solid #bccabc;border-radius:4px;color:#191c1e;flex:1 0 200px;font:inherit;font-size:14px;padding:9px 12px}.TeamManage-robot-add-input:disabled{cursor:not-allowed;opacity:.6}.TeamManage-robot-add-button{background:#27ae60;border:1px solid #27ae60;border-radius:4px;color:#00391a;cursor:pointer;font:inherit;font-size:14px;padding:9px 17px}.TeamManage-robot-add-button:disabled{cursor:not-allowed;opacity:.6}.TeamManage-request{align-items:center;background:#f7f9fb;border:1px solid #bccabc80;border-radius:4px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px}.TeamManage-request-info{display:flex;flex-direction:column;gap:4px;min-width:0}.TeamManage-request-name{color:#191c1e;font-weight:600}.TeamManage-request-email{color:#3d4a3f;font-size:14px}.TeamManage-request-time{color:#3d4a3f;font-size:12px;opacity:.6}.TeamManage-request-actions{display:flex;flex-shrink:0;gap:8px}.TeamManage-approve-button,.TeamManage-reject-button{border-radius:4px;cursor:pointer;font:inherit;font-size:14px;padding:8px 16px}.TeamManage-approve-button{background:#27ae60;border:1px solid #27ae60;color:#00391a}.TeamManage-reject-button{background:#fff;border:1px solid #bccabc;color:#191c1e}.TeamManage-approve-button:disabled,.TeamManage-reject-button:disabled{cursor:not-allowed;opacity:.5}.TeamManage-code{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.TeamManage-code-value{background:#eceef0;border:1px solid #bccabc;border-radius:4px;color:#191c1e;font-family:JetBrains Mono,monospace;font-size:18px;font-weight:500;letter-spacing:2px;padding:10px 16px}.TeamManage-code-empty{color:#6d7a6e;font-size:14px}.TeamManage-code-copy,.TeamManage-code-issue{border-radius:4px;cursor:pointer;font:inherit;font-size:14px;padding:9px 17px}.TeamManage-code-copy{background:#fff;border:1px solid #bccabc;color:#191c1e}.TeamManage-code-issue{background:#27ae60;border:1px solid #27ae60;color:#00391a}.TeamManage-code-issue:disabled{cursor:not-allowed;opacity:.6}.TeamManage-code-hint{color:#3d4a3f;font-size:12px;margin:12px 0 0;opacity:.7}.TeamManage-other-team-desc{color:#3d4a3f;font-size:14px;margin:0 0 16px}.TeamManage-other-team-actions{display:flex;flex-wrap:wrap;gap:12px}.TeamManage-other-team-button{background:#fff;border:1px solid #bccabc;border-radius:4px;color:#191c1e;cursor:pointer;font:inherit;font-size:14px;padding:9px 17px}.TeamManage-other-team-button:hover{border-color:#006d37}.TeamManage-other-team-button--primary{background:#27ae60;border-color:#27ae60;color:#00391a}.TeamManage-other-team-button--primary:hover{background:#219150;border-color:#219150}@media (max-width:640px){.TeamManage{flex-direction:column}.SideNavBar{min-height:auto;width:100%}.TeamManage-member,.TeamManage-request,.TeamManage-robot{align-items:flex-start;flex-direction:column}.TeamManage-member-actions,.TeamManage-request-actions,.TeamManage-robot-actions{justify-content:space-between;width:100%}}.RobotVideoPlayer{aspect-ratio:16/9;background:#000;border:1px solid #bccabc;border-radius:4px;box-shadow:0 1px 2px #0000000d;overflow:hidden;position:relative;width:100%}.RobotVideoPlayer.RobotVideoPlayer--fullscreen,.RobotVideoPlayer:fullscreen{aspect-ratio:auto;border:none;border-radius:0}.RobotVideoPlayer-video{background:#000;height:100%;inset:0;object-fit:contain;position:absolute;width:100%}.RobotVideoPlayer-placeholder{align-items:center;background:#191c1e;display:flex;inset:0;justify-content:center;padding:24px;position:absolute}.RobotVideoPlayer-placeholder p{color:#ffffffb3;font-size:14px;margin:0;max-width:320px;text-align:center}.RobotVideoPlayer-header{align-items:flex-start;background:linear-gradient(180deg,#0000008c,#0000);display:flex;gap:12px;justify-content:space-between;left:0;padding:16px;position:absolute;right:0;top:0}.RobotVideoPlayer-badges{align-items:center;display:flex;gap:12px;min-width:0}.RobotVideoPlayer-live-badge{align-items:center;background:#ba1a1a;border-radius:2px;color:#fff;display:flex;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;gap:6px;letter-spacing:.6px;padding:4px 10px}.RobotVideoPlayer-live-badge--connecting,.RobotVideoPlayer-live-badge--waiting{background:#ffffff26}.RobotVideoPlayer-live-badge--error{background:#ffffff26;color:#ff9c9c}.RobotVideoPlayer-live-dot{background:currentColor;border-radius:50%;height:6px;width:6px}.RobotVideoPlayer-live-badge--connecting .RobotVideoPlayer-live-dot,.RobotVideoPlayer-live-badge--waiting .RobotVideoPlayer-live-dot{animation:RobotVideoPlayer-pulse 1.4s ease-in-out infinite}@keyframes RobotVideoPlayer-pulse{0%,to{opacity:.3}50%{opacity:1}}.RobotVideoPlayer-name{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;border-radius:2px;color:#fff;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.65px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.RobotVideoPlayer-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.RobotVideoPlayer-viewers{border-radius:2px;color:#fffc;font-family:JetBrains Mono,monospace;font-size:12px;padding:4px 8px;white-space:nowrap}.RobotVideoPlayer-fullscreen-button,.RobotVideoPlayer-viewers{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006}.RobotVideoPlayer-fullscreen-button{align-items:center;border:1px solid #ffffff4d;border-radius:2px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.RobotVideoPlayer-fullscreen-button:hover{background:#0009}.RobotVideoPlayer-spectator-note{background:linear-gradient(0deg,#00000080,#0000);bottom:0;color:#ffffffb3;font-size:12px;left:0;margin:0;padding:8px 16px;position:absolute;right:0;text-align:center}.RobotManage{align-items:stretch;background:#f7f9fb;display:flex;min-height:100vh}.RobotManage-body{display:flex;flex:1 0;flex-direction:column;min-width:0}.RobotManage-status{align-items:center;color:#3d4a3f;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh;padding:32px;text-align:center}.RobotManage-status-error{color:#a7344c;max-width:420px}.RobotManage-status-button{background:#27ae60;border:1px solid #bccabc;border-radius:4px;color:#00391a;cursor:pointer;font:inherit;font-size:16px;padding:9px 17px}.RobotManage-content{display:flex;flex:1 0;flex-direction:column;gap:16px;min-height:0;padding:16px}.RobotManage-header{align-items:center;display:flex;gap:12px}.RobotManage-header h1{color:#191c1e;font-size:24px;line-height:32px;margin:0}.RobotManage-live-tag{background:#e6e8ea;border-radius:2px;color:#3d4a3f;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.55px;padding:4px 8px}.RobotManage-team-name,.RobotManage-team-switcher{color:#3d4a3f;font-size:16px}.RobotManage-layout{display:flex;flex:1 0;gap:16px;min-height:0}.RobotManage-sidebar{background:#fff;border:1px solid #bccabc;border-radius:4px;display:flex;flex-direction:column;flex-shrink:0;min-width:250px;overflow:hidden;width:250px}.RobotManage-sidebar-header{align-items:center;background:#f2f4f6;border-bottom:1px solid #bccabc;display:flex;justify-content:space-between;padding:16px}.RobotManage-sidebar-header h2{color:#191c1e;font-size:13px;letter-spacing:.65px;margin:0}.RobotManage-sidebar-count{background:#27ae60;border-radius:2px;color:#fff;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;padding:2px 8px}.RobotManage-sidebar-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:8px}.RobotManage-sidebar-empty{color:#6d7a6e;font-size:13px;padding:16px;text-align:center}.RobotManage-sidebar-empty--error{color:#a7344c}.RobotManage-robot-item{background:none;border:1px solid #bccabc80;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:8px;padding:13px;text-align:left}.RobotManage-robot-item--active{background:#27ae600d;border-color:#006d37;box-shadow:0 0 12px #006d3726}.RobotManage-robot-item-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.RobotManage-robot-item-name{color:#191c1e;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;letter-spacing:.65px}.RobotManage-robot-item--active .RobotManage-robot-item-name{color:#006d37}.RobotManage-robot-item-battery,.RobotManage-robot-item-status{color:#3d4a3f;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.55px}.RobotManage-main{display:flex;flex:1 0;flex-direction:column;gap:16px;min-width:0;overflow-y:auto}.RobotManage-panels{display:flex;flex-wrap:wrap;gap:16px}.RobotManage-panel{background:#fff;border:1px solid #bccabc;border-radius:4px;flex:1 1 280px;padding:17px}.RobotManage-panel h3{color:#191c1e;font-size:13px;letter-spacing:.65px;margin:0 0 16px}.RobotManage-panel-empty{background:#eceef0;border:1px solid #bccabc;border-radius:4px;color:#6d7a6e;font-size:13px;padding:16px;text-align:center}.RobotManage-panel-empty--error{background:#a7344c14;border-color:#a7344c4d;color:#a7344c;margin:0 0 12px}.RobotManage-info-list{display:flex;flex-direction:column;gap:12px;margin:0}.RobotManage-info-row{align-items:center;border-bottom:1px solid #bccabc80;display:flex;gap:12px;justify-content:space-between;padding-bottom:12px}.RobotManage-info-row:last-child{border-bottom:none;padding-bottom:0}.RobotManage-info-row dt{color:#3d4a3f;font-size:14px}.RobotManage-info-row dd{color:#191c1e;font-family:JetBrains Mono,monospace;font-size:14px;margin:0}.RobotManage-device-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.RobotManage-device{align-items:center;background:#f7f9fb;border:1px solid #bccabc;border-radius:2px;display:flex;gap:12px;justify-content:space-between;padding:13px}.RobotManage-device-name{color:#191c1e;font-size:13px}.RobotManage-device-status{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.55px}.RobotManage-device-status--online{color:#006d37}.RobotManage-device-status--offline{color:#6d7a6e}@media (max-width:900px){.RobotManage-layout{flex-direction:column}.RobotManage-sidebar{max-height:240px;min-width:0;width:100%}}@media (max-width:640px){.RobotManage{flex-direction:column}.SideNavBar{min-height:auto;width:100%}}.Sparkline{display:block;width:100%}.Sparkline--empty{background:#eceef0;border-radius:2px}.Sparkline-line{fill:none;stroke:#27ae60;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.RadialGauge{position:relative}.RadialGauge-fill,.RadialGauge-track{fill:none}.RadialGauge-track{stroke:#e0e3e5}.RadialGauge-fill{stroke:#27ae60;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.RadialGauge-label{align-items:center;color:#191c1e;display:flex;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:700;inset:0;justify-content:center;position:absolute}.HourlyChart{display:flex;flex-direction:column;gap:8px}.HourlyChart-bars{align-items:flex-end;display:flex;gap:2px;height:140px}.HourlyChart-col{align-items:flex-end;display:flex;flex:1 0;height:100%;min-width:0}.HourlyChart-track{height:100%;position:relative;width:100%}.HourlyChart-bar{border-radius:1px 1px 0 0;bottom:0;left:0;position:absolute;right:0}.HourlyChart-bar--compare{background:#e0e3e5}.HourlyChart-bar--main{background:#006d37;left:20%;right:20%}.HourlyChart-axis{color:#6d7a6e;display:flex;font-family:JetBrains Mono,monospace;font-size:11px;justify-content:space-between}.DonutChart{flex-shrink:0;position:relative}.DonutChart-empty{fill:none;stroke:#e0e3e5}.DonutChart-center{align-items:center;color:#191c1e;display:flex;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;inset:0;justify-content:center;position:absolute;text-align:center}.StackedBar{display:flex;flex-direction:column;gap:16px}.StackedBar-track{background:#eceef0;border-radius:6px;display:flex;height:12px;overflow:hidden}.StackedBar-empty{height:100%;width:100%}.StackedBar-segment{height:100%;transition:width .3s ease}.StackedBar-legend{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0}.StackedBar-legend-item{align-items:center;color:#3d4a3f;display:flex;font-size:13px;gap:6px}.StackedBar-legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.StackedBar-legend-value{color:#191c1e;font-family:JetBrains Mono,monospace;font-weight:500}.HorizontalBarList{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.HorizontalBarList-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:120px 1fr 56px}.HorizontalBarList-label{color:#3d4a3f;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.HorizontalBarList-track{background:#eceef0;border-radius:4px;height:8px;overflow:hidden}.HorizontalBarList-bar{background:#27ae60;border-radius:4px;height:100%;transition:width .3s ease}.HorizontalBarList-value{color:#191c1e;font-family:JetBrains Mono,monospace;font-size:13px;text-align:right}.Stats{align-items:stretch;background:#f7f9fb;display:flex;min-height:100vh}.Stats-body{display:flex;flex:1 0;flex-direction:column;min-width:0}.Stats-status{align-items:center;color:#3d4a3f;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh;padding:32px;text-align:center}.Stats-status-error{color:#a7344c;max-width:420px}.Stats-status-button{background:#27ae60;border:1px solid #bccabc;border-radius:4px;color:#00391a;cursor:pointer;font:inherit;font-size:16px;padding:9px 17px}.Stats-content{display:flex;flex-direction:column;gap:24px;max-width:1600px;padding:24px}.Stats-heading{color:#191c1e;font-size:32px;letter-spacing:-.32px;line-height:40px;margin:0}.Stats-error{background:#a7344c14;border:1px solid #a7344c4d;border-radius:4px;color:#a7344c;font-size:13px;margin:0;padding:12px 16px}.Stats-filter-bar{align-items:center;border-bottom:1px solid #e0e3e5;display:flex;gap:16px;padding-bottom:17px}.Stats-team-name{font-weight:500}.Stats-team-name,.Stats-team-switcher{color:#191c1e;font-size:13px;letter-spacing:.65px}.Stats-filter-controls{align-items:center;display:flex;flex:1 0;flex-wrap:wrap;gap:16px}.Stats-period-presets{display:flex;gap:4px}.Stats-period-button{background:#eceef0;border:1px solid #e0e3e5;border-radius:2px;color:#191c1e;cursor:pointer;font:inherit;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.55px;padding:5px 13px}.Stats-period-button--active{background:#006d37;border-color:#006d37;color:#fff}.Stats-date-range{border:1px solid #e0e3e5;border-radius:2px;font-family:JetBrains Mono,monospace;font-size:13px;padding:7px 13px;white-space:nowrap}.Stats-date-range,.Stats-species-select{background:#f2f4f6;color:#191c1e;letter-spacing:.65px}.Stats-species-select{border:none;border-bottom:2px solid #0000;border-radius:2px 2px 0 0;cursor:pointer;font:inherit;font-size:13px;padding:7px 12px}.Stats-tz-badge{color:#3d4a3f;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.55px;text-transform:uppercase}.Stats-kpis{display:flex;gap:16px}.Stats-kpi{flex:1 0;min-width:0;overflow:hidden;padding:16px;position:relative}.Stats-kpi:before{content:"";height:4px;left:0;opacity:.5;position:absolute;right:0;top:0}.Stats-kpi--total:before{background:#006d37}.Stats-kpi--confidence:before{background:#4e6073}.Stats-kpi--verified:before{background:#6d7a6e}.Stats-kpi-accent{height:4px;left:0;opacity:.5;position:absolute;right:0;top:0}.Stats-kpi-label{color:#3d4a3f;display:block;font-size:11px;letter-spacing:.55px;margin-bottom:8px;text-transform:uppercase}.Stats-kpi-value-row{align-items:flex-end;display:flex;gap:8px}.Stats-kpi-value{color:#191c1e;font-family:Space Grotesk,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.32px;line-height:40px}.Stats-kpi-delta{background:#006d371a;border-radius:2px;color:#006d37;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.55px;margin-bottom:4px;padding:2px 6px}.Stats-kpi-delta--down{background:#a7344c1a;color:#a7344c}.Stats-kpi--total .Sparkline{margin-top:16px}.Stats-kpi-gauge-wrap{display:flex;justify-content:center;padding-top:4px}.Stats-kpi-species{display:flex;flex-direction:column;gap:4px;padding-top:28px}.Stats-kpi-species-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.Stats-kpi-species-name{color:#191c1e;font-size:24px;line-height:32px}.Stats-kpi-species-ratio{background:#e0e3e5;border-radius:2px;color:#191c1e;padding:2px 6px}.Stats-kpi-species-ratio,.Stats-kpi-species-scientific{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.55px}.Stats-kpi-species-scientific{color:#3d4a3f;font-style:italic}.Stats-kpi-empty{color:#6d7a6e;display:block;padding-top:28px}.Stats-kpi-sub{color:#3d4a3f;display:block;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.55px;margin-top:11px}.Stats-kpi--verified .Stats-kpi-value{display:block;margin-top:28px}.Stats-panel,.Stats-panel--half{background:#fff;border:1px solid #0000000d;border-radius:8px;box-shadow:0 4px 12px -2px #0000000d,0 2px 4px -2px #00000008;padding:25px}.Stats-panel-title{color:#191c1e;font-size:18px;line-height:28px;margin:0 0 16px}.Stats-panel-empty{align-items:center;background:#eceef0;border:1px solid #bccabc;border-radius:4px;color:#6d7a6e;display:flex;font-size:14px;justify-content:center;min-height:120px;padding:24px;text-align:center}.Stats-panel-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.Stats-panel--half{min-width:0}.Stats-legend{display:flex;gap:16px;margin-top:12px}.Stats-legend-item{align-items:center;color:#3d4a3f;display:flex;font-size:13px;gap:6px}.Stats-legend-dot{border-radius:2px;height:8px;width:8px}.Stats-legend-dot--main{background:#006d37}.Stats-legend-dot--compare{background:#e0e3e5}.Stats-species-dist{align-items:center;display:flex;gap:24px}.Stats-species-legend{display:flex;flex:1 0;flex-direction:column;gap:10px;list-style:none;margin:0;min-width:0;padding:0}.Stats-species-legend-item{align-items:center;display:flex;font-size:13px;gap:8px}.Stats-species-legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.Stats-species-legend-name{color:#191c1e;flex:1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Stats-species-legend-count{color:#3d4a3f;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:12px}@media (max-width:1100px){.Stats-panel-row{grid-template-columns:1fr}}@media (max-width:960px){.Stats-kpis{flex-wrap:wrap}.Stats-kpi{flex:1 1 45%}.Stats-filter-bar{flex-wrap:wrap}}@media (max-width:640px){.Stats{flex-direction:column}.SideNavBar{min-height:auto;width:100%}.Stats-kpi{flex:1 1 100%}.Stats-species-dist{align-items:flex-start;flex-direction:column}}.DetectionMap{align-items:stretch;background:#f7f9fb;display:flex;height:100vh}.DetectionMap-body{display:flex;flex:1 0;flex-direction:column;min-width:0}.DetectionMap-status{align-items:center;color:#3d4a3f;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh;padding:32px;text-align:center}.DetectionMap-status-error{color:#a7344c;max-width:420px}.DetectionMap-status-button{background:#27ae60;border:1px solid #bccabc;border-radius:4px;color:#00391a;cursor:pointer;font:inherit;font-size:16px;padding:9px 17px}.DetectionMap-canvas-wrap{background:#f0eade;flex:1 0;min-height:0;overflow:hidden;position:relative}.DetectionMap-config-notice{align-items:center;color:#3d4a3f;display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;padding:32px;position:absolute;text-align:center}.DetectionMap-config-notice-sub{color:#6d7a6e;font-family:JetBrains Mono,monospace;font-size:12px;max-width:420px}.DetectionMap-canvas{inset:0;position:absolute}.DetectionMap-kakao{height:100%;width:100%}.DetectionMap-marker{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px #0000004d;cursor:pointer;height:12px;padding:0;width:12px}.DetectionMap-marker--selected{background:#a7344c;box-shadow:0 1px 3px #0006;height:16px;width:16px}.DetectionMap-heat-cell{border-radius:50%;filter:blur(10px);mix-blend-mode:multiply;pointer-events:none}.DetectionMap-heat-cell--low{background:radial-gradient(circle,#00808080 0,#00808000 75%)}.DetectionMap-heat-cell--mid{background:radial-gradient(circle,#ff8c008c 0,#ff8c0000 75%)}.DetectionMap-heat-cell--high{background:radial-gradient(circle,#ff3c0099 0,#ff3c0000 75%)}.DetectionMap-warning{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffdad6d9;border:1px solid #ba1a1a33;border-radius:12px;color:#191c1e;font-size:13px;left:50%;letter-spacing:.3px;padding:9px 17px;position:absolute;top:16px;transform:translateX(-50%);white-space:nowrap;z-index:5}.DetectionMap-filter-bar{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;left:24px;pointer-events:none;position:absolute;right:24px;top:24px;z-index:4}.DetectionMap-filter-bar>*{pointer-events:auto}.DetectionMap-filter-left{display:flex;flex-wrap:wrap;gap:16px}.DetectionMap-floating-button,.DetectionMap-floating-select{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 4px 12px -2px #0000000d;color:#191c1e;font:inherit;font-size:13px;letter-spacing:.3px;padding:9px 17px}.DetectionMap-floating-select{cursor:pointer}.DetectionMap-team-switcher{color:#191c1e;font-size:13px}.DetectionMap-period-chips{align-items:stretch;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 4px 12px -2px #0000000d;display:flex;overflow:hidden}.DetectionMap-period-chip{background:none;border:none;border-right:1px solid #bccabc;color:#191c1e;cursor:pointer;font:inherit;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.3px;padding:9px 12px}.DetectionMap-period-chip:last-child{border-right:none}.DetectionMap-period-chip--active{background:#27ae601a;color:#006d37;font-weight:500}.DetectionMap-segment-toggle{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 4px 12px -2px #0000000d;display:flex;gap:2px;padding:5px}.DetectionMap-segment{background:none;border:1px solid #0000;border-radius:2px;color:#3d4a3f;cursor:pointer;font:inherit;font-size:13px;letter-spacing:.3px;padding:7px 16px}.DetectionMap-segment--active{background:#f7f9fb;border-color:#bccabc80;box-shadow:0 1px 1px #0000000d;color:#191c1e}.DetectionMap-legend{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #e2e8f0;border-radius:4px;bottom:24px;box-shadow:0 10px 25px -5px #0000000d;left:24px;padding:17px;position:absolute;width:192px;z-index:4}.DetectionMap-legend-title{border-bottom:1px solid #bccabc;color:#191c1e;font-size:13px;font-weight:500;letter-spacing:.3px;margin:0 0 9px;padding-bottom:9px}.DetectionMap-legend-empty{color:#6d7a6e;font-size:12px;margin:0}.DetectionMap-legend-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;max-height:160px;overflow-y:auto;padding:0}.DetectionMap-legend-item{align-items:center;color:#191c1e;display:flex;font-size:11px;gap:12px;letter-spacing:.3px}.DetectionMap-legend-dot{border-radius:2px;flex-shrink:0;height:12px;width:12px}.DetectionMap-legend-dot--high{background:#ff3c00}.DetectionMap-legend-dot--mid{background:#ff8c00}.DetectionMap-legend-dot--low{background:teal}.DetectionMap-popup{background:#fff;border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 10px 25px -5px #00000026;margin-bottom:14px;padding:16px;position:relative;width:288px}.DetectionMap-popup-tail{background:#fff;border-bottom:1px solid #bccabc;border-right:1px solid #bccabc;bottom:-8px;height:14px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:14px}.DetectionMap-popup-close{background:none;border:none;color:#6d7a6e;cursor:pointer;font-size:16px;height:20px;line-height:1;position:absolute;right:8px;top:8px;width:20px}.DetectionMap-popup-loading{color:#6d7a6e;font-size:13px;margin:8px 0}.DetectionMap-popup-main{display:flex;gap:12px}.DetectionMap-popup-image{border:1px solid #bccabc;border-radius:2px;flex-shrink:0;height:64px;object-fit:cover;width:64px}.DetectionMap-popup-info{display:flex;flex-direction:column;gap:4px;min-width:0}.DetectionMap-popup-species{color:#191c1e;font-size:13px;font-weight:500}.DetectionMap-popup-scientific{color:#3d4a3f;font-family:JetBrains Mono,monospace;font-size:11px;font-style:italic}.DetectionMap-popup-confidence{align-self:flex-start;background:#27ae601a;border:1px solid #27ae6033;border-radius:2px;color:#27ae60;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:11px;padding:3px 9px}.DetectionMap-popup-meta{border-top:1px solid #bccabc;color:#3d4a3f;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;font-size:11px;gap:4px;margin-top:12px;padding-top:9px}.DetectionMap-popup-detail-button{background:#f2f4f6;border:1px solid #bccabc;border-radius:2px;color:#191c1e;cursor:pointer;font:inherit;font-size:13px;margin-top:12px;padding:9px;width:100%}.DetectionMap-error{background:#fffffff2;border:1px solid #a7344c4d;border-radius:4px;bottom:24px;color:#a7344c;font-size:12px;max-width:320px;padding:9px 13px;position:absolute;right:24px;z-index:4}@media (max-width:640px){.DetectionMap{flex-direction:column;height:auto}.SideNavBar{min-height:auto;width:100%}.DetectionMap-canvas-wrap{height:80vh}.DetectionMap-filter-bar{flex-direction:column}}.Individuals{align-items:stretch;background:#f7f9fb;display:flex;min-height:100vh}.Individuals-body{display:flex;flex:1 0;flex-direction:column;min-width:0}.Individuals-status{align-items:center;color:#3d4a3f;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh;padding:32px;text-align:center}.Individuals-status-error{color:#a7344c;max-width:420px}.Individuals-status-button{background:#27ae60;border:1px solid #bccabc;border-radius:4px;color:#00391a;cursor:pointer;font:inherit;font-size:16px;padding:9px 17px}.Individuals-content{display:flex;flex-direction:column;gap:24px;max-width:1280px;padding:24px}.Individuals-header{flex-wrap:wrap;justify-content:space-between}.Individuals-header,.Individuals-header-title{align-items:center;display:flex;gap:16px}.Individuals-header-title h1{color:#006d37;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;margin:0}.Individuals-team-name,.Individuals-team-switcher{border-left:1px solid #bccabc;color:#3d4a3f;font-size:14px;padding-left:16px}.Individuals-search input{background:#f2f4f6;border:1px solid #bccabc;border-radius:2px;color:#191c1e;font:inherit;font-size:14px;padding:10px 16px;width:320px}.Individuals-search input::placeholder{color:#4e6073}.Individuals-action-bar{background:#fff;border:1px solid #bccabc;border-radius:2px;gap:16px;justify-content:space-between;padding:17px}.Individuals-action-bar,.Individuals-filters{align-items:center;display:flex;flex-wrap:wrap}.Individuals-filters{gap:8px}.Individuals-filters-label{color:#4e6073;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:1.1px;padding-right:8px;text-transform:uppercase}.Individuals-filters-divider{background:#bccabc;height:20px;width:1px}.Individuals-chip{background:#f2f4f6;border:1px solid #bccabc;border-radius:2px;color:#3d4a3f;cursor:pointer;font:inherit;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.55px;padding:5px 13px}.Individuals-chip--active{background:#27ae601a;border-color:#006d3733;color:#006d37}.Individuals-merge-button{background:#fff;border:1px solid #006d37;border-radius:2px;color:#006d37;cursor:pointer;font:inherit;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.3px;padding:9px 17px;white-space:nowrap}.Individuals-merge-button--active{background:#006d37;color:#fff}.Individuals-error{background:#a7344c14;border:1px solid #a7344c4d;border-radius:4px;color:#a7344c;font-size:13px;margin:0;padding:12px 16px}.Individuals-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));width:100%}.Individuals-grid-status{color:#6d7a6e;grid-column:1/-1;padding:48px;text-align:center}.Individuals-empty{background:#fff;border:1px dashed #bccabc;border-radius:4px;grid-column:1/-1;padding:48px 24px;text-align:center}.Individuals-empty h2{color:#191c1e;font-size:18px;margin:0 0 8px}.Individuals-empty p{color:#4e6073;font-size:14px;line-height:20px;margin:0 auto;max-width:420px}.Individuals-card{background:#fff;border:1px solid #bccabc;border-radius:2px;display:flex;flex-direction:column;overflow:hidden;position:relative}.Individuals-card--selectable{cursor:pointer}.Individuals-card--selected{border-color:#006d37;box-shadow:0 0 0 1px #006d37}.Individuals-card-accent{background:#d8dadc;height:4px}.Individuals-card-accent--confirmed{background:#27ae60}.Individuals-card-checkbox{height:18px;position:absolute;right:16px;top:16px;width:18px}.Individuals-card-status{background:#e0e3e5;border-radius:2px;color:#3d4a3f;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.55px;padding:3px 9px;position:absolute;right:16px;top:16px}.Individuals-card-status--confirmed{background:#27ae601a;border:1px solid #006d3733;color:#006d37}.Individuals-card-body{display:flex;flex-direction:column;gap:8px;padding:16px}.Individuals-card-body h3{color:#191c1e;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:600;margin:0;padding-right:72px}.Individuals-card-sublabel{color:#6d7a6e;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.55px;margin:0}.Individuals-card-species{color:#4e6073;font-size:13px;margin:0}.Individuals-card-species em{font-family:JetBrains Mono,monospace;font-style:italic}.Individuals-card-stats{border-top:1px solid #bccabc;display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding-top:12px}.Individuals-card-stats div{align-items:center;display:flex;justify-content:space-between}.Individuals-card-stats dt{color:#4e6073}.Individuals-card-stats dd,.Individuals-card-stats dt{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.55px}.Individuals-card-stats dd{color:#191c1e;margin:0}.Individuals-card-stats-recent{color:#006d37!important;font-weight:700}.Individuals-card-detail-button{background:#fff;border:1px solid #bccabc;border-radius:2px;color:#3d4a3f;cursor:pointer;font:inherit;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.3px;margin-top:8px;padding:9px}.Individuals-pagination{align-items:center;display:flex;gap:8px;justify-content:center;padding:16px 0;width:100%}.Individuals-pagination button{background:none;border:1px solid #bccabc;border-radius:2px;color:#4e6073;cursor:pointer;font:inherit;font-family:JetBrains Mono,monospace;font-size:13px;min-width:36px;padding:9px 12px}.Individuals-pagination button:disabled{cursor:not-allowed;opacity:.5}.Individuals-pagination-page--active{background:#27ae601a!important;border-color:#006d3733!important;color:#006d37!important}.Individuals-pagination-ellipsis{color:#4e6073;padding:0 4px}.Individuals-total{color:#6d7a6e;font-size:12px;margin:-12px 0 0;text-align:center;width:100%}.Individuals-merge-bar{align-items:center;background:#191c1e;border:1px solid #bccabc;border-radius:4px;bottom:24px;box-shadow:0 10px 25px -5px #0000004d;color:#fff;display:flex;font-size:13px;gap:12px;left:50%;padding:13px 17px;position:fixed;transform:translateX(-50%);z-index:30}.Individuals-merge-bar select{background:#2d3133;border:1px solid #4e6073;border-radius:2px;color:#fff;font:inherit;padding:6px 10px}.Individuals-merge-bar button{background:#27ae60;border:none;border-radius:2px;color:#00391a;cursor:pointer;font:inherit;font-weight:500;padding:8px 16px}.Individuals-merge-bar button:disabled{cursor:not-allowed;opacity:.5}.Individuals-merge-bar-error{color:#ff8a8a;font-size:12px}.Individuals-modal-backdrop{align-items:center;background:#191c1e80;display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.Individuals-modal{background:#fff;border-radius:4px;box-shadow:0 20px 40px #0003;max-width:calc(100vw - 48px);padding:24px;position:relative;width:360px}.Individuals-modal-close{background:none;border:none;color:#6d7a6e;cursor:pointer;font-size:18px;height:24px;position:absolute;right:12px;top:12px;width:24px}.Individuals-modal h2{color:#191c1e;font-family:Space Grotesk,sans-serif;font-size:20px;margin:0 0 4px;padding-right:24px}.Individuals-modal-label{color:#6d7a6e;font-family:JetBrains Mono,monospace;font-size:12px;margin:0 0 8px}.Individuals-modal-species{color:#4e6073;font-size:14px;margin:0 0 16px}.Individuals-modal-species em{font-family:JetBrains Mono,monospace;font-style:italic}.Individuals-modal-fields{border-bottom:1px solid #bccabc;border-top:1px solid #bccabc;display:flex;flex-direction:column;gap:8px;margin:0 0 16px;padding:12px 0}.Individuals-modal-fields div{align-items:center;display:flex;justify-content:space-between}.Individuals-modal-fields dt{color:#4e6073;font-size:13px}.Individuals-modal-fields dd{color:#191c1e;font-family:JetBrains Mono,monospace;font-size:13px;margin:0}.Individuals-modal-nickname-label{color:#3d4a3f;display:block;font-size:13px;margin-bottom:6px}.Individuals-modal input{border:1px solid #bccabc;border-radius:2px;box-sizing:border-box;font:inherit;font-size:14px;padding:9px 12px;width:100%}.Individuals-modal-error{color:#a7344c;font-size:12px;margin:8px 0 0}.Individuals-modal-save{background:#27ae60;border:none;border-radius:2px;color:#00391a;cursor:pointer;font:inherit;font-weight:500;margin-top:16px;padding:10px;width:100%}.Individuals-modal-save:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.Individuals{flex-direction:column}.SideNavBar{min-height:auto;width:100%}.Individuals-search input{width:100%}}.CreateTeam{align-items:center;background:#f7f9fb;display:flex;justify-content:center;min-height:100vh;padding:64px}.CreateTeam-main{flex-direction:column;gap:24px;max-width:672px}.CreateTeam-brand,.CreateTeam-main{align-items:center;display:flex;width:100%}.CreateTeam-brand{justify-content:center}.CreateTeam-brand span{color:#006d37;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;letter-spacing:1.3px;line-height:16px;text-transform:uppercase}.CreateTeam-card{background:#fff;border:1px solid #bccabc;border-radius:8px;box-shadow:0 10px 25px -5px #0000000d;margin:0;overflow:hidden;position:relative;width:100%}.CreateTeam-accent{background:#27ae60;height:2px;width:100%}.CreateTeam-body{display:flex;flex-direction:column;gap:48px;padding:48px}.CreateTeam-header{display:flex;flex-direction:column;gap:8px}.CreateTeam-header-row{align-items:center;display:flex;gap:8px}.CreateTeam-header-row h1{color:#191c1e;font-size:32px;font-weight:500;letter-spacing:-.32px;line-height:40px;margin:0}.CreateTeam-header p{color:#3d4a3f;font-size:16px;line-height:24px;margin:0}.CreateTeam-fields{display:flex;flex-direction:column;gap:24px}.CreateTeam-field{display:flex;flex-direction:column;gap:8px}.CreateTeam-field label{color:#3d4a3f;font-size:13px;letter-spacing:.65px}.CreateTeam-field label,.CreateTeam-required{font-family:JetBrains Mono,monospace;font-weight:500}.CreateTeam-required{color:#ba1a1a}.CreateTeam-field-label-row{align-items:flex-end;display:flex;justify-content:space-between}.CreateTeam-optional{color:#6d7a6e;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.55px}.CreateTeam-field input,.CreateTeam-field textarea{background:#f2f4f6;border:none;border-bottom:2px solid #bccabc;box-sizing:border-box;color:#191c1e;font:inherit;font-size:16px;line-height:24px;padding:18px 16px;width:100%}.CreateTeam-field textarea{min-height:120px;padding-top:16px;resize:vertical}.CreateTeam-field input::placeholder,.CreateTeam-field textarea::placeholder{color:#6b7280}.CreateTeam-field input:focus,.CreateTeam-field textarea:focus{border-bottom-color:#27ae60;outline:none}.CreateTeam-error{color:#c0362c;font-size:14px;margin:0}.CreateTeam-actions{align-items:center;border-top:1px solid #bccabc;display:flex;gap:16px;justify-content:flex-end;padding-top:25px}.CreateTeam-button{align-items:center;cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:8px;justify-content:center;letter-spacing:.65px}.CreateTeam-button--secondary{background:#fff;border:1px solid #bccabc;color:#191c1e;padding:17px 25px}.CreateTeam-button--secondary:hover{border-color:#006d37}.CreateTeam-button--primary{background:#27ae60;border:none;color:#fff;padding:16px 24px}.CreateTeam-button--primary:hover{background:#219150}.CreateTeam-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:640px){.CreateTeam{padding:24px}.CreateTeam-body{gap:32px;padding:32px 24px}.CreateTeam-actions{align-items:stretch;flex-direction:column-reverse}.CreateTeam-button{width:100%}}.JoinTeam{background:#fff;justify-content:center;min-height:100vh;padding:64px}.JoinTeam,.JoinTeam-brand{align-items:center;display:flex;flex-direction:column}.JoinTeam-brand{gap:8px;padding-bottom:24px}.JoinTeam-brand h1{color:#006d37;font-family:Space Grotesk,sans-serif;font-size:40px;font-weight:700;letter-spacing:-.8px;line-height:48px;margin:0;text-align:center}.JoinTeam-brand p{color:#3d4a3f;font-family:Inter,sans-serif;font-size:14px;line-height:20px;margin:0;text-align:center}.JoinTeam-card{background:#fff;border:1px solid #e0e3e5;border-radius:4px;box-sizing:border-box;gap:48px;max-width:448px;overflow:hidden;padding:49px;position:relative}.JoinTeam-card,.JoinTeam-card form{align-items:center;display:flex;flex-direction:column;width:100%}.JoinTeam-accent{background:#27ae60;height:2px;left:0;position:absolute;right:0;top:0}.JoinTeam-icon-wrap{padding-bottom:16px}.JoinTeam-icon,.JoinTeam-icon-wrap{align-items:center;display:flex;justify-content:center}.JoinTeam-icon{background:#27ae601a;border-radius:12px;height:64px;width:64px}.JoinTeam-card h2{color:#191c1e;font-size:24px;font-weight:500;line-height:32px;margin:0 0 8px;text-align:center}.JoinTeam-description{color:#3d4a3f;font-size:16px;line-height:24px;margin:0;max-width:340px;text-align:center}.JoinTeam-field{margin-top:24px;width:100%}.JoinTeam-field-label-row{align-items:baseline;display:flex;justify-content:space-between}.JoinTeam-field label{color:#191c1e;font-size:13px;letter-spacing:.65px}.JoinTeam-field label,.JoinTeam-required{font-family:JetBrains Mono,monospace;font-weight:500}.JoinTeam-required{color:#ba1a1a;font-size:11px;letter-spacing:.55px}.JoinTeam-field input{background:#fff;border:none;border-bottom:2px solid #e0e3e5;box-sizing:border-box;color:#191c1e;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;letter-spacing:1.3px;margin-top:8px;padding:7px 16px;text-transform:uppercase;width:100%}.JoinTeam-field input::placeholder{color:#3d4a3f80}.JoinTeam-field input:focus{border-bottom-color:#27ae60;outline:none}.JoinTeam-error{color:#ba1a1a;font-size:14px;margin:8px 0 0;width:100%}.JoinTeam-actions{display:flex;flex-direction:column;margin-top:16px;width:100%}.JoinTeam-button{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:8px;justify-content:center;letter-spacing:.65px;width:100%}.JoinTeam-button--primary{background:#27ae60;border:none;border-radius:2px;color:#fff;padding:16px 24px}.JoinTeam-button--primary:hover{background:#219150}.JoinTeam-button--secondary{background:#fff;border:1px solid #bccabc;border-radius:2px;color:#191c1e;margin-top:16px;padding:17px 25px}.JoinTeam-button--secondary:hover{border-color:#006d37}.JoinTeam-button:disabled{cursor:not-allowed;opacity:.6}.JoinTeam-trust{align-items:center;display:flex;gap:4px;justify-content:center;opacity:.7;padding-top:24px}.JoinTeam-trust span{color:#3d4a3f;font-size:11px;letter-spacing:.55px}@media (max-width:520px){.JoinTeam{padding:32px 20px}.JoinTeam-card{gap:32px;padding:32px 24px}}
/*# sourceMappingURL=main.09cf743b.css.map*/