@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";.app-shell{box-sizing:border-box;width:100%;height:100vh;min-height:0;padding:.85rem;display:grid;grid-template-columns:218px minmax(0,1fr);gap:.75rem;overflow:hidden}.app-sidebar{position:sticky;top:.85rem;height:calc(100vh - 1.7rem);min-height:0;border:1px solid var(--panel-border);border-radius:12px;background:#ffffffd6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.62rem;display:flex;flex-direction:column;justify-content:space-between;gap:.7rem}.app-sidebar-top{min-height:0;display:grid;align-content:start;gap:.62rem;overflow:auto;padding-right:.08rem}.app-brand{display:grid;gap:.12rem;padding:.05rem .12rem .42rem;border-bottom:1px solid #dbe6f2}.app-brand h1{margin:0;font-size:1rem;line-height:1.2}.sidebar-group{display:grid;gap:.22rem;justify-items:start}.sidebar-group-title{margin:0;padding:0 .16rem;color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.sidebar-link{width:100%;min-width:0;max-width:100%;height:2rem;justify-content:flex-start;padding-inline:.58rem;border-radius:7px;font-size:.84rem}.app-sidebar-bottom{display:grid;gap:.42rem;padding-top:.42rem}.session-card{padding:0;border-color:#e3ebf5;background:#ffffff94;box-shadow:none}.session-card-content{padding:.48rem}.session-identity{display:flex;align-items:center;justify-content:space-between;gap:.45rem;min-width:0}.session-email{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-role-badge{height:1.1rem;flex:0 0 auto;padding-inline:.36rem;font-size:.62rem;font-weight:700;text-transform:uppercase}.sidebar-logout{width:100%;min-width:0;max-width:100%;height:2rem;justify-content:flex-start;padding-inline:.58rem;border-radius:7px;font-size:.84rem}.app-main{min-width:0;min-height:0;display:grid;gap:.8rem;align-content:start;overflow:hidden}.app-main>*{min-width:0;min-height:0;align-self:start}.dashboard-shell .app-main{height:calc(100vh - 1.7rem)}.dashboard-shell .app-main>*{align-self:stretch}.dashboard-shell .app-main main{min-height:0;overflow-y:auto;overflow-x:hidden}@media (max-width: 1080px){.app-shell{grid-template-columns:1fr;height:auto;padding:.8rem;overflow:visible}.app-sidebar{position:static;height:auto}.app-sidebar-top{overflow:visible}.sidebar-group{grid-template-columns:1fr;align-items:start}.app-sidebar-bottom{grid-template-columns:minmax(0,1fr) auto;align-items:end}.sidebar-logout{width:auto}.dashboard-shell .app-main{height:auto}.app-main{height:auto;overflow:visible}}@media (max-width: 760px){.sidebar-group,.app-sidebar-bottom{grid-template-columns:1fr}.sidebar-logout,.sidebar-link{width:100%}.sidebar-link{min-width:0}}.admin-layout{display:grid;grid-template-columns:minmax(460px,.95fr) minmax(500px,1.25fr);gap:.9rem}.operations-page{display:grid;height:100%;min-height:0;align-content:start;overflow:hidden}.operations-page>*{min-height:0;align-self:stretch}.admin-layout.no-preview{grid-template-columns:minmax(460px,860px)}.admin-workspace{display:grid;gap:.9rem;height:100%;min-height:0;align-content:start;overflow:auto;padding-right:.08rem}.admin-cameras-list-layout{grid-template-columns:minmax(0,1fr)}.admin-editor-layout{grid-template-columns:minmax(620px,1.25fr) minmax(440px,.95fr);align-items:start}.admin-settings-layout{grid-template-columns:minmax(0,1fr)}.settings-sidebar-stat{display:grid;gap:.18rem;padding:.62rem .68rem;border:1px solid #dbe6f2;border-radius:10px;background:#fbfdff}.settings-sidebar-stat span,.settings-overview-tile span,.settings-metric-card span,.settings-kpi{color:#64748b;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.settings-sidebar-stat strong,.settings-overview-tile strong,.settings-metric-card strong{color:#102a43;font-size:.93rem}.settings-page-card{border:1px solid var(--panel-border);border-radius:16px;background:#fffffff5;box-shadow:0 18px 44px #0c2a4e14;padding:.9rem;display:grid;gap:.8rem}.settings-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.settings-page-heading{display:grid;gap:.12rem}.settings-page-heading h2{margin:0;font-size:1rem;line-height:1.1;color:#102a43}.settings-page-description{margin:0;font-size:.92rem;line-height:1.25}.settings-page-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem}.settings-page-actions>*{flex:0 0 auto;white-space:nowrap}.vlm-compact-actions{flex-wrap:nowrap;align-items:center;gap:.4rem}.vlm-compact-actions .ui-btn{min-height:36px;padding:.35rem .78rem}.vlm-tag-cloud{display:flex;flex-wrap:wrap;gap:.35rem}.vlm-tag-pill{display:inline-flex;align-items:center;border:1px solid #dbe6f2;border-radius:999px;background:#eef6ff;padding:.24rem .55rem;color:#17324d;font-size:.75rem;white-space:nowrap}.settings-tabs-bar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem;padding-bottom:.1rem}.settings-tab-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-height:42px;white-space:nowrap;border-radius:999px;padding:.52rem .88rem;border-color:#d7e3ef;background:#f8fbff;color:#16324f;font-weight:700}.settings-tab-button.active{border-color:#99b8d8;background:#e9f2fb;color:#0b3a67}.settings-overview-grid,.settings-metric-grid,.settings-quick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.settings-overview-tile,.settings-metric-card{display:grid;gap:.2rem;border:1px solid #dbe6f2;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbff);padding:.75rem .82rem}.settings-page-stack{display:grid;gap:.85rem}.settings-page-section{display:grid;gap:.8rem;border:1px solid #dbe6f2;border-radius:14px;background:linear-gradient(180deg,#fff,#fbfdff);padding:.9rem}.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.settings-section-head h3{margin:0;font-size:1rem;color:#0f2946}.settings-section-head p{margin:.18rem 0 0}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.settings-form-field{display:grid;gap:.32rem;align-items:start}.settings-form-field>span{font-size:.84rem;font-weight:700;color:#17324d}.settings-field-impact{margin:0;font-size:.74rem;line-height:1.35;color:#64748b}.settings-form-field-wide{grid-column:1 / -1}.settings-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.settings-inline-actions input[type=file]{min-width:0;flex:1 1 260px}.settings-kpi{border:1px solid #dbe6f2;border-radius:999px;background:#f8fbff;padding:.28rem .58rem}.settings-inline-note{border:1px solid #d7e5f2;border-radius:12px;background:#f8fbff;color:#486279;font-size:.84rem;line-height:1.5;padding:.72rem .82rem}.settings-inline-note-wide{grid-column:1 / -1}.settings-toggle-field{display:inline-flex;align-items:center;gap:.5rem;min-height:2.45rem;padding:.55rem .75rem;border:1px solid #dbe6f2;border-radius:12px;background:#f8fbff;color:#17324d;font-size:.9rem;font-weight:700}.settings-toggle-field input[type=checkbox]{margin:0}.settings-invitation-link{display:block;margin-top:.45rem;padding:.55rem .65rem;border:1px solid #d7e5f2;border-radius:10px;background:#fff;color:#16324f;line-break:anywhere}.settings-user-toggle{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}.users-resource{border:1px solid var(--panel-border);border-radius:16px;background:#fffffff5;box-shadow:0 18px 44px #0c2a4e14;padding:.8rem;display:grid;gap:.7rem;align-content:start;align-self:start;height:-moz-fit-content;height:fit-content;min-height:0}.users-resource-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.users-resource-title{display:inline-flex;align-items:center;gap:.55rem}.users-resource-title h2{margin:0;font-size:1rem;color:#102a43}.users-resource-header-actions{display:inline-flex;align-items:center;gap:.45rem}.users-invitation-banner{border:1px solid #d7e5f2;border-radius:14px;background:#f8fbff;padding:.72rem .82rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.users-invitation-banner-copy{min-width:0;display:grid;gap:.32rem}.users-invitation-list{display:grid;gap:.5rem}.users-invitation-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;border:1px solid #d7e5f2;border-radius:12px;background:#fff;padding:.55rem .65rem}.users-invitation-item-copy{min-width:0;display:grid;gap:.22rem}.users-invitation-email{font-size:.84rem;font-weight:700;color:#102a43}.users-invitation-item-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem}.users-invitation-banner-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem}.users-invitation-banner .settings-invitation-link{margin-top:0}.users-resource-card{border:1px solid #dbe6f2;border-radius:14px;background:linear-gradient(180deg,#fff,#fbfdff);overflow:visible;align-self:start;height:-moz-fit-content;height:fit-content;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.users-toolbar{display:grid;grid-template-columns:minmax(280px,1.4fr) repeat(3,minmax(160px,.75fr));gap:.7rem;padding:.75rem;border-bottom:1px solid #e2e8f0;background:#f9fbff}.users-filter{display:grid;gap:.28rem}.users-filter span{font-size:.76rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.users-filter-search input[type=search]::-webkit-search-cancel-button{cursor:pointer}.users-table-wrap{overflow:auto;align-self:start;min-height:0}.users-table-wrap table{min-width:100%}.users-table-wrap th,.users-table-wrap td{padding:.62rem .55rem}.users-table-wrap th{font-size:.77rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:#f8fbff}.users-identity strong{font-size:.92rem;color:#0f2946}.users-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.18rem .56rem;font-size:.74rem;font-weight:700;border:1px solid #d7e5f2}.users-badge.is-admin{background:#eff6ff;color:#1d4ed8}.users-badge.is-user{background:#f8fafc;color:#334155}.users-create-grid{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(160px,.8fr) minmax(160px,.8fr) auto;gap:.8rem;align-items:end}.users-create-actions{display:flex;align-items:center;justify-content:flex-end}.users-table-panel{display:grid;gap:.6rem}.users-identity,.users-access{display:grid;gap:.22rem}.users-row-actions{display:flex;flex-wrap:wrap;gap:.4rem}.users-row-actions>button{flex:0 0 auto;white-space:nowrap}.users-action-menu{position:relative;display:inline-block}.users-action-trigger{border:1px solid #cfdceb;border-radius:10px;background:#fff;color:#0f2946;padding:.44rem .72rem;font-size:.82rem;font-weight:700;white-space:nowrap}.users-action-trigger.is-open{border-color:#99b8d8;background:#eef6ff}.users-action-popover{min-width:220px;border:1px solid #d7e5f2;border-radius:12px;background:#fff;box-shadow:0 18px 32px #0f172a24;padding:.35rem;display:grid;gap:.22rem;z-index:10}.users-action-popover button{width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:.52rem .62rem;color:#0f2946;font-size:.84rem}.users-action-popover button:hover:not(:disabled){background:#f8fbff}.users-table-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .75rem;border-top:1px solid #e2e8f0;background:#fbfdff}.users-table-pagination-summary{color:#64748b;font-size:.82rem;font-weight:600}.users-table-pagination-actions{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.7rem}.users-page-size{display:inline-flex;align-items:center;gap:.4rem;color:#64748b;font-size:.8rem;font-weight:700}.users-page-size select{min-width:76px}.users-page-nav{display:inline-flex;align-items:center;gap:.45rem}.users-page-nav span{min-width:92px;text-align:center;color:#0f2946;font-size:.82rem;font-weight:700}.users-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a3d;display:flex;justify-content:flex-end;z-index:40}.users-panel{width:min(420px,100%);height:100%;background:#fff;box-shadow:-18px 0 40px #0f172a2e;padding:1rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.9rem}.users-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.users-panel-header h3{margin:0;font-size:1rem;color:#102a43}.users-panel-header p{margin:.16rem 0 0}.users-panel-close{white-space:nowrap}.users-panel-body{min-height:0;overflow:auto;display:grid;gap:.85rem;align-content:start}.users-panel-footer{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.source-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a47;display:flex;justify-content:center;align-items:flex-start;padding:6vh 1rem 1rem;z-index:44}.source-modal{width:min(620px,100%);max-height:min(86vh,760px);overflow:hidden;border:1px solid #d7e3ef;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 28px 60px #0f172a38;padding:1rem;display:grid;gap:.95rem}.source-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.source-modal-header h3{margin:0;font-size:1rem;color:#102a43}.source-modal-header p{margin:.16rem 0 0}.source-modal-close{white-space:nowrap}.source-modal-body{min-height:0;overflow:auto;display:grid;gap:.75rem;align-content:start}.source-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.source-modal-file{margin:0;padding:.55rem .7rem;border:1px solid #dbe6f2;border-radius:10px;background:#f8fbff}.camera-table-expanded{max-height:none}.camera-batch-bar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.55rem}.camera-batch-bar h2{margin:0;font-size:.96rem}.camera-batch-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.38rem}.camera-batch-actions>*{flex:0 0 auto;white-space:nowrap}.camera-add-button{width:1.8rem;min-width:1.8rem;height:1.8rem;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem}.camera-add-button svg{width:.9rem;height:.9rem}.camera-toolbar-button{height:2.05rem;padding:0 .62rem;display:inline-flex;align-items:center;justify-content:center;gap:.34rem;border-radius:8px;font-size:.78rem;font-weight:700;line-height:1}.camera-toolbar-button svg{width:.82rem;height:.82rem}.camera-add-button:disabled{opacity:.42;cursor:not-allowed}.camera-detail-panel{min-width:0;display:grid;gap:.9rem;align-content:start}.editor-stream-panel{min-height:0}.editor-empty-panel{min-height:320px;display:grid;place-items:center}.stream-inline-actions{margin-top:.55rem;display:flex;flex-wrap:wrap;gap:.45rem}.camera-table,.stream-panel{border:1px solid var(--panel-border);border-radius:14px;background:var(--panel-bg);padding:.7rem;box-shadow:0 10px 24px #0c2a4e14}.camera-table{overflow:auto;max-height:560px;min-height:0;align-self:start}.stream-panel{min-height:420px}.activation-toggle{min-width:86px;justify-content:center}.activation-toggle.is-active{border-color:#16a34a;background:#f0fdf4;color:#166534}.activation-toggle.is-active:hover:not(:disabled){border-color:#15803d;background:#dcfce7}.studio-panel{display:grid;grid-template-rows:auto auto;gap:.9rem}.studio-panel.admin-section-cameras{grid-template-rows:minmax(0,1fr)}.model-panel{border:1px solid var(--panel-border);border-radius:14px;background:#fff;box-shadow:0 10px 24px #0c2a4e14;padding:.8rem;display:grid;gap:.65rem}.model-card{border:1px solid #dbe6f2;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbff);padding:.7rem;display:grid;gap:.35rem}.model-card h2{margin:0;font-size:.96rem;color:#0b3a67}.model-card p{margin:0}.model-card ul{margin:0;padding-left:1.05rem;display:grid;gap:.2rem}.detection-settings-card .mono{margin:0}.settings-editor{display:grid;gap:.55rem}.settings-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.settings-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid #dbe6f2;border-radius:10px;background:#f8fbff;padding:.7rem .8rem}.settings-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.settings-subcard{display:grid;gap:.55rem;border:1px solid #dbe6f2;border-radius:12px;background:#fbfdff;padding:.75rem}.settings-subcard h3{margin:0;font-size:.92rem;color:#0b3a67}.settings-subcard label{display:grid;gap:.3rem}.settings-field-wide{grid-column:1 / -1}.settings-model-field,.settings-threshold-field{display:grid;gap:.35rem;align-items:start}.settings-threshold-inputs{display:grid;grid-template-columns:minmax(200px,1fr) 120px;gap:.55rem;align-items:center}.settings-threshold-inputs input[type=range]{width:100%;margin:0}.settings-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.35rem;border:1px solid #dbe6f2;border-radius:10px;padding:.5rem;max-height:230px;overflow:auto;background:#f8fbff}.settings-class-option{display:inline-flex;align-items:center;gap:.38rem;border:1px solid #dbe6f2;border-radius:8px;background:#fff;padding:.3rem .4rem;font-size:.82rem}.settings-class-option input[type=checkbox]{margin:0}.settings-runtime-panel{padding-top:.9rem}.animal-action-card{gap:.6rem}.vlm-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.vlm-panel-header p{margin:.25rem 0 0}.vlm-panel-header h2{margin:0}.vlm-config-snapshot{display:flex;flex-wrap:wrap;gap:.5rem}.vlm-compact-shell{display:grid;gap:.7rem}.vlm-config-pill{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #dbe6f2;border-radius:999px;background:#f8fbff;padding:.3rem .7rem;color:#17324d;font-size:.82rem}.vlm-compact-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.vlm-compact-actions .ui-btn{min-height:36px;padding:.35rem .8rem}.vlm-config-section{display:grid;gap:.7rem;border:1px solid #dbe6f2;border-radius:12px;background:#fbfdff;padding:.75rem}.vlm-config-section-compact{gap:.85rem}.vlm-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.vlm-section-head h3{margin:0;font-size:.92rem}.vlm-section-head p{margin:.2rem 0 0}.vlm-mode-switch{display:flex;flex-wrap:wrap;gap:.55rem}.vlm-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}.vlm-compact-field{display:grid;gap:.45rem}.vlm-choice-block{display:grid;gap:.45rem;border:1px solid #dbe6f2;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfdff);padding:.55rem}.vlm-choice-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.vlm-compact-label{font-size:.82rem;font-weight:700;color:#17324d}.vlm-trigger-grid,.vlm-frame-grid,.vlm-response-grid{display:grid;gap:.4rem}.vlm-trigger-grid,.vlm-frame-grid,.vlm-response-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vlm-trigger-grid .ui-btn,.vlm-frame-grid .ui-btn,.vlm-response-grid .ui-btn{width:100%;justify-content:center;text-align:center}.vlm-option-card{min-height:44px;display:grid;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:.55rem;border:1px solid #d7e4f2;border-radius:10px;background:#fff;padding:.45rem .55rem;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.vlm-option-card:hover{border-color:#b5cce5;background:#f8fbff}.vlm-option-card.is-active{border-color:#174a7f;background:#eef6ff;box-shadow:inset 0 0 0 1px #174a7f0f}.vlm-option-input{position:absolute;opacity:0;pointer-events:none}.vlm-option-indicator{width:14px;height:14px;border:1.5px solid #9fb6cf;background:#fff;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.vlm-option-card-radio .vlm-option-indicator{border-radius:999px}.vlm-option-card-checkbox .vlm-option-indicator{border-radius:4px}.vlm-option-card.is-active .vlm-option-indicator{border-color:#174a7f;background:#174a7f;box-shadow:inset 0 0 0 2px #fff}.vlm-option-copy{font-size:.79rem;line-height:1.2;color:#17324d;font-weight:600}.vlm-cooldown-field{align-self:end}.vlm-cooldown-inline{display:flex;align-items:center;gap:.55rem}.vlm-cooldown-inline input{width:92px}.vlm-advanced-options{border-top:1px solid #dbe6f2;padding-top:.7rem}.vlm-advanced-options summary{cursor:pointer;font-weight:700;color:#17324d;margin-bottom:.65rem}.vlm-controls-grid{display:grid;grid-template-columns:minmax(0,240px);gap:.75rem}.animal-action-input{line-height:1.45;resize:vertical;min-height:92px;font:inherit}.animal-action-result{border:1px solid #dbe6f2;border-radius:10px;background:#f8fbff;padding:.65rem;display:grid;gap:.45rem}.animal-action-result pre{margin:0;white-space:pre-wrap;font:inherit;line-height:1.5;color:#17324d}.vlm-result-layout{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:.75rem}.vlm-result-frame,.vlm-result-content{border:1px solid #dbe6f2;border-radius:10px;overflow:hidden}.vlm-result-frame{min-height:220px;background:radial-gradient(circle at top left,rgba(42,118,193,.08),transparent 40%),linear-gradient(180deg,#0f172a,#1e293b);display:grid;place-items:center}.vlm-result-image{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.vlm-result-placeholder{padding:1rem;text-align:center;color:#dbeafe}.vlm-result-content{background:#fff;padding:.7rem;display:grid;gap:.6rem}.animal-action-meta{margin:0}.vlm-prompt-disclosure{border-top:1px solid #dbe6f2;padding-top:.45rem}.vlm-prompt-disclosure summary{cursor:pointer;font-weight:600;color:#17324d}.vlm-prompt-disclosure pre{margin:.45rem 0 0;white-space:pre-wrap;font:inherit}.vlm-structured-result{display:grid;gap:.7rem}.vlm-structured-block{display:grid;gap:.45rem}.vlm-structured-block h3,.vlm-history-header h3{margin:0;font-size:.92rem}.vlm-structured-block p{margin:0}.vlm-structured-grid,.vlm-structured-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem}.vlm-structured-card{border:1px solid #dbe6f2;border-radius:10px;background:#fff;padding:.65rem;display:grid;gap:.28rem}.vlm-inline-list{margin:.35rem 0 0;padding-left:1rem;display:grid;gap:.18rem}.vlm-history-section{display:grid;gap:.55rem}.vlm-history-section-compact{border:1px solid #dbe6f2;border-radius:12px;background:#fbfdff;padding:.75rem}.vlm-history-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.vlm-history-list{display:grid;gap:.45rem}.vlm-history-item{border:1px solid #dbe6f2;border-radius:10px;background:#fff;padding:.6rem .7rem;display:grid;gap:.2rem;text-align:left;color:#17324d}.vlm-history-item.is-selected{border-color:#8cb5e6;background:#eef6ff}.vlm-history-item strong{font-size:.9rem}.vlm-history-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:.75rem;align-items:start}.vlm-history-thumbnail{height:120px;border:1px solid #dbe6f2;border-radius:10px;overflow:hidden;background:radial-gradient(circle at top left,rgba(42,118,193,.08),transparent 40%),linear-gradient(180deg,#0f172a,#1e293b);display:grid;place-items:center;align-self:start}.vlm-history-summary{display:grid;gap:.45rem}.vlm-history-summary p{margin:0}.vlm-history-image{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media (max-width: 980px){.vlm-panel-header{align-items:stretch;flex-direction:column}.vlm-compact-grid,.vlm-trigger-grid,.vlm-frame-grid,.vlm-response-grid,.vlm-result-layout,.vlm-history-card{grid-template-columns:minmax(0,1fr)}}.tracking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.summary-card,.tracking-panel{border:1px solid var(--panel-border);border-radius:12px;background:#fff;padding:.8rem}.summary-card h2{margin:0;font-size:.95rem}.summary-card p{margin:.45rem 0 0}.switch{display:inline-flex;align-items:center}.switch input[type=checkbox]{width:16px;height:16px;margin:0}.stream-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;gap:.7rem}.stream-head strong{color:#0b2f52}.stream-stage{position:relative;width:100%;aspect-ratio:16 / 9;border:1px solid #c6d4e4;border-radius:10px;overflow:hidden;background:linear-gradient(140deg,#0b3a6733,#0b3a6700),#081120;cursor:crosshair}.stream-stage.tool-line{outline:2px solid rgba(25,113,194,.22)}.stream-stage.tool-zone{outline:2px solid rgba(234,88,12,.28)}.stream-stage.tool-passive{outline:none;cursor:default}.stream-panel .stream-stage img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;border:0;border-radius:0;background:#0b1221}.stream-status{position:absolute;left:.6rem;right:.6rem;bottom:.6rem;padding:.38rem .52rem;border-radius:8px;border:1px solid rgba(191,219,254,.75);background:#eff6ffeb;color:#1e3a8a;font-size:.8rem;font-weight:600;line-height:1.3;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.stream-status.is-error{border-color:#fca5a5d9;background:#fef2f2ed;color:#991b1b}.stream-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.saved-line,.draft-line{fill:none;stroke-width:5;stroke-linecap:round}.saved-line{stroke:#2563ebf2}.ghost-line{opacity:.42}.draft-line{stroke:#f59e0bfa;stroke-dasharray:20 10}.direction-line,.direction-head{fill:none;stroke:#dc2626f5;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.ghost-direction{stroke:#94a3b8d1;stroke-width:3}.direction-label{fill:#b91c1c;font-size:26px;font-weight:700;paint-order:stroke;stroke:#fffffff0;stroke-width:4;text-anchor:middle;dominant-baseline:middle}.saved-zone,.draft-zone{stroke-width:3}.saved-zone{fill:#14b8a633;stroke:#0d9488f2}.ghost-zone{opacity:.4}.draft-zone{fill:#fb923c33;stroke:#ea580cf2;stroke-dasharray:16 8}.zone-outline{fill:none;stroke:#475569d9;stroke-width:2;stroke-dasharray:8 6}.saved-point,.draft-point{stroke-width:3}.saved-point{fill:#f8fafc;stroke:#1e40aff2}.draft-point{fill:#fff7ed;stroke:#c2410cf2}.geometry-panel{border:1px solid var(--panel-border);border-radius:14px;background:#fff;padding:.8rem;display:grid;gap:.8rem;box-shadow:0 10px 24px #0c2a4e14}.geometry-header{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.geometry-header h2{margin:0;font-size:1rem}.geometry-tools{display:inline-flex;gap:.35rem;border:1px solid #cfe0f2;border-radius:999px;padding:.22rem;background:#f5f9ff}.geometry-tools button{border-radius:999px;border-color:transparent;min-width:120px;font-weight:700}.geometry-tools button.active{background:var(--legacy-accent);color:#fff;border-color:#0b3a67}.geometry-mode-status{margin:0;font-size:.88rem;color:#475569}.editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.editor-header h2{margin:0;font-size:1.05rem}.editor-header p{margin:.2rem 0 0}.editor-split{display:grid;gap:.7rem}.editor-block{border:1px solid #dbe6f2;border-radius:12px;background:#fbfdff;padding:.7rem;display:grid;gap:.55rem}.editor-block.create-block{border-left:4px solid #16a34a}.editor-block.edit-block{border-left:4px solid #1d4ed8}.editor-block.is-active{box-shadow:0 0 0 2px #0b3a671f;background:#fff}.editor-block-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.editor-block-head-actions{display:inline-flex;align-items:center;gap:.4rem}.editor-block-head h3{margin:0;font-size:.98rem;color:#0b3a67}.editor-block-hint{margin:0;color:#475569;font-size:.84rem}.editor-mode-gate{border:1px solid #dbe6f2;border-radius:12px;background:#fbfdff;padding:.8rem;display:grid;gap:.6rem}.editor-mode-gate h3{margin:0;font-size:.98rem;color:#0b3a67}.editor-mode-gate-actions{display:flex;flex-wrap:wrap;gap:.45rem}.geometry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.geometry-grid-advanced .geometry-card{align-content:start}.geometry-card{border:1px solid #dbe6f2;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbff);padding:.7rem;display:grid;gap:.55rem}.geometry-card h3{margin:0;font-size:.95rem;color:#0b3a67}.geometry-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.geometry-list{display:grid;gap:.35rem;max-height:160px;overflow:auto;padding-right:.15rem}.geometry-list-item{display:flex;align-items:center;justify-content:space-between;gap:.4rem;text-align:left;font-weight:600}.geometry-list-item.active{border-color:#2c77c7;background:#e9f3ff}.editor-accordion-list{display:grid;gap:.45rem}.editor-accordion-item{border:1px solid #d8e4f0;border-radius:10px;background:#f8fbff}.editor-accordion-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.5rem .6rem;font-weight:700;color:#123556}.editor-accordion-item summary::-webkit-details-marker{display:none}.editor-accordion-item summary:hover{background:#eaf3fe}.editor-accordion-item.active{border-color:#0b3a67;background:#dcecff}.editor-accordion-item.active summary{color:#0a2f54}.geometry-card p{margin:0}.line-direction-control{display:grid;gap:.35rem}.geometry-field{display:grid;gap:.35rem;align-items:initial}.geometry-field input{width:100%}.geometry-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.45rem;overflow-x:auto}.geometry-actions>*{flex:0 0 auto}.user-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.kpi-card{border:1px solid var(--panel-border);border-radius:14px;background:linear-gradient(180deg,#fff,#f7fbff);padding:.85rem;box-shadow:0 10px 24px #0c2a4e14}.kpi-card h2{margin:0;font-size:.95rem;color:#0b3a67}.kpi-value{margin:.5rem 0 0;font-size:1.4rem;font-weight:700}.kpi-hint{margin:.4rem 0 0;color:var(--ink-muted);font-size:.86rem}.user-dashboard-layout{display:grid;grid-template-columns:minmax(620px,1.45fr) minmax(320px,.85fr);gap:.9rem}.summary-board,.event-feed{border:1px solid var(--panel-border);border-radius:14px;background:#fff;padding:.8rem;box-shadow:0 10px 24px #0c2a4e14}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.65rem;margin-bottom:.6rem}.panel-head h2{margin:0;font-size:1rem}.panel-head p{margin:0;font-size:.85rem}.summary-table-wrap{overflow:auto}.progress-split{margin-top:.35rem;height:8px;width:100%;border-radius:999px;overflow:hidden;display:flex;border:1px solid #d2dbe8;background:#f3f7fc}.progress-forward{background:#1d4ed8}.progress-backward{background:#f59e0b}.progress-enter{background:#0f766e}.progress-exit{background:#dc2626}.event-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;max-height:620px;overflow:auto}.event-item{border:1px solid #dbe6f2;border-radius:10px;padding:.55rem;display:grid;gap:.4rem;background:#fbfdff}.event-main{display:flex;align-items:center;gap:.45rem}.event-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;border-radius:999px;padding:.16rem .5rem;border:1px solid #cddcf0}.event-badge.line{background:#eff6ff;color:#1d4ed8}.event-badge.zone{background:#ecfeff;color:#0f766e}.event-meta{display:flex;flex-wrap:wrap;gap:.4rem .7rem;font-size:.82rem;color:var(--ink-muted)}.stream-panel img{width:100%;aspect-ratio:16 / 9;-o-object-fit:cover;object-fit:cover;border:1px solid #dbe3ee;border-radius:8px;background:#0f172a}@media (max-width: 1080px){.admin-layout,.admin-cameras-list-layout,.admin-editor-layout,.admin-settings-layout,.admin-settings-shell,.settings-toggle-grid,.settings-section-grid,.settings-form-grid,.settings-overview-grid,.settings-metric-grid,.settings-quick-stats,.users-toolbar,.users-create-grid{grid-template-columns:1fr}.users-create-actions{justify-content:flex-start}.users-resource-header,.users-panel-header{flex-direction:column;align-items:flex-start}.users-resource-header-actions{width:100%;flex-wrap:wrap}.users-table-pagination,.users-table-pagination-actions,.users-invitation-banner,.users-invitation-item{flex-direction:column;align-items:flex-start}.users-action-popover{left:0;right:auto}.settings-page-header,.settings-section-head{flex-direction:column;align-items:flex-start}.settings-tabs-bar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.3rem}.settings-tab-button{flex:0 0 auto}.toolbar{flex-direction:column;align-items:flex-start}.tracking-summary,.geometry-grid,.settings-threshold-inputs{grid-template-columns:1fr}.geometry-header,.editor-header{flex-direction:column;align-items:flex-start}}.video-analysis-page{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:1rem 1.2rem 1.2rem;align-content:start;color:#e6edf7;background:radial-gradient(circle at top left,rgba(89,126,188,.35),transparent 28%),radial-gradient(circle at right top,rgba(73,156,139,.18),transparent 24%),linear-gradient(180deg,#0b1220,#101a2e 48%,#0b111d)}.analysis-banner{margin-bottom:1rem;border-radius:16px;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.08);background:#ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.analysis-banner.error{border-color:#f8717159;background:#7f1d1d6b;color:#fee2e2}.analysis-page-header{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:.85rem;padding:.9rem 1rem;border-radius:18px;border:1px solid var(--panel-border);background:#ffffffeb;box-shadow:0 16px 38px #0c2a4e14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.analysis-topbar{display:flex;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:.95rem;padding:.15rem .2rem .25rem}.analysis-topbar-stats{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));min-width:min(24rem,100%)}.analysis-page-header-copy{min-width:0;display:grid;gap:.2rem;max-width:78ch}.analysis-kicker{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:#bfdbfed1}.analysis-page-header h1{margin:0;font-size:clamp(1.15rem,1.8vw,1.65rem);line-height:1.15}.analysis-page-header .analysis-intro{margin:.15rem 0 0;max-width:72ch;color:var(--ink-muted)}.analysis-kicker.compact{margin-bottom:.15rem}.analysis-page-header-stats{display:grid;gap:.65rem;min-width:min(24rem,100%);grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-page-header-actions{display:grid;gap:.75rem;justify-items:end}.analysis-tab-switcher{display:inline-flex;gap:.45rem;padding:.35rem;border-radius:999px;border:1px solid var(--panel-border);background:#ffffffc7;box-shadow:0 10px 22px #0c2a4e0a}.analysis-tab-button{min-height:34px;border:0;border-radius:999px;padding:.35rem .85rem;cursor:pointer;background:transparent;color:#17324d;font-weight:700}.analysis-tab-button.active{background:linear-gradient(135deg,#0b3a67,#124d87);color:#fff;box-shadow:0 8px 18px #0b3a672e}.analysis-stat{display:grid;gap:.2rem;padding:.8rem .95rem;border-radius:16px;background:#ffffff12;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.analysis-page-header .analysis-stat,.analysis-topbar .analysis-stat.compact{padding:.72rem .85rem}.analysis-stat-label{font-size:.78rem;color:#d8e0efb8}.analysis-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem;align-items:start;min-height:0}.video-analysis-page .analysis-preview-card{display:grid;gap:.75rem;min-height:0;max-height:min(72svh,calc(100svh - 220px))}.video-analysis-page .analysis-preview-card .analysis-card-head{flex:0 0 auto}.video-analysis-page .analysis-preview-video-shell{position:relative;width:100%;aspect-ratio:16 / 9;max-height:min(58svh,calc(100svh - 360px));overflow:hidden;border-radius:18px;background:#0a101b;border:1px solid rgba(255,255,255,.08);cursor:crosshair;touch-action:none}.video-analysis-page .analysis-preview-video-shell.tool-passive{cursor:default}.video-analysis-page .analysis-preview-video-shell.tool-line,.video-analysis-page .analysis-preview-video-shell.tool-zone{cursor:crosshair}.video-analysis-page .analysis-preview-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;pointer-events:none}.video-analysis-page .analysis-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.analysis-session-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:1rem;align-items:start}.analysis-session-config-column,.analysis-session-monitor-column{display:grid;gap:1rem}.analysis-sidebar,.analysis-main{display:grid;gap:1rem;min-height:0}.analysis-sidebar-summary{display:grid;gap:.35rem}.analysis-sidebar-summary .analysis-card-head{margin-bottom:0}.analysis-tab-content{display:grid;gap:1rem}.analysis-flow-intro{display:grid;gap:.85rem}.analysis-step-strip{display:grid;gap:.45rem;grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-step-strip span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:999px;border:1px solid #dbe6f2;background:linear-gradient(180deg,#fff,#f8fbff);color:#17324d;font-size:.88rem;font-weight:600}.analysis-prepare-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.45fr);gap:1rem;align-items:start}.analysis-prepare-column{display:grid;gap:1rem}.analysis-vlm-preset-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-vlm-preset{display:grid;gap:.2rem;text-align:left;padding:.8rem .85rem;border-radius:14px;border:1px solid #dbe6f2;background:linear-gradient(180deg,#fff,#fbfdff);cursor:pointer}.analysis-vlm-preset.active{border-color:#99b8d8;background:#e9f2fb}.analysis-vlm-preset strong{color:#0f2946}.analysis-vlm-preset .muted{line-height:1.35}.analysis-vlm-details{padding:.2rem 0 0}.analysis-vlm-details>summary{cursor:pointer;color:#0b3a67;font-weight:600}.analysis-vlm-warning{margin:0;padding:.75rem .85rem;border-radius:12px;border:1px solid rgba(239,68,68,.22);background:#fef2f2f2;color:#991b1b}.analysis-vlm-advanced{margin-top:.85rem;display:grid;gap:.75rem}.analysis-monitor-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-card{border-radius:20px;padding:1rem;background:#0a101cb8;border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 50px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.analysis-card-head{display:flex;gap:.8rem;justify-content:space-between;align-items:baseline;margin-bottom:.9rem}.analysis-card-head.small{margin-bottom:.55rem}.analysis-card-head h2,.analysis-card-head h3{margin:0}.analysis-badge-group{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.analysis-badge{display:inline-flex;align-items:center;min-height:28px;padding:.35rem .65rem;border-radius:999px;background:#ffffff14;color:#e6edf7;font-size:.78rem;border:1px solid rgba(255,255,255,.08)}.analysis-badge.status-ready{background:#10b98126;border-color:#10b98152}.analysis-badge.status-processing,.analysis-badge.status-queued{background:#f59e0b1f;border-color:#f59e0b4d}.analysis-badge.status-failed{background:#ef44441f;border-color:#ef44444d}.analysis-primary,.analysis-secondary,.analysis-link{border:0;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.analysis-primary,.analysis-secondary{min-height:40px;border-radius:12px;padding:.55rem .85rem;font-weight:600}.analysis-primary{color:#07111d;background:linear-gradient(135deg,#d7e8ff,#8fb8ff);box-shadow:0 10px 24px #709dff3d}.analysis-primary:hover:not(:disabled){transform:translateY(-1px)}.analysis-secondary{color:#e6edf7;background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.analysis-secondary:hover:not(:disabled),.analysis-link:hover:not(:disabled){background:#ffffff1f}.analysis-link{color:#bcd0ef;background:transparent;padding:.2rem .35rem}.analysis-primary:disabled,.analysis-secondary:disabled,.analysis-link:disabled{opacity:.5;cursor:not-allowed;transform:none}.analysis-session-list,.analysis-frame-list,.analysis-shape-list{display:grid;gap:.65rem}.analysis-session-item,.analysis-frame-item,.analysis-shape-item{width:100%;text-align:left;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff0d;color:inherit;padding:.75rem}.analysis-session-item{display:grid;gap:.55rem}.analysis-session-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:start}.analysis-session-select{display:grid;gap:.2rem;text-align:left;border:0;padding:0;background:transparent;color:inherit;min-width:0;cursor:pointer}.analysis-session-delete{min-height:32px;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(248,113,113,.3);background:#f8717114;color:#ef4444;cursor:pointer}.analysis-session-footer{display:flex;justify-content:flex-start}.analysis-session-switcher{width:100%;justify-content:flex-start}.analysis-session-delete:hover:not(:disabled){background:#f8717124}.analysis-session-delete:disabled{opacity:.5;cursor:not-allowed}.analysis-session-item.active,.analysis-frame-item.active{border-color:#8fb8ff8c;background:#6fa0ff29}.analysis-toolbar,.analysis-actions,.analysis-inline-actions{display:flex;flex-wrap:wrap;gap:.75rem}.analysis-toolbar{margin-bottom:.9rem}.analysis-upload-form{display:grid;gap:.45rem}.analysis-upload-form input[type=file],.analysis-upload-form button{width:100%}.analysis-toolbar label,.analysis-form-grid label{display:grid;gap:.35rem;min-width:min(180px,100%)}.analysis-toolbar input,.analysis-toolbar select,.analysis-form-grid input,.analysis-form-grid select,.analysis-form-grid textarea,.analysis-sidebar input,.analysis-sidebar select{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#080e18e6;color:#e6edf7}.analysis-toolbar input,.analysis-toolbar select,.analysis-form-grid input,.analysis-form-grid select,.analysis-sidebar input,.analysis-sidebar select{min-height:40px;padding:.55rem .7rem}.analysis-form-grid textarea{min-height:180px;padding:.7rem;resize:vertical}.analysis-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:1rem}.analysis-workflow,.analysis-vlm-card,.analysis-launch-card,.analysis-monitor-summary{display:grid;gap:.8rem}.analysis-launch-choice{display:grid;gap:.65rem}.analysis-launch-option{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem .9rem;border-radius:14px;border:1px solid #dbe6f2;background:linear-gradient(180deg,#fff,#fbfdff);cursor:pointer}.analysis-launch-option.active{border-color:#99b8d8;background:#e9f2fb}.analysis-launch-option input{margin-top:.2rem}.analysis-launch-option span{display:grid;gap:.2rem}.analysis-launch-option strong{color:#0f2946}.analysis-launch-option .muted{line-height:1.35}.analysis-launch-summary{margin:0;padding:.75rem .85rem;border-radius:12px;border:1px solid #dbe6f2;background:#f8fbff;color:#17324d}.analysis-launch-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-launch-grid label{display:grid;gap:.35rem}.analysis-preview-surface{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:18px;overflow:hidden;background:#0a101b;border:1px solid rgba(255,255,255,.08);touch-action:none}.analysis-preview-video-shell{width:100%;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#0a101b}.analysis-preview-video{display:block;width:100%;aspect-ratio:16 / 9;background:#0a101b}.analysis-preview-image,.analysis-preview-empty,.analysis-selected-image img,.analysis-frame-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.analysis-preview-empty{display:grid;place-items:center;background:linear-gradient(135deg,#ffffff0f,#ffffff05)}.analysis-preview-empty-large{gap:.8rem;padding:1rem}.analysis-preview-empty-large .analysis-preview-image{max-height:280px;border-radius:14px;-o-object-fit:cover;object-fit:cover}.analysis-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.analysis-line{stroke:#7ee7a7;stroke-width:6;stroke-linecap:round;fill:none;opacity:.92}.analysis-line.draft{stroke:#ffd166;stroke-dasharray:16 10}.analysis-zone{fill:#62aaff33;stroke:#62aaff;stroke-width:4}.analysis-zone.draft{fill:#ffd16629;stroke:#ffd166;stroke-dasharray:14 10}.analysis-zone-point{fill:#ffd166;stroke:#fff;stroke-width:2}.analysis-shape-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.95rem}.analysis-shape-item{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.analysis-frame-item{display:grid;grid-template-columns:112px 1fr;gap:.75rem;align-items:stretch}.analysis-vlm-table-shell{overflow-x:auto;border-radius:16px;border:1px solid rgba(255,255,255,.08)}.analysis-vlm-table{width:100%;border-collapse:collapse;min-width:760px;background:#ffffff08}.analysis-vlm-table thead th{text-align:left;padding:.75rem .85rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#dce5f4b8;border-bottom:1px solid rgba(255,255,255,.08)}.analysis-vlm-table tbody tr{cursor:pointer}.analysis-vlm-table tbody tr:hover{background:#6fa0ff1f}.analysis-vlm-table tbody tr.active{background:#6fa0ff2e}.analysis-vlm-table tbody td{padding:.82rem .85rem;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.06)}.analysis-vlm-table tbody tr:last-child td{border-bottom:0}.analysis-vlm-table .analysis-badge{min-height:26px}.analysis-vlm-summary{max-width:34rem}.analysis-vlm-summary .muted{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.analysis-pagination-button{min-height:34px;padding:.45rem .75rem;border-radius:999px}.analysis-frame-thumb{min-height:74px;border-radius:12px;overflow:hidden;background:#ffffff0d}.analysis-frame-empty{width:100%;height:100%;min-height:74px;background:linear-gradient(135deg,#ffffff1f,#ffffff08)}.analysis-frame-meta{display:grid;gap:.2rem;align-content:start}.analysis-selected-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:1rem}.analysis-selected-image{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;min-height:320px}.analysis-selected-side,.analysis-form-grid{display:grid;gap:.85rem}.analysis-result-block{display:grid;gap:.45rem;padding:.85rem;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.analysis-result-block h3,.analysis-result-block p,.analysis-result-block ul,.analysis-result-block pre{margin:0}.analysis-tag-cloud{display:flex;flex-wrap:wrap;gap:.35rem}.analysis-tag-pill{display:inline-flex;align-items:center;border:1px solid #dbe6f2;border-radius:999px;background:#eef6ff;padding:.24rem .55rem;color:#17324d;font-size:.75rem;white-space:nowrap}.analysis-result-structured{display:grid;gap:.85rem}.analysis-entity-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.analysis-entity-card,.analysis-interaction-card{display:grid;gap:.22rem;padding:.78rem;border-radius:12px;border:1px solid rgba(219,230,242,.9);background:#ffffff0f}.analysis-entity-card strong,.analysis-interaction-card strong{font-size:.96rem}.analysis-interaction-list{display:grid;gap:.65rem}.analysis-inline-list{display:grid;gap:.25rem;padding-left:1rem}.analysis-result-block pre{white-space:pre-wrap;word-break:break-word;color:#dbe7ff}.analysis-vlm-results-card,.analysis-preview-card{display:grid;gap:.8rem}.analysis-session-list .muted,.analysis-shape-item .muted,.analysis-frame-meta .muted{color:#dce5f4a8}@media (max-width: 1200px){.analysis-topbar,.analysis-layout,.analysis-grid,.analysis-selected-layout,.analysis-prepare-grid,.analysis-monitor-grid{grid-template-columns:1fr}}@media (max-width: 900px){.video-analysis-page{padding:.75rem}.analysis-page-header{flex-direction:column;align-items:start}.analysis-page-header-stats,.analysis-topbar-stats{width:100%;grid-template-columns:1fr}.analysis-page-header-actions{width:100%;justify-items:start}.analysis-topbar{align-items:stretch}.analysis-tab-switcher{width:100%}.analysis-shape-columns,.analysis-step-strip,.analysis-vlm-preset-grid{grid-template-columns:1fr}.analysis-frame-item{grid-template-columns:88px 1fr}.analysis-session-main{grid-template-columns:1fr}.analysis-session-switcher{width:100%;flex-wrap:wrap}}.video-analysis-page{color:#111827;background:radial-gradient(circle at 6% 4%,#dbeafecc,#dbeafe00 34%),radial-gradient(circle at 94% 0%,#fef3c7c7,#fef3c700 28%),linear-gradient(180deg,#f7fafe,#eef4fb 42%,#f4f7fb)}.analysis-hero{padding:1rem 1.1rem;border-radius:18px;border:1px solid var(--panel-border);background:#ffffffe6;box-shadow:0 16px 38px #0c2a4e14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.analysis-kicker{color:var(--legacy-accent)}.analysis-hero h1{color:#0f172a}.analysis-intro,.analysis-stat-label,.analysis-card .muted,.analysis-session-item .muted,.analysis-frame-item .muted,.analysis-result-block .muted,.analysis-vlm-note .muted,.analysis-vlm-plan .muted,.analysis-vlm-block .muted{color:var(--ink-muted)}.analysis-stat{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--panel-border);box-shadow:0 10px 22px #0c2a4e0d}.analysis-card{color:#111827;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:0 16px 38px #0c2a4e14}.analysis-badge{color:#17324d;background:#f8fbff;border-color:#dbe6f2}.analysis-badge.status-ready{color:#0f766e;background:#ecfdf5;border-color:#a7f3d0}.analysis-badge.status-processing,.analysis-badge.status-queued{color:#92400e;background:#fffbeb;border-color:#fcd34d}.analysis-badge.status-failed{color:#991b1b;background:#fef2f2;border-color:#fecaca}.analysis-vlm-table-shell{border-color:var(--panel-border);background:var(--panel-bg)}.analysis-vlm-table{background:transparent}.analysis-vlm-table thead th{color:var(--ink-muted);border-bottom-color:var(--panel-border)}.analysis-vlm-table tbody td{color:#111827;border-bottom-color:var(--panel-border)}.analysis-vlm-table tbody tr:hover{background:#0b3a670d}.analysis-vlm-table tbody tr.active{background:#0b3a6714}.analysis-vlm-summary .muted{color:var(--ink-muted)}.analysis-primary{color:#fff;background:linear-gradient(135deg,#0b3a67,#124d87);border:1px solid #0b3a67;box-shadow:0 10px 24px #0b3a672e}.analysis-secondary{color:#17324d;background:#f4f8fd;border:1px solid #c7d8ea}.analysis-link{color:#0b3a67}.analysis-primary:hover:not(:disabled){background:linear-gradient(135deg,#124d87,#0b3a67)}.analysis-secondary:hover:not(:disabled),.analysis-link:hover:not(:disabled){background:#deebf8}.analysis-session-item,.analysis-frame-item,.analysis-shape-item{color:#111827;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dbe6f2}.analysis-session-item.active,.analysis-frame-item.active{border-color:#99b8d8;background:#e9f2fb}.analysis-session-delete{color:#b91c1c;border-color:#fca5a5;background:#fef2f2}.analysis-session-delete:hover:not(:disabled){background:#fee2e2}.analysis-toolbar input,.analysis-toolbar select,.analysis-form-grid input,.analysis-form-grid select,.analysis-form-grid textarea,.analysis-sidebar input,.analysis-sidebar select,.analysis-vlm-form-grid input,.analysis-vlm-form-grid textarea{color:#111827;background:#fff;border:1px solid #c4d3e5}.analysis-preview-surface,.analysis-selected-image,.analysis-frame-thumb,.analysis-frame-empty{background:linear-gradient(180deg,#fff,#f7fbff);border-color:#dbe6f2}.analysis-preview-video-shell{border-color:#dbe6f2;background:#f7fbff}.analysis-preview-video{background:#0a101b}.analysis-line{stroke:#1b7a57}.analysis-line.draft{stroke:#d97706}.analysis-zone{fill:#0b3a671f;stroke:#0b3a67}.analysis-zone.draft{fill:#f59e0b24;stroke:#d97706}.analysis-zone-point{fill:#d97706;stroke:#fff}.analysis-result-block{color:#111827;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dbe6f2}.analysis-result-block pre{color:#17324d}.analysis-result-structured{color:#111827}.analysis-entity-card,.analysis-interaction-card{background:linear-gradient(180deg,#fff,#fbfdff);border-color:#dbe6f2}.analysis-tag-pill{background:#eef6ff;color:#17324d;border-color:#dbe6f2}.analysis-vlm-results-card,.analysis-preview-card{color:#111827}.analysis-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.95rem}.analysis-status-card{display:grid;gap:.2rem;padding:.85rem .9rem;border-radius:14px;border:1px solid #dbe6f2;background:linear-gradient(180deg,#fff,#f8fbff)}.analysis-status-card span{color:#64748b;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.analysis-status-card strong{color:#0f172a;font-size:1rem}.analysis-progress{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.analysis-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b3a67,#8fb8ff)}.analysis-vlm-card{display:grid;gap:.8rem}.analysis-vlm-note{padding:.75rem .85rem;border-radius:12px;border:1px solid #dbe6f2;background:#f8fbff}.analysis-vlm-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-vlm-block{display:grid;gap:.65rem;padding:.85rem;border-radius:14px;border:1px solid #dbe6f2;background:linear-gradient(180deg,#fff,#fbfdff)}.analysis-vlm-block-wide{grid-column:1 / -1}.analysis-vlm-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.analysis-vlm-block-head h3{margin:0;font-size:.95rem;color:#0f2946}.analysis-vlm-trigger-grid,.analysis-vlm-radio-grid{display:grid;gap:.45rem}.analysis-vlm-choice{display:flex;align-items:flex-start;gap:.55rem;padding:.6rem .65rem;border-radius:12px;border:1px solid #dbe6f2;background:#fff}.analysis-vlm-choice input{margin-top:.2rem}.analysis-vlm-choice strong{display:block;color:#17324d}.dashboard-shell .app-main main.video-analysis-page{overflow-y:auto}.analysis-vlm-choice small{display:block;line-height:1.35}.analysis-vlm-form-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(190px,.75fr);gap:.75rem}.analysis-vlm-form-grid label,.analysis-form-grid label{display:grid;gap:.35rem}.analysis-vlm-plan{padding:.8rem .9rem;border-radius:14px;border:1px solid #dbe6f2;background:#f8fbff}.analysis-vlm-plan strong{display:block;margin-bottom:.2rem;color:#0f2946}.analysis-vlm-plan p{margin:0;color:#486279}.analysis-monitor-summary .analysis-status-grid{margin-top:0}.analysis-monitor-empty{min-height:320px;display:grid;align-content:start;gap:.65rem}.analysis-selected-layout{align-items:start}.analysis-selected-image{min-height:320px;border:1px solid #dbe6f2}.analysis-selected-side{gap:.75rem}.analysis-selected-side .analysis-actions{justify-content:flex-start}.analysis-frame-empty{background:linear-gradient(135deg,#eef4fb,#f8fbff)}@media (max-width: 1200px){.analysis-status-grid,.analysis-vlm-grid,.analysis-vlm-form-grid{grid-template-columns:1fr}}@media (max-width: 900px){.analysis-vlm-block-wide{grid-column:auto}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms) ; --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms) ; animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms) ; animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms) ; --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px) ; --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px) ; --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)*.01) ; --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)*.01) ; --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%) ; --tw-enter-scale: --value(ratio) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%) ; --tw-enter-scale: calc(--value(ratio)*-1) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%) ; --tw-exit-scale: --value(ratio) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%) ; --tw-exit-scale: calc(--value(ratio)*-1) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg) ; --tw-enter-rotate: calc(--value(ratio)*360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg) ; --tw-enter-rotate: calc(--value(ratio)*-360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg) ; --tw-exit-rotate: calc(--value(ratio)*360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg) ; --tw-exit-rotate: calc(--value(ratio)*-360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-y: calc(--value(ratio)*-100%) ; --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-y: calc(--value(ratio)*100%) ; --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-y: calc(--value(ratio)*-100%) ; --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-y: calc(--value(ratio)*100%) ; --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@theme inline{@keyframes accordion-down {from {height: 0;} to {height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );}} @keyframes accordion-up {from {height: var( --radix-accordion-content-height, var(--accordion-panel-height, auto) );} to {height: 0;}}}@custom-variant data-open{&:where([data-state="open"]),&:where([data-open]:not([data-open="false"])) {@slot;}}@custom-variant data-closed{&:where([data-state="closed"]),&:where([data-closed]:not([data-closed="false"])) {@slot;}}@custom-variant data-checked{&:where([data-state="checked"]),&:where([data-checked]:not([data-checked="false"])) {@slot;}}@custom-variant data-unchecked{&:where([data-state="unchecked"]),&:where([data-unchecked]:not([data-unchecked="false"])) {@slot;}}@custom-variant data-selected{&:where([data-selected="true"]) {@slot;}}@custom-variant data-disabled{&:where([data-disabled="true"]),&:where([data-disabled]:not([data-disabled="false"])) {@slot;}}@custom-variant data-active{&:where([data-state="active"]),&:where([data-active]:not([data-active="false"])) {@slot;}}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) {@slot;}}@custom-variant data-vertical{&:where([data-orientation="vertical"]) {@slot;}}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar {display: none;}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-Dm3htQBi.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Manrope,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.theme{--font-heading: "Manrope", sans-serif;--font-sans: "Manrope", sans-serif}:root{--background: 214 38% 97%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 207 81% 22%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 47%;--accent: 209 76% 94%;--accent-foreground: 207 81% 22%;--destructive: 345 80% 35%;--destructive-foreground: 0 0% 100%;--border: 212 37% 89%;--input: 212 37% 89%;--ring: 207 81% 22%;--chart-1: 207 81% 22%;--chart-2: 173 80% 27%;--chart-3: 38 92% 50%;--chart-4: 221 83% 53%;--chart-5: 345 80% 35%;--radius: .5rem;--sidebar: 0 0% 100%;--sidebar-foreground: 222 47% 11%;--sidebar-primary: 207 81% 22%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 209 76% 94%;--sidebar-accent-foreground: 207 81% 22%;--sidebar-border: 212 37% 89%;--sidebar-ring: 207 81% 22%}*{border-color:hsl(var(--border));outline-color:hsl(var(--ring) / .5)}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}html{font-family:Manrope,sans-serif}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.right-2{right:.5rem}.top-2{top:.5rem}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2 / span 2}.row-start-1{grid-row-start:1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-px{height:1px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-32{min-width:8rem}.min-w-\[96px\]{min-width:96px}.max-w-xs{max-width:20rem}.shrink-0{flex-shrink:0}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.rounded-\[2px\]{border-radius:2px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{border-color:hsl(var(--border))}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:hsl(var(--foreground))}.p-1{padding:.25rem}.p-4{padding:1rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-1\.5{padding-left:.375rem}.pr-8{padding-right:2rem}.text-left{text-align:left}.font-heading{font-family:Manrope,sans-serif}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.leading-none{line-height:1}.leading-snug{line-height:1.375}.tracking-widest{letter-spacing:.1em}.text-background{color:hsl(var(--background))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-foreground\/10{--tw-ring-color:hsl(var(--foreground) / .1)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}:root{font-family:Manrope,sans-serif;color:#111827;background:#f4f7fb;--background: 214 38% 97%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 207 81% 22%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 47%;--accent: 209 76% 94%;--accent-foreground: 207 81% 22%;--destructive: 345 80% 35%;--destructive-foreground: 0 0% 100%;--border: 212 37% 89%;--input: 212 37% 89%;--ring: 207 81% 22%;--radius: .5rem;--panel-bg: #ffffff;--panel-border: #d8e2ef;--ink-muted: #64748b;--legacy-accent: #0b3a67;--accent-soft: #e4effb;--danger: #9f1239;--success: #0f766e}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-height:100vh;background:radial-gradient(circle at 6% 4%,#dbeafe,#dbeafe00 38%),radial-gradient(circle at 94% 0%,#fef3c7,#fef3c700 30%),#f4f7fb}main{max-width:none;margin:0;padding:0;display:grid;gap:.8rem;width:100%}h1{margin:0;font-size:1.2rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem .9rem;border:1px solid var(--panel-border);border-radius:14px;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toolbar-actions{display:flex;align-items:center;gap:.55rem}label{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem}select,button,input:not([type=checkbox]),textarea{border:1px solid #c4d3e5;background:#fff;color:#0f172a;border-radius:8px;padding:.48rem .62rem;font-weight:600;transition:all .16s ease}textarea{resize:vertical;font:inherit}button{cursor:pointer}button:hover:not(:disabled){border-color:#86a7c8;background:#f7fbff}button:disabled{opacity:.6;cursor:not-allowed}.ui-btn{font-weight:700}.ui-btn-selectable{border-color:#c7d8ea;background:#f4f8fd;color:#133455}.ui-btn-selectable:hover:not(:disabled){border-color:#93b2d0;background:#deebf8}.ui-btn-selected{border-color:#082b4a;background:#0b3a67;color:#fff}.ui-btn-selected:hover:not(:disabled){border-color:#0a2440;background:#0a2f54}.ui-btn-primary{border-color:#0b3a67;background:#0b3a67;color:#fff}.ui-btn-primary:hover:not(:disabled){border-color:#124d87;background:#124d87}.ui-btn-danger{border-color:#fca5a5;color:#991b1b;background:#fff1f2}.ui-btn-danger:hover:not(:disabled){border-color:#f87171;background:#ffe4e6}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.55rem .4rem;font-size:.88rem;vertical-align:middle}th{position:sticky;top:0;background:#f9fbff;z-index:1}tr.is-selected{background:#e4effb}.mono{font-family:IBM Plex Mono,monospace;font-size:.8rem;color:#334155}.muted{color:var(--ink-muted)}.dashboard-pagination label{display:inline-flex;align-items:center;gap:.22rem;font-size:.75rem}.dashboard-pagination select,.dashboard-pagination button{padding:.22rem .4rem;font-size:.72rem}.event-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.14rem .5rem;border:1px solid #dbe6f2;font-size:.75rem;font-weight:700;white-space:nowrap}.event-chip.track-start{background:#ecfeff;color:#0f766e;border-color:#99f6e4}.event-chip.track-end{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.event-chip.line-forward{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.event-chip.line-backward{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.event-chip.zone-enter{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.event-chip.zone-exit{background:#fef2f2;color:#991b1b;border-color:#fecaca}.event-chip.neutral{background:#f8fafc;color:#475569;border-color:#dbe6f2}.event-chip.failed{background:#fef2f2;color:#b42318;border-color:#fca5a5}.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]>*{svg:not([class*="size-"])}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:1.5rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-x-3:after{content:var(--tw-content);left:-.75rem;right:-.75rem}.after\:-inset-y-2:after{content:var(--tw-content);top:-.5rem;bottom:-.5rem}.hover\:bg-destructive\/20:hover{background-color:hsl(var(--destructive) / .2)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus-visible\:border-destructive\/40:focus-visible{border-color:hsl(var(--destructive) / .4)}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:hsl(var(--destructive) / .2)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:hsl(var(--ring) / .5)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:hsl(var(--input) / .5)}.disabled\:opacity-50:disabled{opacity:.5}.group\/dropdown-menu-item:focus .group-focus\/dropdown-menu-item\:text-accent-foreground{color:hsl(var(--accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.has-\[\>svg\]\:grid-cols-\[auto_1fr\]:has(>svg){grid-template-columns:auto 1fr}.has-\[\>svg\]\:gap-x-2:has(>svg){-moz-column-gap:.5rem;column-gap:.5rem}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.group\/alert:has(>svg) .group-has-\[\>svg\]\/alert\:col-start-2{grid-column-start:2}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:hsl(var(--muted))}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:hsl(var(--secondary))}.aria-expanded\:text-foreground[aria-expanded=true]{color:hsl(var(--foreground))}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:hsl(var(--secondary-foreground))}.data-\[size\=default\]\:h-\[18\.4px\][data-size=default]{height:18.4px}.data-\[size\=sm\]\:h-\[14px\][data-size=sm]{height:14px}.data-\[size\=default\]\:w-\[32px\][data-size=default]{width:32px}.data-\[size\=sm\]\:w-\[24px\][data-size=sm]{width:24px}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:.75rem}.data-\[state\=closed\]\:overflow-hidden[data-state=closed]{overflow:hidden}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-top:.75rem;padding-bottom:.75rem}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:hsl(var(--destructive))}.\*\:data-\[slot\=alert-description\]\:text-destructive\/90[data-slot=alert-description]>*{color:hsl(var(--destructive) / .9)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10:focus[data-variant=destructive]{background-color:hsl(var(--destructive) / .1)}.data-\[variant\=destructive\]\:focus\:text-destructive:focus[data-variant=destructive]{color:hsl(var(--destructive))}.group[data-disabled=true] .group-data-\[disabled\=true\]\:pointer-events-none{pointer-events:none}.group\/switch[data-size=default] .group-data-\[size\=default\]\/switch\:size-4{width:1rem;height:1rem}.group\/switch[data-size=sm] .group-data-\[size\=sm\]\/switch\:size-3{width:.75rem;height:.75rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:p-3{padding:.75rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:px-3{padding-left:.75rem;padding-right:.75rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:text-sm{font-size:.875rem;line-height:1.25rem}.group[data-disabled=true] .group-data-\[disabled\=true\]\:opacity-50{opacity:.5}.dark\:border-input:is(.dark *){border-color:hsl(var(--input))}.dark\:bg-destructive\/20:is(.dark *){background-color:hsl(var(--destructive) / .2)}.dark\:bg-input\/30:is(.dark *){background-color:hsl(var(--input) / .3)}.dark\:hover\:bg-destructive\/30:hover:is(.dark *){background-color:hsl(var(--destructive) / .3)}.dark\:hover\:bg-input\/50:hover:is(.dark *){background-color:hsl(var(--input) / .5)}.dark\:hover\:bg-muted\/50:hover:is(.dark *){background-color:hsl(var(--muted) / .5)}.dark\:focus-visible\:ring-destructive\/40:focus-visible:is(.dark *){--tw-ring-color:hsl(var(--destructive) / .4)}.dark\:disabled\:bg-input\/80:disabled:is(.dark *){background-color:hsl(var(--input) / .8)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:focus[data-variant=destructive]:is(.dark *){background-color:hsl(var(--destructive) / .2)}@media (min-width: 768px){.md\:text-pretty{text-wrap:pretty}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:hover\:text-foreground:hover a{color:hsl(var(--foreground))}.\[\&_p\:not\(\:last-child\)\]\:mb-4 p:not(:last-child){margin-bottom:1rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
