.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:#2563eb}.btn.secondary{background:var(--panel);color:var(--text);border:1px solid var(--panel-border)}.btn.secondary:hover{background:var(--panel-border)}.btn.small{padding:6px 12px;font-size:13px}.btn.success{background:var(--success);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{color:var(--muted);background:0 0;padding:6px 8px}.btn.ghost:hover{color:var(--text)}.btn.btn-icon{gap:8px}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.action-btn{align-items:center;padding:6px;display:flex}.user-menu-wrapper{position:relative}.user-menu-badge{background:var(--panel-hover);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:4px 4px 4px 12px;transition:opacity .15s;display:flex}.user-menu-badge:hover{opacity:.85}.user-menu-dropdown{top:calc(100% + 8px);background:var(--panel);border:1px solid var(--panel-border);z-index:100;border-radius:8px;min-width:160px;padding:4px;position:absolute;inset-inline-end:0;box-shadow:0 4px 16px #0000001f}.user-menu-item{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:background .1s;display:flex}.user-menu-divider{background:var(--panel-border);height:1px;margin:4px 0}.user-menu-info{text-align:end;flex-direction:column;line-height:1.3;display:flex}.user-menu-name{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.user-menu-role{color:var(--muted);white-space:nowrap;font-size:11px}.user-menu-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.notification-menu-wrapper{position:relative}.notification-menu-dropdown{top:calc(100% + 8px);background:var(--panel);border:1px solid var(--panel-border);z-index:100;border-radius:10px;width:320px;position:absolute;inset-inline-end:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}[data-theme=dark] .notification-menu-dropdown{background:#161b22;box-shadow:0 4px 16px #0006}.notification-menu-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-menu-title{color:var(--text);font-size:14px;font-weight:600}.notification-menu-empty{color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-size:13px;display:flex}.notification-menu-empty svg{opacity:.4}.notification-menu-empty p{margin:0}.form-group .select .select-label{width:100%}.select{position:relative}.select .select-label{box-sizing:border-box;min-width:180px;height:36px;color:var(--text);border:1px solid var(--panel-border);background:0 0;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding-block:0;padding-inline:16px 12px;font-size:14px;font-weight:500;display:inline-flex}.select .select-label.accent{color:var(--accent);background:#3b82f61a;border-color:#3b82f633}.select .select-label.placeholder{color:var(--muted)}.select .select-label.interactive{cursor:pointer;transition:background .15s}.select .select-label.interactive:hover{background:#ffffff0d}.select .select-label.interactive.accent:hover{background:#3b82f62e}.select .select-text{align-items:center;gap:6px;display:inline-flex}.select .select-chevron{color:var(--muted);transition:transform .2s}.select .select-chevron.open{transform:rotate(180deg)}.select .select-dropdown{background:var(--panel);border:1px solid var(--panel-border);z-index:300;overscroll-behavior:contain;border-radius:6px;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 4px 12px #00000040}.select .select-option{width:100%;color:var(--text);cursor:pointer;text-align:start;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:14px;font-weight:500;display:block}.select .select-option:hover,.select .select-option.active{color:var(--accent);background:#3b82f61a}.select .select-option.disabled{color:var(--muted);opacity:.5;cursor:default}.select .select-option.disabled:hover{color:var(--muted);background:0 0}.timeframe-select{align-items:center;gap:10px;display:flex;position:relative}.timeframe-select.highlighted .select-label{border-color:var(--accent);animation:3s ease-in-out timeframe-highlight}@keyframes timeframe-highlight{0%{box-shadow:0 0 0 0 var(--accent)}20%{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 40%, transparent)}60%{box-shadow:0 0 #0000}to{box-shadow:0 0 #0000}}.timeframe-dates{height:36px;color:var(--accent);cursor:pointer;white-space:nowrap;background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;align-items:center;padding:0 12px;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.timeframe-dates:hover{background:#3b82f62e}.timeframe-popover{top:calc(100% + 4px);background:var(--panel);border:1px solid var(--panel-border);z-index:50;border-radius:8px;flex-direction:column;gap:12px;min-width:260px;padding:16px;display:flex;position:absolute;inset-inline-start:0;box-shadow:0 4px 12px #00000040}.timeframe-popover-close{top:8px;width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset-inline-end:8px}.timeframe-popover-close:hover{color:var(--text);background:#ffffff14}.timeframe-popover-field{flex-direction:column;gap:4px;display:flex}.timeframe-popover-field label{color:var(--muted);margin-bottom:0;font-size:13px;font-weight:500}.timeframe-date-input{cursor:pointer;flex:1;min-width:0;position:relative}.timeframe-date-input input[type=date]{opacity:0;cursor:pointer;position:absolute;inset:0}.timeframe-date-display{border:1px solid var(--panel-border);background:var(--bg);height:36px;color:var(--text);white-space:nowrap;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:13px;display:flex}.timeframe-date-display.placeholder{color:var(--muted)}.timeframe-date-icon{color:var(--muted);flex-shrink:0}.timeframe-time-input{cursor:pointer;position:relative}.timeframe-time-input input[type=time]{opacity:0;cursor:pointer;position:absolute;inset:0}.timeframe-time-display{border:1px solid var(--panel-border);background:var(--bg);height:36px;color:var(--text);white-space:nowrap;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:13px;display:flex}.timeframe-time-display.placeholder{color:var(--muted)}.timeframe-time-icon{color:var(--muted);flex-shrink:0}.timeframe-time-12h{align-items:center;gap:2px;display:flex}.timeframe-time-compact .select-label{min-width:0;height:32px;padding-inline:8px 4px;font-size:13px}.timeframe-time-compact .select-dropdown{max-height:180px;overflow-y:auto}.timeframe-time-compact .select-option{padding:4px 8px;font-size:13px}.timeframe-time-sep{color:var(--muted);font-size:13px;font-weight:600}.timeframe-popover-preview{color:var(--accent);font-size:12px}.timeframe-popover-row{gap:6px;display:flex}.timeframe-popover-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.header-clock{color:var(--muted);white-space:nowrap;font-size:13px}.modal-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;height:100dvh;display:flex;position:fixed;top:0;left:0;right:0}.modal{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;width:100%;max-width:520px;max-height:90dvh;display:flex;overflow:hidden;box-shadow:0 16px 48px #0000004d}[data-theme=light] .modal{box-shadow:0 16px 48px #0000001f}.modal-medium{max-width:720px}.modal-wide{max-width:1040px}.modal-fullscreen{width:100%;max-width:calc(100vw - 48px);height:100%;max-height:calc(100dvh - 48px)}.modal-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{align-items:center;gap:8px;margin:0;display:flex}.modal-header-actions{align-items:center;gap:6px;display:flex}.modal-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.modal-actions{border-top:1px solid var(--panel-border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.support-modal-title{align-items:center;gap:8px;display:flex}.support-description{resize:vertical;min-height:100px}.support-success{color:var(--success);padding:12px 0;font-size:14px}.top-header{border-bottom:1px solid var(--panel-border);background:var(--panel);justify-content:space-between;align-items:center;min-height:64px;padding:0 32px;display:flex}.header-controls{align-items:center;gap:12px;display:flex}.header-left{font-size:24px;font-weight:600}.header-right{align-items:center;gap:12px;display:flex}.user-badge-wrapper{position:relative}.user-badge{background:var(--panel-hover);border-radius:999px;align-items:center;gap:10px;padding:4px 4px 4px 12px;transition:opacity .15s;display:flex}.user-badge:hover{opacity:.85}.user-menu-dropdown{background:var(--panel);border:1px solid var(--panel-border);z-index:100;border-radius:8px;min-width:160px;padding:4px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 16px #0000001f}[data-theme=dark] .user-menu-dropdown{background:#161b22;box-shadow:0 4px 16px #0006}.user-menu-item{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.user-menu-item:hover{background:var(--panel-hover)}.user-menu-item--danger{color:var(--danger)}.user-menu-item--danger:hover{background:#ef444414}.user-badge-info{text-align:end;flex-direction:column;line-height:1.3;display:flex}.user-badge-name{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.user-badge-role{color:var(--muted);white-space:nowrap;font-size:11px}.user-badge-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.env-badge{letter-spacing:.3px;color:var(--warning);white-space:nowrap;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.4}.sidebar{background:var(--sidebar);border-inline-end:1px solid var(--panel-border);flex-direction:column;flex-shrink:0;width:240px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar--admin{height:auto;min-height:100vh;position:static}[data-theme=light] .sidebar{box-shadow:2px 0 8px #0000000d}[dir=rtl] [data-theme=light] .sidebar{box-shadow:-2px 0 8px #0000000d}.sidebar-top{cursor:pointer;margin-bottom:32px}.sidebar-brand-logo{width:200px;display:block}.sidebar-subtitle{color:var(--muted);margin-top:4px;margin-inline-start:12px;font-size:18px;font-weight:500}.sidebar-user{color:var(--muted);border-top:1px solid var(--panel-border);margin-top:8px;padding:8px 0;font-size:12px}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.s-link,.s-active{color:var(--muted);border-radius:6px;padding:10px 12px;font-size:.875rem;text-decoration:none;transition:all .15s;display:block}.s-link:hover{color:var(--text);background:#ffffff0d}.s-active{color:var(--accent);background:#3b82f626}.sidebar-bottom{border-top:1px solid var(--panel-border);margin-top:auto;padding-top:16px}.sidebar-section{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);border-top:1px solid var(--panel-border);margin-top:8px;padding:16px 12px 6px;font-size:11px;font-weight:600}.sidebar-account{border-top:1px solid var(--panel-border);flex-shrink:0;padding-top:16px}.sidebar-account--top{border-top:none;padding-top:0}.sidebar-account-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 12px 8px;font-size:11px;font-weight:600}.sidebar-admin{border-top:1px solid var(--panel-border);margin-top:12px;padding-top:16px}.sidebar-admin-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--accent);align-items:center;gap:8px;padding:0 12px 12px;font-size:11px;font-weight:700;display:flex}.sidebar-admin-title:before{content:"";background:var(--accent);border-radius:2px;flex-shrink:0;width:3px;height:14px}.sidebar-subsection{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);opacity:.6;padding:12px 12px 4px;font-size:10px;font-weight:600}.sidebar-subsection-group{flex-direction:column;margin-top:4px;display:flex}.sidebar-subsection-toggle{width:100%;font:inherit;text-transform:uppercase;letter-spacing:.9px;color:var(--text);opacity:1;cursor:pointer;text-align:start;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:.6875rem;font-weight:700;transition:background .15s,color .15s,opacity .15s;display:flex}.sidebar-subsection-toggle:hover{opacity:1;color:var(--text);background:#ffffff0a}[data-theme=light] .sidebar-subsection-toggle:hover{background:#0000000a}.sidebar-subsection-toggle.is-active{color:var(--accent);opacity:1}.sidebar-subsection-state-icon{opacity:.7;flex-shrink:0;margin-inline-start:auto}.sidebar-subsection-chevron{flex-shrink:0;transition:transform .18s}.sidebar-subsection-chevron.is-open{transform:rotate(90deg)}[dir=rtl] .sidebar-subsection-chevron{transform:scaleX(-1)}[dir=rtl] .sidebar-subsection-chevron.is-open{transform:scaleX(-1)rotate(-90deg)}.sidebar-subsection-content{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.sidebar-subsection-content.is-open{grid-template-rows:1fr}.sidebar-subsection-content>.sidebar-subsection-inner{flex-direction:column;gap:1px;padding-inline-start:4px;display:flex;overflow:hidden}.sidebar-subsection-content>.sidebar-subsection-inner .s-link,.sidebar-subsection-content>.sidebar-subsection-inner .s-active{padding:6px 12px}.sidebar-subsection-content>.sidebar-subsection-inner .sidebar-link-icon{width:15px;height:15px;margin-inline-end:8px}.sidebar-link-icon{vertical-align:middle;margin-inline-end:10px;display:inline-block}.sidebar-link-text{vertical-align:middle}.sidebar-logo{width:34px;height:34px}.login-page{background:url(/banner.png) center/cover no-repeat var(--bg);z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding-inline-end:60%;display:flex;position:fixed;inset:0;overflow-y:auto}[data-theme=dark] .login-page:before{content:"";background:linear-gradient(90deg,#0a0e1a99 0%,#0a0e1a66 40%,#0a0e1a1a 100%);position:absolute;inset:0}[dir=rtl] [data-theme=dark] .login-page:before{background:linear-gradient(270deg,#0a0e1a99 0%,#0a0e1a66 40%,#0a0e1a1a 100%)}[data-theme=dark] .login-page:before{z-index:-1}.login-logo{border-radius:12px;width:360px;padding:20px 32px}.login-logo-dark{display:none}[data-theme=dark] .login-logo-dark{width:420px;margin-bottom:-70px;display:block}.login-logo-light{display:block}[data-theme=dark] .login-logo-light{display:none}.login-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;width:100%;max-width:520px;padding:40px 48px;transition:border-color .15s}[data-theme=dark] .login-card{background:#161b22;border-color:#ffffff14}.login-card h2{text-align:center;color:var(--text);margin-bottom:28px;font-size:24px}.login-card label{flex-direction:column;margin-bottom:16px;display:flex}.login-card input{margin-top:6px;transition:border-color .15s,box-shadow .15s}[data-theme=dark] .login-card input{background:#0d1117;border-color:#ffffff1a}[data-theme=dark] .login-card input:hover{border-color:#ffffff2e}[data-theme=dark] .login-card input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.login-card .actions{margin-top:28px}.login-card .actions .btn{justify-content:center;width:100%;padding:12px;font-size:15px}[data-theme=dark] .login-card .actions .btn.primary{box-shadow:0 4px 14px #3b82f640}.password-field{position:relative}.password-field input{width:100%;padding-inline-end:40px}.password-toggle{inset-inline-end:10px;color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;bottom:10px}.password-toggle:hover{color:var(--text)}.auth-link{color:var(--accent);justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:14px;font-weight:700;text-decoration:none;transition:color .15s;display:flex}[dir=rtl] .auth-link svg{transform:scaleX(-1)}.auth-link:hover{text-decoration:underline}.auth-error{color:var(--danger);min-height:1.6em;margin-bottom:1rem;font-size:14px}.auth-instruction{color:#c9d1d9;margin-bottom:16px;font-weight:700}[data-theme=light] .auth-instruction{color:#374151}.auth-success-title{color:var(--success);text-align:center;margin-bottom:12px;font-size:18px;font-weight:700}.auth-success-desc{color:var(--muted);text-align:center;margin-bottom:20px;font-size:15px;font-weight:700}.auth-success-link{font-size:15px}.auth-error-bold{color:var(--danger);min-height:1.6em;margin-bottom:1rem;font-size:14px;font-weight:700}.change-pw-notice{color:var(--warning);background:#f59e0b14;border:1px solid #f59e0b40;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.change-pw-notice svg{flex-shrink:0;margin-top:1px}.change-pw-logout{cursor:pointer;background:0 0;border:none;width:100%}.password-rules{margin:-8px 0 12px;padding:0;font-size:13px;list-style:none}.login-footer{text-align:center;color:var(--muted);margin-top:0;font-size:12px;line-height:1.6}[data-theme=dark] .login-footer{color:#fff6}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;margin-bottom:16px;padding:24px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.panel h3{margin-top:0}.panel-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.panel-header h1,.panel-header h2,.panel-header h3{margin-bottom:0}.panel-actions{gap:8px;display:flex}.panel-title-icon{vertical-align:middle;color:var(--accent);align-items:center;margin-inline-end:8px;display:inline-flex}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.kpi-card{background:var(--panel);border:1px solid var(--panel-border);border-inline-start:3px solid var(--panel-border);border-radius:12px;padding:20px;transition:all .2s;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .kpi-card{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.kpi-card.kpi-card--success{border-inline-start-color:var(--success)}.kpi-card.kpi-card--warning{border-inline-start-color:var(--warning)}.kpi-card.kpi-card--danger{border-inline-start-color:var(--danger)}.kpi-card.kpi-card--milk{border-inline-start-color:#3b82f6}.kpi-card.kpi-card--fat{border-inline-start-color:#f59e0b}.kpi-card.kpi-card--protein{border-inline-start-color:#10b981}.kpi-card.kpi-card--scc{border-inline-start-color:#dc2626}.kpi-card-clickable{cursor:pointer}.kpi-card-clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}[data-theme=light] .kpi-card-clickable:hover{box-shadow:0 4px 12px #0000001a}.kpi-header{justify-content:space-between;align-items:flex-start;margin-bottom:0;display:flex}.kpi-title{color:var(--muted);font-size:14px;font-weight:700}.kpi-value-row{align-items:baseline;gap:8px;display:flex}.kpi-value{font-variant-numeric:tabular-nums;font-size:32px;font-weight:700}.kpi-unit{color:var(--muted);font-size:18px;font-weight:500}.kpi-subtitle{color:var(--muted);font-size:18px}.kpi-change{align-items:center;gap:4px;margin-top:8px;font-size:14px;font-weight:600;display:flex}.kpi-change.positive{color:var(--success)}.kpi-change.negative{color:var(--danger)}.kpi-change.neutral{color:var(--muted)}.kpi-icon-wrap{width:36px;height:36px;color:var(--accent);background:#3b82f61f;border-radius:8px;justify-content:center;align-items:center;display:flex}.kpi-icon-wrap--success{color:var(--success);background:#10b9811f}.kpi-icon-wrap--warning{color:var(--warning);background:#f59e0b1f}.kpi-icon-wrap--danger{color:var(--danger);background:#ef44441f}.kpi-icon-wrap--milk{color:#3b82f6;background:#3b82f61a}.kpi-icon-wrap--fat{color:#f59e0b;background:#f59e0b1a}.kpi-icon-wrap--protein{color:#10b981;background:#10b9811a}.kpi-icon-wrap--scc{color:#dc2626;background:#dc26261a}.qa-panel{background:#ecfeff66;border-color:#14b8a640}[data-theme=dark] .qa-panel{background:linear-gradient(135deg,#0d948833,#14b8a626,#0d948833);border-color:#14b8a633}.qa-banner{align-items:center;gap:14px;margin-bottom:16px;display:flex}.qa-banner h3{letter-spacing:-.025em;color:#134e4a;margin:0;font-size:1.25rem;font-weight:700;line-height:1.75rem}.qa-banner p{color:#5b7f7a;margin:2px 0 0;font-size:13px}[data-theme=dark] .qa-banner h3{color:#5eead4}[data-theme=dark] .qa-banner p{color:#99f6e4}.qa-banner-icon{color:#0f766e;background:#ccfbf1;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}[data-theme=dark] .qa-banner-icon{color:#2dd4bf;background:#0d948840}.qa-banner-text{flex:1;min-width:0}.btn.qa-banner-btn{color:#ff0;background:#0f766e;border-color:#0f766e;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:400;display:inline-flex}.btn.qa-banner-btn:hover,.btn.qa-banner-btn:disabled:hover{color:#ff0;opacity:.85;cursor:pointer;background:#0f766e;border-color:#0f766e}.btn.qa-banner-btn:disabled{color:#ff0;opacity:1;cursor:not-allowed;background:#0f766e;border-color:#0f766e}[data-theme=dark] .btn.qa-banner-btn,[data-theme=dark] .btn.qa-banner-btn:hover,[data-theme=dark] .btn.qa-banner-btn:disabled:hover,[data-theme=dark] .btn.qa-banner-btn:disabled{background:var(--accent);border-color:var(--accent);color:#fff}.qa-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px;display:grid}@media (width<=900px){.qa-grid{grid-template-columns:repeat(2,1fr)}}.qa-card{background:var(--panel);border:1px solid var(--panel-border);border-inline-start:3px solid var(--success);border-radius:8px;padding:18px 20px}.qa-card--fat{border-inline-start-color:#f59e0b}.qa-card--protein{border-inline-start-color:#10b981}.qa-card--scc{border-inline-start-color:#dc2626}.qa-card-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.qa-card-icon{flex-shrink:0}.qa-card-icon--warning{color:var(--warning)}.qa-card-icon--accent{color:var(--accent)}.qa-card-icon--success{color:var(--success)}.qa-card-icon--fat{color:#f59e0b}.qa-card-icon--protein{color:#10b981}.qa-card-icon--scc{color:#dc2626}.qa-card-title{color:var(--muted);font-size:14px;font-weight:600}.qa-card-value{color:var(--text);margin-bottom:8px;font-size:28px;font-weight:700;line-height:1.2}.qa-badge{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.qa-badge--success{color:#15803d;background:#bbf7d080;border:1px solid #bbf7d0b3}[data-theme=dark] .qa-badge--success{color:#6ee7b7;background:#10b98126;border-color:#10b9814d}.qa-badge--danger{color:var(--danger);background:#ef44441f}.qa-card-sub{color:var(--muted);font-size:13px}.toast-container{bottom:24px;z-index:9999;pointer-events:none;flex-direction:column-reverse;gap:8px;display:flex;position:fixed;inset-inline-end:24px}.toast-item{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);pointer-events:auto;border-radius:10px;align-items:center;gap:10px;max-width:380px;padding:10px 14px;font-size:13px;animation:.3s cubic-bezier(.21,1.02,.73,1) forwards toast-enter;display:flex;box-shadow:0 4px 16px #0000001f,0 1px 4px #00000014}[data-theme=dark] .toast-item{box-shadow:0 4px 16px #0006,0 1px 4px #0000004d}.toast-item--exit{animation:.3s forwards toast-exit}.toast-item--success .toast-icon{color:var(--success)}.toast-item--error .toast-icon{color:var(--danger)}.toast-item--info .toast-icon{color:var(--accent)}.toast-icon{flex-shrink:0;align-items:center;display:flex}.toast-message{flex:1;line-height:1.4}.toast-close{width:20px;height:20px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s,background .15s;display:flex}.toast-item:hover .toast-close{opacity:1}.toast-close:hover{color:var(--text);background:#8080801a}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.96)}}.date-input-wrap{position:relative}.date-input-display{cursor:pointer}.date-input-hidden{opacity:0;pointer-events:none;position:absolute;inset:0}.data-table-wrapper{position:relative}@media (width<=1199.98px){.data-table-wrapper{overflow:auto hidden}.data-table-wrapper>.table{min-width:1200px}}.data-table-loading-overlay{top:36px;inset-inline:0;color:var(--muted);z-index:1;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:0}.data-table-loading{opacity:.4}.table-body-state{text-align:center;vertical-align:middle;height:120px;color:var(--muted);padding:16px 0}.table-actions-col{width:120px}.table-actions-col>.flex,.table-actions-col>.flex-center{justify-content:flex-end}.table-th-sortable{cursor:pointer}.table-th-static{cursor:default}.clickable-row{cursor:pointer}.clickable-row.expanded td{border-bottom-color:#0000}.expanded-detail-row>td{background:var(--bg);border-bottom:1px solid var(--panel-border);padding:0}.col-filter-wrapper{vertical-align:middle;align-items:center;margin-inline-start:4px;display:inline-flex;position:relative}.col-filter-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:color .15s,background .15s;display:inline-flex;position:relative}.col-filter-btn:hover{color:var(--text);background:var(--hover)}.col-filter-btn.col-filter-btn-active{color:var(--accent)}.col-filter-badge{top:-6px;background:var(--accent);color:#fff;text-align:center;pointer-events:none;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;inset-inline-end:-6px}.col-filter-panel{top:calc(100% + 6px);background:var(--bg);border:1px solid var(--panel-border);z-index:20;border-radius:8px;flex-direction:column;min-width:280px;max-height:320px;display:flex;position:absolute;inset-inline-start:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.col-filter-loading,.col-filter-empty{text-align:center;color:var(--muted);padding:16px;font-size:13px}.col-filter-options{max-height:240px;padding:8px 0;overflow-y:auto}.col-filter-option{cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:13px;transition:background .1s;display:flex}.col-filter-option:hover{background:var(--hover)}.col-filter-option input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;margin:0}.col-filter-option-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.col-filter-option-count{color:var(--muted);flex-shrink:0;font-size:12px}.col-filter-actions{border-top:1px solid var(--panel-border);justify-content:flex-end;gap:8px;padding:8px 12px;display:flex}.col-filter-action-btn{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;font-size:12px;transition:background .15s}.col-filter-action-btn:hover{background:var(--hover)}.col-filter-action-btn:disabled{opacity:.4;cursor:default}.col-filter-action-btn.col-filter-apply{background:var(--accent);border-color:var(--accent);color:#fff}.col-filter-action-btn.col-filter-apply:hover:not(:disabled){opacity:.9}.pagination{border-top:1px solid var(--panel-border);color:var(--muted);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.pagination-top{border-top:none;border-bottom:1px solid var(--panel-border)}.pagination-info{align-items:center;gap:26px;display:flex}.pagination-hint{color:var(--muted);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.pagination-end{align-items:center;gap:8px;display:flex}.pagination-buttons{gap:4px;display:flex}.pagination-arrow{align-items:center;padding:4px 8px;display:flex}.pagination-dots{padding:4px 6px}.pagination-page{min-width:32px;padding:4px 10px}.pagination-goto{border-inline-start:1px solid var(--panel-border);align-items:center;gap:6px;margin-inline-start:12px;padding-inline-start:12px;display:flex}.pagination-goto-label{color:var(--muted);white-space:nowrap;font-size:12px}.pagination-goto-input{border:1px solid var(--panel-border);background:var(--panel);width:38px;color:var(--text);border-radius:6px;outline:none;padding:4px 6px;font-size:13px;transition:border-color .15s}.pagination-goto-input::placeholder{color:var(--muted);opacity:.5}.pagination-goto-input:focus{border-color:var(--accent)}.pagination-goto-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pagination-goto-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pagination-goto-input{-moz-appearance:textfield}.view-more-button{color:var(--accent);cursor:pointer;white-space:nowrap;background:#3b82f614;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.view-more-button:hover{background:#3b82f629}.info-tooltip{color:var(--muted);cursor:help;align-items:center;display:inline-flex;position:relative}.info-tooltip:hover{color:var(--text)}.info-tooltip-content{white-space:normal;pointer-events:none;opacity:0;z-index:300;color:#f9fafb;background:#1f2937;border-radius:6px;width:max-content;max-width:240px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.5;transition:opacity .15s;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.info-tooltip-content.visible{opacity:1}[data-theme=light] .info-tooltip-content{color:#f9fafb;background:#111827;box-shadow:0 4px 12px #0000001f}.session-type-badge{text-align:center;letter-spacing:.01em;white-space:normal;max-width:100%;color:var(--text);background:#78787824;border:1px solid #7878782e;border-radius:8px;justify-content:center;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.25;display:inline-flex}.session-type-badge--milking{color:var(--accent);background:#3b82f624;border-color:#3b82f652}.session-type-badge--cip{color:#059669;background:#10b98124;border-color:#10b98152}[data-theme=dark] .session-type-badge--cip{color:#6ee7b7}.session-type-badge--water_calibration{color:#0284c7;background:#0ea5e924;border-color:#0ea5e952}[data-theme=dark] .session-type-badge--water_calibration{color:#7dd3fc}.session-type-badge--milk_3_pct_calibration_tnuva{color:#7c3aed;background:#a855f724;border-color:#a855f752}[data-theme=dark] .session-type-badge--milk_3_pct_calibration_tnuva{color:#c4b5fd}.session-type-badge--milk_3_pct_calibration_amid_tnuva{color:#4f46e5;background:#6366f124;border-color:#6366f152}[data-theme=dark] .session-type-badge--milk_3_pct_calibration_amid_tnuva{color:#a5b4fc}.session-type-badge--whole_milk_calibration_parmalat{color:#db2777;background:#ec489924;border-color:#ec489952}[data-theme=dark] .session-type-badge--whole_milk_calibration_parmalat{color:#f9a8d4}.session-type-badge--light{color:#ca8a04;background:#eab30824;border-color:#eab30852}[data-theme=dark] .session-type-badge--light{color:#fde047}.session-type-badge--other{color:#d97706;background:#f59e0b24;border-color:#f59e0b52}[data-theme=dark] .session-type-badge--other{color:#fcd34d}.session-status-badge.session-status-badge--compact{white-space:nowrap}.badge.badge-multiline{text-align:center;white-space:normal;line-height:1.15;display:inline-block}.cow-icon{flex-shrink:0;font-size:14px;line-height:1}.station-cell{flex-direction:column;align-items:center;line-height:1.2;display:inline-flex}.station-cell-name{color:var(--text);font-weight:600}.station-cell-section{color:var(--muted);margin-top:2px;font-size:11px;font-weight:500}.search-input{border:1px solid var(--panel-border);background:var(--bg);border-radius:6px;align-items:center;gap:8px;min-width:200px;height:36px;padding:0 12px;display:flex}[data-theme=light] .search-input{background:#fff}.search-input--disabled{opacity:.8;cursor:not-allowed}.search-input--disabled input{cursor:not-allowed}.search-input svg{color:var(--muted);flex-shrink:0}.search-input input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:14px}.search-input input::placeholder{color:var(--muted)}.search-input .search-clear{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.search-input .search-clear:hover{color:var(--text)}.refresh-btn{align-items:center;padding:6px 8px;display:flex}.tank-page h1{margin:0 0 4px}.tank-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.tank-page-header p{margin:0;font-size:14px}.tank-page-header-actions{flex-wrap:wrap;gap:8px;display:flex}.tank-stat-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}@media (width<=1200px){.tank-stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.tank-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.tank-stat{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.tank-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.tank-stat-icon--blue{color:var(--accent);background:#3b82f61f}.tank-stat-icon--milk{color:#6366f1;background:#6366f11f}.tank-stat-icon--alert{color:var(--warning);background:#f59e0b24}.tank-stat-icon--success{color:var(--success);background:#10b98124}.tank-stat-body{min-width:0}.tank-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:12px}.tank-stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.tank-status-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:16px 18px;display:grid}.tank-status-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.tank-status-title{margin-bottom:4px;font-size:15px;font-weight:600}.tank-status-subtitle{font-size:13px}.tank-status-title{color:var(--text)}.tank-status-subtitle{color:var(--muted)}.tank-status-icon--protein{color:#10b981;background:#10b9811f}.tank-status-icon--fat{color:#f59e0b;background:#f59e0b1f}.tank-status-icon--scc{color:#dc2626;background:#dc26261f}.tank-featured{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:22px;margin-bottom:24px;padding:26px 28px 24px;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000000a}.tank-featured:before{content:"";pointer-events:none;background:radial-gradient(circle,#3b82f61a,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;inset-block-start:-120px;inset-inline-end:-120px}@media (width<=960px){.tank-featured{grid-template-columns:1fr}}.tank-featured--cooled{border-color:#f59e0b47}.tank-featured--cooled:before{background:radial-gradient(circle,#f59e0b29,#0000 70%)}.tank-featured--shipped{border-color:#64748b4d}.tank-featured--shipped:before{background:radial-gradient(circle,#64748b2e,#0000 70%)}.tank-featured-empty{text-align:center;background:var(--panel);border:1px dashed var(--panel-border);color:var(--muted);border-radius:16px;margin-bottom:24px;padding:40px 24px;font-size:14px}.tank-featured--placeholder{opacity:.92;border-style:dashed}.tank-featured--placeholder:before{background:radial-gradient(circle,#6b72801a,#0000 70%)}.tank-featured-placeholder-msg{border:1px dashed var(--panel-border);color:var(--muted);text-align:center;background:#6b72800f;border-radius:10px;padding:10px 12px;font-size:12.5px}.tank-featured-left{flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.tank-featured-meta{width:100%}.tank-featured-title-row{flex-wrap:wrap;align-items:center;gap:12px;min-height:30px;margin-bottom:6px;display:flex}.tank-featured-title-row h2{color:var(--text);margin:0;font-size:22px;font-weight:700}.tank-name-row{align-items:center;gap:10px;display:inline-flex}.tank-name-label{color:var(--text);margin:0;font-size:22px;font-weight:700}.tank-name-badge{color:var(--accent);background:#3b82f61f;border-radius:999px;align-items:center;padding:4px 12px;font-size:14px;font-weight:600;display:inline-flex}.tank-featured-actions{align-items:center;gap:8px;margin-inline-start:auto;display:inline-flex}.tank-featured-sub{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.tank-featured-sub span{align-items:center;gap:6px;display:inline-flex}.tank-vessel{flex-direction:column;align-items:center;width:200px;margin-block:6px;display:flex;position:relative}.tank-vessel-cap{z-index:2;background:linear-gradient(#475569,#334155);border:1px solid #ffffff0f;border-radius:8px 8px 0 0;width:80px;height:14px;position:relative}.tank-vessel-cap:after{content:"";background:#1e293b;border-radius:2px;width:14px;height:6px;position:absolute;inset-block-start:4px;inset-inline-start:50%;transform:translate(-50%)}.tank-vessel-body{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 60%,#cbd5e1 100%);border:2px solid #94a3b8;border-radius:26px 26px 16px 16px;width:100%;height:340px;position:relative;overflow:hidden;box-shadow:inset 0 6px 12px #0f172a2e,inset 0 -3px 8px #fff6,0 8px 22px #0f172a2e}[data-theme=dark] .tank-vessel-body{background:linear-gradient(135deg,#334155 0%,#1e293b 60%,#0f172a 100%);border-color:#475569;box-shadow:inset 0 6px 12px #00000073,inset 0 -3px 8px #ffffff0d,0 8px 22px #0006}.tank-vessel-base{background:linear-gradient(#334155,#1e293b);border-radius:0 0 10px 10px;width:140px;height:10px;margin-top:0;box-shadow:0 6px 14px #0f172a38}.tank-vessel-ticks{color:#0f172a8c;font-variant-numeric:tabular-nums;pointer-events:none;z-index:3;width:44px;font-size:9.5px;font-weight:600;position:absolute;inset-block:0;inset-inline-end:8px}.tank-vessel-ticks span{padding-inline-start:14px;position:absolute;inset-inline-end:0;transform:translateY(-50%)}.tank-vessel-ticks span:before{content:"";background:#0f172a59;width:8px;height:1.5px;position:absolute;inset-block-start:50%;inset-inline-start:0;transform:translateY(-50%)}.tank-vessel-ticks span[data-pos="100"]{top:4%}.tank-vessel-ticks span[data-pos="75"]{top:25%}.tank-vessel-ticks span[data-pos="50"]{top:50%}.tank-vessel-ticks span[data-pos="25"]{top:75%}[data-theme=dark] .tank-vessel-ticks{color:#f8fafc8c}[data-theme=dark] .tank-vessel-ticks span:before{background:#f8fafc4d}.tank-vessel-fill{background:linear-gradient(#fffffffa 0%,#ecf5ffeb 45%,#bfdbfed9 100%);border-block-end:1px solid #93c5fd66;transition:height .6s cubic-bezier(.22,1,.36,1);position:absolute;inset-block-end:0;inset-inline:0}[data-theme=dark] .tank-vessel-fill{background:linear-gradient(#f8fafcf5 0%,#dbeafed9 45%,#93c5fdb3 100%)}.tank-vessel-wave{width:200%;height:16px;animation:8s linear infinite tank-wave-slide;position:absolute;inset-block-start:-7px;inset-inline:0}.tank-vessel-wave path{fill:#fffffffa}[data-theme=dark] .tank-vessel-wave path{fill:#f8fafcf5}.tank-vessel-wave--back{opacity:.7;animation:11s linear infinite tank-wave-slide-back;inset-block-start:-4px}.tank-vessel-wave--back path{fill:#bfdbfed9}@keyframes tank-wave-slide{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes tank-wave-slide-back{0%{transform:translate(-25%)}to{transform:translate(-75%)}}.tank-vessel-overlay{pointer-events:none;text-align:center;z-index:2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tank-vessel-percent{color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 2px 6px #fff9;letter-spacing:-.02em;font-size:56px;font-weight:800;line-height:1}.tank-vessel-percent span{color:var(--muted);margin-inline-start:2px;font-size:22px;font-weight:700}[data-theme=dark] .tank-vessel-percent{text-shadow:0 2px 8px #0009}.tank-vessel-overlay-label{letter-spacing:.18em;color:var(--muted);margin-top:4px;font-size:11px;font-weight:700}.tank-volume-line{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;display:flex}.tank-volume-current{color:var(--text);font-size:22px;font-weight:700}.tank-volume-divider{color:var(--muted);font-size:18px}.tank-volume-cap{color:var(--muted);font-size:14px}.tank-groups-block{align-self:stretch;width:100%}.tank-groups-divider{border:0;border-top:1px solid var(--panel-border);margin-block:12px}.tank-groups-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 14px;display:grid}@media (width<=1100px){.tank-groups-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=700px){.tank-groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tank-groups-item{color:var(--text);white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:inline-flex}.tank-groups-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 2px #3b82f626}.tank-groups-prefix{color:var(--muted);font-weight:500}.tank-groups-name{color:var(--text);font-weight:600}.tank-featured-right{flex-direction:column;gap:16px;display:flex;position:relative}.tank-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=1100px){.tank-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tank-metric-grid--row{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1100px){.tank-metric-grid--row{grid-template-columns:repeat(2,minmax(0,1fr))}}.tank-metric{background:var(--panel);border:1px solid #0000;border-radius:12px;padding:14px 16px;position:relative;overflow:hidden}.tank-metric:after{content:"";opacity:.08;background:currentColor;border-radius:50%;width:64px;height:64px;position:absolute;inset-block-start:-22px;inset-inline-end:-22px}.tank-metric-icon{background:currentColor;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:8px;display:inline-flex}.tank-metric-icon>*{color:#fff;opacity:.95}.tank-metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12.5px;font-weight:600}.tank-metric-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.1}.tank-metric-sub{color:var(--muted);margin-top:4px;font-size:11.5px}.tank-metric--milk{color:#3b82f6;background:#3b82f614;border-color:#3b82f638}.tank-metric--milk .tank-metric-value{color:#3b82f6}.tank-metric--milk .tank-metric-icon{background:#3b82f6}.tank-metric--fat{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b38}.tank-metric--fat .tank-metric-value{color:#f59e0b}.tank-metric--fat .tank-metric-icon{background:#f59e0b}.tank-metric--protein{color:#10b981;background:#10b98114;border-color:#10b98138}.tank-metric--protein .tank-metric-value{color:#10b981}.tank-metric--protein .tank-metric-icon{background:#10b981}.tank-metric--scc{color:#dc2626;background:#dc262614;border-color:#dc262638}.tank-metric--scc .tank-metric-value{color:#dc2626}.tank-metric--scc .tank-metric-icon{background:#dc2626}.tank-metric--ratio{color:#8b5cf6;background:#8b5cf614;border-color:#8b5cf638}.tank-metric--ratio .tank-metric-value{color:#8b5cf6}.tank-metric--ratio .tank-metric-icon{background:#8b5cf6}.tank-profit{background:linear-gradient(135deg,#10b98114 0%,#3b82f60f 100%);border:1px solid #10b98138;border-radius:12px;padding:16px 18px 14px;position:relative;overflow:hidden}.tank-profit-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.tank-profit-icon{width:28px;height:28px;color:var(--success);background:#10b9812e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tank-profit-title{color:var(--text);font-size:13px;font-weight:600}.tank-profit-total-amount{color:var(--success);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:28px;font-weight:800;line-height:1}.tank-edit-row{flex-wrap:wrap;gap:8px;display:flex}.tank-edit-chip{background:var(--panel);color:var(--text);border:1px dashed var(--panel-border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.tank-edit-chip:hover{border-color:var(--accent);color:var(--accent);background:#3b82f60a}.tank-edit-chip:disabled{opacity:.5;cursor:not-allowed}.tank-collision-banner{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.tank-collision-banner strong{color:var(--text);margin-inline-end:4px}.tank-overflow-banner{color:#dc2626;background:#dc262614;border:1px solid #dc262647;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.tank-alerts{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:14px 16px}.tank-alerts--scroll{max-height:220px;overflow-y:auto}.tank-recent-sessions{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;height:280px;padding:14px 16px;display:flex;overflow:hidden}.tank-recent-sessions-header{color:var(--text);border-bottom:1px solid var(--panel-border);flex-shrink:0;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:10px;font-size:13px;font-weight:600;display:flex}.tank-recent-sessions-total{color:var(--muted);font-size:12px;font-weight:500}.tank-recent-sessions-scroll{flex:auto;min-height:0;overflow-y:auto}.tank-recent-sessions-empty{height:100%;color:var(--muted);text-align:center;justify-content:center;align-items:center;padding:14px 4px;font-size:12.5px;display:flex}.tank-recent-sessions-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tank-recent-session{font-variant-numeric:tabular-nums;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:8px 10px;font-size:12.5px;display:grid}.tank-recent-session:not(:last-child){border-bottom:1px solid var(--panel-border);border-radius:0}.tank-recent-session:hover{background:#6b72800f}.tank-recent-session-main{grid-area:1/1;grid-template-columns:110px auto;align-items:center;gap:8px;display:grid}.tank-recent-session-cow{color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-weight:600;display:inline-flex;overflow:hidden}.tank-recent-session-meta{color:var(--muted);flex-wrap:wrap;grid-area:2/1;align-items:center;gap:4px 0;font-size:11.5px;display:flex}.tank-recent-session-meta-primary{align-items:center;gap:12px;min-width:220px;display:inline-flex}.tank-recent-session-meta-secondary{border-inline-start:1px solid var(--panel-border);align-items:center;gap:12px;padding-inline-start:12px;display:inline-flex}.tank-recent-session-meta-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.tank-recent-session-group-emoji{font-size:11px;line-height:1}.tank-recent-session-yield{color:var(--text);grid-area:1/2/span 2;align-self:center;font-size:14px;font-weight:700}.tank-revenue-alerts-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.tank-revenue-alerts-row>*{min-width:0}@media (width<=1100px){.tank-revenue-alerts-row{grid-template-columns:1fr}}.tank-live-pill--sm{padding:1px 7px;font-size:10.5px}.tank-live-pill--sm .tank-live-dot{width:5px;height:5px}.tank-view-cycle-btn{width:100%;color:var(--accent);cursor:pointer;background:#3b82f614;border:1px solid #3b82f64d;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.tank-view-cycle-btn:hover{border-color:var(--accent);background:#3b82f624}.tank-alerts-header{color:var(--text);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.tank-alerts-count{color:var(--muted);background:#6b72801f;border-radius:999px;margin-inline-start:auto;padding:2px 8px;font-size:11.5px;font-weight:600}.tank-alerts-empty{color:var(--success);align-items:center;gap:8px;font-size:13px;display:inline-flex}.tank-alerts-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tank-alert{border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.tank-alert--critical{color:#dc2626;background:#dc262612;border-color:#dc262640}.tank-alert--warning{color:var(--warning);background:#f59e0b12;border-color:#f59e0b40}.tank-alert-metric{color:var(--text);font-size:13px;font-weight:600}.tank-alert-msg{color:var(--muted);margin-top:2px;font-size:12.5px}.tank-alert-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.tank-alert-pill--critical{color:#dc2626;background:#dc26262e}.tank-alert-pill--warning{color:#b45309;background:#f59e0b33}.tank-live-pill{color:var(--success);background:#10b9811f;border:1px solid #10b98152;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.tank-live-pill--lg{padding:4px 12px;font-size:13px}.tank-live-dot{background:var(--success);border-radius:50%;width:7px;height:7px;animation:1.5s ease-out infinite tank-pulse;box-shadow:0 0 #10b98199}@keyframes tank-pulse{0%{box-shadow:0 0 #10b9818c}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.tank-status-pill{color:var(--muted);border:1px solid var(--panel-border);background:#6b72801f;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.tank-status-pill--cooled{color:var(--warning);background:#f59e0b1f;border-color:#f59e0b4d}.tank-status-pill--shipped{color:var(--accent);background:#3b82f61f;border-color:#3b82f64d}.tank-list-section{margin-top:8px}.tank-list-header{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.tank-list-header h3{color:var(--text);margin:0;font-size:18px;font-weight:700}.tank-list-header .text-muted{font-size:13px}.tank-edit-cycle-fields{flex-direction:column;gap:12px;display:flex}.tank-edit-cycle-field{flex-direction:column;gap:6px;display:flex}.tank-edit-cycle-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:600}.tank-edit-cycle-row{grid-template-columns:1fr 1fr;align-items:center;gap:8px;display:grid}.tank-edit-cycle-time{background:var(--panel);border:1px solid var(--panel-border);width:100%;color:var(--text);border-radius:8px;padding:8px 10px;font-size:14px}.tank-edit-cycle-hint{color:var(--muted);font-size:12px}.tank-cell-tank-name{font-weight:600}.tank-volume-cell{flex-direction:column;gap:4px;min-width:110px;display:flex}.tank-volume-cell-text{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:flex}.tank-volume-cell-amount{color:var(--text);font-weight:600}.tank-volume-cell-pct{color:var(--muted);font-size:12px}.tank-volume-cell-bar{background:#6b72802e;border-radius:999px;height:4px;overflow:hidden}.tank-volume-cell-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.tank-error-banner{margin-bottom:16px}.tank-next-pickup-pill{color:var(--accent);background:#3b82f61a;border:1px solid #3b82f64d;border-radius:999px;align-items:center;gap:6px;min-width:200px;min-height:24px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.tank-next-pickup-pill--placeholder{visibility:hidden;background:0 0;border-color:#0000}.tank-close-reason{color:var(--muted);font-size:12.5px}.tank-revenue-cell{color:var(--success);font-weight:700}.tank-recent-cycles-panel{margin-top:16px}.tank-cycle-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-block:12px 16px;display:flex}.tank-cycle-filter-select{min-width:180px}.tank-cycle-filter-clear{border:1px solid var(--panel-border);color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;align-items:center;padding:6px 12px;font-size:12.5px;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.tank-cycle-filter-clear:hover{border-color:var(--accent);color:var(--accent)}.tank-cycle-detail-page{animation:.2s tank-cycle-detail-fade}@keyframes tank-cycle-detail-fade{0%{opacity:0}to{opacity:1}}.tank-cycle-detail-loading{justify-content:center;align-items:center;padding:4rem 0;display:flex}.tank-cycle-detail-error{color:var(--muted);flex-direction:column;align-items:center;gap:16px;padding:4rem 0;display:flex}.tank-cycle-detail-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.tank-cycle-detail-header .action-btn{padding:10px 8px}.tank-cycle-detail-title-block{flex:1;min-width:0}.tank-cycle-detail-title-row{align-items:center;gap:10px;display:flex}.tank-cycle-detail-title-row h1{letter-spacing:-.01em;align-items:center;gap:8px;margin:0;font-size:26px;font-weight:700;display:inline-flex}.tank-cycle-detail-title-icon{color:var(--accent);flex-shrink:0}.tank-cycle-detail-subtitle{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 0;font-size:14px;display:flex}.tank-cycle-detail-edit-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:500;display:inline-flex}.tank-cycle-detail-edit-link:hover{opacity:.8}.tank-cycle-detail-meta-row{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;margin-inline-start:auto;font-size:12.5px;display:inline-flex}.tank-cycle-detail-meta-live{color:var(--success);font-weight:600}.tank-cycle-detail-sessions-panel{margin-top:16px}.tank-cycle-detail-sessions-filters{align-items:center;gap:12px;padding:8px 0 12px;display:flex}.tank-cycle-detail-cow-search{flex:auto;max-width:280px}.overview-tank-card{flex-direction:column;gap:14px;height:100%;padding:18px 20px;display:flex}.overview-tank-card--empty{min-height:200px;color:var(--muted);justify-content:center;align-items:center}.overview-tank-empty{text-align:center;font-size:13.5px}.overview-tank-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.overview-tank-title .tank-name-label{margin:0;font-size:18px;font-weight:700}.overview-tank-title .tank-name-badge{padding:3px 10px;font-size:13px}.overview-tank-title-badges{align-items:center;gap:6px;margin-inline-start:auto;display:inline-flex}.overview-tank-sessions-badge{color:var(--accent);font-variant-numeric:tabular-nums;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.overview-tank-alert-badge{color:#d97706;font-variant-numeric:tabular-nums;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.overview-tank-sub{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.overview-tank-sub span{align-items:center;gap:6px;display:inline-flex}.overview-tank-vessel-row{justify-content:center;padding:6px 0;display:flex}.overview-tank-card .tank-volume-line{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.tank-volume-amount{align-items:baseline;gap:8px;display:inline-flex}.tank-volume-groups{text-align:end;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px;display:inline-flex}.tank-volume-group-chip{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.overview-tank-metrics{flex-wrap:wrap;gap:8px;display:flex}.overview-tank-metric{font-variant-numeric:tabular-nums;background:#6b72800f;border:1px solid #0000;border-radius:10px;flex-direction:column;flex:calc(20% - 8px);gap:2px;min-width:96px;padding:8px 12px;display:flex}@media (width<=1100px){.overview-tank-metric{flex-basis:calc(33.333% - 8px)}}.overview-tank-metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.overview-tank-metric-value{color:var(--text);font-size:16px;font-weight:700}.overview-tank-metric--fat{background:#f59e0b1a;border-color:#f59e0b38}.overview-tank-metric--fat .overview-tank-metric-value{color:#f59e0b}.overview-tank-metric--protein{background:#10b9811a;border-color:#10b98138}.overview-tank-metric--protein .overview-tank-metric-value{color:#10b981}.overview-tank-metric--scc{background:#dc26261a;border-color:#dc262638}.overview-tank-metric--scc .overview-tank-metric-value{color:#dc2626}.overview-tank-metric--ratio{background:#8b5cf61a;border-color:#8b5cf638}.overview-tank-metric--ratio .overview-tank-metric-value{color:#8b5cf6}.overview-tank-metric--revenue{background:#10b9811a;border-color:#10b98138}.overview-tank-metric--revenue .overview-tank-metric-value{color:var(--success)}.overview-tank-view-more{width:100%;color:var(--accent);cursor:pointer;background:#3b82f614;border:1px solid #3b82f64d;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:auto;padding:10px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.overview-tank-view-more:hover{border-color:var(--accent);background:#3b82f624}.overview-tank-and-eco{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.overview-tank-and-eco>*{min-width:0}@media (width<=1100px){.overview-tank-and-eco{grid-template-columns:1fr}}.overview-page{flex-direction:column;gap:20px;display:flex}.overview-page>.grid.grid-2{align-items:stretch;gap:20px}.alerts-view-all-btn{color:var(--accent);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.alerts-view-all-btn svg{transition:transform .15s}.alerts-view-all-btn:hover{background:#3b82f614;border-color:#3b82f640}.alerts-view-all-btn:hover svg{transform:translate(2px)}.eco-snapshot{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;height:100%;padding:22px 24px 20px;display:flex}.eco-snapshot-header{align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.eco-snapshot-header h3{color:var(--text);margin:0;font-size:17px;font-weight:700}.eco-snapshot-header p{color:var(--muted);margin:2px 0 0;font-size:13px}.eco-snapshot-header-icon{width:36px;height:36px;color:var(--success);background:#10b98124;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.eco-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.eco-tile{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:16px 18px 14px;transition:transform .15s,box-shadow .15s}.eco-tile:hover{transform:translateY(-1px);box-shadow:0 2px 12px #0000000d}.eco-tile-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:10px;display:inline-flex}.eco-tile-label{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:500}.eco-tile-value{font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:22px;font-weight:700;line-height:1.15}.eco-tile-sub{color:var(--muted);font-size:12.5px}.eco-tile--revenue{background:#3b82f612;border-color:#3b82f638}.eco-tile--revenue .eco-tile-icon{color:#3b82f6;background:#3b82f61a}.eco-tile--revenue .eco-tile-value{color:#3b82f6}.eco-tile--feed{background:#f59e0b14;border-color:#f59e0b42}.eco-tile--feed .eco-tile-icon{color:var(--warning);background:#f59e0b29}.eco-tile--feed .eco-tile-value{color:#b45309}.eco-tile--feed .eco-tile-sub{color:#b45309cc}.eco-tile--health{background:#ef444412;border-color:#ef444438}.eco-tile--health .eco-tile-icon{color:var(--danger);background:#ef444424}.eco-tile--health .eco-tile-value{color:var(--danger)}.eco-tile--health .eco-tile-sub{color:#ef4444cc}.eco-tile--labor{background:#10b98112;border-color:#10b98138}.eco-tile--labor .eco-tile-icon{color:var(--success);background:#10b98124}.eco-tile--labor .eco-tile-value{color:var(--success)}.eco-tile--labor .eco-tile-sub{color:#10b981cc}.eco-net-income{text-align:center;border-radius:12px;flex-direction:column;flex:auto;justify-content:center;min-height:0;padding:18px 22px 16px;display:flex}.eco-net-income--positive{background:linear-gradient(135deg,#3b82f614,#10b9810f);border:1px solid #3b82f638}.eco-net-income--negative{background:#ef44440f;border:1px solid #ef444438}.eco-net-income-label{color:var(--muted);margin-bottom:4px;font-size:14px;font-weight:600}.eco-net-income-value{color:var(--accent);font-size:34px;font-weight:800;line-height:1.1}.eco-net-income--negative .eco-net-income-value{color:var(--danger)}.eco-net-income-status{color:var(--success);align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:500;display:inline-flex}.eco-net-income--negative .eco-net-income-status{color:var(--danger)}.eco-net-income-splits{border-top:1px solid #3b82f62e;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;display:grid}.eco-net-income--negative .eco-net-income-splits{border-top-color:#ef444433}.eco-net-income-split-label{color:var(--muted);margin-bottom:3px;font-size:12.5px}.eco-net-income-split-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.eco-net-income--negative .eco-net-income-split-value{color:var(--danger)}.icon-warning{color:var(--warning)}.icon-accent{color:var(--accent)}.icon-success{color:var(--success)}.icon-danger{color:var(--danger)}.icon-info{color:var(--info)}.chart-container{height:240px}.chart-container-loading{height:240px;color:var(--muted);justify-content:center;align-items:center;display:flex}.chart-container-empty{justify-content:center;align-items:center;display:flex}.chart-legend{justify-content:center;gap:16px;padding-bottom:8px;font-size:12px;display:flex}.chart-tooltip{background:var(--panel);border:1px solid var(--panel-border);min-width:140px;color:var(--text);border-radius:6px;padding:10px 14px;font-size:13px}.chart-tooltip-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-weight:600;display:flex}.chart-tooltip-pct{align-items:center;gap:3px;font-size:11px;font-weight:500;display:inline-flex}.chart-tooltip-pct.positive{color:var(--success)}.chart-tooltip-pct.negative{color:var(--danger)}.chart-tooltip-row{color:var(--text-secondary,var(--muted));align-items:center;gap:6px;padding:3px 0;display:flex}.chart-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.chart-tooltip-dot--accent{background:var(--accent)}.chart-tooltip-dot--muted{background:var(--muted)}.chart-legend-item{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.chart-legend-item--hidden{color:var(--muted);opacity:.5}.tabs{border-bottom:2px solid var(--panel-border);gap:4px;margin-bottom:24px;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.tab:hover{color:var(--text);background:#ffffff08}.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.tabs--pill{background:#ffffff14;border-bottom:none;border-radius:8px;gap:0;margin-bottom:20px;padding:4px}[data-theme=light] .tabs--pill{background:#e8eaed}.tabs--pill .tab{text-align:center;border-bottom:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;margin-bottom:0;padding:10px 16px;font-size:14px;font-weight:500;transition:color .15s,background .15s,box-shadow .15s;display:inline-flex}.tabs--pill .tab+.tab{border-inline-start:1px solid #0000001a}[data-theme=dark] .tabs--pill .tab+.tab{border-color:#ffffff1a}.tabs--pill .tab.tab-active,.tabs--pill .tab.tab-active+.tab{border-color:#0000}.tabs--pill .tab:hover:not(.tab-active){color:var(--text);background:0 0}.tabs--pill .tab.tab-active{color:var(--accent);background:#fff;border-color:#0000;font-weight:600;box-shadow:0 1px 3px #00000014}[data-theme=dark] .tabs--pill .tab.tab-active{background:var(--accent);color:#fff;box-shadow:none}.tabs--pill .tab.tab-active .tab-subtitle{color:var(--muted);background:#0000000f}[data-theme=dark] .tabs--pill .tab.tab-active .tab-subtitle{color:#fff;background:#fff3}.tab-live-badge{color:var(--success);background:#10b98126;border-radius:10px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.tab-live-badge .tab-live-dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite tab-live-pulse}@keyframes tab-live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.tab-subtitle{color:var(--muted);background:#0000000a;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:400;display:inline-block}[data-theme=dark] .tab-subtitle{background:#ffffff0f}.search-select{position:relative}.search-select-input{border:1px solid var(--panel-border);background:var(--bg);border-radius:6px;align-items:center;gap:8px;min-width:200px;height:36px;padding:0 12px;display:flex}[data-theme=light] .search-select-input{background:#fff}.search-select-input svg{color:var(--muted);flex-shrink:0}.search-select-input input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:14px}.search-select-input input::placeholder{color:var(--muted)}.search-select-input input:disabled{cursor:not-allowed;opacity:.5}.search-select-clear{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.search-select-clear:hover{color:var(--text)}.search-select-spinner{animation:1s linear infinite spin}.search-select-dropdown{top:calc(100% + 4px);background:var(--panel);border:1px solid var(--panel-border);z-index:50;border-radius:6px;max-height:200px;position:absolute;inset-inline:0;overflow-y:auto;box-shadow:0 8px 24px #0003}[data-theme=light] .search-select-dropdown{box-shadow:0 8px 24px #0000001a}.search-select-option{cursor:pointer;width:100%;color:var(--text);text-align:start;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.search-select-option:hover{background:#3b82f614}.search-select-option.active{background:#3b82f61f;font-weight:500}.search-select-option-label{font-weight:500}.search-select-option-detail{color:var(--muted);font-size:12px}.search-select-empty{text-align:center;color:var(--muted);padding:12px;font-size:13px}.sparkline{cursor:default;align-items:center;display:inline-flex;position:relative}.sparkline:hover .sparkline-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.sparkline-icon{flex-shrink:0}.sparkline-up .sparkline-icon{color:var(--accent)}.sparkline-down .sparkline-icon{color:var(--danger)}.sparkline-stable .sparkline-icon{color:var(--muted)}.sparkline-tooltip{bottom:calc(100% + 8px);z-index:100;background:var(--panel);border:1px solid var(--panel-border);opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;min-width:110px;padding:8px 10px;transition:opacity .15s,visibility .15s,transform .15s;position:absolute;inset-inline-start:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 12px #00000040}[dir=rtl] .sparkline-tooltip{transform:translate(50%)translateY(4px)}[dir=rtl] .sparkline:hover .sparkline-tooltip{transform:translate(50%)translateY(0)}.sparkline-tooltip-header{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--panel-border);white-space:nowrap;margin-bottom:4px;padding-bottom:4px;font-size:10px;font-weight:600}.sparkline-tooltip-row{justify-content:space-between;gap:12px;font-size:11px;line-height:1.8;display:flex}.sparkline-tooltip-day{color:var(--muted);font-weight:500}.sparkline-tooltip-val{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.sparkline-empty{color:var(--muted)}.herd-tabs-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.herd-tabs-row .tabs{margin-bottom:0}.herd-quick-actions{flex-shrink:0;gap:8px;display:flex}.herd-quick-actions .btn{align-items:center;gap:6px;display:inline-flex}.add-cow-success p{margin:0 0 8px}.add-cow-success p:last-child{margin-bottom:0}.performance-info-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.performance-info-row p{white-space:nowrap;margin:0}.production-only-check{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;font-size:13px;line-height:1;display:inline-flex}.production-only-check input[type=checkbox]{accent-color:var(--accent);cursor:pointer;align-self:end;margin:0}.filter-selects{gap:12px;display:flex}.filter-selects .select-label{background:var(--bg)}.cow-id-value{color:#0d9488;align-items:center;gap:6px;font-weight:500;display:inline-flex}.fp-ratio{border-radius:20px;padding:4px 14px;font-size:13px;font-weight:500;display:inline-block}.fp-ratio.ideal{color:#10b981;background:#10b98126}[data-theme=dark] .fp-ratio.ideal{color:#6ee7b7}.fp-ratio.at-risk{color:#ef4444;background:#ef444426}[data-theme=dark] .fp-ratio.at-risk{color:#fca5a5}.modal-overflow-visible,.modal-overflow-visible .modal-body{overflow:visible}.selected-cows-list{flex-direction:column;gap:4px;max-height:98px;margin-bottom:16px;display:flex;overflow-y:auto}.selected-cow-card{border:1px solid var(--panel-border);background:var(--bg);border-radius:6px;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}[data-theme=light] .selected-cow-card{background:#f9fafb}.selected-cow-info{align-items:center;gap:8px;display:flex}.selected-cow-info .cow-id-value{font-size:13px}.selected-cow-tag{color:var(--muted);background:#ffffff14;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}[data-theme=light] .selected-cow-tag{background:#0000000f}.selected-cow-clear{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.selected-cow-clear:hover{color:var(--danger);background:#ef44441a}.profit-value{color:var(--accent);font-weight:600}.financial-badge{border:1px solid #0000;border-radius:20px;padding:4px 14px;font-size:13px;font-weight:500;display:inline-block}.financial-badge.financial-good{color:var(--accent);border-color:var(--accent);background:#3b82f614}.financial-badge.financial-average{color:var(--warning);border-color:var(--warning);background:#f59e0b14}.financial-badge.financial-poor{color:var(--danger);border-color:var(--danger);background:#ef444414}.profit-placeholder{justify-content:center;align-items:center;min-height:200px;display:flex}.profit-placeholder p{font-size:15px}@keyframes dot-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes socket-row-flash{0%,10%{background:#3b82f626}to{background:0 0}}.tasks-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.tasks-header h1{margin:0 0 6px}.tasks-header p{margin:0}.tasks-header-stats{flex-shrink:0;align-items:center;gap:10px;margin-top:4px;display:flex}.tasks-customize-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);cursor:pointer;white-space:nowrap;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}.tasks-customize-btn:hover{background:#2563eb;border-color:#2563eb}.tasks-stat-pill{color:var(--danger);white-space:nowrap;background:#ef44441f;border:1px solid #ef444433;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500}.tasks-filter-bar{flex-wrap:wrap;align-items:stretch;gap:12px;margin-bottom:24px;display:flex}.tasks-search{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;flex:1;align-items:center;gap:10px;min-width:260px;padding:0 14px;display:flex}.tasks-search svg{color:var(--muted);flex-shrink:0}.tasks-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:10px 0;font-size:14px}.tasks-search input::placeholder{color:var(--muted)}.tasks-filter-select{min-width:140px}.tasks-filter-select .select-label{padding-block:8px}[data-theme=light] .tasks-filter-select .select-label{background:#fff}.task-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;column-gap:16px;margin-bottom:12px;padding:16px 20px;display:grid}.task-card-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-top:2px;display:inline-flex}.task-card-icon--high{color:var(--danger);background:#ef44441f}.task-card-icon--medium{color:var(--warning);background:#f59e0b24}.task-card-icon--low{color:var(--accent);background:#3b82f61f}.task-card-body{min-width:0}.task-card-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.task-card-title-row h4{color:var(--text);margin:0;font-size:16px;font-weight:600}.task-badge{text-transform:lowercase;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500}.task-badge--high,.task-badge--active{color:var(--danger);background:#ef44441f}.task-badge--medium{color:#b45309;background:#f59e0b24}.task-badge--low,.task-badge--scheduled{color:var(--accent);background:#3b82f61f}.task-badge--acknowledged{color:#a16207;background:#eab3082e}.task-badge--completed{color:var(--success);background:#10b98124}.task-card-desc{color:var(--muted);margin:0 0 10px;font-size:14px}.task-card-meta{color:var(--muted);align-items:center;gap:14px;font-size:13px;display:flex}.task-card-cow{color:var(--success);font-weight:500}.task-card-cow-id{margin-inline-start:4px;font-weight:600}.task-card-actions{flex-shrink:0;align-items:flex-start;gap:8px;display:flex}.task-action-btn{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}.task-action-btn:hover{border-color:var(--muted)}.task-action-btn.task-action-btn--success{background:var(--success);color:#fff;border-color:var(--success)}.task-action-btn.task-action-btn--success:hover{background:#0ea271;border-color:#0ea271}.task-action-btn.task-action-btn--accent{background:var(--accent);color:#fff;border-color:var(--accent)}.task-action-btn.task-action-btn--accent:hover{background:#2563eb;border-color:#2563eb}.task-completed{color:var(--success);align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}[data-theme=light] .reports-timeframe-select .select-label{background:#fff}.reports-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px;display:grid}@media (width<=900px){.reports-grid{grid-template-columns:1fr}}.report-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:16px;padding:20px 22px;display:flex}.report-card-top{grid-template-columns:auto 1fr auto;align-items:start;column-gap:14px;display:grid}.report-card-icon{width:40px;height:40px;color:var(--success);background:#10b9811f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.report-card-heading{min-width:0}.report-card-title{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:600}.report-card-desc{color:var(--muted);margin:0;font-size:13.5px;line-height:1.45}.report-card-badge{color:var(--accent);white-space:nowrap;background:#3b82f61f;border-radius:999px;align-items:center;padding:4px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.report-card-meta{color:var(--muted);align-items:center;gap:18px;font-size:13px;display:flex}.report-card-meta-item{align-items:center;gap:6px;display:inline-flex}.report-card-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.report-btn-primary,.report-btn-secondary{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.report-btn-primary{background:var(--success);color:#fff;border:1px solid var(--success)}.report-btn-primary:hover{background:#0ea271;border-color:#0ea271}.report-btn-secondary{color:var(--text);border:1px solid var(--panel-border);background:0 0}.report-btn-secondary:hover{background:var(--panel-border)}.quick-export{background:var(--bg);border:1.5px solid var(--panel-border);border-radius:12px;margin-top:24px;padding:22px 24px}.quick-export-title{color:var(--text);align-items:center;gap:10px;margin:0 0 6px;font-size:17px;font-weight:600;display:inline-flex}.quick-export-title svg{color:var(--muted)}.quick-export-subtitle{margin:0 0 16px;font-size:13.5px}.quick-export-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=900px){.quick-export-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}.quick-export-btn{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:13.5px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.quick-export-btn:hover{border-color:var(--muted)}.scheduled-reports-panel{margin-top:24px}.scheduled-reports-title{color:var(--text);align-items:center;gap:10px;margin:0 0 6px;font-size:17px;font-weight:600;display:inline-flex}.scheduled-reports-title svg{color:var(--success)}.scheduled-reports-subtitle{margin:0 0 16px;font-size:13.5px}.scheduled-report-row{background:var(--bg);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:14px 18px;display:flex}.scheduled-report-info{flex-direction:column;gap:4px;min-width:0;display:flex}.scheduled-report-info h4{color:var(--text);margin:0;font-size:15px;font-weight:600}.scheduled-report-info p{color:var(--muted);margin:0;font-size:13px}.scheduled-report-status{color:var(--success);border:1px solid var(--success);white-space:nowrap;background:0 0;border-radius:999px;padding:4px 14px;font-size:12.5px;font-weight:500}.scheduled-report-add{background:var(--panel);width:100%;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:12px 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.scheduled-report-add:hover{border-color:var(--muted)}.settings-tank-cycles{flex-direction:column;gap:12px;display:flex}.settings-tank-cycles-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-tank-cycles-header h3{margin:0;font-size:17px;font-weight:600}.settings-tank-cycles-header p{color:var(--muted);margin:4px 0 0;font-size:13px}.settings-tank-cycles-empty{text-align:center;background:var(--panel);border:1px dashed var(--panel-border);color:var(--muted);border-radius:10px;padding:16px;font-size:13px}.settings-tank-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;overflow:hidden}.settings-tank-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.settings-tank-row-name{color:var(--text);font-size:14px;font-weight:600}.settings-tank-row-meta{flex-direction:column;gap:2px;display:flex}.settings-tank-row-sub{color:var(--muted);font-size:12.5px}.settings-tank-row-cell{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px}.settings-tank-row-actions{gap:6px;display:inline-flex}.settings-tank-row-archived{color:var(--muted);background:#6b728024;border-radius:999px;margin-inline-start:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.settings-tank-form{flex-direction:column;gap:16px;display:flex}.settings-tank-form-row{grid-template-columns:160px 1fr;align-items:center;gap:12px;display:grid}@media (width<=600px){.settings-tank-form-row{grid-template-columns:1fr;gap:6px}}.settings-tank-form-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:600}.settings-tank-form-unit{text-transform:none;letter-spacing:normal;font-weight:500}.settings-tank-form-input{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:14px}.settings-tank-schedule-toggle{border:1px solid var(--panel-border);color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.settings-tank-schedule-toggle:hover{border-color:var(--accent);color:var(--accent)}.settings-tank-schedule-toggle.is-open{border-color:var(--accent);color:var(--accent);background:#3b82f60f}.settings-tank-schedule-editor{border-block-start:1px dashed var(--panel-border);background:#6b72800a;flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.settings-tank-schedule-hint{color:var(--muted);font-size:12.5px}.settings-tank-schedule-empty{text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--panel-border);border-radius:8px;padding:12px;font-size:13px}.settings-tank-schedule-time{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);font-variant-numeric:tabular-nums;border-radius:8px;width:110px;padding:6px 10px;font-size:13px}.settings-tank-schedule-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-tank-schedule-actions-end{gap:6px;display:inline-flex}.settings-tank-rule-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.settings-tank-rule{background:var(--panel);border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;box-shadow:0 1px 2px #0f172a0a}[data-theme=dark] .settings-tank-rule{border-color:var(--panel-border);box-shadow:none}.settings-tank-rule-row{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}@media (width<=720px){.settings-tank-rule-row{grid-template-columns:1fr auto;grid-template-areas:"days trash""time time"}.settings-tank-rule-row .settings-tank-day-pills{grid-area:days}.settings-tank-rule-row .settings-tank-rule-time-group{grid-area:time;justify-self:start}}.settings-tank-day-pills{background:#6b728014;border-radius:999px;gap:4px;padding:3px;display:inline-flex}.settings-tank-day-pill{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:background .15s,color .15s,transform .15s;display:inline-flex}.settings-tank-day-pill:hover:not(:disabled):not(.is-active){color:var(--accent);background:#3b82f61a}.settings-tank-day-pill.is-active{background:var(--accent);color:#fff;box-shadow:0 2px 6px #3b82f64d}.settings-tank-day-pill:disabled{opacity:.5;cursor:not-allowed}.settings-tank-rule-time-group{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.settings-tank-rule-at{color:var(--muted);font-size:12.5px}.settings-tank-rule-meta{border-top:1px dashed var(--panel-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.settings-tank-rule-summary{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.settings-tank-rule-presets{flex-wrap:wrap;gap:4px;display:inline-flex}.settings-tank-rule-presets button{border:1px solid var(--panel-border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:500;transition:border-color .15s,color .15s}.settings-tank-rule-presets button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.settings-tank-rule-presets button:disabled{opacity:.5;cursor:not-allowed}.kpi-value-sm{font-size:18px}.card-highlight{border:2px solid var(--accent)}.settings-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:16px;display:grid}@media (width<=900px){.settings-demo-grid{grid-template-columns:1fr}}.settings-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:6px;padding:22px 24px;display:flex}.settings-card-title{color:var(--text);align-items:center;gap:10px;margin:0 0 10px;font-size:17px;font-weight:600;display:inline-flex}.settings-card-title svg{color:var(--muted)}.settings-card-rows{flex-direction:column;gap:14px;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.settings-row-text{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-row-label{color:var(--text);font-size:14.5px;font-weight:600}.settings-row-value{color:var(--muted);font-size:13.5px}.settings-row-btn{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);cursor:pointer;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:500;transition:border-color .15s}.settings-row-btn:hover{border-color:var(--muted)}.settings-row-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:500}.settings-row-badge--success{color:var(--success);background:#10b9811f;border-color:#10b9814d}.settings-row-badge--accent{color:var(--accent);background:#3b82f61f;border-color:#3b82f64d}.settings-row-badge--muted{color:var(--muted);background:#6b72801f;border-color:#6b728047}.settings-full-btn{background:var(--panel);width:100%;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;margin-top:14px;padding:10px 16px;font-size:13.5px;font-weight:500;transition:border-color .15s;display:flex}.settings-full-btn:hover{border-color:var(--muted)}.switch-label{cursor:pointer;color:var(--muted);flex-direction:row;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.switch-text{align-items:center;gap:6px;display:inline-flex}.switch{background:var(--panel-border);cursor:pointer;border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .2s;display:inline-block;position:relative}.switch:after{content:"";top:3px;background:var(--text);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;inset-inline-start:3px}[data-theme=light] .switch:after{background:#fff}.switch-on{background:var(--accent)}.switch-on:after{transform:translate(18px)}[dir=rtl] .switch-on:after{transform:translate(-18px)}.multi-select{position:relative}.multi-select-trigger{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:8px 12px;transition:border-color .15s;display:flex}.multi-select-trigger:hover{border-color:var(--muted)}.multi-select-open{border-color:var(--accent)}.multi-select-disabled .multi-select-trigger{opacity:.4;cursor:not-allowed}.multi-select-values{flex-wrap:wrap;flex:1;gap:4px;min-width:0;display:flex}.multi-select-placeholder{color:var(--muted);font-size:14px}.multi-select-chip{color:var(--accent);white-space:nowrap;background:#3b82f626;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}[data-theme=dark] .multi-select-chip{color:#93c5fd}.multi-select-chip-remove{cursor:pointer;border-radius:2px;align-items:center;padding:1px;transition:background .15s;display:inline-flex}.multi-select-chip-remove:hover{background:#3b82f64d}.multi-select-arrow{color:var(--muted);flex-shrink:0;transition:transform .2s}.multi-select-arrow-up{transform:rotate(180deg)}.multi-select-dropdown{top:calc(100% + 4px);background:var(--panel);border:1px solid var(--panel-border);z-index:50;border-radius:6px;max-height:180px;position:absolute;inset-inline:0;overflow-y:auto;box-shadow:0 8px 24px #0003}[data-theme=light] .multi-select-dropdown{box-shadow:0 8px 24px #0000001a}.multi-select-option{cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:8px 12px;font-size:14px;transition:background .1s;display:flex}.multi-select-option:hover{background:#3b82f614}.multi-select-option-selected{background:#3b82f61a}.multi-select-option-selected:hover{background:#3b82f626}.multi-select-icon{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .15s;display:inline-flex}.multi-select-icon-add{color:var(--success);background:#10b9811f}.multi-select-icon-add:hover{background:#10b98140}.multi-select-icon-remove{color:var(--danger);background:#ef44441f}.multi-select-icon-remove:hover{background:#ef444440}.multi-select-empty{text-align:center;color:var(--muted);padding:12px;font-size:13px}.upload-progress{border-radius:6px;transition:background .15s}.upload-progress.expanded{background:#3b82f60a}.upload-progress .upload-progress-loading{color:var(--muted);flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.upload-progress .upload-progress-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:.5rem;padding:.625rem .75rem;transition:background .15s;display:flex}.upload-progress .upload-progress-header:hover{background:#ffffff0a}.upload-progress .upload-progress-header.expanded{background:#3b82f614}.upload-progress .upload-progress-header.expanded:hover{background:#3b82f61f}.upload-progress .upload-progress-header.static{cursor:default;-webkit-user-select:auto;user-select:auto}.upload-progress .upload-progress-header.static:hover{background:0 0}.upload-progress .upload-progress-header .status-icon{flex-shrink:0;width:18px;height:18px}.upload-progress .upload-progress-header .status-icon.success{color:var(--success)}.upload-progress .upload-progress-header .status-icon.error{color:var(--danger)}.upload-progress .upload-progress-header .status-icon.warning{color:var(--warning)}.upload-progress .upload-progress-header .status-icon.processing{color:var(--accent)}.upload-progress .upload-progress-header .header-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.upload-progress .upload-progress-header .header-info .header-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8125rem;font-weight:600;overflow:hidden}.upload-progress .upload-progress-header .header-info .header-subtitle{color:var(--muted);align-items:center;gap:.375rem;font-size:.6875rem;line-height:1;display:flex}.upload-progress .upload-progress-header .header-progress{background:#ffffff0f;border-radius:2px;flex-shrink:0;width:110px;height:4px;overflow:hidden}.upload-progress .upload-progress-header .header-progress .progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s ease-out}.upload-progress .upload-progress-header .header-progress .progress-fill.instant{transition:none}.upload-progress .upload-progress-header .header-progress .progress-fill.processing{background:linear-gradient(90deg, var(--accent), #60a5fa);background-size:200% 100%;animation:2s ease-in-out infinite shimmer}.upload-progress .upload-progress-header .header-progress .progress-fill.completed{background:var(--success)}.upload-progress .upload-progress-header .header-progress .progress-fill.failed{background:var(--danger)}.upload-progress .upload-progress-header .header-progress .progress-fill.partial{background:var(--warning)}.upload-progress .upload-progress-header .header-progress .progress-fill.pending{background:#3b82f666}.upload-progress .upload-progress-header .header-percentage{color:var(--muted);text-align:end;flex-shrink:0;min-width:28px;font-size:.6875rem;font-weight:600}.upload-progress .upload-progress-header .expand-icon{color:var(--muted);opacity:.6;flex-shrink:0;transition:transform .2s}.upload-progress .upload-progress-header .expand-icon.rotated{transform:rotate(180deg)}.upload-progress .upload-progress-detail{background:#3b82f60f;padding:0 .75rem .75rem}.upload-progress .upload-progress-detail .detail-stats{border-bottom:1px solid #ffffff0f;gap:.75rem;margin-bottom:.5rem;padding:.5rem 0;display:flex}.upload-progress .upload-progress-detail .detail-stats .detail-stat{color:var(--muted);font-size:.6875rem}.upload-progress .upload-progress-detail .detail-stats .detail-stat strong{color:var(--text);font-weight:600}.upload-progress .upload-progress-detail .detail-stats .detail-stat.success strong{color:var(--success)}.upload-progress .upload-progress-detail .detail-stats .detail-stat.error strong{color:var(--danger)}.upload-progress .upload-progress-detail .files-list{flex-direction:column;gap:1px;max-height:200px;display:flex;overflow-y:auto}.upload-progress .upload-progress-detail .files-list .file-row{border-radius:4px;align-items:center;gap:.5rem;padding:.375rem .25rem;transition:background .15s;display:flex}.upload-progress .upload-progress-detail .files-list .file-row:hover{background:#ffffff05}.upload-progress .upload-progress-detail .files-list .file-row .file-status-icon{flex-shrink:0}.upload-progress .upload-progress-detail .files-list .file-row .file-status-icon.success{color:var(--success)}.upload-progress .upload-progress-detail .files-list .file-row .file-status-icon.error{color:var(--danger)}.upload-progress .upload-progress-detail .files-list .file-row .file-status-icon.warning{color:var(--warning)}.upload-progress .upload-progress-detail .files-list .file-row .file-status-icon.info,.upload-progress .upload-progress-detail .files-list .file-row .file-status-icon.processing{color:var(--accent)}.upload-progress .upload-progress-detail .files-list .file-row .file-status-icon.pending{background:#ffffff14;border-radius:50%;width:14px;height:14px}.upload-progress .upload-progress-detail .files-list .file-row .file-name{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.75rem;overflow:hidden}.upload-progress .upload-progress-detail .files-list .file-row .file-farm{color:var(--accent);white-space:nowrap;background:#3b82f61a;border-radius:3px;flex-shrink:0;padding:.0625rem .3125rem;font-size:.5625rem;font-weight:500}.upload-progress .upload-progress-detail .files-list .file-row .file-ext{color:var(--muted);text-transform:uppercase;white-space:nowrap;letter-spacing:.03em;background:#ffffff0f;border-radius:3px;flex-shrink:0;padding:.0625rem .3125rem;font-size:.5625rem;font-weight:600}.upload-progress .upload-progress-detail .files-list .file-row .file-records{color:var(--muted);white-space:nowrap;font-size:.625rem}.upload-progress .upload-progress-detail .files-list .file-row .file-badge{text-transform:capitalize;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:.125rem .3125rem;font-size:.625rem;font-weight:500}.upload-progress .upload-progress-detail .files-list .file-row .file-badge.completed{color:var(--success);background:#10b9811a}.upload-progress .upload-progress-detail .files-list .file-row .file-badge.failed{color:var(--danger);background:#ef44441a}.upload-progress .upload-progress-detail .files-list .file-row .file-badge.skipped{color:var(--accent);background:#3b82f61a}.upload-progress .upload-progress-detail .files-list .file-row .file-badge.partial{color:var(--warning);text-transform:none;background:#f59e0b1a}.upload-progress .upload-progress-detail .files-list .file-row .file-badge.parsing,.upload-progress .upload-progress-detail .files-list .file-row .file-badge.uploading,.upload-progress .upload-progress-detail .files-list .file-row .file-badge.uploading_s3,.upload-progress .upload-progress-detail .files-list .file-row .file-badge.saving_db,.upload-progress .upload-progress-detail .files-list .file-row .file-badge.processing{color:var(--accent);background:#3b82f61a}.upload-progress .upload-progress-detail .files-list .file-row .file-badge.pending{color:var(--muted);background:#ffffff0a}.upload-progress .upload-progress-detail .files-list .file-row .file-download-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;padding:2px;transition:color .15s;display:flex}.upload-progress .upload-progress-detail .files-list .file-row .file-download-btn:hover:not(:disabled){color:var(--accent)}.upload-progress .upload-progress-detail .files-list .file-row .file-download-btn:disabled{cursor:default;opacity:.7;color:var(--accent)}.upload-progress .upload-progress-detail .error-banner{background:#ef444414;border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .625rem;display:flex}.upload-progress .upload-progress-detail .error-banner .error-text{color:var(--danger);align-items:center;gap:.375rem;font-size:.6875rem;font-weight:500;display:flex}.upload-progress .upload-progress-detail .error-banner .error-text svg{flex-shrink:0}.upload-progress .upload-progress-detail .error-banner .error-actions{gap:.375rem;display:flex}.upload-progress .upload-progress-detail .errors-section{border-top:1px solid #ffffff0f;margin-top:.75rem;padding-top:.75rem}.upload-progress .upload-progress-detail .errors-section .errors-section-header{justify-content:space-between;align-items:center;margin-bottom:.625rem;display:flex}.upload-progress .upload-progress-detail .errors-section .errors-section-title{color:var(--danger);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:flex}.upload-progress .upload-progress-detail .errors-section .errors-section-title svg{flex-shrink:0}.upload-progress .upload-progress-detail .errors-section .errors-section-actions{gap:.375rem;display:flex}.upload-progress .upload-progress-detail .errors-section .errors-reupload-hint{color:var(--muted);background:#3b82f60f;border-radius:4px;align-items:center;gap:.375rem;margin-bottom:.625rem;padding:.375rem .5rem;font-size:.75rem;display:flex}.upload-progress .upload-progress-detail .errors-section .errors-reupload-hint svg{color:var(--accent);flex-shrink:0}.upload-progress .upload-progress-detail .errors-section .errors-list{flex-direction:column;gap:.375rem;max-height:260px;display:flex;overflow-y:auto}.upload-progress .upload-progress-detail .errors-section .error-file-group{border-radius:6px;overflow:hidden}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ef44440f;border-radius:6px;align-items:center;gap:.375rem;padding:.5rem .625rem;transition:background .15s;display:flex}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-header:hover{background:#ef44441a}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-header.expanded{border-radius:6px 6px 0 0}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-header .error-file-toggle{color:var(--muted);flex-shrink:0;transition:transform .2s}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-header .error-file-toggle.rotated{transform:rotate(90deg)}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-header .error-file-icon{color:var(--danger);flex-shrink:0}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-header .error-file-name{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.75rem;font-weight:600;overflow:hidden}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-header .error-file-count{color:var(--danger);flex-shrink:0;font-size:.6875rem;font-weight:500}.upload-progress .upload-progress-detail .errors-section .error-file-group .error-file-errors{background:#ef444408;border-radius:0 0 6px 6px;flex-direction:column;gap:.25rem;max-height:300px;padding:.375rem;display:flex;overflow-y:auto}.upload-progress .upload-progress-detail .errors-section .error-item{border-inline-start:3px solid var(--danger);background:#ef44440f;border-radius:6px;padding:.625rem .75rem}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;margin-bottom:.5rem;display:flex}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta .error-detail{background:#ffffff0a;border-radius:3px;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.6875rem;display:flex}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta .error-detail-label{color:var(--muted)}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta .error-detail-label:after{content:":"}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta .error-detail-value{color:var(--text);font-weight:500}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta .error-severity{text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta .error-severity.error{color:var(--danger);background:#ef444426}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta .error-severity.warning{color:var(--warning);background:#f59e0b26}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-meta .error-severity.info{color:var(--accent);background:#3b82f626}.upload-progress .upload-progress-detail .errors-section .error-item .error-item-message{color:var(--muted);word-break:break-word;background:#0003;border-radius:4px;max-height:120px;padding:.5rem .625rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;line-height:1.5;overflow-y:auto}.upload-progress .upload-progress-detail .upload-progress-footer{border-top:1px solid #ffffff0f;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;display:flex}.upload-progress.detailed .upload-progress-header{padding:.75rem 1rem}.upload-progress.detailed .upload-progress-header .status-icon{width:22px;height:22px}.upload-progress.detailed .upload-progress-header .header-info{gap:.25rem}.upload-progress.detailed .upload-progress-header .header-info .header-title{font-size:.9375rem}.upload-progress.detailed .upload-progress-header .header-info .header-subtitle{font-size:.75rem}.upload-progress.detailed .upload-progress-header .header-progress{width:160px;height:6px}.upload-progress.detailed .upload-progress-header .header-percentage{min-width:32px;font-size:.75rem}.upload-progress.detailed .upload-progress-detail{padding:0 1rem 1rem}.upload-progress.detailed .upload-progress-detail .detail-stats{gap:1rem;padding:.625rem 0}.upload-progress.detailed .upload-progress-detail .detail-stats .detail-stat{font-size:.75rem}.upload-progress.detailed .upload-progress-detail .files-list{gap:2px;max-height:180px}.upload-progress.detailed .upload-progress-detail .files-list .file-row{gap:.625rem;padding:.5rem .375rem}.upload-progress.detailed .upload-progress-detail .files-list .file-row .file-name{font-size:.8125rem}.upload-progress.detailed .upload-progress-detail .files-list .file-row .file-farm{font-size:.625rem}.upload-progress.detailed .upload-progress-detail .files-list .file-row .file-ext{padding:.125rem .375rem;font-size:.625rem}.upload-progress.detailed .upload-progress-detail .files-list .file-row .file-records{font-size:.6875rem}.upload-progress.detailed .upload-progress-detail .files-list .file-row .file-badge{padding:.125rem .375rem;font-size:.6875rem}.upload-progress.detailed .upload-progress-detail .files-list .file-row .file-download-btn{padding:3px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-100% 0}to{background-position:200% 0}}.scr-file-list{flex-direction:column;gap:.625rem;margin-top:.5rem;display:flex}.scr-file-item{background:#7f7f7f0f;border-inline-start:3px solid #8b5cf680;border-radius:6px;padding:.5rem .625rem}.scr-file-head{align-items:baseline;gap:.5rem;margin-bottom:.375rem;display:flex}.scr-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:600;overflow:hidden}.scr-file-date{color:var(--muted);font-size:.6875rem}.scr-file-pct{color:var(--muted);margin-inline-start:auto;font-size:.6875rem;font-weight:600}.scr-file-bar{background:#7f7f7f2e;border-radius:2px;height:4px;margin-bottom:.5rem;overflow:hidden}.scr-file-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.scr-file-bar-fill.completed{background:var(--success)}.scr-file-bar-fill.failed{background:var(--danger)}.scr-csv-messages{flex-direction:column;gap:.25rem;max-height:150px;margin-top:.5rem;display:flex;overflow-y:auto}.scr-csv-warning-item{border-inline-start:3px solid var(--warning);color:var(--warning);background:#f59e0b14;border-radius:4px;padding:.375rem .625rem;font-size:.6875rem}.scr-csv-error-item{border-inline-start:3px solid var(--danger);color:var(--danger);background:#ef44440f;border-radius:4px;padding:.375rem .625rem;font-size:.6875rem}.scr-csv-actions{border-top:1px solid #7f7f7f1f;justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.upload-history-modal{flex-direction:column;height:70vh;display:flex}.upload-history-modal .batch-details-header{margin-bottom:1.5rem}.upload-history-modal .filter-bar{background:#ffffff08;border:1px solid #ffffff0d;border-radius:6px;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.upload-history-modal .filter-bar .filter-group{align-items:center;gap:.5rem;display:flex}.upload-history-modal .filter-bar .filter-label{color:var(--muted);white-space:nowrap;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}.upload-history-modal .filter-bar .filter-label svg{flex-shrink:0}.upload-history-modal .filter-bar .type-filter-select{min-width:180px}.upload-history-modal .filter-bar .filter-buttons{flex-wrap:wrap;gap:.375rem;display:flex}.upload-history-modal .filter-bar .filter-buttons .filter-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff1a;border-radius:6px;padding:.375rem .625rem;font-size:.8125rem;font-weight:500;transition:all .2s}.upload-history-modal .filter-bar .filter-buttons .filter-btn:hover{background:#ffffff0d;border-color:#fff3}.upload-history-modal .filter-bar .filter-buttons .filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.upload-history-modal .loading-state,.upload-history-modal .empty-state{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:3rem;font-size:.875rem;display:flex}.upload-history-modal .batch-list{flex:1;margin-bottom:1rem;overflow-y:auto}.upload-history-modal .batch-list .batch-table{border-collapse:collapse;width:100%}.upload-history-modal .batch-list .batch-table thead{background:var(--panel);z-index:1;position:sticky;top:0}.upload-history-modal .batch-list .batch-table thead th{text-align:start;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #ffffff1a;padding:.75rem;font-size:.75rem;font-weight:600}.upload-history-modal .batch-list .batch-table tbody tr{border-bottom:1px solid #ffffff0d;transition:background .2s}.upload-history-modal .batch-list .batch-table tbody tr:hover{background:#ffffff08}.upload-history-modal .batch-list .batch-table tbody tr td{color:var(--text);padding:.75rem;font-size:.875rem}.upload-history-modal .batch-list .batch-table tbody tr td.success-cell{color:var(--success);font-weight:600}.upload-history-modal .batch-list .batch-table tbody tr td.error-cell{color:var(--danger);font-weight:600}.upload-history-modal .status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.upload-history-modal .status-badge.success{color:var(--success);background:#10b9811a}.upload-history-modal .status-badge.error{color:var(--danger);background:#ef44441a}.upload-history-modal .status-badge.warning{color:var(--warning);background:#f59e0b1a}.upload-history-modal .status-badge.processing{color:var(--accent);background:#3b82f61a}.upload-history-modal .status-badge.pending{color:var(--muted);background:#ffffff0d}.upload-history-modal .pagination{border-top:1px solid #ffffff1a;justify-content:center;align-items:center;gap:1rem;padding-top:1rem;display:flex}.upload-history-modal .pagination .pagination-info{color:var(--muted);white-space:nowrap;font-size:.875rem}@media (width<=768px){.upload-history-modal .filter-bar{flex-direction:column;align-items:flex-start}.upload-history-modal .filter-bar .filter-buttons{width:100%}.upload-history-modal .filter-bar .filter-buttons .filter-btn{flex:1}.upload-history-modal .batch-list .batch-table{font-size:.75rem}.upload-history-modal .batch-list .batch-table th,.upload-history-modal .batch-list .batch-table td{padding:.5rem}.upload-history-modal .batch-list .batch-table th:nth-child(6),.upload-history-modal .batch-list .batch-table td:nth-child(6){display:none}}.tz-select{position:relative}.tz-select-trigger{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;color:var(--text);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;transition:border-color .15s;display:flex}.tz-select-trigger:hover{border-color:var(--muted)}.tz-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tz-select-arrow{color:var(--muted);flex-shrink:0;transition:transform .2s}.tz-select-arrow-up{transform:rotate(180deg)}.tz-select-dropdown{top:calc(100% + 4px);background:var(--panel);border:1px solid var(--panel-border);z-index:50;border-radius:6px;position:absolute;inset-inline:0;box-shadow:0 8px 24px #0003}[data-theme=light] .tz-select-dropdown{box-shadow:0 8px 24px #0000001a}.tz-select-search{border-bottom:1px solid var(--panel-border);color:var(--muted);align-items:center;gap:8px;padding:8px 12px;display:flex}.tz-select-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:13px}.tz-select-search input::placeholder{color:var(--muted)}.tz-select-options{max-height:200px;overflow-y:auto}.tz-select-option{cursor:pointer;width:100%;color:var(--text);text-align:start;background:0 0;border:none;padding:8px 12px;font-size:13px;transition:background .1s;display:block}.tz-select-option:hover{background:#3b82f614}.tz-select-option.active{background:#3b82f61f;font-weight:500}.tz-select-empty{text-align:center;color:var(--muted);padding:12px;font-size:13px}.csv-selected-file{border:1px solid var(--panel-border);background:var(--bg);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}[data-theme=light] .csv-selected-file{background:#f9fafb}.csv-file-clear{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.csv-file-clear:hover{color:var(--danger);background:#ef44441a}.herd-csv-duplicates{color:var(--warning);background:#f59e0b14;border-radius:4px;align-items:flex-start;gap:.375rem;margin-top:.5rem;padding:.5rem .625rem;font-size:.6875rem;display:flex}.herd-csv-duplicates svg{flex-shrink:0;margin-top:1px}.herd-csv-errors{flex-direction:column;gap:.25rem;max-height:150px;margin-top:.5rem;display:flex;overflow-y:auto}.herd-csv-errors .herd-csv-error-item{border-inline-start:3px solid var(--danger);color:var(--danger);background:#ef44440f;border-radius:4px;padding:.375rem .625rem;font-size:.6875rem}.herd-csv-actions{border-top:1px solid #ffffff0f;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;display:flex}.gr-cell{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-wrap:wrap;gap:4px;padding:0;transition:opacity .12s;display:inline-flex}.gr-cell:hover{opacity:.8}.gr-chip{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:3px;align-items:center;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.gr-chip.gr-chip-fat{color:var(--warning);background:#fbbf241f}.gr-chip.gr-chip-protein{color:var(--accent);background:#3b82f61f}.gr-chip.gr-chip-scc{color:var(--danger);background:#ef44441f}.gr-chip.gr-chip-milk_amount{color:var(--success);background:#10b9811f}.gr-matrix{border-collapse:collapse;width:100%;margin-top:4px}.gr-matrix th{text-align:start;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:8px 12px;font-size:12px;font-weight:600}.gr-matrix th:not(:first-child){text-align:center}.gr-matrix td{padding:8px 12px}.gr-matrix td:not(:first-child){text-align:center}.gr-matrix tbody tr:not(:last-child) td{border-bottom:1px solid var(--border-light,#ffffff0a)}.gr-matrix-label{white-space:nowrap;align-items:center;gap:8px;font-weight:500;display:inline-flex}.gr-analyte-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.gr-analyte-dot.gr-analyte-fat{background:var(--warning)}.gr-analyte-dot.gr-analyte-protein{background:var(--accent)}.gr-analyte-dot.gr-analyte-scc{background:var(--danger)}.gr-analyte-dot.gr-analyte-milk_amount{background:var(--success)}.gr-matrix-input{text-align:center;width:100%;max-width:120px;margin:0 auto}.gr-matrix-th-action{width:36px}.gr-matrix-td-action{text-align:center;width:36px}.gr-row-clear{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.gr-row-clear:hover:not(:disabled){color:var(--danger);background:#ef44441a}.gr-row-clear:disabled{opacity:.25;cursor:default;pointer-events:none}.gr-bulk-warning{margin-top:12px;font-size:12px}.copyable-field{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.copyable-field.mono .copyable-field-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.copyable-field.truncate .copyable-field-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.copyable-field-value{color:var(--text);min-width:0}.gp-loading{justify-content:center;padding:3rem 0;display:flex}.gp-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.gp-header-info{color:var(--muted);align-items:center;gap:8px;display:flex}.gp-header-icon{opacity:.6}.gp-header-count{font-size:13px;font-weight:500}.gp-empty{color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:3rem 0;display:flex}.gp-empty .gp-empty-icon{opacity:.3;margin-bottom:4px;font-size:32px}.gp-empty p{margin:0;font-size:14px;font-weight:500}.gp-empty-hint{opacity:.7;font-size:13px!important;font-weight:400!important}.gp-list{flex-direction:column;gap:6px;display:flex}.gp-card{border:1px solid var(--panel-border);border-radius:8px;padding:12px 16px;transition:border-color .15s,background .15s}.gp-card:hover{border-color:#3b82f633}.gp-card--new{background:#3b82f60a;border-style:dashed;border-color:#3b82f626}.gp-card--busy{opacity:.7}.gp-card-main{align-items:center;gap:16px;display:flex}.gp-card-name{flex:1;min-width:0}.gp-name-input{width:100%;color:var(--text);text-overflow:ellipsis;background:0 0;border:none;outline:none;padding:0;font-size:14px;font-weight:500}.gp-name-input::placeholder{color:var(--muted);opacity:.5;font-weight:400}.gp-name-input:disabled{opacity:.5}.gp-card-error{color:var(--danger);margin-top:4px;font-size:11px}.gp-card-meta{flex-shrink:0;align-items:center;gap:16px;display:flex}.gp-cow-badge{font-variant-numeric:tabular-nums;color:var(--text);background:#3b82f614;border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex}.gp-cow-badge .cow-icon{font-size:12px;line-height:1}.gp-toggle-wrap{align-items:center;gap:8px;display:inline-flex}.gp-toggle-wrap.gp-toggle--protected{cursor:not-allowed;position:relative}.gp-toggle-wrap.gp-toggle--protected .gp-toggle{opacity:.4;cursor:not-allowed}.gp-toggle-wrap[data-tooltip]{position:relative}.gp-toggle-wrap[data-tooltip]:after{content:attr(data-tooltip);bottom:calc(100% + 6px);background:var(--panel);border:1px solid var(--panel-border);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;z-index:10;border-radius:4px;padding:4px 8px;font-size:11px;transition:opacity .15s;position:absolute;inset-inline-start:50%;transform:translate(-50%)}.gp-toggle-wrap[data-tooltip]:hover:after{opacity:1}.gp-toggle{background:var(--muted);opacity:.35;cursor:pointer;border-radius:10px;width:36px;height:20px;transition:background .2s,opacity .2s;display:inline-block;position:relative}.gp-toggle:after{content:"";top:2px;background:#fff;border-radius:50%;width:16px;height:16px;transition:inset-inline-start .2s;position:absolute;inset-inline-start:2px}.gp-toggle--on{background:var(--success);opacity:1}.gp-toggle--on:after{inset-inline-start:18px}.gp-toggle--disabled{opacity:.3;cursor:default;pointer-events:none}.gp-toggle-label{color:var(--success);min-width:52px;font-size:13px;font-weight:500}.gp-toggle-label--off{color:var(--muted)}.gp-card-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.gp-action-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,color .15s;display:inline-flex}.gp-action-btn--save{color:var(--success)}.gp-action-btn--save:hover:not(:disabled){background:#10b9811f}.gp-action-btn--delete{color:var(--muted)}.gp-action-btn--delete:hover:not(:disabled){color:var(--danger);background:#ef44441a}.gp-action-btn:disabled{opacity:.2;cursor:default;pointer-events:none}.sp-loading{justify-content:center;padding:3rem 0;display:flex}.sp-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.sp-header-info{color:var(--muted);align-items:center;gap:8px;display:flex}.sp-header-icon{opacity:.6}.sp-header-count{font-size:13px;font-weight:500}.sp-empty{color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:3rem 0;display:flex}.sp-empty svg{opacity:.3;margin-bottom:4px}.sp-empty p{margin:0;font-size:14px;font-weight:500}.sp-empty-hint{opacity:.7;font-size:13px!important;font-weight:400!important}.sp-sections{flex-direction:column;gap:20px;display:flex}.sp-section{border:1px solid var(--panel-border);background:#3b82f605;border-radius:10px;padding:14px 16px}.sp-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.sp-section-title-group{align-items:center;gap:8px;min-width:0;display:flex}.sp-section-icon{color:var(--accent);opacity:.8;flex-shrink:0}.sp-section-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.sp-section-count{color:var(--muted);background:#7878781a;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.sp-section-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.sp-section-empty{text-align:center;color:var(--muted);border:1px dashed var(--panel-border);border-radius:8px;padding:16px;font-size:13px}.sp-readonly-field{border:1px solid var(--panel-border);color:var(--text);background:#7878780d;border-radius:6px;padding:8px 12px;font-size:14px}.sp-list{flex-direction:column;gap:6px;display:flex}.sp-card{border:1px solid var(--panel-border);border-radius:8px;padding:12px 16px;transition:border-color .15s,background .15s}.sp-card:hover{border-color:#3b82f633}.sp-card--busy{opacity:.7}.sp-card-main{align-items:center;gap:16px;display:flex}.sp-card-name{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sp-station-icon{color:var(--accent);opacity:.7;flex-shrink:0}.sp-name-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.sp-position-badge{color:var(--accent);font-variant-numeric:tabular-nums;background:#3b82f61f;border-radius:10px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.sp-card-error{color:var(--danger);margin-top:4px;font-size:11px}.sp-card-meta{flex-shrink:0;grid-template-columns:160px 120px 24px auto;place-items:center;gap:12px;display:grid}.sp-device-badge{color:var(--text);white-space:nowrap;text-overflow:ellipsis;background:#3b82f614;border-radius:12px;justify-content:center;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex;overflow:hidden}.sp-device-badge svg{opacity:.6;flex-shrink:0}.sp-device-badge--none{color:var(--muted);opacity:.6}.sp-session-badge{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;background:#10b98114;border-radius:12px;justify-content:center;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex}.sp-session-badge svg{opacity:.6;flex-shrink:0}.sp-toggle-wrap{align-items:center;gap:8px;display:inline-flex}.sp-toggle{background:var(--muted);opacity:.35;cursor:pointer;border-radius:10px;width:36px;height:20px;transition:background .2s,opacity .2s;display:inline-block;position:relative}.sp-toggle:after{content:"";top:2px;background:#fff;border-radius:50%;width:16px;height:16px;transition:inset-inline-start .2s;position:absolute;inset-inline-start:2px}.sp-toggle--on{background:var(--success);opacity:1}.sp-toggle--on:after{inset-inline-start:18px}.sp-toggle--disabled{opacity:.3;cursor:default;pointer-events:none}.sp-toggle-label{color:var(--success);min-width:52px;font-size:13px;font-weight:500}.sp-toggle-label--off{color:var(--muted)}.sp-card-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.sp-action-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,color .15s;display:inline-flex}.sp-action-btn--edit{color:var(--accent)}.sp-action-btn--edit:hover:not(:disabled){background:#3b82f61f}.sp-action-btn--delete{color:var(--muted)}.sp-action-btn--delete:hover:not(:disabled){color:var(--danger);background:#ef44441a}.sp-action-btn:disabled{opacity:.2;cursor:default;pointer-events:none}.toggle-group{border:1px solid var(--panel-border);border-radius:8px;display:flex;overflow:hidden}.toggle-group-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:8px 20px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.toggle-group-btn:hover:not(.active){background:var(--panel-border)}.toggle-group-btn.active{background:var(--accent);color:#fff}.pp-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.pp-header-info{color:var(--muted);align-items:center;gap:8px;display:flex}.pp-header-icon{opacity:.6}.pp-header-label{font-size:13px;font-weight:500}.pp-header-controls{align-items:center;gap:16px;display:flex}.pp-header-controls .switch-label{white-space:nowrap;font-size:13px}.pp-header-unit{align-items:center;gap:8px;display:flex}.pp-unit-label{color:var(--muted);font-size:13px}.pp-pagination-row{align-items:center;gap:8px;display:flex}.pp-pagination-row .pagination{flex:1}.pp-date-picker-btn{border:1px solid var(--panel-border);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s,background .15s;display:inline-flex;position:relative}.pp-date-picker-btn:hover{border-color:var(--accent);color:var(--accent);background:#3b82f60f}.pp-date-picker-hidden{opacity:0;cursor:pointer;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pp-loading{justify-content:center;padding:3rem 0;display:flex}.pp-list-wrap{min-height:480px;position:relative}.pp-list{flex-direction:column;gap:4px;display:flex}.pp-empty{text-align:center;color:var(--muted);padding:2rem 0;font-size:13px}.pp-row{border:1px solid var(--panel-border);border-radius:8px;align-items:center;gap:16px;padding:10px 16px;transition:border-color .15s,background .15s;display:flex}.pp-row:hover{border-color:#3b82f633}.pp-row--placeholder{opacity:.55}.pp-row--placeholder:hover{opacity:.8}.pp-row--saving{opacity:.6}.pp-row--highlight{border-color:var(--accent);opacity:1;background:#3b82f60f;animation:10s forwards ppHighlightFade}@keyframes ppHighlightFade{0%,70%{border-color:var(--accent);background:#3b82f60f}to{border-color:var(--panel-border);background:0 0}}.pp-row-date{flex-shrink:0;align-items:baseline;gap:8px;min-width:150px;display:flex}.pp-date-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:14px;font-weight:500}.pp-date-day{color:var(--muted);font-size:12px;font-weight:400}.pp-row-price{flex:1;align-items:center;gap:6px;max-width:240px;display:flex}.pp-info-icon{color:var(--muted);cursor:help;flex-shrink:0;line-height:0}.pp-info-icon:after{padding:10px 14px}.pp-input-wrap{border:1px solid var(--panel-border);background:var(--bg);border-radius:6px;flex:1;align-items:center;transition:border-color .15s;display:flex}.pp-input-wrap:focus-within{border-color:var(--accent)}.pp-input-prefix{color:var(--muted);-webkit-user-select:none;user-select:none;padding-inline-start:10px;font-size:14px;font-weight:500}.pp-input{width:100%;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;padding:7px 10px 7px 4px;font-family:inherit;font-size:14px}.pp-input::placeholder{color:var(--muted);opacity:.5}.pp-input:disabled{opacity:.5}.pp-row-action{flex-shrink:0}.pp-save-btn{width:36px;height:36px;color:var(--success);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.pp-save-btn:hover:not(:disabled){background:#10b9811f}.pp-save-btn:disabled{opacity:.2;cursor:default;pointer-events:none}.fleet-panel{flex-direction:column;gap:24px;display:flex}.fleet-loading{justify-content:center;align-items:center;padding:4rem 0;display:flex}.fleet-section{flex-direction:column;gap:14px;display:flex}.fleet-section+.fleet-section{border-top:1px solid var(--panel-border);padding-top:24px}.fleet-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.fleet-section-header h3{margin:0;font-size:16px;font-weight:600}.fleet-empty{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.fleet-empty p{margin:0;font-size:14px}.fleet-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;display:grid}@media (width<=600px){.fleet-info-grid{grid-template-columns:1fr}}.fleet-info-item{align-items:flex-start;gap:10px;min-width:0;display:flex}.fleet-info-item--span2{grid-column:span 2}@media (width<=600px){.fleet-info-item--span2{grid-column:span 1}}.fleet-info-icon{width:26px;height:26px;color:var(--accent);background:#3b82f614;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.fleet-info-text{flex-direction:column;min-width:0;display:flex}.fleet-info-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:500;line-height:1.2}.fleet-info-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;line-height:1.3;overflow:hidden}.fleet-info-value-sm{opacity:.8;word-break:break-all;white-space:normal;font-family:monospace;font-size:11px;font-weight:400}.fleet-thing-groups{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.fleet-thing-chip{color:var(--text);background:#3b82f61a;border-radius:10px;align-items:center;padding:3px 10px;font-family:monospace;font-size:12px;font-weight:500;display:inline-flex}.fleet-actions-row{flex-wrap:wrap;gap:8px;display:flex}.fleet-deploy-help{margin:0;font-size:14px}.fleet-warning{color:var(--danger);align-items:center;gap:6px;margin:8px 0 0;font-size:13px;font-weight:500;display:inline-flex}.fleet-json-editor{resize:vertical;width:100%;min-height:180px;font-family:monospace;font-size:13px;line-height:1.5}.fleet-help-text{color:var(--muted);margin:6px 0 0;font-size:12px}.fleet-help-text code{color:var(--text);background:#3b82f61a;border-radius:4px;padding:1px 5px;font-size:11px}.fleet-setup-list{margin:8px 0;padding-inline-start:20px;font-size:14px;line-height:1.6}.fleet-setup-list code{color:var(--text);background:#3b82f61a;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:12px}.deployments-tab{flex-direction:column;gap:16px;display:flex}.deployments-tab-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.deployments-tab-title-block{flex-direction:column;gap:2px;display:flex}.deployments-tab-title-block h4{color:var(--text);margin:0;font-size:14px;font-weight:600}.deployments-tab-title-block p{color:var(--muted);margin:0;font-size:12.5px}.deployments-tab-actions{align-items:stretch;gap:8px;display:flex}.deployments-list{flex-direction:column;gap:10px;display:flex}.deployments-empty{text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--panel-border);border-radius:10px;padding:32px 16px;font-size:13px}.deployments-empty svg{vertical-align:middle;margin-inline-end:6px}.deployments-row{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.deployments-row-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.deployments-row-time{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.deployments-row-scope-hint{color:var(--muted);font-size:12px}.deployments-row-tag{border:1px solid #0000;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.deployments-row-tag.deployments-row-tag--direct{color:#047857;background:#10b9811a;border-color:#10b98140}[data-theme=dark] .deployments-row-tag.deployments-row-tag--direct{color:#34d399}.deployments-row-tag.deployments-row-tag--farm{color:#4338ca;background:#6366f11a;border-color:#6366f140}[data-theme=dark] .deployments-row-tag.deployments-row-tag--farm{color:#a5b4fc}.deployments-row-tag.deployments-row-tag--per-device{color:#6d28d9;background:#a855f71a;border-color:#a855f740}[data-theme=dark] .deployments-row-tag.deployments-row-tag--per-device{color:#c084fc}.deployments-row-components{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.deployments-row-components li{align-items:center;gap:8px;font-size:13px;display:flex}.deployments-row-component-name{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.deployments-row-component-arrow{color:var(--muted)}.deployments-row-component-version{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.deployments-row-empty{color:var(--muted);font-size:12.5px;font-style:italic}.deployments-row-footer{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.deployments-row-footer:empty{display:none}.deployments-row-footer code{color:var(--text);background:#94a3b81f;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.deployments-row-error{color:var(--danger);word-break:break-word}.deployments-status-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.deployments-status-badge svg{flex-shrink:0}.deployments-status-badge.deployments-status-badge--pending{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f64d}[data-theme=dark] .deployments-status-badge.deployments-status-badge--pending{color:#60a5fa}.deployments-status-badge.deployments-status-badge--completed{color:#047857;background:#10b9811f;border-color:#10b9814d}[data-theme=dark] .deployments-status-badge.deployments-status-badge--completed{color:#34d399}.deployments-status-badge.deployments-status-badge--failed{color:#b91c1c;background:#ef44441f;border-color:#ef44444d}[data-theme=dark] .deployments-status-badge.deployments-status-badge--failed{color:#f87171}.deployments-status-badge.deployments-status-badge--timeout{color:#b45309;background:#f59e0b1f;border-color:#f59e0b4d}[data-theme=dark] .deployments-status-badge.deployments-status-badge--timeout{color:#fbbf24}.deploy-modal-components{flex-direction:column;gap:8px;margin-top:4px;display:flex}.deploy-modal-components-header{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.deploy-modal-components-header>span:first-child{color:var(--text);font-size:13px;font-weight:500}.deploy-modal-components-header>span:last-child{font-size:12px}.deploy-modal-component-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.deploy-modal-component-row .select{min-width:0}.deploy-modal-component-row .select-label{width:100%}.deploy-modal-component-version-status{border:1px solid var(--panel-border);background:var(--panel);color:var(--muted);border-radius:6px;align-items:center;gap:6px;min-width:0;padding:8px 10px;font-size:12.5px;display:inline-flex}.deploy-modal-component-version-status.deploy-modal-component-version-status--error{color:var(--danger);background:#ef44440d;border-color:#ef444459}.deploy-modal-component-version-retry{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-inline-start:2px;padding:0;font-size:12.5px;font-weight:600;text-decoration:underline}.deploy-modal-component-version-retry:disabled{opacity:.5;cursor:not-allowed}.deploy-modal-component-locked{border:1px solid var(--panel-border);min-width:0;color:var(--text);background:#94a3b814;border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:500;display:inline-flex}.deploy-modal-component-locked svg{color:var(--muted);flex-shrink:0}.deploy-modal-component-locked span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deploy-modal-component-remove{border:1px solid var(--panel-border);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.deploy-modal-component-remove:hover:not(:disabled){color:var(--danger);background:#ef44440f;border-color:#ef444466}.deploy-modal-component-remove:disabled{cursor:not-allowed;opacity:.4}.farm-page{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.farm-loading{justify-content:center;align-items:center;padding:4rem 0;display:flex}.farm-error{color:var(--muted);flex-direction:column;align-items:center;gap:16px;padding:4rem 0;display:flex}.farm-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.farm-header .action-btn{padding:10px 8px}.farm-title-block{flex:1;min-width:0}.farm-title-row{align-items:center;gap:10px;display:flex}.farm-title-row h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;margin:0;font-size:26px;font-weight:700;display:inline-flex;overflow:hidden}.farm-title-icon{color:var(--accent);flex-shrink:0}.farm-subtitle{color:var(--muted);margin:2px 0 0;font-size:14px;font-weight:400}.farm-edit-link{color:var(--accent);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;margin-inline-start:auto;padding:0;font-size:13px;font-weight:500;transition:opacity .15s;display:inline-flex}.farm-edit-link:hover{opacity:.8}.farm-details-grid{grid-template-columns:repeat(4,1fr);gap:18px 20px;display:grid}@media (width<=900px){.farm-details-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.farm-details-grid{grid-template-columns:repeat(2,1fr)}}.farm-detail-item{align-items:center;gap:8px;display:flex}.farm-detail-icon{width:26px;height:26px;color:var(--accent);background:#3b82f614;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.farm-detail-icon--cow .cow-icon{font-size:14px;line-height:1}.farm-detail-text{flex-direction:column;min-width:0;display:flex}.farm-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:500;line-height:1.2}.farm-detail-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;line-height:1.3;overflow:hidden}.farm-detail-value-sm{opacity:.7;font-family:monospace;font-size:11px}.farm-detail-item--sections{grid-column:span 2;align-items:flex-start}.farm-section-chips{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.farm-section-chip{color:var(--text);background:#3b82f61a;border-radius:10px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.farm-tab-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;margin-top:16px;padding:20px 24px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .farm-tab-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.farm-tab-actions{border-top:1px solid var(--panel-border);justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;padding-top:16px;display:flex}.station-select-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.station-select-title{color:var(--text);font-size:14px;font-weight:500}.station-select-actions{align-items:center;gap:4px;display:flex;overflow:visible}.station-select-actions .tooltip:after{white-space:nowrap;inset-inline:auto 0;transform:translateY(4px)}[dir=rtl] .station-select-actions .tooltip:after{inset-inline:0 auto}.station-select-actions .tooltip:hover:after{transform:translateY(0)}.station-select-actions .tooltip:before{inset-inline:auto 8px;transform:none}.station-select-icon-btn{border:1px solid var(--panel-border);width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.station-select-icon-btn:hover:not(:disabled){color:var(--accent);background:#3b82f61a;border-color:#3b82f64d}.station-select-icon-btn:disabled{opacity:.4;cursor:default;pointer-events:none}.station-select{position:relative}.station-select-input{border:1px solid var(--panel-border);background:0 0;border-radius:6px;align-items:center;gap:6px;height:36px;padding:0 12px;display:flex}.station-select-input.disabled{opacity:.5;cursor:not-allowed}.station-select-input input{color:var(--text);background:0 0;border:none;outline:none;width:100%;min-width:0;font-size:14px}.station-select-input input::placeholder{color:var(--muted)}.station-select-input input:disabled{cursor:not-allowed}.station-select-clear{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.station-select-clear:hover{color:var(--text)}.station-select-chevron{color:var(--muted);flex-shrink:0;transition:transform .2s}.station-select-chevron.open{transform:rotate(180deg)}.station-select-dropdown{top:calc(100% + 4px);background:var(--panel);border:1px solid var(--panel-border);z-index:50;border-radius:6px;max-height:220px;padding:4px;position:absolute;inset-inline:0;overflow-y:auto;box-shadow:0 8px 24px #0003}[data-theme=light] .station-select-dropdown{box-shadow:0 8px 24px #0000001a}.station-select-option{cursor:pointer;width:100%;color:var(--text);text-align:start;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:background .1s;display:flex}.station-select-option:hover:not(:disabled){background:#3b82f614}.station-select-option.active{background:#3b82f61f;font-weight:500}.station-select-option.occupied{opacity:.5;cursor:default}.station-select-option.occupied:hover{background:0 0}.station-select-option--create{color:var(--accent);border-bottom:1px solid var(--panel-border);border-radius:4px 4px 0 0;margin-bottom:2px;font-weight:500}.station-select-option-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-select-option-device{color:var(--muted);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:11px;display:inline-flex}.station-select-option-section{color:var(--muted);margin-inline-end:4px;font-size:12px}.station-select-empty{text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:6px;padding:12px;font-size:13px;display:flex}.table td:has(.device-name-cell){text-align:start}.device-name-cell{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.device-name-cell--stacked{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.devices-filter-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .devices-filter-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.devices-filter-selects{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.devices-filter-selects .search-input{width:225px}.devices-filter-end{flex-shrink:0;align-items:center;gap:10px;display:flex}.devices-total-count{color:var(--accent);font-size:14px;font-weight:500}.badge.auto-provisioned-pill{color:#a855f7;text-transform:uppercase;letter-spacing:.04em;background:#a855f726;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}[data-theme=dark] .badge.auto-provisioned-pill{color:#c084fc;background:#a855f733}.device-detail-page{flex-direction:column;display:flex}.device-detail-identity{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;margin-bottom:16px;padding:16px 20px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .device-detail-identity{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.device-identity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 20px;display:grid}@media (width<=1100px){.device-identity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=800px){.device-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.device-identity-item{align-items:flex-start;gap:8px;min-width:0;display:flex}.device-identity-icon{width:26px;height:26px;color:var(--accent);background:#3b82f614;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.device-identity-text{flex-direction:column;flex:1;min-width:0;display:flex}.device-identity-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:500;line-height:1.2}.device-identity-value{color:var(--text);word-break:break-word;flex-wrap:wrap;align-items:center;gap:4px;font-size:14px;font-weight:500;line-height:1.35;display:inline-flex}.device-detail-tabs-row{margin-bottom:16px}.device-detail-tab-body{flex-direction:column;gap:16px;display:flex}.device-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.device-header .action-btn{padding:10px 8px}.device-header-title-block{flex:1;min-width:0}.device-header-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.device-header-title-row h1{letter-spacing:-.01em;align-items:center;gap:8px;min-height:34px;margin:0;font-size:26px;font-weight:700;display:inline-flex}.device-header-subtitle-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.device-header-subtitle{color:var(--muted);margin:0;font-size:14px;font-weight:400}.device-header-subtitle-placeholder{min-height:14px;display:inline-block}.device-header-edit-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:500;transition:opacity .15s;display:inline-flex}.device-header-edit-link:hover{opacity:.8}.device-header-actions{align-items:stretch;gap:8px;margin-inline-start:auto;display:flex}.device-header-actions .btn.small{min-height:32px}.device-header-reboot-icon{color:#b45309;display:inline-flex}[data-theme=dark] .device-header-reboot-icon{color:#fbbf24}.active-session-badge{cursor:pointer;align-items:center;gap:6px;padding:3px 8px;text-decoration:none;transition:opacity .15s,transform .15s;display:inline-flex}.active-session-badge:hover{opacity:.85;transform:translateY(-1px)}.active-session-badge svg{flex-shrink:0}.active-session-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite active-session-pulse}@keyframes active-session-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.device-status-pill{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.device-status-pill--small{padding:2px 8px 2px 6px;font-size:11px}.device-status-pill-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.device-status-pill--online{color:#047857;background:#10b9811f;border-color:#10b9814d}.device-status-pill--online .device-status-pill-dot{background:#10b981;animation:1.6s infinite device-status-pulse;box-shadow:0 0 0 3px #10b9812e}[data-theme=dark] .device-status-pill--online{color:#6ee7b7}.device-status-pill--offline{color:#b45309;background:#f59e0b1a;border-color:#f59e0b4d}.device-status-pill--offline .device-status-pill-dot{background:#f59e0b}[data-theme=dark] .device-status-pill--offline{color:#fcd34d}.device-status-pill--never_connected{color:var(--muted);border-color:var(--panel-border);background:#94a3b824}.device-status-pill--never_connected .device-status-pill-dot{background:#94a3b8}@keyframes device-status-pulse{0%,to{box-shadow:0 0 0 3px #10b9812e}50%{box-shadow:0 0 0 5px #10b98100}}.provisioning-banner{border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:16px;padding:14px 18px;display:flex}.provisioning-banner--warning{color:#92400e;background:#f59e0b14;border-color:#f59e0b4d}[data-theme=dark] .provisioning-banner--warning{color:#fcd34d;background:#f59e0b1f}.provisioning-banner--warning .provisioning-banner-icon{color:#b45309}[data-theme=dark] .provisioning-banner--warning .provisioning-banner-icon{color:#fbbf24}.provisioning-banner--info{color:var(--text);background:#3b82f60f;border-color:#3b82f64d}.provisioning-banner--info .provisioning-banner-icon{color:var(--accent)}.provisioning-banner-icon{background:#ffffff80;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}[data-theme=dark] .provisioning-banner-icon{background:#0f172a66}.provisioning-banner-body{flex:1;min-width:0}.provisioning-banner-title{margin-bottom:3px;font-size:14px;font-weight:700}.provisioning-banner-text{color:var(--text);opacity:.85;font-size:13px;line-height:1.5}.provisioning-banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.json-viewer{background:var(--code-bg,#0f172a0a);border:1px solid var(--panel-border);border-radius:8px;max-height:480px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;line-height:1.55;position:relative;overflow:auto}[data-theme=dark] .json-viewer{background:#0f172a80}.json-viewer-body{color:var(--text);padding:12px 14px}.json-viewer-empty{color:var(--muted);font-style:italic;font-family:var(--font-sans,system-ui, sans-serif);padding:4px 0;display:block}.json-viewer-copy{background:var(--panel);border:1px solid var(--panel-border);width:26px;height:26px;color:var(--muted);cursor:pointer;z-index:1;float:inline-end;border-radius:6px;justify-content:center;align-items:center;margin-inline-start:auto;display:flex;position:sticky;inset-block-start:8px;inset-inline-end:8px}.json-viewer-copy:hover{color:var(--accent);border-color:var(--accent)}.json-block{display:block}.json-toggle{cursor:pointer;font-family:inherit;font-size:inherit;color:var(--text);text-align:start;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.json-toggle:hover .json-bracket,.json-toggle:hover .json-summary{color:var(--accent)}.json-toggle-icon{color:var(--muted);align-items:center;display:inline-flex}.json-children{border-inline-start:1px dashed var(--panel-border);margin-inline-start:5px;padding-inline-start:16px}.json-child-row{flex-wrap:wrap;align-items:flex-start;gap:4px;display:flex}.json-line{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}[data-theme=dark] .json-key{color:#60a5fa}.json-colon{color:var(--muted);margin-inline-end:4px}[data-theme=dark] .json-string{color:#6ee7b7}[data-theme=dark] .json-number{color:#fbbf24}[data-theme=dark] .json-boolean{color:#c4b5fd}.json-summary{color:var(--muted);font-style:italic}.json-comma{color:var(--muted)}.log-viewer{flex-direction:column;gap:12px;display:flex}.log-viewer-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.log-viewer-levels{gap:6px;display:flex}.log-level-chip{appearance:none;border:1px solid var(--panel-border);letter-spacing:.04em;cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.log-level-chip:hover{color:var(--text)}.log-level-chip.is-active{border-color:currentColor}.log-level-chip--info.is-active{color:#2563eb;background:#3b82f614}.log-level-chip--warn.is-active{color:#b45309;background:#f59e0b1a}.log-level-chip--error.is-active{color:#b91c1c;background:#dc26261a}.log-level-chip--debug.is-active{color:var(--muted);border-color:var(--panel-border);background:#94a3b81a}.log-viewer-search{flex:220px;min-width:200px;max-width:360px}.log-viewer-body{border:1px solid var(--panel-border);background:var(--panel);border-radius:10px;min-height:220px;overflow:hidden}.log-viewer-empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 16px;display:flex}.log-viewer-empty p{margin:0}.log-rows{max-height:60vh;margin:0;padding:0;list-style:none;overflow:hidden auto}.log-viewer-live{text-transform:uppercase;letter-spacing:.04em;color:var(--success);background:#10b9811f;border-radius:999px;align-items:center;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.log-row{border-block-end:1px solid var(--panel-border)}.log-row:last-child{border-block-end:none}.log-row-summary{cursor:pointer;text-align:start;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:9px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px;display:flex}.log-row-summary:disabled{cursor:default}.log-row-summary:not(:disabled):hover{background:#3b82f60a}.log-row-toggle{width:12px;color:var(--muted);flex-shrink:0;align-items:center;display:inline-flex}.log-row-toggle-spacer{width:12px;display:inline-block}.log-row-time{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:12px}.log-row-level{letter-spacing:.04em;border-radius:4px;flex-shrink:0;align-items:center;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-flex}.log-row-level--info{color:#2563eb;background:#3b82f61f}.log-row-level--warn{color:#b45309;background:#f59e0b29}.log-row-level--error{color:#b91c1c;background:#dc262629}.log-row-level--debug{color:var(--muted);background:#94a3b829}.log-row-event{color:var(--accent);flex-shrink:0;font-weight:600}.log-row-message{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.log-row-details{padding:0 14px 12px 36px}.device-overview-tab{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.device-overview-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.device-overview-card h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:13px;font-weight:600}.device-overview-row{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.device-overview-row-label{color:var(--muted);font-size:13px}.device-overview-row-value{color:var(--text);font-weight:600}.device-overview-empty{color:var(--muted);margin:0;font-size:13px}.device-shadow-tab{flex-direction:column;gap:12px;display:flex}.device-shadow-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.device-shadow-meta{flex-wrap:wrap;align-items:center;gap:16px;font-size:12.5px;display:flex}.device-shadow-meta-item{align-items:center;gap:6px;display:inline-flex}.device-shadow-meta-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.device-shadow-meta-value{color:var(--text);font-weight:500}.device-shadow-autorefresh{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.device-shadow-notfound{border:1px solid var(--panel-border);color:var(--muted);background:#94a3b814;border-radius:8px;padding:14px 16px;font-size:13px}.device-shadow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.device-shadow-grid{grid-template-columns:1fr}}.device-shadow-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.device-shadow-panel--warn{border-color:#f59e0b66}.device-shadow-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.device-shadow-panel-header h4{color:var(--text);margin:0;font-size:14px;font-weight:600}.device-shadow-panel-subtitle{color:var(--muted);font-size:12px}.device-commands-tab{flex-direction:column;gap:18px;display:flex}.device-commands-section{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.device-commands-section header{flex-direction:column;gap:2px;display:flex}.device-commands-section header h4{color:var(--text);align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600;display:inline-flex}.device-commands-section header p{color:var(--muted);margin:0;font-size:12.5px}.device-commands-section header code{background:#94a3b81f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.device-quick-commands{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.device-quick-command{border:1px solid var(--panel-border);cursor:pointer;text-align:start;color:var(--text);background:0 0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.device-quick-command:hover:not(:disabled){border-color:var(--accent);background:#3b82f60d}.device-quick-command:disabled{opacity:.6;cursor:default}.device-quick-command-label{align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.device-quick-command-desc{color:var(--muted);font-size:12px}.device-quick-command-topic{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.device-commands-empty{margin:4px 0 0;font-size:13px}.device-command-history{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.device-command-history-row{border-radius:6px;grid-template-columns:160px 64px 1fr;align-items:center;gap:10px;padding:6px 8px;font-size:12.5px;display:grid}.device-command-history-row--failed{background:#dc26260f}.device-command-history-time{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.device-command-history-status{letter-spacing:.05em;text-transform:uppercase;text-align:center;border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.device-command-history-status--sent{color:#047857;background:#10b98124}.device-command-history-status--failed{color:#b91c1c;background:#dc262624}.device-command-history-status--pending{color:var(--muted);background:#94a3b824}.device-command-history-topic{color:var(--text);text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;overflow:hidden}.device-command-history-error{color:#b91c1c;grid-column:1/-1;padding-inline-start:174px;font-size:12px}.device-commands-locked{border:1px dashed var(--panel-border);color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:18px 20px;display:flex}.device-commands-locked p{margin:0;font-size:13.5px}.device-logs-tab{flex-direction:column;gap:14px;display:flex}.device-logs-coming-soon{color:var(--text);background:#3b82f60f;border:1px solid #3b82f640;border-radius:10px;margin:0;padding:12px 14px;font-size:13px}.device-readers-row{color:var(--text);align-items:center;gap:12px;font-size:12.5px;display:flex}.device-readers-row+.device-readers-row{margin-top:4px}.device-readers-row-info{flex:auto;min-width:0}.device-readers-row-id{flex:0 auto;min-width:0;margin-inline-start:auto}.device-readers-row strong{color:var(--text)}.device-readers-empty{color:var(--muted);font-size:12.5px}.uri-reader-row{border-bottom:1px solid var(--panel-border);align-items:center;gap:12px;padding:8px 0;display:flex}.uri-reader-row:last-child{border-bottom:none}.uri-reader-location{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.uri-reader-location-label{color:var(--muted);white-space:nowrap;font-size:13px}.uri-readers-cell{flex-wrap:wrap;gap:4px;display:flex}.mika-commands-tab{flex-direction:column;gap:24px;display:flex}.mika-commands-section{flex-direction:column;gap:12px;display:flex}.mika-commands-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mika-commands-section-header h4{color:var(--text);margin:0;font-size:14px;font-weight:600}.mika-commands-readonly{color:var(--muted);font-size:12px;font-style:italic}.mika-commands-subsection{flex-direction:column;gap:10px;display:flex}.mika-commands-subsection-header{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.mika-commands-subsection-header h5{text-transform:uppercase;letter-spacing:.06em;color:var(--text);margin:0;font-size:12px;font-weight:700}.mika-commands-subsection-header p{color:var(--muted);margin:0;font-size:12.5px}.mika-commands-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.mika-command-card{border:1px solid var(--panel-border);background:var(--panel);text-align:start;cursor:pointer;font:inherit;color:inherit;border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;position:relative}.mika-command-card:not(:disabled):hover{border-color:var(--accent);background:#3b82f60a;box-shadow:0 2px 8px #3b82f61f}.mika-command-card:not(:disabled):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mika-command-card:disabled{cursor:not-allowed;opacity:.55}.mika-command-card-header{align-items:center;gap:8px;width:100%;display:flex}.mika-command-card-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.mika-command-card--start .mika-command-card-icon{color:#047857;background:#10b9811f}[data-theme=dark] .mika-command-card--start .mika-command-card-icon{color:#34d399}.mika-command-card--stop .mika-command-card-icon{color:var(--muted);background:#94a3b82e}.mika-command-card--calibrate .mika-command-card-icon{color:#6d28d9;background:#a855f71f}[data-theme=dark] .mika-command-card--calibrate .mika-command-card-icon{color:#c084fc}.mika-command-card--calibrateStop .mika-command-card-icon{color:var(--muted);background:#94a3b82e}.mika-command-card--reboot .mika-command-card-icon{color:#b45309;background:#f59e0b24}[data-theme=dark] .mika-command-card--reboot .mika-command-card-icon{color:#fbbf24}.mika-command-card--updateConfig .mika-command-card-icon{color:#1d4ed8;background:#3b82f624}[data-theme=dark] .mika-command-card--updateConfig .mika-command-card-icon{color:#60a5fa}.mika-command-card--deploy .mika-command-card-icon{color:#4338ca;background:#6366f124}[data-theme=dark] .mika-command-card--deploy .mika-command-card-icon{color:#a5b4fc}.mika-command-card--coming-soon:disabled,.mika-command-card--coming-soon[aria-disabled=true]{cursor:not-allowed;opacity:1}.mika-command-card--coming-soon:disabled .mika-command-card-title,.mika-command-card--coming-soon:disabled .mika-command-card-desc,.mika-command-card--coming-soon[aria-disabled=true] .mika-command-card-title,.mika-command-card--coming-soon[aria-disabled=true] .mika-command-card-desc{color:var(--muted)}.mika-command-card-title{color:var(--text);font-size:14px;font-weight:600}.mika-command-card-desc{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.mika-commands-history-toolbar{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.mika-commands-history-toolbar .multi-select{flex:0 0 240px;width:240px}.mika-commands-history-toolbar .refresh-btn{align-self:stretch;min-height:42px}.mika-commands-table-wrap{border:1px solid var(--panel-border);background:var(--panel);border-radius:10px;overflow:hidden}.mika-commands-table{border-collapse:collapse;width:100%;font-size:13px}.mika-commands-table thead{background:var(--bg)}.mika-commands-table thead th{text-align:start;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--panel-border);padding:10px 14px;font-size:11px;font-weight:600}.mika-commands-table tbody tr{border-bottom:1px solid var(--panel-border)}.mika-commands-table tbody tr:last-child{border-bottom:none}.mika-commands-table tbody tr:hover{background:#3b82f60a}.mika-commands-table td{color:var(--text);vertical-align:middle;padding:10px 14px}.mika-commands-cell-time{color:var(--muted);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.mika-commands-cell-error{color:var(--danger);word-break:break-word;max-width:320px;font-size:12px}.mika-commands-empty{text-align:center;color:var(--muted);display:table-cell;padding:32px 12px!important}.mika-commands-empty svg{vertical-align:middle;margin-inline-end:6px}.mika-cmd-status-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.mika-cmd-status-badge svg{flex-shrink:0}.mika-cmd-status-badge.mika-cmd-status-badge--pending{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f64d}[data-theme=dark] .mika-cmd-status-badge.mika-cmd-status-badge--pending{color:#60a5fa}.mika-cmd-status-badge.mika-cmd-status-badge--completed{color:#047857;background:#10b9811f;border-color:#10b9814d}[data-theme=dark] .mika-cmd-status-badge.mika-cmd-status-badge--completed{color:#34d399}.mika-cmd-status-badge.mika-cmd-status-badge--failed{color:#b91c1c;background:#ef44441f;border-color:#ef44444d}[data-theme=dark] .mika-cmd-status-badge.mika-cmd-status-badge--failed{color:#f87171}.mika-cmd-status-badge.mika-cmd-status-badge--timeout{color:#b45309;background:#f59e0b1f;border-color:#f59e0b4d}[data-theme=dark] .mika-cmd-status-badge.mika-cmd-status-badge--timeout{color:#fbbf24}.mika-cmd-type-badge{border:1px solid #0000;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.mika-cmd-type-badge.mika-cmd-type-badge--start{color:#047857;background:#10b9811a;border-color:#10b98140}[data-theme=dark] .mika-cmd-type-badge.mika-cmd-type-badge--start{color:#34d399}.mika-cmd-type-badge.mika-cmd-type-badge--stop{color:var(--muted);background:#94a3b826;border-color:#94a3b84d}.mika-cmd-type-badge.mika-cmd-type-badge--calibration{color:#6d28d9;background:#a855f71a;border-color:#a855f740}[data-theme=dark] .mika-cmd-type-badge.mika-cmd-type-badge--calibration{color:#c084fc}.mika-command-unprovisioned{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b66;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.mika-command-unprovisioned>svg{flex-shrink:0;margin-top:2px}.mika-command-unprovisioned strong{color:var(--text)}.mika-command-unprovisioned p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.5}.mika-command-params{flex-direction:column;gap:12px;margin-top:12px;display:flex}.mika-command-pending{flex-direction:column;align-items:center;gap:8px;padding:24px 12px;display:flex}.mika-command-pending p{text-align:center;margin:0;font-size:13px}.mika-command-result{flex-direction:column;gap:12px;display:flex}.mika-command-result-row{align-items:center;gap:10px;display:flex}.mika-command-result-duration{color:var(--muted);font-size:12px}.mika-command-result-error{color:var(--danger);background:#ef444414;border:1px solid #ef44444d;border-radius:6px;margin:0;padding:10px 12px;font-size:13px}.mika-command-result-payload{background:var(--bg);border:1px solid var(--panel-border);white-space:pre-wrap;word-break:break-word;max-height:240px;color:var(--text);border-radius:6px;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;overflow:auto}.mika-shadow-tab{flex-direction:column;gap:16px;display:flex}.mika-shadow-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mika-shadow-title-block{flex-direction:column;gap:2px;display:flex}.mika-shadow-title-block h4{color:var(--text);align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600;display:inline-flex}.mika-shadow-title-block p{color:var(--muted);margin:0;font-size:12.5px}.mika-shadow-title-block p code{color:var(--text);background:#94a3b81f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.mika-shadow-pending{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b66;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.mika-shadow-pending svg{flex-shrink:0}.mika-shadow-pending strong{color:var(--text);margin-inline-end:4px}.mika-shadow-missing{color:var(--text);background:#3b82f60f;border:1px solid #3b82f640;border-radius:8px;padding:10px 12px;font-size:13px}.mika-shadow-unprovisioned{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b66;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.mika-shadow-unprovisioned>svg{flex-shrink:0;margin-top:2px}.mika-shadow-unprovisioned strong{color:var(--text)}.mika-shadow-unprovisioned p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.5}.mika-shadow-config{flex-direction:column;gap:12px;display:flex}.mika-shadow-config-editor{border:1px solid var(--panel-border);background:var(--bg);width:100%;min-height:260px;color:var(--text);resize:vertical;border-radius:8px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5}.mika-shadow-config-editor:focus{border-color:var(--accent);outline:none}.mika-shadow-config-editor:disabled{opacity:.6;cursor:not-allowed}.mika-shadow-loading,.mika-shadow-empty{text-align:center;color:var(--muted);padding:16px;font-size:13px}.mika-shadow-loading svg,.mika-shadow-empty svg{vertical-align:middle;margin-inline-end:6px}.mika-shadow-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.mika-shadow-full{border-top:1px solid var(--panel-border);flex-direction:column;gap:12px;padding-top:16px;display:flex}.mika-shadow-full-summary{cursor:pointer;color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:600;list-style:none;display:flex}.mika-shadow-full-summary::-webkit-details-marker{display:none}.mika-shadow-full-summary-title{margin-inline-end:auto}.mika-shadow-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s}details[open] .mika-shadow-chevron{transform:rotate(180deg)}.mika-shadow-full-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mika-shadow-full-title{flex-direction:column;gap:2px;display:flex}.mika-shadow-full-title h5{color:var(--text);margin:0;font-size:13px;font-weight:600}.mika-shadow-full-title p{color:var(--muted);margin:0;font-size:12.5px}.mika-shadow-full-title p code{color:var(--text);background:#94a3b81f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px}.mika-shadow-full-meta{flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;display:flex}.mika-shadow-meta-item{align-items:baseline;gap:5px;display:inline-flex}.mika-shadow-meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.mika-shadow-meta-value{color:var(--text)}.mika-shadow-autorefresh{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.mika-shadow-full-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=1100px){.mika-shadow-full-grid{grid-template-columns:1fr}}.mika-shadow-json-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.mika-shadow-json-panel.mika-shadow-json-panel--warn{background:#f59e0b0a;border-color:#f59e0b66}.mika-shadow-json-panel-header{flex-direction:column;gap:2px;display:flex}.mika-shadow-json-panel-header h6{color:var(--text);margin:0;font-size:13px;font-weight:600}.mika-shadow-json-panel-header>span{font-size:12px}.bulk-actions-menu{align-items:center;gap:10px;min-height:32px;display:flex;position:relative}.bulk-actions-menu.bulk-actions-menu-hidden .bulk-actions-menu-trigger,.bulk-actions-menu.bulk-actions-menu-hidden .bulk-actions-menu-count{visibility:hidden}.bulk-actions-menu-trigger{border:1px solid var(--panel-border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.bulk-actions-menu-trigger:hover{border-color:var(--accent);color:var(--accent)}.bulk-actions-menu-chevron{transition:transform .15s}.bulk-actions-menu-chevron.open{transform:rotate(180deg)}.bulk-actions-menu-count{color:var(--accent);font-size:13px;font-weight:600}.bulk-actions-menu-panel{top:calc(100% + 4px);z-index:50;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;min-width:200px;padding:4px;position:absolute;inset-inline-start:0;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}[data-theme=dark] .bulk-actions-menu-panel{box-shadow:0 4px 12px #0006,0 2px 4px #0003}.bulk-actions-menu-item{width:100%;color:var(--text);text-align:start;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.bulk-actions-menu-item:hover:not(:disabled){background:#3b82f614}.bulk-actions-menu-item:disabled{opacity:.4;cursor:not-allowed}.bulk-actions-menu-item.danger{color:var(--danger)}.bulk-actions-menu-item.danger:hover:not(:disabled){background:#ef444414}.bulk-actions-menu-item-icon{color:var(--muted);flex-shrink:0;align-items:center;display:inline-flex}.bulk-actions-menu-item.danger .bulk-actions-menu-item-icon{color:var(--danger)}.scope-selector{flex-direction:column;gap:8px;display:flex}.scope-selector-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}.scope-selector-options{flex-direction:column;gap:8px;display:flex}.scope-selector-option{border:1px solid var(--panel-border);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.scope-selector-option:hover{border-color:var(--accent)}.scope-selector-option.selected{border-color:var(--accent);background:#3b82f60f}.scope-selector-option input[type=radio]{accent-color:var(--accent);flex-shrink:0}.scope-selector-text{flex-direction:column;gap:2px;display:flex}.scope-selector-label{color:var(--text);font-size:13px;font-weight:500}.scope-selector-count{color:var(--muted);font-size:12px}.bulk-download-modal{flex-direction:column;gap:18px;display:flex}.bulk-download-modal-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.bulk-download-section{flex-direction:column;gap:8px;display:flex}.bulk-download-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}.bulk-download-summary-list{border:1px solid var(--panel-border);background:var(--bg);border-radius:8px;flex-direction:column;gap:6px;margin:0;padding:10px 12px;list-style:none;display:flex}.bulk-download-summary-empty{border:1px dashed var(--panel-border);color:var(--muted);border-radius:8px;padding:10px 12px;font-size:13px}.bulk-download-summary-item{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.bulk-download-summary-label{color:var(--muted);min-width:96px;font-weight:500}.bulk-download-summary-value{color:var(--text);word-break:break-word;flex:1;min-width:0}.bulk-download-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b66;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}.bulk-download-warning svg{flex-shrink:0;margin-top:1px}.bulk-download-warning strong{color:var(--text)}.assign-cow-modal-desc{margin-bottom:12px;font-size:13px}.assign-cow-modal-search-wrap{position:relative}.assign-cow-modal-input-wrap{border:1px solid var(--panel-border);background:var(--bg);border-radius:6px;align-items:center;gap:8px;height:36px;padding:0 12px;display:flex}[data-theme=light] .assign-cow-modal-input-wrap{background:#fff}.assign-cow-modal-input-wrap svg{color:var(--muted);flex-shrink:0}.assign-cow-modal-input-wrap input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:14px}.assign-cow-modal-input-wrap input::placeholder{color:var(--muted)}.assign-cow-modal-input-wrap input:disabled{cursor:not-allowed;opacity:.5}.assign-cow-modal-dropdown{top:calc(100% + 4px);background:var(--panel);border:1px solid var(--panel-border);z-index:50;border-radius:6px;max-height:200px;position:absolute;inset-inline:0;overflow-y:auto;box-shadow:0 8px 24px #0003}[data-theme=light] .assign-cow-modal-dropdown{box-shadow:0 8px 24px #0000001a}.assign-cow-modal-option{cursor:pointer;width:100%;color:var(--text);text-align:start;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.assign-cow-modal-option:hover{background:#3b82f614}.assign-cow-modal-option-end{align-items:center;gap:8px;display:flex}.assign-cow-modal-option-name{color:var(--muted);font-size:12px}.assign-cow-modal-selected{background:#3b82f60f;border:1px solid #3b82f633;border-radius:8px;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 12px;display:flex}.assign-cow-modal-selected-info{align-items:center;gap:8px;display:flex}.assign-cow-modal-cow-link{color:var(--accent);align-items:center;gap:4px;font-size:12px;text-decoration:none;display:inline-flex}.assign-cow-modal-cow-link:hover{text-decoration:underline}.assign-cow-modal-create-hint{color:var(--warning);background:#f59e0b14;border:1px solid #f59e0b33;border-radius:8px;margin-top:10px;padding:10px 12px;font-size:13px}.assign-cow-modal-conflict{align-items:center;gap:4px;display:inline-flex}.assign-cow-modal-conflict .cow-id-value{font-weight:600}.assign-cow-modal-conflict .assign-cow-modal-cow-open{color:inherit;vertical-align:middle}.assign-cow-modal-no-farm{color:var(--danger);background:#ef444414;border-color:#ef444433}.prediction-warning,.prediction-warning:hover{color:var(--warning)}.prediction-new{border-radius:3px;padding:2px 6px;animation:5s ease-out forwards prediction-flash}@keyframes prediction-flash{0%,30%{background:#10b98140}to{background:0 0}}.session-socket-highlight td{animation:30s ease-out forwards socket-row-flash}.recording-dots{flex-shrink:0;align-items:center;gap:3px;margin-inline-start:8px;display:inline-flex}.recording-dots span{background:var(--success);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite dot-bounce;display:block}.recording-dots span:nth-child(2){animation-delay:.2s}.recording-dots span:nth-child(3){animation-delay:.4s}.session-status-badge{white-space:normal;align-items:center;gap:6px;width:fit-content;line-height:1.4;display:inline-flex}.session-status-badge.session-status-timeout{padding:3px 8px;font-size:11px}.session-status-badge.session-status-timeout .timeout-label{margin-inline-end:4px;line-height:1.3}.session-status-badge .timeout-warning{cursor:help;opacity:.8;align-items:center;display:inline-flex}.session-status-badge .timeout-warning svg{display:block}.session-status-badge .timeout-warning:hover{opacity:1}.live-duration{color:var(--accent);font-variant-numeric:tabular-nums}.sessions-header-actions{align-items:center;gap:8px;display:flex}.sessions-filter-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .sessions-filter-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.sessions-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sessions-filter-row .search-input{width:320px}.sessions-filter-row-toggle{justify-content:space-between;gap:12px}.sessions-toggle-row-end{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sessions-filter-row-advanced{border-block-start:1px dashed var(--panel-border);justify-content:flex-start;padding-block-start:4px}.sessions-filter-row-advanced .multi-select{min-width:200px;max-width:280px}.sessions-filter-row-advanced .multi-select-trigger{min-height:36px;padding-block:4px}.sessions-filter-group-label{text-transform:uppercase;letter-spacing:.1em;min-width:96px;color:var(--muted);opacity:.85;font-size:10px;font-weight:500}.advanced-filters-toggle{letter-spacing:.01em;height:36px;color:var(--text);background:var(--panel);border:1px solid var(--panel-border);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding-inline:14px;font-size:13px;font-weight:500;line-height:1;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.advanced-filters-toggle .advanced-filters-icon{color:var(--muted);transition:color .18s}.advanced-filters-toggle .advanced-filters-label{white-space:nowrap}.advanced-filters-toggle .advanced-filters-chevron{color:var(--muted);margin-inline-start:2px;transition:transform .2s,color .18s}.advanced-filters-toggle:hover{color:var(--accent);background:#3b82f60f;border-color:#3b82f659;box-shadow:0 1px 2px #0000000a}.advanced-filters-toggle:hover .advanced-filters-icon,.advanced-filters-toggle:hover .advanced-filters-chevron{color:var(--accent)}.advanced-filters-toggle:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #3b82f62e}.advanced-filters-toggle.advanced-filters-toggle-open{color:var(--accent);background:#3b82f61a;border-color:#3b82f666}.advanced-filters-toggle.advanced-filters-toggle-open .advanced-filters-icon,.advanced-filters-toggle.advanced-filters-toggle-open .advanced-filters-chevron{color:var(--accent)}.advanced-filters-toggle.advanced-filters-toggle-open .advanced-filters-chevron{transform:rotate(180deg)}[data-theme=dark] .advanced-filters-toggle:hover{background:#3b82f61f;box-shadow:0 1px 2px #0000004d}[data-theme=dark] .advanced-filters-toggle.advanced-filters-toggle-open{background:#3b82f62e}.advanced-filters-badge{font-variant-numeric:tabular-nums;letter-spacing:0;color:#fff;background:var(--accent);border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding-inline:7px;font-size:11px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #3b82f659}.filter-actions-menu{align-items:center;display:inline-flex;position:relative}.filter-actions-menu-panel{top:calc(100% + 6px);z-index:50;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;min-width:200px;padding:4px;position:absolute;inset-inline-end:0;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}[data-theme=dark] .filter-actions-menu-panel{box-shadow:0 4px 12px #0006,0 2px 4px #0003}.filter-actions-menu-item{width:100%;color:var(--text);text-align:start;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.filter-actions-menu-item:hover:not(:disabled){background:#3b82f614}.filter-actions-menu-item:disabled{opacity:.4;cursor:not-allowed}.filter-actions-menu-item-icon{color:var(--muted);flex-shrink:0;align-items:center;display:inline-flex}.sessions-filter-selects{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sessions-filter-end{align-items:center;gap:10px;display:flex}.sessions-filter-end .switch-label{white-space:nowrap;font-size:13px}.device-farm-cell{flex-direction:column;align-items:flex-start;gap:3px;line-height:1.3;display:flex}.device-farm-cell-name{font-weight:500}.device-farm-cell-badge{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#6b72801f;max-width:100%;font-weight:500;overflow:hidden}.session-cow-cell{align-items:center;gap:5px;font-weight:600;display:inline-flex}.session-assign-cell{justify-content:center;display:flex}.session-cow-open{color:var(--muted);align-items:center;transition:color .15s;display:inline-flex}.session-cow-open:hover{color:var(--accent)}.session-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.session-row-selected td{background:#3b82f60f}.sessions-table .table-actions-col{width:12%}.session-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.session-actions>.flex-col{flex:1}.session-test-run-indicator-group{align-items:center;gap:4px;display:inline-flex}.session-test-run-indicator{cursor:help;align-items:center;display:inline-flex}.session-test-run-indicator svg{display:block}.session-test-run-indicator--error,.session-test-run-indicator--error:hover{color:var(--danger)}.session-test-run-indicator--warning,.session-test-run-indicator--warning:hover{color:var(--warning)}.session-test-run-tooltip-section{text-align:start}.session-test-run-tooltip-section+.session-test-run-tooltip-section{margin-top:8px}.session-test-run-tooltip-list{margin:4px 0 0;padding-inline-start:18px;font-size:12px}.session-test-run-tooltip-list li{margin-bottom:2px}.session-test-run-tooltip-error{opacity:.85;margin-top:4px;font-size:12px}.view-more-btn{white-space:normal;align-items:center;gap:4px;line-height:1.3;text-decoration:none;display:flex}[dir=rtl] .view-more-btn svg{transform:scaleX(-1)}.upload-success{text-align:center;padding:24px 0}.upload-success-title{margin-bottom:8px;font-size:15px}.upload-success-desc{margin-bottom:16px;font-size:13px}.upload-type-picker{padding:8px 0}.upload-type-prompt{color:var(--muted);margin:0 0 16px;font-size:14px}.upload-type-cards{flex-direction:column;gap:10px;display:flex}.upload-type-card{border:1px solid var(--panel-border);cursor:pointer;text-align:start;color:var(--text);background:0 0;border-radius:10px;align-items:center;gap:16px;padding:16px 20px;transition:all .15s;display:flex}.upload-type-card:hover{border-color:var(--accent);background:#3b82f60d}.upload-type-card:hover .upload-type-card-arrow{opacity:1;transform:translate(2px)}.upload-type-card-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.upload-type-card-icon--sessions{color:var(--accent);background:#3b82f61f}.upload-type-card-icon--lab{color:var(--success);background:#10b9811f}.upload-type-card-icon--scr{color:#8b5cf6;background:#8b5cf61f}.upload-farm-select{margin-bottom:12px}.upload-farm-label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.upload-type-card-content{flex:1;min-width:0}.upload-type-card-title{margin-bottom:2px;font-size:15px;font-weight:600}.upload-type-card-desc{color:var(--muted);font-size:13px}.upload-type-card-arrow{color:var(--muted);opacity:.4;flex-shrink:0;transition:all .15s}.upload-back-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:0;font-size:13px;font-weight:500;display:inline-flex}.upload-back-btn:hover{color:var(--text)}.upload-back-btn:disabled{opacity:.5;cursor:not-allowed}.file-list{max-height:200px;margin-bottom:16px;overflow-y:auto}.file-list-item{background:var(--panel);border:1px solid var(--panel-border);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 12px;font-size:13px;display:flex}.file-list-item-name{align-items:center;gap:8px;min-width:0;display:flex}.file-list-item-icon{color:var(--muted);flex-shrink:0}.file-remove-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:2px}.upload-actions{justify-content:flex-end;gap:8px;display:flex}.attach-batch-id-list{max-height:180px;color:var(--text);margin:8px 0 12px;padding-inline-start:20px;font-family:monospace;font-size:12px;overflow-y:auto}.attach-batch-id-list li{margin-bottom:2px}.cow-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.cow-header .action-btn{padding:10px 8px}.cow-title-block{flex:1}.cow-title-left{align-items:center;gap:10px;display:flex}.cow-title-left h1{letter-spacing:-.01em;align-items:center;gap:8px;min-height:34px;margin:0;font-size:26px;font-weight:700;display:inline-flex}.cow-title-left h1 .cow-icon{font-size:22px}.cow-subtitle-row{align-items:center;gap:8px;margin-top:4px;display:flex}.cow-subtitle{color:var(--muted);margin:0;font-size:15px;font-weight:400}.cow-status-placeholder{min-width:60px;height:22px;display:inline-block}.cow-subtitle-placeholder{min-height:15px;line-height:15px;display:inline-block}.cow-edit-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-inline-start:auto;padding:0;font-size:13px;font-weight:500;transition:opacity .15s;display:inline-flex}.cow-edit-link:hover{opacity:.8}.cow-details-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;margin-bottom:16px;padding:16px 20px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .cow-details-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.cow-details-grid{grid-template-columns:repeat(5,1fr);gap:18px 20px;display:grid}@media (width<=900px){.cow-details-grid{grid-template-columns:repeat(3,1fr)}}.cow-detail-item{align-items:center;gap:8px;display:flex}.cow-detail-icon{width:26px;height:26px;color:var(--accent);background:#3b82f614;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cow-detail-text{flex-direction:column;min-width:0;display:flex}.cow-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:500;line-height:1.2}.cow-detail-value{color:var(--text);font-size:15px;font-weight:500;line-height:1.3}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.edit-cow-title{align-items:center;gap:8px;font-size:20px;font-weight:600;display:inline-flex}.edit-cow-title .cow-icon{font-size:18px}.edit-cow-section+.edit-cow-section{border-top:1px solid var(--panel-border);margin-top:20px;padding-top:20px}.edit-cow-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);align-items:center;gap:6px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}.edit-cow-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.edit-cow-field{flex-direction:column;gap:4px;display:flex}.edit-cow-field label{color:var(--muted);margin-bottom:0;font-size:12px;font-weight:500}.edit-cow-field input,.edit-cow-field select{width:100%}.cow-icon-warning{color:var(--warning)}.cow-icon-accent{color:var(--accent)}.cow-icon-success{color:var(--success)}.cow-overview-tab{margin-top:16px}.cow-kpi-row{grid-template-columns:repeat(5,1fr)}@media (width<=1100px){.cow-kpi-row{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.cow-kpi-row{grid-template-columns:repeat(2,1fr)}}.cow-quality-panel,.cow-chart-panel{margin-top:8px}.cow-chart-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cow-chart-header h3{margin:0}.cow-chart-controls{align-items:center;gap:8px;display:flex}.cow-chart-mode-select{min-width:200px}.cow-chart-range-select{min-width:72px}.cow-chart-container{height:320px}.cow-chart-empty{justify-content:center;align-items:center;display:flex}.cow-tooltip{background:var(--panel);border:1px solid var(--panel-border);min-width:180px;color:var(--text);border-radius:10px;padding:14px 18px;box-shadow:0 4px 16px #0000001f}[data-theme=dark] .cow-tooltip{box-shadow:0 4px 16px #0006}.cow-tooltip-date{margin-bottom:12px;font-size:16px;font-weight:700}.cow-tooltip-primary{flex-direction:column;gap:6px;display:flex}.cow-tooltip-metric{justify-content:space-between;align-items:center;gap:16px;display:flex}.cow-tooltip-label{color:var(--text);font-size:14px;font-weight:500}.cow-tooltip-val{font-size:16px;font-weight:700}.cow-tooltip-divider{background:var(--panel-border);height:1px;margin:10px 0}.cow-tooltip-secondary{flex-direction:column;gap:4px;display:flex}.cow-tooltip-sub-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.cow-tooltip-sub-label{color:var(--muted);font-size:13px}.cow-tooltip-sub-val{font-size:14px;font-weight:600}.cow-tooltip-hero{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:6px;display:flex}.cow-tooltip-hero-label{color:var(--text);font-size:14px;font-weight:500}.cow-tooltip-hero-val{font-size:20px;font-weight:700}.cow-tooltip-context{color:var(--muted);font-size:12px}.chart-toolbar{gap:8px;margin-inline-start:auto;display:flex}.icon-button-wrapper{display:inline-block;position:relative}.btn-icon-sm{align-items:center;padding:6px 8px;display:flex}.icon-button-tooltip{background:var(--bg);border:1px solid var(--panel-border);white-space:nowrap;pointer-events:none;z-index:1000;color:var(--text);border-radius:4px;margin-bottom:4px;padding:4px 8px;font-size:11px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.btn-file-download{align-items:center;gap:6px;height:auto;padding:4px 10px;font-size:12px;display:flex}.file-button-group{border:1px solid var(--panel-border);border-radius:6px;align-items:center;font-size:12px;display:inline-flex}.file-button-label{color:var(--text);padding:4px 8px;font-weight:500}.file-icon-btn{all:unset;cursor:pointer;color:var(--muted);border-inline-start:1px solid var(--panel-border);justify-content:center;align-items:center;padding:4px 6px;transition:color .15s,background .15s;display:inline-flex}.file-icon-btn:hover{color:var(--text);background:#ffffff0f}[data-theme=light] .file-icon-btn:hover{background:#0000000d}.file-icon-btn:disabled{opacity:.4;cursor:not-allowed}.file-preview-modal .modal-body{max-height:70vh;padding:0;overflow:auto}.file-preview-modal.modal-fullscreen .modal-body{max-height:none}.file-preview-modal.modal-fullscreen .file-preview-content,.file-preview-modal.modal-fullscreen .log-viewer,.file-preview-modal.modal-fullscreen .file-preview-csv-wrapper{height:100%;max-height:none}.file-preview-loading{color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:48px 24px;font-size:14px;display:flex}.file-preview-content{white-space:pre-wrap;word-break:break-word;text-align:left;direction:ltr;max-height:70vh;margin:0;padding:16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.6;overflow:auto}.log-viewer{color:#c0caf5;background:#1a1b26;border-radius:6px;max-height:70vh;padding:16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.7;overflow:auto}.log-entry{white-space:nowrap;align-items:baseline;gap:10px;padding:1px 0;display:flex}.log-entry:hover{background:#ffffff08}.log-entry-session-start{border-bottom:1px solid #ffffff14;margin-bottom:4px;padding:6px 0}.log-entry-warning{background:#ffb74d0f}.log-entry-error,.log-entry-critical{background:#f7768e14}.log-ts{color:#9aa5ce;flex-shrink:0;min-width:85px}.log-level{flex-shrink:0;min-width:60px;font-weight:600}.log-level-info{color:#7aa2f7}.log-level-init{color:#bb9af7}.log-level-warning{color:#e0af68}.log-level-error{color:#f7768e}.log-level-critical{color:#ff5370;text-decoration:underline}.log-level-debug{color:#565f89}.log-logger{color:#73daca;text-overflow:ellipsis;flex-shrink:0;max-width:200px;overflow:hidden}.log-msg{color:#c0caf5;white-space:pre-wrap;word-break:break-word;flex:1;min-width:0}.log-highlight{color:#ff9e64;font-weight:600}.log-source{color:#7982a9;flex-shrink:0;margin-inline-start:auto;font-size:11px}.log-entry-raw{color:#787c99;white-space:pre-wrap;word-break:break-word}.file-preview-csv-wrapper{max-height:70vh;overflow:auto}.file-preview-csv{border-collapse:collapse;width:100%;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px}.file-preview-csv th,.file-preview-csv td{text-align:start;white-space:nowrap;border-bottom:1px solid var(--panel-border);padding:4px 10px}.file-preview-csv th{background:var(--panel);z-index:1;font-weight:600;position:sticky;top:0}.file-preview-csv .csv-row-num{color:var(--muted);text-align:end;-webkit-user-select:none;user-select:none;border-inline-end:1px solid var(--panel-border);min-width:36px}.file-preview-csv tbody tr:hover{background:#ffffff08}[data-theme=light] .file-preview-csv tbody tr:hover{background:#00000005}.json-viewer{white-space:pre-wrap;word-break:break-word;text-align:left;direction:ltr;margin:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6}.json-key{color:#7dd3fc}[data-theme=light] .json-key{color:#0369a1}.json-string{color:#86efac}[data-theme=light] .json-string{color:#15803d}.json-number{color:#fbbf24}[data-theme=light] .json-number{color:#b45309}.json-boolean{color:#c084fc}[data-theme=light] .json-boolean{color:#7c3aed}.json-null{color:var(--muted);font-style:italic}.json-bracket,.json-colon,.json-comma{color:var(--muted)}.json-children{padding-inline-start:20px}.json-entry{display:block}.prediction-warning,.prediction-warning:hover{color:var(--warning)}.edit-session-modal{overflow:visible}.field-with-save{align-items:stretch;gap:8px;display:flex}.field-with-save input,.field-with-save textarea{flex:1;min-width:0}.field-with-save .action-btn{flex-shrink:0;align-self:flex-start}.field-with-save-textarea .action-btn{align-self:flex-start}.field-saved-indicator{color:var(--success);pointer-events:none;justify-content:flex-end;align-items:center;gap:4px;margin-top:4px;font-size:12px;font-weight:600;animation:2.5s forwards edit-session-saved-fade;display:flex}.field-saved-indicator svg{flex-shrink:0}.edit-session-modal .modal-actions{align-items:center}.edit-session-modal .modal-actions .edit-session-saved-indicator{color:var(--success);pointer-events:none;align-items:center;gap:4px;margin-inline-end:8px;font-size:13px;font-weight:600;animation:2.5s forwards edit-session-saved-fade;display:inline-flex}.edit-session-modal .modal-actions .edit-session-saved-indicator svg{flex-shrink:0}@keyframes edit-session-saved-fade{0%{opacity:0;transform:translateY(-2px)}10%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.confirm-overwrite-list{margin:8px 0 12px;padding-inline-start:24px}.confirm-overwrite-list li{margin-bottom:4px}.prediction-panel--unified{margin-bottom:20px;padding:20px 20px 24px}.prediction-panel-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;display:flex}.prediction-panel-title{letter-spacing:.01em;color:var(--text);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:700;display:flex}.prediction-panel-title svg{color:var(--accent)}.prediction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=1100px){.prediction-grid{grid-template-columns:1fr}}.prediction-grid--row+.prediction-grid--row{margin-top:16px}.prediction-grid--two-thirds{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (width<=1100px){.prediction-grid--two-thirds{grid-template-columns:1fr}}.prediction-subcard{border:1px solid var(--panel-border);background:#ffffff04;border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden}[data-theme=light] .prediction-subcard{background:#00000003}.prediction-subcard--signaler{border-top:3px solid #3b82f6}.prediction-subcard--signaler .prediction-subcard-icon{color:#3b82f6;background:#3b82f61f}.prediction-subcard--flow-meter{border-top:3px solid #8b5cf6}.prediction-subcard--flow-meter .prediction-subcard-icon{color:#8b5cf6;background:#8b5cf61f}.prediction-subcard--flow-meter .prediction-subcard-body{gap:0}.prediction-subcard-header{border-bottom:1px solid var(--panel-border);background:#ffffff06;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}[data-theme=light] .prediction-subcard-header{background:#00000005}.prediction-subcard-title-block{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.prediction-subcard-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.prediction-subcard-title-text-block{min-width:0}.prediction-subcard-title{color:var(--text);letter-spacing:.01em;margin:0;font-size:15px;font-weight:700;line-height:1.2}.prediction-subcard-subtitle{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.3}.prediction-subcard-body{flex-direction:column;flex:1;gap:14px;padding:16px 18px;display:flex}.prediction-result-pill{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid;border-radius:99px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.prediction-result-pill--ok{color:var(--success);background:#10b9811a;border-color:#10b98166}.prediction-result-pill--error{color:var(--danger);background:#ef44441a;border-color:#ef444466}.prediction-meta-row{flex-wrap:wrap;gap:12px 24px;display:flex}.prediction-meta-item{flex-direction:column;gap:2px;min-width:0;font-size:13px;display:flex}.prediction-meta-item--wide{flex-basis:100%}.prediction-meta-item>span:last-child{color:var(--text);word-break:break-word}.pipeline-callout{border:1px solid;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.pipeline-callout--blocked{color:var(--text);background:#ef444414;border-color:#ef444459}.pipeline-callout--blocked svg{color:var(--danger);flex-shrink:0;margin-top:2px}.pipeline-callout-title{margin-bottom:2px;font-weight:600}.pipeline-callout-body{color:var(--muted);word-break:break-word}.test-run-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid;border-radius:99px;flex-shrink:0;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.test-run-badge--passed{color:var(--success);background:#10b9811a;border-color:#10b98166}.test-run-badge--warnings{color:var(--warning);background:#f59e0b1a;border-color:#f59e0b66}.test-run-badge--failed{color:var(--danger);background:#ef44441a;border-color:#ef444466}.test-run-badge--crashed{color:var(--muted);background:#9ca3af1f;border-color:#9ca3af66}.test-run-panel{flex-direction:column;gap:12px;display:flex}.test-run-panel--missing{border:1px dashed var(--panel-border);border-radius:8px;padding:16px}.test-run-empty{color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.test-run-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.test-run-header-main{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.test-run-summary{color:var(--text);font-size:13px;font-weight:600}.test-run-header-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.test-run-count{align-items:center;gap:4px;font-weight:600;display:inline-flex}.test-run-count--error{color:var(--danger)}.test-run-count--warning{color:var(--warning)}.test-run-ran-at{white-space:nowrap}.test-run-all-good{color:var(--success);background:#10b98112;border:1px solid #10b98140;border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;display:flex}.test-run-callout{border:1px solid;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.test-run-callout--crashed{background:#9ca3af1a;border-color:#9ca3af59}.test-run-callout--crashed svg{color:var(--muted);flex-shrink:0;margin-top:2px}.test-run-callout-title{color:var(--text);margin-bottom:2px;font-weight:600}.test-run-callout-body{color:var(--muted);word-break:break-word;font-family:var(--font-mono,monospace);font-size:12px}.test-run-list{flex-direction:column;gap:8px;display:flex}.test-run-list--passed{margin-top:8px}.test-row{border:1px solid var(--panel-border);background:#ffffff04;border-radius:8px;overflow:hidden}[data-theme=light] .test-row{background:#00000004}.test-row--error{background:#ef44440a;border-color:#ef444459}.test-row--warning{background:#f59e0b0a;border-color:#f59e0b59}.test-row--passed{opacity:.85}.test-row-header{all:unset;cursor:pointer;box-sizing:border-box;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:13px;display:flex}.test-row-header:hover{background:#ffffff08}[data-theme=light] .test-row-header:hover{background:#00000008}.test-row-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.test-row-chevron{color:var(--muted);flex-shrink:0;align-items:center;display:flex}.test-row-status{flex-shrink:0;align-items:center;display:flex}.test-row-status-icon--ok{color:var(--success)}.test-row-status-icon--error{color:var(--danger)}.test-row-status-icon--warning{color:var(--warning)}.test-row-id{font-family:var(--font-mono,monospace);color:var(--text);letter-spacing:.02em;flex-shrink:0;font-size:12px;font-weight:700}.test-row-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.test-row-kind{text-transform:uppercase;letter-spacing:.04em;border-radius:99px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.test-row-kind--error{color:var(--danger);background:#ef44441f}.test-row-kind--warning{color:var(--warning);background:#f59e0b1f}.test-row-kind--passed{color:var(--success);background:#22c55e1f}.test-row-body{padding:0 14px 14px 40px;font-size:13px}.test-row-description{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.45}.test-row-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}@media (width<=600px){.test-row-details{grid-template-columns:1fr}}.test-row-detail{flex-direction:column;gap:2px;min-width:0;display:flex}.test-row-detail-value{color:var(--text);word-break:break-word;font-variant-numeric:tabular-nums;font-size:13px}.test-row-no-details{color:var(--muted);font-size:12px;font-style:italic}.test-run-passed-section{flex-direction:column;gap:8px;display:flex}.test-run-passed-toggle{all:unset;cursor:pointer;color:var(--muted);align-self:flex-start;align-items:center;gap:6px;padding:4px 0;font-size:12px;font-weight:600;display:inline-flex}.test-run-passed-toggle:hover{color:var(--text)}.test-run-passed-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.prediction-panel{padding:24px}.prediction-empty{text-align:center;color:var(--muted);padding:48px 24px;font-size:14px}.prediction-empty--with-action{flex-direction:column;align-items:center;gap:14px;display:flex}.prediction-section+.prediction-section{border-top:1px solid var(--panel-border);margin-top:20px;padding-top:20px}.prediction-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:600;display:flex}.prediction-status-value{align-items:center;gap:6px;display:flex}.prediction-icon-success{color:var(--success)}.prediction-icon-error,.prediction-error-text{color:var(--danger)}.prediction-detection-value{align-items:center;gap:6px;display:flex}.detection-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.detection-dot.detected{background:var(--success)}.detection-dot.not-detected{background:var(--danger)}.prediction-results-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=1100px){.prediction-results-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.prediction-results-grid{grid-template-columns:1fr}}.prediction-results-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (width<=600px){.prediction-results-grid--three{grid-template-columns:1fr}}.prediction-results-grid--single{grid-template-columns:1fr;gap:10px}.prediction-results-grid--three{flex:1}.prediction-value-card{border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.prediction-value-card.suspicious,.prediction-value-card.guard-rails{border-color:var(--warning)}.prediction-value-card.guard-rails .guard-rails-icon{color:var(--warning)}.prediction-value-card.empty .prediction-value-card-body{text-align:center;padding:24px}.prediction-value-card-header{border-bottom:1px solid var(--panel-border);background:#ffffff0a;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;font-weight:600;display:flex}[data-theme=light] .prediction-value-card-header{background:#00000008}.prediction-value-card-header .suspicious-icon{color:var(--warning)}.prediction-value-card-header-label{align-items:center;gap:8px;min-width:0;display:inline-flex}.prediction-value-card-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.prediction-value-card-icon--fat{color:#f59e0b;background:#f59e0b1f}.prediction-value-card-icon--protein{color:#10b981;background:#10b9811f}.prediction-value-card-icon--scc{color:#dc2626;background:#dc26261f}.prediction-value-card-icon--milk{color:#3b82f6;background:#3b82f61f}.prediction-value-card-body{flex:1;padding:16px}.prediction-result-value{color:var(--text);align-items:baseline;gap:8px;margin-bottom:12px;font-size:28px;font-weight:700;display:flex}.prediction-result-value .guard-rails-tooltip{align-self:center}.prediction-result-unit{color:var(--muted);margin-inline-start:4px;font-size:14px;font-weight:500}.prediction-guard-rails-text{color:var(--warning);margin-bottom:12px;font-size:14px;font-weight:500}.prediction-accuracy{font-weight:600}.prediction-accuracy.accuracy-good{color:var(--success)}.prediction-accuracy.accuracy-fair{color:var(--warning)}.prediction-accuracy.accuracy-poor{color:var(--danger)}.prediction-value-details{flex-direction:column;gap:10px;display:flex}.prediction-value-details>div{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;font-size:13px;display:flex}.lab-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.lab-section-header .prediction-section-title{align-items:center;gap:6px;margin-bottom:0;display:flex}.lab-result-download-btn{align-items:center;gap:5px;height:auto;padding:4px 10px;font-size:12px;display:flex}.lab-download-area{align-items:center;gap:10px;display:flex}.lab-row-hint{color:var(--muted);font-size:11px}.lab-sample-info{background:#ffffff0a;border-radius:8px;padding:16px}[data-theme=light] .lab-sample-info{background:#00000008}.lab-sample-info-row2{margin-top:4px}.lab-subsection-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600}.lab-value-highlight{font-weight:600}.mika-session-page{min-width:0}.mika-session-page .switch-label{white-space:nowrap;font-size:13px}.session-details-panel{margin-bottom:24px;padding:52px 24px 24px;position:relative}.session-panel-actions{top:16px;gap:4px;display:flex;position:absolute;inset-inline-end:16px}.session-actions-menu{position:relative}.session-actions-menu-panel{top:calc(100% + 6px);white-space:nowrap;background:var(--panel);border:1px solid var(--panel-border);z-index:20;border-radius:8px;flex-direction:column;gap:2px;min-width:240px;padding:4px;display:flex;position:absolute;inset-inline-end:0;box-shadow:0 6px 20px #00000026}[data-theme=dark] .session-actions-menu-panel{box-shadow:0 6px 20px #00000080}.session-actions-menu-item{all:unset;cursor:pointer;color:var(--text);text-align:start;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.session-actions-menu-item:hover:not(:disabled){background:#ffffff0f}[data-theme=light] .session-actions-menu-item:hover:not(:disabled){background:#0000000d}.session-actions-menu-item:disabled{opacity:.45;cursor:not-allowed}.session-actions-menu-item--danger{color:var(--danger)}.session-details-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 20px;display:grid}@media (width<=1100px){.session-details-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=900px){.session-details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.session-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.session-detail-item{align-items:center;gap:8px;display:flex}.session-detail-icon{width:26px;height:26px;color:var(--accent);background:#3b82f614;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.session-detail-icon--cow .cow-icon{font-size:14px;line-height:1}.session-detail-text{flex-direction:column;min-width:0;display:flex}.session-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:500;line-height:1.2}.session-detail-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;line-height:1.3;overflow:hidden}.session-detail-value-sm{opacity:.7;font-family:monospace;font-size:11px}.session-results-divider{background:var(--panel-border);height:1px;margin:20px 0}.session-result-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}@media (width<=900px){.session-result-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.session-result-cards{grid-template-columns:1fr}}.result-card{text-align:center;border:1px solid var(--panel-border);background:#ffffff05;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:100px;padding:20px 12px;display:flex}[data-theme=light] .result-card{background:#00000004}.result-card--milk{border-top:3px solid #3b82f6}.result-card--milk .result-card-icon{color:#3b82f6;background:#3b82f61a}.result-card--fat{border-top:3px solid #f59e0b}.result-card--fat .result-card-icon{color:#f59e0b;background:#f59e0b1a}.result-card--protein{border-top:3px solid #10b981}.result-card--protein .result-card-icon{color:#10b981;background:#10b9811a}.result-card--scc{border-top:3px solid #dc2626}.result-card--scc .result-card-icon{color:#dc2626;background:#dc26261a}.result-card-icon{border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:10px;display:flex}.result-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:600}.result-card-value{color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:28px;font-weight:700;line-height:1.2;display:flex}.result-card-value .guard-rails-value{align-items:center;gap:6px;display:flex}.result-card-lab{color:var(--accent);border:1px solid var(--accent);opacity:.7;border-radius:99px;margin-top:8px;padding:2px 10px;font-size:13px;font-weight:600}.result-card-lab--hidden{visibility:hidden}.session-files-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.session-files-list{flex-wrap:wrap;gap:6px;display:flex}.session-loading,.session-not-found{padding:24px}.session-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.session-header .action-btn{padding:10px 8px}.session-title-block{flex:1;min-width:0}.session-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-title-row h1{letter-spacing:-.01em;align-items:center;gap:8px;min-height:34px;margin:0;font-size:26px;font-weight:700;display:inline-flex}.session-title-icon{color:var(--accent);flex-shrink:0}.session-subtitle{color:var(--muted);margin:4px 0 0;font-size:14px;font-weight:400}.session-header-actions{flex-shrink:0;align-items:center;gap:8px;margin-inline-start:auto;display:flex}.session-status-badge{align-items:center;gap:6px;display:inline-flex}.notes-hover{cursor:default;display:block;position:relative}.notes-hover:hover .notes-hover-content{opacity:1;pointer-events:auto;transform:translateY(0)}.notes-hover-content{top:calc(100% + 6px);white-space:pre-line;pointer-events:none;opacity:0;z-index:100;color:#f9fafb;background:#1f2937;border-radius:6px;width:max-content;max-width:300px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.5;transition:opacity .2s,transform .2s;position:absolute;inset-inline-start:0;transform:translateY(4px);box-shadow:0 4px 12px #00000026}[data-theme=light] .notes-hover-content{color:#f9fafb;background:#111827;box-shadow:0 4px 12px #0000001f}.session-records-panel{max-width:100%;overflow:hidden}.scroll-sync-top{overflow:auto hidden}.scroll-sync-spacer{height:1px}.scroll-sync-table{max-width:100%;overflow-x:auto}.scroll-sync-table .table{table-layout:auto;width:auto;min-width:100%}.charts-columns{gap:16px;display:flex}.chart-card{flex:1;min-width:0;padding:0}.chart-card--full-width{flex:none;margin-top:16px}.chart-card-title{letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--panel-border);color:var(--text);background:#ffffff12;margin:0;padding:14px 24px;font-size:15px;font-weight:600}[data-theme=light] .chart-card-title{background:#0000000a}.chart-card-section{padding:16px 24px}.chart-card-section+.chart-card-section{border-top:1px solid var(--panel-border)}.chart-placeholder-wrapper{position:relative}.chart-placeholder-overlay{padding-inline-start:50px;color:var(--muted);z-index:2;justify-content:center;align-items:center;padding-bottom:40px;font-size:14px;transition:opacity .4s;animation:1.5s ease-in-out infinite chart-placeholder-pulse;display:flex;position:absolute;inset:0}.chart-placeholder-overlay--hidden{opacity:0;pointer-events:none;animation:none}@keyframes chart-placeholder-pulse{0%,to{opacity:.5}50%{opacity:1}}.chart-panel{padding:24px}.chart-tooltip{background:var(--panel);border:1px solid var(--panel-border);border-radius:6px;max-height:240px;padding:6px 12px;font-size:11px}.chart-tooltip-title{color:var(--text);text-align:center;margin-bottom:6px;font-weight:600}.chart-tooltip-columns{gap:12px;display:flex}.chart-tooltip-column{flex-direction:column;gap:2px;display:flex}.chart-tooltip-entry{align-items:center;gap:6px;display:flex}.chart-tooltip-name{font-weight:500}.chart-tooltip-value{color:var(--text)}.chart-tooltip-separator{background:var(--panel-border);width:1px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.chart-title{margin:0;font-size:16px}.chart-zoom-info{margin-bottom:8px;font-size:11px}.chart-legend{flex-wrap:wrap;justify-content:center;gap:6px 12px;padding:0 0 12px;font-size:11px;display:flex}.chart-legend-item{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex}.chart-legend-item--hidden{color:var(--muted);opacity:.4;text-decoration:line-through}.chart-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.metadata-empty{text-align:center;color:var(--muted);padding:48px 24px;font-size:14px}.metadata-panel{padding:24px}.shirley-details-panel{margin-bottom:16px;padding:20px 24px}.shirley-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 16px;font-size:14px;font-weight:600}.shirley-linked-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.shirley-linked-header .shirley-section-title{margin-bottom:0}.shirley-linked-open{all:unset;cursor:pointer;color:var(--accent);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.shirley-linked-open:hover{background:#3b82f61a}.shirley-empty{text-align:center;color:var(--muted);padding:24px;font-size:14px}.docs-page h1{margin-bottom:4px}.docs-page .docs-subtitle{color:var(--muted);margin-bottom:24px;font-size:14px}.docs-table{table-layout:auto}.docs-table td{white-space:normal}.docs-table .docs-expand-col{width:28px;padding:0}.docs-table .docs-expand-cell{width:28px;color:var(--muted);vertical-align:middle;padding:12px 4px 12px 12px}.docs-table th:nth-child(2){width:80px}.docs-table th:nth-child(3){width:38%}.docs-endpoint-row{cursor:pointer;-webkit-user-select:none;user-select:none}.docs-endpoint-row:hover{background:#3b82f60a!important}.docs-detail-row>td{border-bottom:1px solid var(--panel-border);padding:0 12px 12px!important}.endpoint-detail{flex-wrap:wrap;gap:12px;padding-inline-start:28px;display:flex}.endpoint-detail-block{flex:1;min-width:240px}.endpoint-detail-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.docs-code-block{border:1px solid var(--panel-border);white-space:pre;color:var(--text);background:#0000000a;border-radius:6px;margin:0;padding:10px 12px;font-family:SF Mono,Fira Code,Fira Mono,Consolas,monospace;font-size:12px;line-height:1.5;overflow-x:auto}[data-theme=dark] .docs-code-block{background:#00000040}.docs-code-block code{font:inherit;background:0 0;padding:0}.badge-get{color:#10b981;background:#10b98126}[data-theme=dark] .badge-get{color:#6ee7b7}.badge-post{color:#3b82f6;background:#3b82f626}[data-theme=dark] .badge-post{color:#93c5fd}.badge-put{color:#f59e0b;background:#f59e0b26}[data-theme=dark] .badge-put{color:#fcd34d}.badge-patch{color:#8b5cf6;background:#8b5cf626}[data-theme=dark] .badge-patch{color:#c4b5fd}.badge-delete{color:#ef4444;background:#ef444426}[data-theme=dark] .badge-delete{color:#fca5a5}.docs-endpoint{color:var(--text);background:#0000000f;border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,Fira Mono,Consolas,monospace;font-size:13px}[data-theme=dark] .docs-endpoint{background:#ffffff0f}.docs-section-title{margin-bottom:4px;font-size:16px;font-weight:600}.docs-section-desc{color:var(--muted);margin-bottom:16px;font-size:13px}.docs-subsection-title{border-top:1px solid var(--panel-border);margin:24px 0 4px;padding-top:16px;font-size:14px;font-weight:600}.arch-flow{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0 16px;display:flex}.arch-flow .arch-flow-group{align-items:center;gap:8px;display:inline-flex}.arch-flow-node{color:var(--text);white-space:nowrap;background:#3b82f614;border:1px solid #3b82f633;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:flex}.arch-flow-arrow{color:var(--muted);align-items:center;display:flex}[dir=rtl] .arch-flow-arrow svg{transform:scaleX(-1)}.arch-stack-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.arch-stack-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:16px}.arch-stack-card h4{margin-bottom:4px;font-size:14px;font-weight:600}.arch-stack-card p{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.4}.arch-services{flex-wrap:wrap;gap:6px;display:flex}.arch-detail-title{margin-bottom:12px;font-size:15px;font-weight:600}.arch-detail-list{margin:0;padding:0;list-style:none}.arch-detail-list li{border-bottom:1px solid var(--panel-border);color:var(--text);padding:8px 0;font-size:13px;line-height:1.5}.arch-detail-list li:last-child{border-bottom:none}.arch-detail-list li strong{color:var(--text)}.arch-detail-list li span{color:var(--muted)}.mermaid-diagram{width:100%;padding:12px 0;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto;margin:0 auto;display:block}.arch-env-table{table-layout:auto}.arch-env-table td,.arch-env-table th{white-space:normal}.arch-env-table th:first-child{width:30%}.analyze-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.analyze-header h1{margin:0}.analyze-header .btn{gap:4px}[dir=rtl] .analyze-header .btn svg{transform:scaleX(-1)}.analyze-loading{height:300px;color:var(--muted);justify-content:center;align-items:center;display:flex}.analyze-card-loading{color:var(--muted);justify-content:center;align-items:center;display:flex}.chart-container-tall{height:360px}.scatter-legend{color:var(--muted);align-items:center;gap:16px;margin-top:12px;font-size:12px;display:flex}.scatter-legend-item{align-items:center;gap:6px;display:inline-flex}.scatter-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.scatter-dot--danger{background:var(--danger)}.scatter-dot--warning{background:var(--warning)}.scatter-dot--accent{background:var(--accent)}.analyze-histograms{flex-direction:column;gap:24px;display:flex}.histogram-section h4{margin:0 0 8px;font-size:13px}.chart-container-hist{height:160px}.rfid-page .table th{text-transform:uppercase;white-space:nowrap}.rfid-age{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.rfid-timestamp{color:var(--muted)}.rfid-stats-title{color:var(--text);margin-bottom:12px;font-size:15px;font-weight:600}.rfid-stats-row{flex-wrap:wrap;gap:12px;display:flex}.rfid-stat-card{background:var(--bg);border:1px solid var(--panel-border);border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:160px;padding:16px 18px;display:flex}.rfid-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.rfid-stat-icon--accent{color:var(--accent);background:#3b82f61f}.rfid-stat-icon--success{color:var(--success);background:#10b9811f}.rfid-stat-icon--warning{color:var(--warning);background:#f59e0b1f}.rfid-stat-icon--muted{color:var(--muted);background:#9ca3af1f}.rfid-stat-content{flex:1;min-width:0}.rfid-stat-label{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:500}.rfid-stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.rfid-stat-meta{flex-wrap:wrap;align-items:center;gap:8px;min-height:22px;margin-top:4px;display:flex}.rfid-stat-secondary{color:var(--muted);font-size:12px}.rfid-stat-range{font-variant-numeric:tabular-nums}.rfid-filter-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .rfid-filter-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.rfid-filter-panel--stacked{flex-direction:column;align-items:stretch}.rfid-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rfid-filter-row+.rfid-filter-row{border-top:1px solid var(--panel-border);padding-top:8px}.rfid-filter-bottom-left{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.rfid-filter-bottom-left .search-input{width:260px}.rfid-filter-selects{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rfid-filter-selects .search-input{width:225px}.rfid-filter-end{flex-shrink:0;align-items:center;gap:10px;display:flex}.rfid-total-count{color:var(--accent);font-size:14px;font-weight:500}.rfid-tag-link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;font-weight:600;text-decoration:none}.rfid-tag-link:hover{text-decoration:underline}.rfid-cow-cell{align-items:center;gap:5px;font-weight:600;display:inline-flex}.rfid-cow-open{color:var(--muted);align-items:center;transition:color .15s;display:inline-flex}.rfid-cow-open:hover{color:var(--accent)}.rfid-assign-cell{justify-content:center;display:flex}.signal-badge{font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.signal-badge--good{color:var(--success);background:#10b98133;border-color:#10b9814d}.signal-badge--medium{color:var(--warning);background:#f59e0b33;border-color:#f59e0b4d}.signal-badge--weak{color:var(--danger);background:#ef444433;border-color:#ef44444d}.country-cell{align-items:center;gap:6px;display:inline-flex}.country-flag{vertical-align:middle;border-radius:2px;flex-shrink:0;box-shadow:0 0 0 1px #0000001a}.country-flag--unknown{color:var(--muted);box-shadow:none}.rfid-row-new td{animation:20s ease-out forwards rfid-row-flash}@keyframes rfid-row-flash{0%,75%{background:#10b98126}to{background:0 0}}.rfid-history-header-actions{flex-wrap:wrap;align-items:center;gap:16px;display:inline-flex}.rfid-history-loading{color:var(--muted);justify-content:center;padding:32px 0;display:flex}.rfid-history-title{align-items:center;gap:10px;display:flex}.rfid-history-title>span:last-child{flex-direction:column;display:flex}.rfid-history-title strong{font-size:20px}.rfid-history-title-icon{font-size:34px}.rfid-history-title-tag{color:var(--accent);font-size:15px;font-weight:500}.rfid-history-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;display:grid}.rfid-history-stat-card{background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 14px;display:grid}.rfid-history-stat-card .rfid-history-stat-card-icon{grid-area:1/2/-1;align-self:center}.rfid-history-stat-card-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:0;display:flex}.rfid-history-stat-card-icon--accent{color:var(--accent);background:#3b82f61f}.rfid-history-stat-card-icon--cyan{color:#06b6d4;background:#06b6d41f}.rfid-history-stat-card-icon--green{color:var(--success);background:#10b9811f}.rfid-history-stat-card-icon--warning{color:var(--warning);background:#f59e0b1f}.rfid-history-stat-card-label{color:var(--muted);font-size:12px;font-weight:500}.rfid-history-stat-card-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.rfid-history-stat-card-value--cyan{color:var(--accent);font-size:15px;font-weight:600}.rfid-history-stat-card-value--green{color:var(--success);font-size:15px;font-weight:600}.rfid-history-table-wrap{min-height:420px;max-height:420px;overflow-y:auto}.rfid-history-table-wrap .table th{text-transform:uppercase;white-space:nowrap}.rfid-history-time{color:var(--muted);white-space:nowrap}.rfid-history-pagination{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;display:flex}.rfid-history-pagination-buttons{gap:6px;display:flex}.batch-page .table th{text-transform:uppercase;white-space:nowrap}.batch-filter-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .batch-filter-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.batch-filter-selects{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.batch-filter-selects .search-input{width:225px}.batch-filter-end{flex-shrink:0;align-items:center;gap:10px;display:flex}.batch-total-count{color:var(--accent);font-size:14px;font-weight:500}.batch-expand-icon{color:var(--muted);justify-content:center;align-items:center;transition:color .15s;display:flex}.clickable-row:hover .batch-expand-icon{color:var(--text)}.batch-status{white-space:nowrap;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.batch-status--started{color:var(--success);background:#10b98133;border-color:#10b9814d;animation:2s ease-in-out infinite batch-pulse}.batch-status--in_progress{color:var(--accent);background:#3b82f633;border-color:#3b82f64d;animation:2s ease-in-out infinite batch-pulse}.batch-status--completed{color:var(--success);background:#10b98126;border-color:#10b98140}@keyframes batch-pulse{0%,to{opacity:1}50%{opacity:.6}}.batch-duration{font-variant-numeric:tabular-nums;font-weight:500}.batch-duration--active{color:var(--accent)}.batch-stations-count{font-variant-numeric:tabular-nums;font-weight:600}.batch-id{color:var(--muted);font-family:monospace;font-size:12px}.batch-timestamp{color:var(--muted)}.batch-row-new td{animation:30s ease-out forwards batch-row-flash}.batch-files-list{flex-wrap:wrap;gap:6px;display:inline-flex}.batch-detail-actions{align-items:center;gap:6px;display:inline-flex}.batch-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.batch-row-selected td{background:#3b82f60f}.batch-row-expanded td{box-shadow:inset 0 2px 0 var(--accent);border-bottom-color:#0000}.batch-row-expanded td:first-child{box-shadow:inset 2px 0 0 var(--accent), inset 0 2px 0 var(--accent)}.batch-row-expanded td:last-child{box-shadow:inset -2px 0 0 var(--accent), inset 0 2px 0 var(--accent)}.batch-row-expanded.batch-row-selected td{background:#3b82f60f}.bulk-actions{align-items:center;gap:8px;font-size:13px;display:flex}.bulk-actions-count{color:var(--accent);margin-inline-end:4px;font-weight:600}@keyframes batch-row-flash{0%,75%{background:#10b98126}to{background:0 0}}.batch-detail{background:var(--bg);padding:20px 24px}.batch-detail-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.batch-detail-id{color:var(--muted);text-align:start;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.batch-detail-id-value{color:var(--text);-webkit-user-select:all;user-select:all;font-family:monospace;font-size:14px}.batch-detail-summary{align-items:center;gap:14px;display:flex}.batch-detail-stat{color:var(--muted);align-items:center;gap:5px;font-size:14px;font-weight:600;display:inline-flex}.batch-detail-stat--warn{color:#ffc107}.batch-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.batch-detail-empty{color:var(--muted);font-size:14px;font-style:italic}.batch-stations-grid{grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:10px;display:grid}.station-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.station-card--milking{border-color:#007bff59;box-shadow:0 0 12px #007bff14}.station-card--waiting{border-color:#ffc10759;box-shadow:0 0 12px #ffc1070f}.station-card--error{border-color:#dc354559;box-shadow:0 0 12px #dc354514}.station-card-top{justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.station-card-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.station-card-title{color:var(--text);letter-spacing:-.01em;align-items:center;gap:5px;min-width:0;font-size:14px;font-weight:700;display:inline-flex}.station-card-title svg{color:var(--accent);opacity:.85;flex-shrink:0}.station-card-mika{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.station-card-session{color:var(--accent);white-space:nowrap;background:#3b82f61f;border:1px solid #3b82f647;border-radius:4px;align-self:flex-start;align-items:center;gap:4px;padding:1px 6px;font-family:monospace;font-size:11px;font-weight:600;display:inline-flex}.station-card-session svg{flex-shrink:0}.station-card-divider{background:var(--panel-border);height:1px}.station-state{white-space:nowrap;letter-spacing:.01em;border-radius:12px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.station-state--idle{color:#28a745;background:#28a7451f}.station-state--idle .station-state-dot{background:#28a745}.station-state--milking{color:#007bff;background:#007bff1f}.station-state--milking .station-state-dot{background:#007bff;animation:1.5s ease-in-out infinite station-dot-pulse}.station-state--waiting{color:#ffc107;background:#ffc1071f}.station-state--waiting .station-state-dot{background:#ffc107;animation:1.5s ease-in-out infinite station-dot-pulse}.station-state--error{color:#dc3545;background:#dc35451f}.station-state--error .station-state-dot{background:#dc3545}.station-state-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}@keyframes station-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.station-card-body{align-items:center;min-height:48px;padding:10px 14px 12px;display:flex}.station-card-cow{flex-direction:column;gap:4px;display:flex}.station-cow{align-items:center;gap:4px;font-size:14px;font-weight:600;display:inline-flex}.station-cow .cow-id-value{color:var(--text)}.station-cow-open{color:var(--muted);align-items:center;margin-inline-start:2px;transition:color .15s;display:inline-flex}.station-cow-open:hover{color:var(--accent)}.station-tag-row{color:var(--muted);align-items:center;gap:4px;font-family:monospace;font-size:14px;display:inline-flex}.station-no-cow{color:var(--muted);font-size:14px;font-style:italic}.batch-unassigned-count{font-variant-numeric:tabular-nums;color:#ffc107;font-weight:600}.batch-unassigned-section{border-top:1px solid var(--panel-border);margin-top:16px;padding-top:16px}.batch-unassigned-title{color:#ffc107;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.batch-unassigned-list{flex-wrap:wrap;gap:8px;display:flex}.unassigned-tag-item{background:#ffc1070a;border:1px solid #ffc1072e;border-radius:8px;align-items:flex-start;gap:10px;min-width:0;padding:10px 14px;font-size:13px;line-height:1;display:inline-flex}.unassigned-tag-item .station-drag-handle{margin-top:2px}.unassigned-tag-item--draggable{cursor:grab}.unassigned-tag-item--draggable:active{cursor:grabbing}.unassigned-tag-body{flex-direction:column;gap:8px;min-width:0;display:flex}.unassigned-tag-main{align-items:center;gap:12px;line-height:1;display:inline-flex}.unassigned-reader-log{color:var(--muted);font-variant-numeric:tabular-nums;background:#7878780f;border:1px solid #7878781a;border-radius:6px;flex-wrap:wrap;align-items:center;gap:0;padding:6px 10px;font-size:11.5px;display:inline-flex}.unassigned-reader-log-item{border-inline-end:1px solid #7878782e;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.unassigned-reader-log-item:first-child{padding-inline-start:0}.unassigned-reader-log-item:last-child{border-inline-end:none;padding-inline-end:0}.unassigned-reader-log-item svg{opacity:.65;flex-shrink:0}.unassigned-reader-log-icon{font-size:12px;line-height:1}.unassigned-reader-log-label{text-transform:uppercase;letter-spacing:.04em;opacity:.75;font-size:10px;font-weight:600}.unassigned-reader-log-value{color:var(--text);font-weight:500}.batch-detail-edit-actions{align-items:center;gap:6px;margin-inline-start:4px;display:inline-flex}.batch-edit-modal.modal-wide{width:calc(100vw - 64px);max-width:calc(100vw - 64px)}.batch-edit-modal .batch-section-title{margin-top:0;margin-bottom:12px}.batch-edit-modal .batch-unassigned-section{margin-top:0}.batch-edit-layout{flex-direction:column;gap:16px;display:flex}.batch-edit-unassigned{border-top:1px solid var(--panel-border);padding-top:16px}.batch-edit-summary{color:var(--muted);border-bottom:1px solid var(--panel-border);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;padding:8px 0 12px;font-size:13px;display:flex}.batch-detail--edit .station-card--editable{transition:border-color .15s,box-shadow .15s,transform .1s}.batch-detail--edit .station-card-cow--draggable{cursor:grab}.batch-detail--edit .station-card-cow--draggable:active{cursor:grabbing}.batch-detail--edit .station-card--drop-target{box-shadow:0 0 0 2px #3b82f640;border-color:var(--accent)!important}.batch-detail--edit .batch-unassigned-section--drop-target{background:#3b82f60d;border-radius:8px;box-shadow:inset 0 0 0 2px #3b82f659}.station-drag-handle{color:var(--muted);flex-shrink:0;margin-inline-end:2px}.mb-log-viewer{flex-direction:column;gap:10px;min-height:0;max-height:72vh;display:flex}.mb-log-toolbar{border:1px solid var(--panel-border);background:#7878780a;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.mb-log-summary{color:var(--muted);align-items:center;gap:16px;font-size:13px;display:flex}.mb-log-summary strong{color:var(--text);margin-inline-end:4px;font-weight:600}.mb-log-controls{align-items:center;gap:12px;display:flex}.mb-log-filter{border:1px solid var(--panel-border);background:var(--panel);width:260px;max-width:100%;height:30px;color:var(--text);border-radius:6px;outline:none;padding:0 10px;font-size:13px}.mb-log-filter:focus{border-color:var(--accent)}.mb-log-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.mb-log-toggle input{cursor:pointer}.mb-log-rows{border:1px solid var(--panel-border);background:var(--panel);border-radius:8px;flex:1;min-height:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow:auto}.mb-log-row{white-space:nowrap;border-bottom:1px solid #78787814;grid-template-columns:92px minmax(150px,170px) 90px minmax(130px,150px) 1fr;align-items:center;gap:10px;padding:4px 12px;display:grid}.mb-log-row:last-child{border-bottom:none}.mb-log-row:hover{background:#3b82f60a}.mb-log-row--tick{opacity:.55}.mb-log-row--raw{color:var(--muted);white-space:pre-wrap;word-break:break-all;grid-template-columns:1fr;font-size:11px}.mb-log-ts{color:var(--muted);font-variant-numeric:tabular-nums}.mb-log-station{color:var(--text);font-size:12px;font-weight:600}.mb-log-station--empty{color:var(--muted);font-weight:400}.mb-log-event{color:var(--text);background:#7878781f;border-radius:10px;justify-self:start;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.mb-log-event svg{opacity:.75;flex-shrink:0}.mb-log-event--session_started,.mb-log-event--session_ended{color:var(--accent);background:#3b82f629}.mb-log-event--station_booted{color:#0d9488;background:#14b8a624}[data-theme=dark] .mb-log-event--station_booted{color:#2dd4bf}.mb-log-event--tag_detected{color:var(--success);background:#10b98126}.mb-log-event--tag_removed{color:var(--muted);background:#7878781f}.mb-log-event--tag_skipped_empty_position,.mb-log-event--shared_grace_started{color:var(--warning);background:#f59e0b26}.mb-log-event--shared_grace_cancelled{color:var(--muted);background:#7878781f}.mb-log-state{border-radius:10px;justify-self:start;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.mb-log-state svg{flex-shrink:0}.mb-log-state--awaiting_milk{color:var(--muted);background:#7878781f}.mb-log-state--milking_active{color:var(--success);background:#10b98126}.mb-log-state--milking_paused{color:var(--warning);background:#f59e0b26}.mb-log-state--milking_ended{color:var(--accent);background:#3b82f629}.mb-log-state--stop_confirmation{color:#7c3aed;background:#8b5cf629}[data-theme=dark] .mb-log-state--stop_confirmation{color:#a78bfa}.mb-log-state--awaiting_answers{color:var(--danger);background:#ef444424}.mb-log-detail{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.mb-log-detail--raw{opacity:.7;font-size:11px}.mb-log-empty{text-align:center;color:var(--muted);padding:24px;font-size:13px}.station-card--clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.station-card--clickable:hover{border-color:var(--accent);box-shadow:0 0 0 1px #3b82f640}.station-card--clickable:active{transform:translateY(1px)}.station-session-modal.modal-wide{width:calc(100vw - 64px);max-width:calc(100vw - 64px)}.station-session-modal>.modal-body{min-height:50vh;overflow-y:hidden}.station-session-modal>.modal-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.station-session-modal>.modal-header>h3{margin:0;display:contents}.station-session-modal>.modal-header>.modal-header-actions{grid-column:3;justify-self:end;gap:24px}.station-session-modal>.modal-header>.modal-header-actions>.btn:last-child{min-width:44px;min-height:44px;padding:8px 14px;font-size:22px;line-height:1}.station-session-modal .ssm-header{display:contents}.ssm-confirm-overwrite.modal-wide{max-width:720px}.ssm-confirm-overwrite .modal-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px}.ssm-confirm-overwrite .modal-actions .btn{text-align:center;border-radius:12px;justify-content:center;align-items:center;min-width:180px;min-height:56px;padding:14px 36px;font-size:18px;font-weight:600;display:inline-flex}.ssm-confirm-actions-spacer{display:none}.ssm-skip-confirm{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1 0 100%;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.ssm-skip-confirm input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.ssm-confirm-overwrite .confirm-overwrite-list{text-align:start;padding-inline-start:0;list-style:none}.ssm-confirm-overwrite .confirm-overwrite-list li{text-align:start;justify-content:flex-start;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.ssm-confirm-label{color:var(--muted);text-align:start;flex-shrink:0;min-width:110px;font-weight:600}.ssm-confirm-value{color:var(--text);word-break:break-word;font-family:monospace;font-size:14px;font-weight:600}.ssm-confirm-value--cleared{color:var(--muted);font-family:inherit;font-style:italic;font-weight:400}.ssm-confirm-value--multiline{white-space:pre-wrap}.ssm-farm{flex-direction:column;grid-column:1;justify-self:start;align-items:flex-start;gap:8px;min-width:0;display:inline-flex}.ssm-farm-name{color:var(--text);align-items:center;gap:10px;min-width:0;font-size:24px;font-weight:700;display:inline-flex}.ssm-farm-name svg{width:26px;height:26px;color:var(--muted);flex-shrink:0}.ssm-farm-time-toggle{font-size:13px}.ssm-farm-time-toggle .switch-label{white-space:nowrap;flex-direction:row-reverse;justify-content:flex-start}.ssm-title-block{flex-direction:column;grid-column:2;justify-self:center;align-items:center;gap:4px;min-width:0;display:flex}.ssm-title-line{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.ssm-title-line svg{flex-shrink:0}.ssm-title-line--placeholder{visibility:hidden}.ssm-title-main{color:var(--text);font-size:22px;font-weight:700}.ssm-title-mika{color:var(--text);font-size:20px;font-weight:600}.ssm-title-mika svg{color:var(--muted);width:20px;height:20px}.ssm-title-station-name{color:var(--accent);letter-spacing:.01em;background:#3b82f624;border-radius:8px;padding:1px 10px;font-weight:800;display:inline-block}[data-theme=dark] .ssm-title-station-name{background:#3b82f638}.ssm-title-mika-name{color:#7c3aed;background:#8b5cf61f;border-radius:8px;padding:1px 10px;font-weight:700;display:inline-block}[data-theme=dark] .ssm-title-mika-name{color:#a78bfa;background:#8b5cf638}.ssm-title-details{color:var(--text);gap:18px;font-size:18px;font-weight:500}.ssm-title-details svg{width:18px;height:18px;color:var(--muted)}.ssm-title-detail-item{align-items:center;gap:5px;display:inline-flex}.ssm-title-detail-item svg{flex-shrink:0}.ssm-title-detail-item--live{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.ssm-title-session-link{color:var(--muted);align-items:center;margin-inline-start:4px;transition:color .15s;display:inline-flex}.ssm-title-session-link:hover{color:var(--accent)}.ssm-title-icon{color:var(--accent);flex-shrink:0}.ssm-title-text{color:var(--text);font-size:22px;font-weight:700}.ssm-title-count{color:var(--muted);font-size:14px;font-weight:500}.ssm-filters{flex-direction:column;align-items:flex-start;gap:12px;margin-inline-end:8px;font-size:13px;display:flex}.ssm-filters .switch-label{white-space:nowrap;flex-direction:row-reverse;justify-content:flex-start}.ssm-filters .ssm-bottle-btn{align-items:center;gap:6px;margin-block-start:4px;display:inline-flex}.ssm-filters--bottom{display:none}@media (orientation:portrait){.ssm-filters--top{display:none}.station-session-modal .ssm-filters--bottom{align-self:flex-start;margin-block-start:16px;padding:8px 0 0;display:flex}}.ssm-loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:48px 24px;font-size:15px;display:flex}.ssm-empty,.ssm-no-session{text-align:center;color:var(--muted);padding:36px 24px;font-size:15px;font-style:italic}.ssm-layout{align-items:stretch;gap:16px;min-height:50vh;display:flex}.ssm-nav-btn{width:112px;min-height:220px;color:var(--accent);touch-action:manipulation;background:#3b82f61f;border:1px solid #3b82f673;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,transform .1s,color .15s;display:flex}[data-theme=dark] .ssm-nav-btn{background:#3b82f62e;border-color:#3b82f68c}.ssm-nav-btn svg{width:72px;height:72px;color:var(--accent)}[dir=rtl] .ssm-nav-btn svg{transform:scaleX(-1)}.ssm-nav-btn:not(:disabled){cursor:pointer}.ssm-nav-btn:not(:disabled):hover{background:var(--accent);border-color:var(--accent);color:#fff}.ssm-nav-btn:not(:disabled):hover svg{color:#fff}.ssm-nav-btn:not(:disabled):active{transform:scale(.97)}.ssm-nav-btn:disabled{opacity:.25}.ssm-content{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-width:0;padding:10px;display:flex}.ssm-unassigned{flex-direction:column;gap:8px;display:flex}.ssm-unassigned-title{color:#ffc107;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.ssm-unassigned-list{flex-direction:column;gap:8px;min-width:0;display:flex}.ssm-unassigned-cow.unassigned-tag-item{align-items:center;padding:8px 12px;font-size:14px}.ssm-unassigned--side{flex-direction:column;flex-shrink:0;width:200px;min-height:0;max-height:calc(80vh - 240px);padding:4px;display:flex;overflow:hidden}.ssm-unassigned--side .ssm-unassigned-list{flex:1;min-height:0;overflow-y:auto}.ssm-unassigned-spacer,.ssm-unassigned--bottom{display:none}@media (orientation:portrait){.ssm-unassigned--side,.ssm-unassigned-spacer{display:none}.station-session-modal .ssm-unassigned--bottom{flex-direction:column;flex-shrink:0;align-self:stretch;width:100%;margin-block-start:12px;display:flex}.station-session-modal .ssm-unassigned--bottom .ssm-unassigned-list{flex-flow:row;max-height:60px;padding-block-end:4px;overflow:auto hidden}.station-session-modal .ssm-unassigned--bottom .ssm-unassigned-cow.unassigned-tag-item{flex-shrink:0}}.station-session-modal .field-with-save--drop input{border-style:dashed}.station-session-modal .field-with-save--drop:focus-within input,.station-session-modal .field-with-save--drop input:hover{border-style:solid}.station-session-modal .ssm-form{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.station-session-modal .ssm-form--placeholder{visibility:hidden}@media (orientation:landscape){.station-session-modal .ssm-form{grid-template-columns:1fr 1fr;align-items:start;gap:10px 72px;max-width:none;display:grid;position:relative}.station-session-modal .ssm-form:before{content:"";top:0;bottom:0;background:var(--panel-border);pointer-events:none;border-radius:2px;width:3px;position:absolute;inset-inline-start:50%;transform:translate(-50%)}}.station-session-modal .ssm-form-group{flex-direction:column;align-items:flex-start;width:360px;max-width:100%;margin-bottom:0;display:flex}.station-session-modal .ssm-form-group label{text-align:start;font-size:15px;font-weight:600}.station-session-modal .ssm-form-group .field-with-save{align-items:stretch;width:100%;position:relative}.station-session-modal .ssm-form-group .field-with-save .action-btn{align-self:stretch;height:auto;padding-inline:12px}.station-session-modal .ssm-form-group .ssm-input-wrap{flex:1;align-items:stretch;min-width:0;display:flex;position:relative}.station-session-modal .ssm-form-group .ssm-input-wrap input,.station-session-modal .ssm-form-group .ssm-input-wrap textarea{flex:1;width:100%;padding-inline-end:36px}.station-session-modal .ssm-form-group .field-with-save-textarea .action-btn{align-self:stretch;height:auto}.station-session-modal .ssm-form-group input,.station-session-modal .ssm-form-group textarea{padding:12px 14px}.station-session-modal .ssm-form-group textarea{resize:vertical;min-height:0}.station-session-modal .ssm-form-group .ssm-input-clear{inset-inline-end:8px;width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.station-session-modal .ssm-form-group .ssm-input-clear:hover{color:var(--text);background:#7878782e}.station-session-modal .ssm-form-group .ssm-input-clear:active{transform:translateY(-50%)scale(.94)}.station-session-modal .ssm-form-group .ssm-input-wrap--textarea .ssm-input-clear{top:10px;transform:none}.station-session-modal .ssm-form-group .ssm-input-wrap--textarea .ssm-input-clear:active{transform:scale(.94)}.station-session-modal .ssm-form-group .ssm-other-input{margin-top:8px}@media (orientation:landscape){.station-session-modal .ssm-form-group{width:100%}.station-session-modal .ssm-form-group:last-child{grid-column:1/-1}}.station-session-modal .ssm-saved-indicator{top:50%;color:var(--success);white-space:nowrap;pointer-events:none;align-items:center;gap:4px;margin-inline-start:8px;font-size:13px;font-weight:600;animation:2.5s forwards ssm-saved-fade;display:inline-flex;position:absolute;inset-inline-start:100%;transform:translateY(-50%)}.station-session-modal .ssm-saved-indicator svg{flex-shrink:0}@media (orientation:landscape){.station-session-modal .ssm-form .ssm-saved-indicator{top:100%;margin-block-start:4px;margin-inline-start:0;animation:2.5s forwards ssm-saved-fade-below;inset-inline:auto 0;transform:none}}.station-session-modal>.modal-actions{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.station-session-modal .ssm-actions-spacer{grid-column:1}.station-session-modal .ssm-save-all-wrap{grid-column:2;justify-self:center;align-items:center;display:inline-flex;position:relative}.station-session-modal .ssm-save-all-btn{text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-width:200px;min-height:56px;padding:14px 36px;font-size:18px;font-weight:600;display:inline-flex}.station-session-modal .ssm-save-all-btn svg{flex-shrink:0}.station-session-modal .ssm-saved-indicator--save-all{margin-inline-start:12px;font-size:15px}.station-session-modal .ssm-saved-indicator--save-all svg{width:16px;height:16px}.station-session-modal .ssm-close-btn{text-align:center;border-radius:12px;grid-column:3;justify-content:center;justify-self:end;align-items:center;min-width:200px;min-height:56px;padding:14px 36px;font-size:18px;font-weight:600;display:inline-flex}@media (height<=800px){.station-session-modal>.modal-body{min-height:0;overflow-y:auto}.station-session-modal .ssm-layout{min-height:0}.station-session-modal>.modal-actions{flex-shrink:0}.station-session-modal .ssm-save-all-btn,.station-session-modal .ssm-close-btn{min-width:160px;min-height:44px;padding:10px 28px;font-size:16px}}@keyframes ssm-saved-fade{0%{opacity:0;transform:translate(-4px,-50%)}10%{opacity:1;transform:translateY(-50%)}85%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translateY(-50%)}}@keyframes ssm-saved-fade-below{0%{opacity:0;transform:translateY(-4px)}10%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.batch-bottle-number-modal{max-width:600px}.batch-bottle-number-modal>.modal-body{overflow-wrap:break-word;text-align:start;overflow-x:hidden}.batch-bottle-number-modal .batch-bottle-number-help{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.4}.batch-bottle-number-modal .batch-bottle-number-warning{color:var(--text);background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:6px;align-items:flex-start;gap:8px;margin:0 0 16px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.batch-bottle-number-modal .batch-bottle-number-warning>svg{color:var(--warning);flex-shrink:0;margin-block-start:2px}.batch-bottle-number-modal .batch-bottle-number-warning>span{flex:1;min-width:0}.milkings-page .tabs{margin-bottom:12px}.milkings-loading,.milkings-empty{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:36px 20px;font-size:14px;font-style:italic;display:flex}.milkings-section-layout{grid-template-columns:1fr 280px;align-items:stretch;gap:16px;display:grid}@media (width<=1100px){.milkings-section-layout{grid-template-columns:1fr}}.milkings-section-layout>.recent-rfid-panel{align-self:start}.milkings-section-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.milkings-bulk-bottle-btn{border:1px solid var(--panel-border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.milkings-bulk-bottle-btn svg{color:var(--accent);flex-shrink:0}.milkings-bulk-bottle-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:#3b82f614}.milkings-bulk-bottle-btn:disabled{opacity:.5;cursor:default}.bulk-bottle-modal-title{align-items:center;gap:8px;display:inline-flex}.bulk-bottle-modal-title svg{color:var(--accent)}.bulk-bottle-modal-start{background:#3b82f60f;border:1px solid #3b82f640;border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.bulk-bottle-modal-start label{color:var(--text);white-space:nowrap;font-weight:600}.bulk-bottle-modal-start input{border:1px solid var(--panel-border);background:var(--panel);width:100px;color:var(--text);border-radius:6px;outline:none;padding:6px 10px;font-size:14px;font-weight:600}.bulk-bottle-modal-start input:focus{border-color:var(--accent)}.bulk-bottle-modal-start-hint{color:var(--muted);font-size:12px;font-style:italic}.bulk-bottle-modal-empty{text-align:center;color:var(--muted);padding:36px 24px;font-size:14px;font-style:italic}.bulk-bottle-modal-list{flex-direction:column;gap:4px;max-height:60vh;display:flex;overflow-y:auto}.bulk-bottle-modal-row{background:#7878780a;border-radius:6px;grid-template-columns:minmax(110px,1.2fr) minmax(110px,1.2fr) minmax(90px,1fr) minmax(120px,1.2fr) minmax(70px,.8fr) minmax(120px,1.2fr) 110px 32px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.bulk-bottle-modal-row>span{color:var(--text);align-items:center;gap:5px;min-width:0;display:inline-flex}.bulk-bottle-modal-row>span svg{opacity:.65;flex-shrink:0}.bulk-bottle-modal-row-remove{justify-self:end}.bulk-bottle-modal-row--head{border-bottom:1px solid var(--panel-border);background:0 0;border-radius:0;margin-bottom:6px;padding-block:4px}.bulk-bottle-modal-row--head>span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:700}.bulk-bottle-modal-cell-station{font-weight:700}.bulk-bottle-modal-cell-id{color:var(--muted);font-family:monospace;font-size:12px}.bulk-bottle-modal-cell-time,.bulk-bottle-modal-cell-duration{font-variant-numeric:tabular-nums;color:var(--muted)}.bulk-bottle-modal-row-bottle{justify-self:end}.bulk-bottle-modal-row-bottle input{border:1px solid var(--panel-border);background:var(--panel);width:90px;color:var(--text);font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;outline:none;padding:6px 10px;font-size:14px;font-weight:600}.bulk-bottle-modal-row-bottle input:focus{border-color:var(--accent)}.bulk-bottle-modal-row-bottle input{-moz-appearance:textfield}.bulk-bottle-modal-row-bottle input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bulk-bottle-modal-row-bottle input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.recent-rfid-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;max-height:calc(100vh - 220px);padding:14px 14px 10px;display:flex;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .recent-rfid-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.recent-rfid-panel-header{color:#ffc107;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.recent-rfid-panel-list{flex-direction:column;gap:8px;min-height:0;display:flex;overflow-y:auto}.recent-rfid-panel-empty{color:var(--muted);text-align:center;padding:12px 4px;font-size:13px;font-style:italic}.recent-rfid-panel-item.unassigned-tag-item{align-items:flex-start;width:100%}.recent-rfid-panel-meta-row{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.recent-rfid-panel-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.recent-rfid-panel-assigned-badge{color:var(--success);white-space:nowrap;background:#10b98126;border-radius:10px;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.recent-rfid-panel-assigned-badge svg{flex-shrink:0}.recent-rfid-panel-item--assigned{opacity:.72}.milking-station-card-cow-input--drop{border-color:var(--accent);background:#3b82f61f;box-shadow:0 0 0 2px #3b82f640}.milkings-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:12px 20px 20px;overflow:visible}.milking-station-card{min-height:260px;position:relative;overflow:visible}.milking-station-card-top{gap:10px;padding:14px 16px}.milking-station-card-title{letter-spacing:-.01em;font-size:22px;font-weight:800}.milking-station-card-title svg{width:22px;height:22px}.milking-station-card-mika{color:#7c3aed;white-space:nowrap;background:#8b5cf61f;border:1px solid #8b5cf647;border-radius:12px;flex-shrink:0;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}[data-theme=dark] .milking-station-card-mika{color:#a78bfa;background:#8b5cf638}.milking-station-card-mika svg{flex-shrink:0;width:13px;height:13px}.milking-station-card-no-mika{color:var(--warning);background:#f59e0b1f;border-color:#f59e0b47}[data-theme=dark] .milking-station-card-no-mika{background:#f59e0b2e}.milking-station-card-body{flex-direction:column;flex:1;justify-content:space-between;align-items:stretch;gap:10px;min-height:0;padding:14px 14px 10px;display:flex}.milking-station-card--active{box-shadow:0 0 0 1px #007bff73,0 0 18px #007bff2e}.milking-station-card--new{animation:30s ease-out forwards milking-station-flash}@keyframes milking-station-flash{0%{box-shadow:0 0 0 2px #10b981d9,0 0 24px #10b98173}10%{box-shadow:0 0 0 2px #10b981b3,0 0 18px #10b98159}90%{box-shadow:0 0 0 1px #10b98140,0 0 8px #10b9811f}to{box-shadow:0 0 #10b98100}}.milking-station-card-session-box{border:1px solid var(--panel-border);background:#7878780a;border-radius:10px;flex-direction:column;align-items:center;gap:10px;min-height:170px;padding:26px 12px 14px;display:flex;position:relative}.milking-station-card-session-box--clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s,transform .1s}.milking-station-card-session-box--clickable:hover{border-color:var(--accent);background:#3b82f60f;box-shadow:0 0 0 1px #3b82f640}.milking-station-card-session-box--clickable:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #3b82f659}.milking-station-card-session-box--clickable:active{transform:translateY(1px)}.milking-station-card-session-title{top:-9px;background:var(--panel);color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:3px;padding:0 6px;font-family:monospace;font-size:12px;font-weight:600;display:inline-flex;position:absolute;inset-inline-start:12px}.milking-station-card-session-title svg{opacity:.85;flex-shrink:0}.milking-station-card-session-bottle-wrap{top:-12px;position:absolute;inset-inline-end:8px}.milking-station-card-session-bottle{background:var(--panel);border:1px solid var(--panel-border);font-variant-numeric:tabular-nums;border-radius:8px;align-items:center;gap:4px;padding:2px 6px;transition:border-color .15s;display:inline-flex;position:relative}.milking-station-card-session-bottle--empty{border-color:var(--danger)}.milking-station-card-session-bottle--filled{border-color:var(--success)}.milking-station-card-session-bottle:focus-within{border-color:var(--accent)}.milking-station-card-session-bottle>svg{color:var(--muted);flex-shrink:0}.milking-station-card-session-bottle input{width:44px;color:var(--text);text-align:center;-moz-appearance:textfield;background:0 0;border:none;outline:none;padding:2px 4px;font-size:13px;font-weight:600}.milking-station-card-session-bottle input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.milking-station-card-session-bottle input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.milking-station-card-session-bottle--editing input{padding-inline-end:18px}.milking-station-card-session-bottle-clear{inset-inline-end:4px;width:16px;height:16px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.milking-station-card-session-bottle-clear:hover{color:var(--text);background:#7878782e}.milking-station-card-session-bottle-clear:disabled{cursor:default;opacity:.5}.milking-station-card-session-bottle-save{inset-inline-start:100%;align-items:center;margin-inline-start:4px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.milking-station-card-session-bottle-save--idle{visibility:hidden;pointer-events:none}.milking-station-card-saved-check{width:22px;height:22px;color:var(--success);background:#10b98126;border-radius:50%;justify-content:center;align-items:center;animation:2.5s forwards milking-saved-pop;display:inline-flex}.milking-station-card-saved-check svg{flex-shrink:0}.milking-station-card-saved-check--bottle{width:20px;height:20px}@keyframes milking-saved-pop{0%{opacity:0;transform:scale(.6)}10%{opacity:1;transform:scale(1.1)}20%{transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.milking-station-card-session-row{max-width:100%;color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;font-size:13px;display:inline-flex}.milking-station-card-session-row svg{opacity:.7;flex-shrink:0}.milking-station-card-session-row>.badge{white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:4px 12px;font-size:13px;overflow:hidden}.milking-station-card-session-row>.badge br{display:none}.milking-station-card-session-row--active{color:var(--accent);font-weight:600}.milking-station-card-session-row--active svg{opacity:1}.milking-station-card-session-row--time{align-items:flex-start}.milking-station-card-session-row--time svg{margin-block-start:2px}.milking-station-card-session-box--empty{justify-content:center}.milking-station-card-session-empty-line{color:var(--muted);font-size:13px;font-style:italic}.milking-station-card-time-stack{color:var(--text);flex-direction:column;align-items:flex-start;font-weight:500;line-height:1.15;display:inline-flex}.milking-station-card-cow-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:36px;display:grid}.milking-station-card-cow-input{grid-column:2;justify-self:center}.milking-station-card-cow-save{grid-column:3;justify-self:start}.milking-station-card-cow-row .station-no-cow{grid-column:1/-1;justify-self:center}.milking-station-card-cow-input{border:1px solid var(--panel-border);background:var(--panel);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;transition:border-color .15s,background .15s;display:inline-flex;position:relative}.milking-station-card-cow-input--empty{border-color:var(--danger)}.milking-station-card-cow-input--filled{border-color:var(--success)}.milking-station-card-cow-input input{width:80px;color:var(--text);background:0 0;border:none;outline:none;padding:4px;font-size:14px;font-weight:600}.milking-station-card-cow-input--editing input{padding-inline-end:22px}.milking-station-card-cow-input:focus-within{border-color:var(--accent);background:var(--bg)}.milking-station-card-cow-save{align-items:center;display:inline-flex}.milking-station-card-cow-save--idle{visibility:hidden;pointer-events:none}.milking-station-card-cow-input-clear{inset-inline-end:6px;width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.milking-station-card-cow-input-clear:hover{color:var(--text);background:#7878782e}.milking-station-card-cow-input-clear:disabled{cursor:default;opacity:.5}.milking-station-card-footer{border-top:1px solid var(--panel-border);padding:8px 12px 10px;position:relative}.milking-station-card-sessions-btn{border:1px solid var(--panel-border);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.milking-station-card-sessions-btn:hover{border-color:var(--accent);color:var(--accent);background:#3b82f614}.milking-station-card-popover{inset-inline:8px;z-index:20;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;min-width:220px;padding:10px 12px;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 24px #0000001f}[data-theme=dark] .milking-station-card-popover{box-shadow:0 8px 24px #00000080}.milking-station-card-popover-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.milking-station-card-popover-empty{color:var(--muted);padding:6px 0;font-size:12px;font-style:italic}.milking-station-card-popover-list{flex-direction:column;gap:6px;margin:0;padding-inline-start:0;list-style:none;display:flex}.milking-station-card-popover-item{background:#7878780f;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:6px 8px;padding:6px 8px;font-size:12px;display:grid}.milking-station-card-popover-time{color:var(--text);font-variant-numeric:tabular-nums;grid-area:1/1;font-weight:500}.milking-station-card-popover-meta{color:var(--muted);grid-area:2/1;align-items:center;gap:8px;display:inline-flex}.milking-station-card-popover-status{font-weight:600}.milking-station-card-popover-status--measurement_in_progress,.milking-station-card-popover-status--calibration_in_progress{color:var(--accent)}.milking-station-card-popover-status--completed{color:var(--success)}.milking-station-card-popover-status--stopped{color:var(--warning)}.milking-station-card-popover-cow{color:var(--text);align-items:center;gap:4px;display:inline-flex}.milking-station-card-popover-open{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#3b82f614;border-radius:6px;grid-area:1/2/span 2;justify-content:center;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.milking-station-card-popover-open:hover{background:var(--accent);color:#fff}.predictions-filter-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .predictions-filter-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.predictions-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.predictions-filter-row .search-input{width:320px}.predictions-filter-selects{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.predictions-filter-selects .multi-select{min-width:220px}.predictions-filter-end{flex-shrink:0;align-items:center;gap:10px;display:flex}.predictions-filter-end .switch-label{white-space:nowrap;font-size:13px}.predictions-status{color:var(--muted);margin-bottom:16px;font-size:13px}.predictions-loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:80px 0;font-size:14px;display:flex}.predictions-empty{text-align:center;color:var(--muted);padding:80px 0;font-size:14px}.predictions-charts{flex-direction:column;gap:24px;display:flex}.accuracy-chart-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .accuracy-chart-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.accuracy-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.accuracy-chart-header-start{align-items:baseline;gap:12px;display:flex}.accuracy-chart-header-end{align-items:center;gap:16px;display:flex}.accuracy-chart-session-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.accuracy-chart-reset-zoom{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.accuracy-chart-reset-zoom:hover{background:var(--accent);color:#fff}.accuracy-chart-hint{color:var(--muted);opacity:.7;margin-bottom:4px;font-size:11px}.accuracy-chart-zoom-wrapper{cursor:crosshair;-webkit-user-select:none;user-select:none;position:relative}.accuracy-chart-zoom-wrapper *,.accuracy-chart-zoom-wrapper :focus,.accuracy-chart-zoom-wrapper :focus-visible{outline:none!important}.accuracy-chart-selection{pointer-events:none;z-index:10;background:#3b82f61f;border:1px solid #3b82f666;border-radius:2px;position:absolute}.accuracy-chart-title{align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:inline-flex}.accuracy-chart-title-icon{border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.accuracy-chart-title-icon--milk{color:#3b82f6;background:#3b82f61a}.accuracy-chart-title-icon--fat{color:#f59e0b;background:#f59e0b1a}.accuracy-chart-title-icon--protein{color:#10b981;background:#10b9811a}.accuracy-chart-title-icon--scc{color:#dc2626;background:#dc26261a}.accuracy-chart-title-label{font-weight:600}.accuracy-chart-title-badge{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);background:var(--panel-border);border:1px solid var(--panel-border);border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}[data-theme=dark] .accuracy-chart-title-badge{background:#ffffff0a}.accuracy-chart-stats{color:var(--muted);font-variant-numeric:tabular-nums;gap:16px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;display:flex}.accuracy-chart-stats span{white-space:nowrap}.accuracy-chart-empty{text-align:center;color:var(--muted);padding:60px 0;font-size:13px}.chart-legend-dot--error{position:relative;background:0 0!important}.chart-legend-dot--error:before,.chart-legend-dot--error:after{content:"";top:50%;background:var(--danger);border-radius:1px;width:10px;height:2px;position:absolute;inset-inline-start:50%}.chart-legend-dot--error:before{transform:translate(-50%,-50%)rotate(45deg)}.chart-legend-dot--error:after{transform:translate(-50%,-50%)rotate(-45deg)}.accuracy-tooltip{min-width:240px}.accuracy-tooltip-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;padding-bottom:6px;display:flex}.accuracy-tooltip-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.accuracy-tooltip-subtitle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px;overflow:hidden}.accuracy-tooltip-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.accuracy-tooltip-rows{flex-direction:column;gap:3px;display:flex}.accuracy-tooltip-meta{border-bottom:1px solid var(--panel-border);margin-bottom:8px;padding-bottom:8px}.accuracy-tooltip-row{color:var(--text);justify-content:space-between;gap:12px;display:flex}.accuracy-tooltip-label{color:var(--muted)}.accuracy-chart-pinned-overlay{z-index:20;pointer-events:auto;cursor:default;position:absolute}.accuracy-chart-panel .recharts-cartesian-grid-horizontal line,.accuracy-chart-panel .recharts-cartesian-grid-vertical line{stroke:var(--panel-border)}.accuracy-chart-panel .recharts-reference-line line{stroke:var(--danger)}.downloads-toast{bottom:24px;background:var(--panel);z-index:1000;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;width:380px;max-height:70vh;animation:.2s ease-out toast-slide-up;display:flex;position:fixed;inset-inline-end:420px;overflow:hidden;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.downloads-toast .downloads-toast-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#10b9811a;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background .15s;display:flex}.downloads-toast .downloads-toast-header:hover{background:#10b98129}.downloads-toast .downloads-toast-header .toast-title{color:var(--text);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.downloads-toast .downloads-toast-header .toast-count{color:var(--muted);background:#ffffff0f;border-radius:10px;padding:.125rem .4375rem;font-size:.6875rem;font-weight:500}.downloads-toast .downloads-toast-header .toast-toggle{color:var(--muted);opacity:.6;flex-shrink:0;transition:transform .2s}.downloads-toast .downloads-toast-header .toast-toggle.rotated{transform:rotate(180deg)}.downloads-toast .downloads-toast-body{flex:1;overflow-y:auto}.downloads-toast .downloads-toast-body .download-progress+.download-progress{border-top:1px solid #ffffff0f}.download-progress{flex-direction:column;display:flex}.download-progress .download-progress-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.625rem .875rem;display:flex}.download-progress .download-progress-header:hover{background:#ffffff08}.download-progress .download-progress-header .status-icon{flex-shrink:0}.download-progress .download-progress-header .status-icon.success{color:var(--success,#10b981)}.download-progress .download-progress-header .status-icon.error{color:var(--danger,#ef4444)}.download-progress .download-progress-header .status-icon.processing{color:var(--accent,#3b82f6)}.download-progress .download-progress-header .header-info{flex-direction:column;flex:1;min-width:0;display:flex}.download-progress .download-progress-header .header-info .header-title{color:var(--text);font-size:.8125rem;font-weight:600}.download-progress .download-progress-header .header-info .header-subtitle{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.download-progress .download-progress-header .header-progress{background:#ffffff14;border-radius:2px;flex-shrink:0;width:64px;height:4px;overflow:hidden}.download-progress .download-progress-header .header-progress .progress-fill{height:100%;transition:width .3s}.download-progress .download-progress-header .header-progress .progress-fill.pending,.download-progress .download-progress-header .header-progress .progress-fill.running{background:var(--accent,#3b82f6)}.download-progress .download-progress-header .header-progress .progress-fill.ready{background:var(--success,#10b981)}.download-progress .download-progress-header .header-percentage{color:var(--muted);font-variant-numeric:tabular-nums;text-align:end;min-width:32px;font-size:.6875rem}.download-progress .download-progress-header .expand-icon{color:var(--muted);opacity:.6;flex-shrink:0;transition:transform .2s}.download-progress .download-progress-header .expand-icon.rotated{transform:rotate(180deg)}.download-progress .download-progress-detail{flex-direction:column;gap:.5rem;padding:.5rem .875rem .75rem;display:flex}.download-progress .download-filters{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:.5rem;padding:.5rem .625rem .625rem;display:flex}.download-progress .download-filters-header{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;display:flex}.download-progress .download-filters-empty{color:var(--muted);font-size:.75rem;font-style:italic}.download-progress .download-filters-grid{grid-template-columns:minmax(80px,auto) 1fr;gap:.375rem .75rem;margin:0;display:grid}.download-progress .download-filter-row{display:contents}.download-progress .download-filter-label{color:var(--muted);align-self:start;padding-top:.125rem;font-size:.75rem}.download-progress .download-filter-value{color:var(--text);word-break:break-word;min-width:0;margin:0;font-size:.75rem}.download-progress .download-filter-chips{flex-wrap:wrap;gap:.25rem;display:flex}.download-progress .download-filter-chip{color:var(--accent,#3b82f6);text-overflow:ellipsis;white-space:nowrap;background:#3b82f61f;border:1px solid #3b82f640;border-radius:999px;align-items:center;max-width:100%;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-flex;overflow:hidden}.download-progress .download-error{color:var(--danger,#ef4444);background:#ef444414;border:1px solid #ef444433;border-radius:6px;padding:.375rem .5rem;font-size:.75rem}.download-progress .download-progress-actions{justify-content:flex-end;gap:.5rem;display:flex}.download-progress .download-action-btn{color:var(--accent,#3b82f6);cursor:pointer;background:0 0;border:1px solid #3b82f64d;border-radius:5px;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;transition:background .15s;display:inline-flex}.download-progress .download-action-btn:hover{background:#3b82f61a}.leads-banner{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;align-items:center;gap:16px;margin-bottom:16px;padding:10px 16px;display:flex}.leads-banner-toggle{color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;font-family:inherit;font-size:14px;font-weight:600;display:flex}.leads-banner-toggle:hover{color:var(--accent)}.leads-banner-title{font-size:14px}.leads-banner-count{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.leads-banner-chevron{opacity:.5;transition:transform .2s}.leads-banner-chevron.leads-banner-chevron-open{transform:rotate(180deg)}.leads-pipeline-chips{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.leads-chip{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.leads-chip:hover{border-color:var(--muted)}.leads-chip-count{font-size:13px;font-weight:700}.leads-chip-label{color:var(--muted);font-size:12px;font-weight:500}.chip-new.leads-chip-active,.chip-new:hover{border-color:var(--warning);background:#f59e0b14}.chip-new.leads-chip-active .leads-chip-count,.chip-new:hover .leads-chip-count{color:var(--warning)}.chip-contacted.leads-chip-active,.chip-contacted:hover{border-color:var(--accent);background:#3b82f614}.chip-contacted.leads-chip-active .leads-chip-count,.chip-contacted:hover .leads-chip-count{color:var(--accent)}.chip-converted.leads-chip-active,.chip-converted:hover{border-color:var(--success);background:#10b98114}.chip-converted.leads-chip-active .leads-chip-count,.chip-converted:hover .leads-chip-count{color:var(--success)}.chip-dismissed.leads-chip-active,.chip-dismissed:hover{border-color:var(--muted);background:#9ca3af14}.chip-dismissed.leads-chip-active .leads-chip-count,.chip-dismissed:hover .leads-chip-count{color:var(--muted)}.leads-panel{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.leads-panel.leads-panel-open{grid-template-rows:1fr}.leads-panel-inner{padding:0;overflow:hidden}.leads-panel-open .leads-panel-inner{padding-bottom:20px;overflow:visible}.support-contact{background:var(--bg);border:1px solid var(--panel-border);color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:inline-flex}.support-contact-email{color:var(--accent);font-weight:600;text-decoration:none}.support-contact-email:hover{text-decoration:underline}.no-farms-notice{text-align:center;padding:40px 20px 20px}.no-farms-notice-icon{color:var(--warning);margin-bottom:12px}.no-farms-notice-title{margin:0 0 8px;font-size:18px}.no-farms-notice-text{color:var(--muted);max-width:480px;margin:0 auto 20px;font-size:14px;line-height:1.6}.profile-panel{padding:24px}.profile-section-header{color:var(--accent);align-items:center;gap:10px;margin-bottom:20px;display:flex}.profile-section-header h3{color:var(--text);margin:0;font-size:16px}.sub-badge{border:1px solid;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;display:flex}.sub-badge--active{color:var(--accent);background:#3b82f60f;border-color:#3b82f626}.sub-badge--active .sub-badge-days{color:var(--accent)}.sub-badge--active .sub-badge-icon{color:var(--accent);background:#3b82f61a}.sub-badge--warning{color:var(--warning);background:#f59e0b0f;border-color:#f59e0b26}.sub-badge--warning .sub-badge-days{color:var(--warning)}.sub-badge--warning .sub-badge-icon{color:var(--warning);background:#f59e0b1a}.sub-badge--expired{color:var(--danger);background:#ef44440f;border-color:#ef444426}.sub-badge--expired .sub-badge-days{color:var(--danger)}.sub-badge--expired .sub-badge-icon{color:var(--danger);background:#ef44441a}.sub-badge--neutral{color:var(--muted);background:#9ca3af14;border-color:#9ca3af33}.sub-badge--neutral .sub-badge-days{color:var(--text)}.sub-badge--neutral .sub-badge-icon{color:var(--muted);background:#9ca3af26}.sub-badge--small{gap:8px;padding:6px 12px}.sub-badge--small .sub-badge-icon{width:28px;height:28px}.sub-badge--small .sub-badge-icon svg{width:14px;height:14px}.sub-badge--small .sub-badge-days{font-size:13px}.sub-badge--small .sub-badge-period,.sub-badge--small .sub-badge-date{font-size:11px}.sub-badge--compact{border-radius:8px;gap:5px;padding:4px 12px;display:inline-flex}.sub-badge--compact .sub-badge-days{font-size:12px;font-weight:700}.sub-badge-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sub-badge-content{flex-direction:column;gap:2px;display:flex}.sub-badge-top{align-items:center;gap:8px;display:flex}.sub-badge-days{font-size:16px;font-weight:700}.sub-badge-period{color:var(--muted);font-size:12px;font-weight:500}.sub-badge-date{color:var(--muted);font-size:12px}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}.pdf-inline{background:#e8e8e8;border-radius:8px;overflow-y:auto}.pdf-loading{min-height:300px;color:var(--muted);justify-content:center;align-items:center;display:flex}.pdf-pages{flex-direction:column;align-items:center;gap:16px;padding:20px 0;display:flex}.pdf-page-wrapper{border-radius:4px;overflow:hidden;box-shadow:0 2px 8px #00000026}.pdf-modal-overlay{z-index:1000;background:#000000b3;flex-direction:column;display:flex;position:fixed;inset:0}.pdf-modal-header{background:#000000d9;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.pdf-modal-title{color:#fff;font-size:15px;font-weight:600}.pdf-modal-close{color:#333;cursor:pointer;background:#fff;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 20px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.pdf-modal-close:hover{background:#f3f4f6}.pdf-modal-body{flex:1;min-height:0;overflow:hidden}.msa-modal-pdf{max-height:70vh}.pdf-modal-content{background:#fff;border-radius:0;width:100%;height:100%;min-height:0}.pricing-section-header{border-inline-start:4px solid var(--section-color);background:color-mix(in srgb, var(--section-color) 10%, transparent);border-radius:0 8px 8px 0;flex-direction:column;gap:2px;margin-bottom:16px;padding:10px 14px;display:flex}.pricing-section-title{color:var(--section-color);letter-spacing:.2px;text-transform:uppercase;font-size:17px;font-weight:700}.pricing-section-desc{color:var(--muted);font-size:12px}.pricing-billing-groups{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:24px;display:grid}.pricing-slot--hardware{grid-column:span 2}.pricing-slot--hardware .pricing-cards{grid-template-columns:1fr 1fr}.pricing-slot--side{flex-direction:column;gap:32px;display:flex}.pricing-cards{grid-template-columns:1fr;gap:14px;display:grid}.pricing-card{border:1px solid var(--panel-border);border-radius:10px;padding:20px;transition:border-color .15s,box-shadow .15s}[data-theme=dark] .pricing-card{background:#ffffff05;border-color:#ffffff14}.pricing-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000f}.pricing-card-name{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:600}.pricing-card-price{align-items:baseline;display:flex}.pricing-card-dollar{color:var(--text);margin-inline-end:1px;font-size:16px;font-weight:700}.pricing-card-amount{color:var(--text);letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1}.pricing-card-unit{color:var(--accent);background:#3b82f614;border-radius:6px;align-items:center;gap:3px;margin-inline-start:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.pricing-card-features{border-top:1px solid var(--panel-border);margin:12px 0 0;padding:12px 0 0;list-style:none}[data-theme=dark] .pricing-card-features{border-color:#ffffff0f}.pricing-card-features li{color:var(--muted);align-items:flex-start;gap:8px;padding:3px 0;font-size:12px;line-height:1.4;display:flex}.pricing-card-features li:before{content:"✓";color:var(--accent);flex-shrink:0;margin-top:1px;font-size:11px;font-weight:700}.pricing-card-features li.pricing-card-feature-sub{padding-inline-start:20px;font-size:11.5px}.pricing-card-features li.pricing-card-feature-sub:before{content:"";background:var(--accent);opacity:.55;border-radius:50%;width:5px;height:5px;margin-top:7px}.pricing-empty{color:var(--muted);text-align:center;padding:24px}@media (width<=768px){.pricing-billing-groups{grid-template-columns:1fr;gap:16px}.pricing-slot--hardware{grid-column:auto}.pricing-slot--hardware .pricing-cards,.pricing-cards{grid-template-columns:1fr}.pricing-section-title{font-size:15px}}.pricing-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:filter .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #00000014}.pricing-button:hover{filter:brightness(1.08);box-shadow:0 2px 6px #10b98159}.pricing-button:focus-visible{outline-offset:2px;outline:2px solid #10b981}.linok-logo{height:auto;display:block}.modal-title-logo{width:auto;height:42px}.modal-title-text{font-size:20px;font-weight:700}.os-root{width:100%}.os-section{--os-section-color:#2563eb;--os-section-color-soft:#2563eb1a;margin-bottom:24px}.os-section--recurring{--os-section-color:#4f46e5;--os-section-color-soft:#4f46e51a}.os-section:last-of-type{margin-bottom:0}.os-section-header{border-inline-start:3px solid var(--os-section-color);align-items:center;gap:12px;margin-bottom:12px;padding-inline-start:12px;display:flex}.os-section-icon{background:var(--os-section-color-soft);width:32px;height:32px;color:var(--os-section-color);border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;display:inline-flex}.os-section-text{flex-direction:column;flex:1;min-width:0;display:flex}.os-section-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-inline-start:auto;display:inline-flex}.os-section-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:18px;font-weight:700;line-height:1.15}.os-section-subtitle{color:var(--muted);font-size:13px;line-height:1.2}.os-table{border-collapse:separate;border-spacing:0;border:1px solid var(--panel-border);table-layout:fixed;font-variant-numeric:tabular-nums;border-radius:10px;width:100%;font-size:13px;overflow:hidden}[data-theme=dark] .os-table{border-color:#ffffff14}.os-table .os-col-sku{width:13%;min-width:110px}.os-table .os-col-desc{width:22%;min-width:180px}.os-table .os-col-qty{width:9%;min-width:70px}.os-table .os-col-num{width:auto}.os-table th,.os-table td{color:var(--text);text-align:end;vertical-align:middle;padding:9px 14px;font-size:13px}.os-table .os-th-sku,.os-table .os-th-desc,.os-table .os-sku-cell,.os-table .os-desc-cell{text-align:start}.os-table .os-sku-cell{white-space:nowrap}.os-table .os-desc-cell{white-space:normal;color:var(--text);font-size:13px;line-height:1.35}.os-table thead .os-thead-groups th.os-group-start,.os-table thead .os-thead-sub th.os-group-start,.os-table tbody td.os-group-start,.os-table tfoot td.os-group-start{border-inline-start:1px solid var(--panel-border)}[data-theme=dark] .os-table thead .os-thead-groups th.os-group-start,[data-theme=dark] .os-table thead .os-thead-sub th.os-group-start,[data-theme=dark] .os-table tbody td.os-group-start,[data-theme=dark] .os-table tfoot td.os-group-start{border-inline-start-color:#ffffff14}.os-table thead .os-thead-groups th{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:#fff;border-bottom:1px solid var(--panel-border);padding:10px 14px 9px;font-size:11px;font-weight:700}[data-theme=dark] .os-table thead .os-thead-groups th{border-bottom-color:#ffffff14}.os-table thead .os-thead-groups th.os-th-sku,.os-table thead .os-thead-groups th.os-th-desc,.os-table thead .os-thead-groups th.os-th-qty{color:var(--muted);background:var(--bg);letter-spacing:.06em;font-size:11px;font-weight:600}[data-theme=dark] .os-table thead .os-thead-groups th.os-th-sku,[data-theme=dark] .os-table thead .os-thead-groups th.os-th-desc,[data-theme=dark] .os-table thead .os-thead-groups th.os-th-qty{background:#ffffff0a}.os-table thead .os-thead-groups th.os-th-sku,.os-table thead .os-thead-groups th.os-th-desc{text-align:start}.os-table thead .os-thead-groups th.os-th-qty{text-align:end}.os-table thead .os-thead-groups th.os-group--list{background:#2563eb}.os-table thead .os-thead-groups th.os-group--discount{background:#059669}.os-table thead .os-thead-groups th.os-group--your{background:#4f46e5}.os-table thead .os-thead-groups th.os-group--annual{background:#7c3aed}.os-table thead .os-thead-sub th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--panel-border);text-align:end;padding:7px 14px;font-size:10px;font-weight:700}[data-theme=dark] .os-table thead .os-thead-sub th{background:#ffffff0a;border-bottom-color:#ffffff14}.os-table tbody tr:nth-child(2n){background:#00000004}[data-theme=dark] .os-table tbody tr:nth-child(2n){background:#ffffff04}.os-table tbody tr:hover{background:#2563eb0a}.os-table tbody td{padding:10px 14px}.os-sku-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex!important}.os-sku{color:var(--text);letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700}.os-product-name{font-weight:600}.os-unit-hint{color:var(--accent);background:#3b82f614;border-radius:4px;margin-inline-start:6px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-block}.os-discount-text{color:#059669;font-weight:600}.os-discount-cell{color:#059669;flex-direction:column;align-items:flex-end;gap:4px;font-weight:600;display:inline-flex}.os-discount-pct{color:#fff;letter-spacing:.02em;background:#22c55e;border-radius:999px;align-self:flex-end;padding:2px 8px;font-size:11px;font-weight:700;box-shadow:0 1px 2px #22c55e59}.os-line-total{font-weight:700}.os-annual-cell{color:#7c3aed;font-weight:700}.os-subtotal-row td{color:var(--text);border-top:2px solid var(--panel-border);text-align:end;font-variant-numeric:tabular-nums;background:#0000000a;padding:11px 14px;font-size:13px;font-weight:700}[data-theme=dark] .os-subtotal-row td{background:#ffffff0d;border-top-color:#ffffff1a}.os-subtotal-row td:first-child{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:start;font-size:11px;font-weight:700}.os-summary{background:var(--bg);border:1px solid var(--panel-border);border-radius:10px;margin-top:20px;padding:16px 20px}[data-theme=dark] .os-summary{background:#ffffff08;border-color:#ffffff0f}.os-summary-row{border-bottom:1px dashed var(--panel-border);justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}[data-theme=dark] .os-summary-row{border-color:#ffffff14}.os-summary-row:last-child{border-bottom:none}.os-summary-row--year .os-summary-label{color:var(--text);font-size:16px;font-weight:700}.os-summary-row--year .os-summary-value{color:var(--accent);font-size:22px;font-weight:800}.os-summary-label{color:var(--muted);font-size:14px;font-weight:600}.os-summary-value{color:var(--text);font-size:18px;font-weight:700}@media (width<=768px){.os-table{font-size:12px}.os-table th,.os-table td{padding:6px 8px;font-size:12px}}body:has(.onboarding-page){overflow:hidden}.onboarding-page{z-index:10;background:#fff;flex-direction:column;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}[data-theme=dark] .onboarding-page{background:var(--bg)}.onboarding-topbar{border-bottom:1px solid var(--panel-border);z-index:10;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;padding:14px 40px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .onboarding-topbar{background:var(--bg);box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.onboarding-topbar-left{align-items:center;gap:12px;display:flex}.onboarding-topbar-logo{width:260px;display:block}.onboarding-topbar-actions{align-items:center;gap:8px;padding-inline-end:16px;display:flex}.onboarding-topbar-actions .btn{padding:10px 24px;font-size:14px}.onboarding-body{flex-direction:column;flex:1;align-items:center;min-height:0;display:flex;overflow-y:auto}.onboarding-body>.onboarding-card{flex:1}.onboarding-body>.onboarding-footer{flex-shrink:0}.onboarding-icon{width:160px;margin:0 auto 4px;display:block}.onboarding-stepper{max-width:600px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onboarding-stepper-item{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:110px;display:flex;position:relative}.onboarding-stepper-item:before{content:"";background:var(--panel-border);z-index:0;height:2px;position:absolute;top:14px;left:50%;right:-50%}.onboarding-stepper-item:last-child:before{display:none}.onboarding-stepper-item.completed:before{background:var(--accent)}.stepper-dot{background:var(--panel);border:2px solid var(--panel-border);width:28px;height:28px;color:var(--muted);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .2s;display:flex}.completed .stepper-dot{background:var(--accent);border-color:var(--accent);color:#fff}.active .stepper-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px #2a7c8e26}.stepper-label{color:var(--muted);white-space:nowrap;font-size:14px;font-weight:500}.completed .stepper-label{color:var(--accent)}.active .stepper-label{color:var(--accent);font-weight:600}.onboarding-card{background:0 0;border:none;border-radius:0;flex-direction:column;width:100%;max-width:100%;padding:32px 40px;display:flex;position:relative}.onboarding-card label{color:var(--text);flex-direction:column;margin-bottom:2px;font-size:15px;font-weight:500;display:flex}.onboarding-card .password-field{width:100%;position:relative}.onboarding-card .password-field input{box-sizing:border-box;width:100%;padding-inline-end:40px}.onboarding-card .password-toggle{inset-inline-end:10px;color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute;bottom:10px}.onboarding-card .password-toggle:hover{color:var(--text)}.onboarding-card input{margin-top:6px;transition:border-color .15s,box-shadow .15s}[data-theme=dark] .onboarding-card input{background:#0d1117;border-color:#ffffff1a}[data-theme=dark] .onboarding-card input:hover{border-color:#ffffff2e}[data-theme=dark] .onboarding-card input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.onboarding-card .auth-error{min-height:1.2em;margin:0;font-size:14px;font-weight:600}.eula-preview-actions{top:12px;z-index:10;align-items:center;gap:8px;display:flex;position:absolute;inset-inline-end:12px}.eula-preview-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:color .15s,background .15s}.eula-preview-close:hover{color:var(--text);background:#ffffff14}[data-theme=light] .eula-preview-close:hover{background:#0000000f}.onboarding-card--narrow{max-width:800px;margin:auto}.onboarding-card--wide{width:100%;max-width:100%;overflow:hidden}.onboarding-subtitle{color:var(--muted);margin:0 0 60px;font-size:16px;line-height:1.5}.onboarding-title-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.onboarding-title-row h2{color:var(--text);margin:0;font-size:24px}.onboarding-title-row svg{color:var(--accent);flex-shrink:0}.onboarding-actions{gap:12px;margin-top:24px;display:flex}.onboarding-actions .btn{flex:1;justify-content:center;padding:12px;font-size:14px}.onboarding-actions.actions-right{justify-content:flex-end}.onboarding-actions.actions-right .btn{flex:unset;min-width:140px}.password-rules{grid-template-columns:1fr 1fr;gap:2px 16px;margin:4px 0 12px;padding:0;font-size:12px;list-style:none;display:grid}.password-rules li{align-items:center;gap:6px;padding:2px 0;display:flex}.password-rules .rule-pass{color:var(--success)}.password-rules .rule-fail{color:var(--muted)}.stripe-form-wrapper{flex-direction:column;flex:1;justify-content:center;min-height:0;padding:8px 400px;display:flex;overflow-y:auto}.stripe-payment-form{flex-direction:column;gap:16px;display:flex}.stripe-field{flex:1}.stripe-label{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:600;display:inline}.stripe-input{border:1px solid var(--panel-border);background:#fff;border-radius:8px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.stripe-input:focus-within{border-color:#2a7c8e;box-shadow:0 0 0 3px #2a7c8e1a}[data-theme=dark] .stripe-input{background:#0d1117;border-color:#ffffff1a}[data-theme=dark] .stripe-input:focus-within{border-color:#2a7c8e}.stripe-text-input{border:1px solid var(--panel-border);color:#1f2937;box-sizing:border-box;background:#fff;border-radius:8px;width:100%;padding:12px 14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;transition:border-color .15s,box-shadow .15s}.stripe-text-input::placeholder{color:#9ca3af}.stripe-text-input:focus{border-color:#2a7c8e;outline:none;box-shadow:0 0 0 3px #2a7c8e1a}[data-theme=dark] .stripe-text-input{color:#e6edf3;background:#0d1117;border-color:#ffffff1a}[data-theme=dark] .stripe-text-input:focus{border-color:#2a7c8e}select.stripe-text-input{cursor:pointer;appearance:auto}.stripe-country-select{position:relative}.stripe-country-trigger{text-align:left;cursor:pointer;width:100%}.stripe-country-dropdown{z-index:100;width:inherit;border:1px solid var(--panel-border);background:#fff;border-radius:8px;margin-top:4px;position:fixed;overflow:hidden;box-shadow:0 4px 16px #0000001a}[data-theme=dark] .stripe-country-dropdown{background:#0d1117;border-color:#ffffff1a}.stripe-country-search{border:none;border-bottom:1px solid var(--panel-border);width:100%;color:var(--text);box-sizing:border-box;background:0 0;outline:none;padding:10px 14px;font-family:inherit;font-size:13px}.stripe-country-search::placeholder{color:#9ca3af}.stripe-country-list{max-height:180px;overflow-y:auto}.stripe-country-option{cursor:pointer;color:var(--text);padding:8px 14px;font-size:13px}.stripe-country-option:hover{background:#2a7c8e0f}.stripe-country-option.selected{background:#2a7c8e1a;font-weight:600}.stripe-field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stripe-field-row-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.stripe-secure-note{color:var(--muted);background:#2a7c8e0a;border:1px solid #2a7c8e14;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;line-height:1.4;display:flex}.stripe-preview-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;display:grid}.stripe-preview-tab{border:1px solid var(--panel-border);color:var(--muted);cursor:pointer;appearance:none;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:border-color .15s,color .15s,box-shadow .15s;display:flex}[data-theme=dark] .stripe-preview-tab{background:#0d1117;border-color:#ffffff1a}.stripe-preview-tab:hover:not(.stripe-preview-tab--active){color:var(--text);border-color:#2a7c8e66}.stripe-preview-tab--active{color:var(--text);border-color:#2a7c8e;box-shadow:0 0 0 3px #2a7c8e1a}.stripe-pending-verification{text-align:center;background:#2a7c8e0a;border:1px solid #2a7c8e1f;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.stripe-pending-verification h3{color:var(--text);margin:0;font-size:18px;font-weight:600}.stripe-pending-verification p{max-width:440px;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.onboarding-back-btn{border:1px solid var(--panel-border);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.onboarding-back-btn:hover{color:var(--text);border-color:var(--text)}.eula-msa-personalised{top:8px;z-index:2;color:var(--accent);background:#2a7c8e14;border:1px solid #2a7c8e2e;border-radius:6px;padding:6px 12px;font-size:12px;position:absolute;inset-inline-start:30px}.eula-msa-personalised strong{color:var(--text);font-weight:700}.eula-layout{flex:1;gap:24px;min-height:0;display:flex;overflow:hidden}.eula-sidebar{flex-direction:column;flex-shrink:0;gap:4px;width:170px;padding-top:4px;display:flex}.eula-sidebar-item{color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.eula-sidebar-item.active{color:var(--accent);background:#2a7c8e14;font-weight:600}.eula-sidebar-item.completed{color:var(--text)}.eula-sidebar-dot{background:var(--panel-border);width:22px;height:22px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.active .eula-sidebar-dot,.completed .eula-sidebar-dot{background:var(--accent);color:#fff}.eula-sidebar-label{white-space:nowrap}.eula-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.eula-content{border:1px solid var(--panel-border);color:var(--text);border-radius:8px;flex-direction:column;flex:1;min-height:0;margin-bottom:12px;padding:24px;font-size:14px;line-height:1.7;display:flex;overflow-y:auto}[data-theme=dark] .eula-content{background:#0d1117;border-color:#ffffff14}.eula-content h3{color:var(--text);background:linear-gradient(135deg,#2a7c8e14 0%,#3b82f60f 100%);border-bottom:1px solid #2a7c8e1f;border-radius:7px 7px 0 0;margin:-20px -20px 16px;padding:14px 20px;font-size:16px;font-weight:700}.eula-content h4{color:var(--accent);margin:0 0 8px;font-size:14px;font-weight:600}.eula-content p{margin:0 0 12px}.eula-content table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}.eula-content table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg);border-bottom:2px solid var(--panel-border);padding:8px 10px;font-size:11px;font-weight:600}.eula-content table th.text-right{text-align:right}.eula-content table td{border-bottom:1px solid var(--panel-border);padding:10px}.eula-content table td.text-right{text-align:right}.eula-content table td.font-bold{font-weight:600}.eula-content table tbody tr:last-child td{border-bottom:none}.eula-content table tfoot td{border-top:2px solid var(--panel-border);padding:12px 10px;font-weight:700}.eula-order-footer{color:var(--muted);background:#2a7c8e0a;border:1px solid #2a7c8e14;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:12px 16px;font-size:14px;line-height:1.5;display:flex}.eula-signed-bar{background:#10b9810f;border:1px solid #10b98126;border-radius:10px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.eula-signed-icon{background:var(--success);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.eula-signed-details{flex-direction:column;gap:2px;display:flex}.eula-signed-title{color:var(--text);font-size:14px}.eula-signed-title strong{font-weight:700}.eula-signed-meta{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.eula-signed-dot{background:var(--muted);opacity:.5;border-radius:50%;width:3px;height:3px}.eula-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.eula-nav .eula-nav-info{color:var(--muted);font-size:12px}.eula-nav .eula-nav-buttons{gap:8px;display:flex}.eula-accept-box{border:2px solid var(--panel-border);background:#3b82f60a;border-radius:10px;margin:8px 0 0;padding:18px 20px;transition:all .2s}.eula-accept-box.eula-accept-box--checked{border-color:var(--accent);background:#3b82f614;box-shadow:0 0 0 3px #3b82f61a}.eula-accept-row{align-items:center;gap:12px;display:flex}.eula-accept-row input[type=checkbox]{cursor:pointer;width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;margin:0}.eula-accept-label{color:var(--text);cursor:pointer;font-size:18px;font-weight:700;margin:0!important}.onboarding-topbar-actions-wrapper{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.onboarding-topbar-actions-row{align-items:center;gap:8px;display:flex}.eula-topbar-error{color:var(--danger);white-space:nowrap;font-size:12px;font-weight:600}.eula-accept-desc{color:var(--muted);margin:10px 0 0 34px;font-size:14px;line-height:1.6}.eula-accept-error{color:var(--danger);margin:10px 0 0 34px;font-size:14px;font-weight:600}.placeholder-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex}.placeholder-card .placeholder-icon{color:var(--muted);margin-bottom:16px}.placeholder-card h3{color:var(--text);margin:0 0 8px;font-size:18px}.placeholder-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.eula-review-content{border:1px solid var(--panel-border);min-height:200px;max-height:400px;color:var(--text);border-radius:8px;padding:20px;font-size:14px;line-height:1.7;overflow-y:auto}[data-theme=dark] .eula-review-content{background:#0d1117;border-color:#ffffff14}.eula-review-content h3{margin:0 0 12px;font-size:16px;font-weight:600}.eula-review-content p{margin:0 0 12px}.onboarding-footer{text-align:center;color:#0006;flex-shrink:0;padding:16px 0;font-size:12px;font-weight:700;line-height:1.6}[data-theme=dark] .onboarding-footer{color:#fff6}.modal.agreement-modal{flex-direction:column;width:calc(100vw - 80px);max-width:none;max-height:calc(100vh - 60px);padding:0;display:flex;position:relative;overflow:hidden}.modal.agreement-modal .modal-header{display:none}.modal.agreement-modal .modal-body{flex:1;padding:0;overflow-y:auto}.modal.agreement-modal .onboarding-card--wide{position:relative}.modal.agreement-modal .eula-preview-actions{z-index:211}.modal.agreement-modal .eula-nav{top:12px;z-index:210;border:none;margin:0;padding:0;position:absolute;inset-inline-end:64px}.modal.agreement-modal .eula-nav .eula-nav-info{display:none}.modal.agreement-modal .eula-nav .eula-nav-buttons{gap:8px;display:flex}.modal.agreement-modal .eula-nav .eula-nav-buttons .btn{padding:8px 18px;font-size:13px}@media (width<=768px){.onboarding-topbar{flex-wrap:wrap;gap:8px;padding:12px 16px}.onboarding-topbar-logo{width:140px}.onboarding-stepper{order:3;justify-content:center;width:100%;max-width:100%;position:static;transform:none}.onboarding-stepper-item{gap:4px;min-width:0}.stepper-label{font-size:11px}.stepper-dot{width:24px;height:24px;font-size:10px}.onboarding-topbar-actions{padding-inline-end:0}.onboarding-topbar-actions .btn,.onboarding-topbar-actions-wrapper .onboarding-topbar-actions-row .btn{padding:8px 14px;font-size:13px}.onboarding-card{padding:20px 16px}.onboarding-body>.onboarding-card{flex:none}.onboarding-card--narrow{max-width:100%;margin:0}.onboarding-subtitle{margin-bottom:24px;font-size:14px}.onboarding-title-row h2{font-size:20px}.onboarding-card--wide{overflow:visible}.eula-layout{flex-direction:column;gap:12px;min-height:auto;overflow:visible}.eula-main{min-height:auto;overflow:visible}.eula-content{flex:none;min-height:auto;overflow:visible}.eula-sidebar{border-bottom:1px solid var(--panel-border);padding:0;scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;gap:2px;width:100%;padding-bottom:8px;overflow-x:auto}.eula-sidebar::-webkit-scrollbar{display:none}.eula-sidebar-item{white-space:nowrap;gap:6px;padding:8px 10px;font-size:12px}.eula-sidebar-dot{width:18px;height:18px;font-size:9px}.eula-content{border-radius:8px;padding:16px}.eula-content h3{font-size:16px}.stripe-form-wrapper{padding:8px 0}.stripe-field-row,.stripe-field-row-3{grid-template-columns:1fr}.eula-accept-box{padding:14px}.eula-accept-label{font-size:16px}.eula-accept-desc{margin-inline-start:0;margin-top:8px;font-size:13px}.eula-nav{flex-direction:column;align-items:stretch;gap:8px}.eula-nav-buttons{justify-content:space-between}.onboarding-footer{padding:12px 0;font-size:11px}}@media (width<=480px){.onboarding-topbar{padding:10px 12px}.onboarding-topbar-logo{width:110px}.stepper-label{display:none}.onboarding-stepper-item{min-width:0}.onboarding-stepper-item:before{top:12px}.onboarding-topbar-actions .btn{padding:6px 10px;font-size:12px}.onboarding-card{padding:16px 12px}.onboarding-card label{font-size:14px}.eula-sidebar-label{font-size:11px}}.org-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.org-header-actions{gap:8px;display:flex}.org-title{align-items:center;gap:10px;display:flex}.org-title h1{margin:0;font-size:22px}.org-title-icon{color:var(--accent)}.org-panel{padding:24px}.org-section{margin-bottom:16px}.org-msa-row{background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 14px;display:flex}.org-msa-label{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.org-awaiting{text-align:center;border-top:1px solid var(--panel-border);margin-top:24px;padding:40px 20px 20px}.org-awaiting-icon{color:var(--accent);margin-bottom:12px}.org-awaiting h3{margin:0 0 8px;font-size:18px}.org-awaiting p{color:var(--muted);max-width:480px;margin:0 auto 20px;font-size:14px;line-height:1.6}.org-onboarding-notice{border-top:1px solid var(--panel-border);color:var(--muted);margin-top:24px;padding:20px 0 0;font-size:14px}.org-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;font-size:14px;display:flex}.org-empty svg{opacity:.3}.org-empty p{margin:0}.org-table-wrapper{border:1px solid var(--panel-border);border-radius:10px;overflow:hidden}.org-table{border-collapse:collapse;width:100%;font-size:14px}.org-table th{text-align:start;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--panel-border);padding:10px 16px;font-size:11px;font-weight:600}.org-table th.text-right{text-align:end}.org-table th.text-center{text-align:center}.org-table td{border-bottom:1px solid var(--panel-border);color:var(--text);padding:12px 16px}.org-table td.text-right{text-align:end}.org-table td.text-center{text-align:center}.org-table tbody tr:last-child td{border-bottom:none}.org-table tbody tr:hover{background:#3b82f605}[data-theme=dark] .org-table tbody tr:hover{background:#ffffff05}.org-table-desc{color:var(--muted);font-size:13px}.org-table-amount{white-space:nowrap;font-weight:600}.org-table-currency{color:var(--muted);margin-inline-start:2px;font-size:11px;font-weight:400}.org-invoice-link{color:var(--accent);align-items:center;gap:4px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.org-invoice-link:hover{text-decoration:underline}.products-section{margin-bottom:24px}.products-section-header{align-items:center;gap:12px;margin-bottom:12px;padding:0 4px;display:flex}.products-section-bar{border-radius:2px;flex-shrink:0;width:4px;min-height:32px}.products-section-title{color:var(--text);font-size:16px;font-weight:700}.products-section-desc{color:var(--muted);margin-top:1px;font-size:12px}.products-section-header .btn{margin-left:auto}.products-empty{text-align:center;color:var(--muted);border:1px dashed var(--panel-border);border-radius:10px;padding:24px;font-size:13px}.products-list{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;overflow:hidden}.products-item{border-bottom:1px solid var(--panel-border);cursor:grab;align-items:center;gap:12px;padding:12px 16px;transition:background .1s;display:flex}.products-item:last-child{border-bottom:none}.products-item:hover{background:var(--panel-hover)}.products-item.drag-over{border-top:2px solid var(--accent)}.products-item.inactive{opacity:.5}.products-item:active{cursor:grabbing}.products-item-grip{color:var(--muted);cursor:grab;opacity:.4;flex-shrink:0;transition:opacity .15s}.products-item:hover .products-item-grip{opacity:1}.products-item-info{flex:1;min-width:0}.products-item-name{color:var(--text);font-size:14px;font-weight:600}.products-item-meta{align-items:center;gap:8px;margin-top:2px;display:flex}.products-item-sku{color:var(--muted);font-family:monospace;font-size:12px}.products-item-price{align-items:baseline;gap:4px;margin-right:8px;display:flex}.products-item-amount{color:var(--text);letter-spacing:-.02em;font-size:18px;font-weight:800}.products-item-unit{color:var(--muted);font-size:11px}.products-item-actions{flex-shrink:0;gap:4px;display:flex}.products-preview-wrapper{flex-direction:column;align-items:center;padding:16px;display:flex}.products-preview-card{width:100%;max-width:280px}.products-preview-note{text-align:center;color:var(--muted);margin-top:12px;font-size:12px}.sie-grid{grid-template-columns:1fr 1fr 1fr;gap:0 16px;display:grid}.sie-empty{color:var(--muted);text-align:center;padding:24px 0;font-size:13px}.sie-summary{background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;gap:4px;margin-block:12px;padding:12px 14px;display:flex}.sie-summary-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.sie-summary-row--muted{color:var(--muted);font-size:12px}.sie-summary-label{font-weight:500}.sie-summary-value{font-variant-numeric:tabular-nums;font-weight:600}.csd-intro{color:var(--text);margin-block-end:16px;font-size:14px}.csd-options{flex-direction:column;gap:12px;display:flex}.csd-option{border:1px solid var(--panel-border);cursor:pointer;background:var(--panel);border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.csd-option input[type=radio]{cursor:pointer;margin-block-start:3px}.csd-option:hover{border-color:#3b82f64d}.csd-option--selected{border-color:var(--accent);background:#3b82f60a}.csd-option--danger.csd-option--selected{border-color:var(--danger);background:#ef44440a}.csd-option-body{flex:1}.csd-option-title{color:var(--text);align-items:center;gap:6px;margin-block-end:4px;font-size:14px;font-weight:600;display:flex}.csd-option-tag{color:var(--success);text-transform:uppercase;letter-spacing:.04em;background:#10b9811a;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.csd-option-desc{color:var(--muted);font-size:12px;line-height:1.5}.csd-option-confirm{flex-direction:column;gap:4px;margin-block-start:10px;display:flex}.csd-option-confirm label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.csd-option-confirm input{border:1px solid var(--panel-border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px 10px;font-family:monospace;font-size:13px}.sub-panel{flex-direction:column;gap:16px;display:flex}.sub-panel-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.sub-panel-header-left{align-items:center;gap:12px;display:flex}.sub-panel-icon{color:var(--accent);flex-shrink:0}.sub-panel-title{color:var(--text);font-size:16px;font-weight:700}.sub-panel-subtitle{color:var(--muted);margin-block-start:2px;font-size:12px}.sub-panel-totals{background:#3b82f60f;border:1px solid #3b82f626;border-radius:10px;align-items:baseline;gap:8px;padding:12px 16px;display:flex}.sub-panel-total-amount{color:var(--accent);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.sub-panel-total-label{color:var(--muted);font-size:14px;font-weight:500}.sub-panel-period{color:var(--muted);margin-inline-start:auto;font-size:12px}.sub-panel-manual-charge{background:#3b82f60f;border:1px solid #3b82f633;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:12px 0;padding:10px 14px;display:flex}.sub-panel-manual-charge-info{color:var(--accent);align-items:flex-start;gap:8px;min-width:0;display:flex}.sub-panel-manual-charge-title{color:var(--text);font-size:13px;font-weight:600}.sub-panel-manual-charge-dates{color:var(--muted);margin-block-start:2px;font-size:12px}.sub-panel-cancel-banner{color:var(--warning);background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.sub-panel-cancel-banner span{color:var(--text);flex:1}.sub-panel-items-header{justify-content:space-between;align-items:center;margin-block-end:8px;display:flex}.sub-panel-items-header span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.sub-panel-empty{text-align:center;color:var(--muted);padding:20px 0;font-size:13px}.sub-panel-table{border-collapse:collapse;width:100%;font-size:13px}.sub-panel-table th,.sub-panel-table td{border-block-end:1px solid var(--panel-border);text-align:start;padding:10px 8px}.sub-panel-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:600}.sub-panel-table td{font-variant-numeric:tabular-nums}.sub-panel-table .text-right{text-align:end}.sub-panel-table .font-bold{font-weight:700}.sub-panel-table tfoot td{border-block-end:none;padding-block-start:12px;font-size:13px}.sub-panel-product-name{color:var(--text);font-weight:600}.sub-panel-product-sku{color:var(--muted);margin-block-start:2px;font-size:11px}.sub-panel-row-actions{justify-content:flex-end;gap:4px;display:inline-flex}.sub-panel-actions{border-block-start:1px solid var(--panel-border);flex-wrap:wrap;gap:8px;padding-block-start:8px;display:flex}.sub-panel-action-note{color:var(--danger);align-self:center;font-size:12px}.sub-panel-locked-hint{color:var(--muted);font-size:11px;font-style:italic}.sub-history{flex-direction:column;gap:8px;display:flex}.sub-history-header{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.sub-history-table{border-collapse:collapse;width:100%;font-size:13px}.sub-history-table th,.sub-history-table td{border-block-end:1px solid var(--panel-border);text-align:start;padding:10px 8px}.sub-history-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:600}.sub-history-table .text-right{text-align:end;font-variant-numeric:tabular-nums}.sub-history-row{cursor:pointer;transition:background .15s}.sub-history-row:hover{background:var(--bg)}.sub-history-chevron{color:var(--muted);transition:transform .15s}.sub-history-detail td{background:var(--bg);border-block-end:1px solid var(--panel-border);padding:0}.sub-history-timeline{flex-direction:column;gap:14px;padding:14px 18px;display:flex}.sub-history-period{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:12px 14px}.sub-history-period-header{justify-content:space-between;align-items:center;margin-block-end:8px;display:flex}.sub-history-period-range{color:var(--text);font-size:12px;font-weight:600}.sub-history-period-total{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.sub-history-period-table{border-collapse:collapse;width:100%;font-size:12px}.sub-history-period-table th,.sub-history-period-table td{text-align:start;padding:6px 8px}.sub-history-period-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-block-end:1px solid var(--panel-border);font-size:10px;font-weight:600}.sub-history-period-table td{font-variant-numeric:tabular-nums}.sub-history-period-table .text-right{text-align:end}.sbm-intro{color:var(--muted);margin-block-end:16px;font-size:13px;line-height:1.5}.sbm-empty{text-align:center;color:var(--muted);padding:32px 0;font-size:13px}.sbm-items-header{align-items:center;gap:8px;margin-block-end:12px;display:flex}.sbm-items-header .sbm-items-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:1;font-size:12px;font-weight:600}.sbm-items-header .sbm-items-count{color:var(--muted);font-size:12px}.sbm-items{flex-direction:column;gap:6px;margin-block-end:16px;display:flex}.sbm-row{grid-template-columns:1.8fr .7fr .9fr .7fr .9fr 36px;align-items:center;gap:8px;padding:6px 0;display:grid}.sbm-row input[type=number]{border:1px solid var(--panel-border);background:var(--panel);width:100%;color:var(--text);font-variant-numeric:tabular-nums;border-radius:6px;padding:6px 8px;font-size:13px}.sbm-row-header{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-block-end:1px solid var(--panel-border);padding-block-end:4px;font-size:11px;font-weight:600}.sbm-col-num{font-variant-numeric:tabular-nums;text-align:end;justify-content:flex-end;align-items:center;gap:4px;font-size:13px;display:flex}.sbm-suffix{color:var(--muted);font-size:11px}.sbm-product-cell{align-items:center;gap:6px;min-width:0;display:flex}.sbm-product-cell .select{flex:1;min-width:0}.sbm-period-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:600}.sbm-period-badge--monthly{color:var(--accent);background:#3b82f61a}.sbm-period-badge--annual{color:#6366f1;background:#4f46e51a}.sbm-monthly{flex-direction:column;align-items:flex-end;gap:2px;font-weight:600}.sbm-annual-hint{color:var(--muted);font-size:11px;font-weight:400}.sbm-row-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.sbm-row-remove:hover{color:var(--danger);background:#ef444414}.sbm-row-remove:disabled{opacity:.5;cursor:not-allowed}.sbm-col-action{justify-content:center;display:flex}.sbm-footer{background:#3b82f60f;border:1px solid #3b82f626;border-radius:10px;justify-content:space-between;align-items:center;margin-block-end:12px;padding:12px 14px;display:flex}.sbm-footer-label{color:var(--text);font-size:13px;font-weight:500}.sbm-footer-amount{color:var(--accent);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.sbm-note{color:var(--muted);font-size:12px;line-height:1.5}.sbm-upfront{border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:8px;margin-block-end:12px;padding:12px 14px;display:flex}.sbm-upfront-toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.sbm-upfront-toggle input:disabled{cursor:not-allowed}.sbm-upfront-input{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.sbm-upfront-input input[type=number]{border:1px solid var(--panel-border);background:var(--panel);width:64px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:6px;padding:6px 8px;font-size:13px}.sbm-upfront-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.sbm-upfront-hint--error{color:var(--danger)}.ob{padding:4px 0}.ob-loading{text-align:center;color:var(--muted);padding:40px 0}.ob-status-row{margin-bottom:16px}.ob-mode-note{color:var(--muted);background:#3b82f60f;border:1px solid #3b82f626;border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:12px}.ob-type-selector{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.ob-type-option{border:2px solid var(--panel-border);cursor:pointer;text-align:left;background:0 0;border-radius:10px;flex-direction:column;align-items:flex-start;padding:14px 16px;font-family:inherit;transition:all .15s;display:flex}[data-theme=dark] .ob-type-option{border-color:#ffffff14}.ob-type-option:hover{border-color:var(--accent)}.ob-type-option.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#2a7c8e0a}.ob-type-option-label{color:var(--text);font-size:14px;font-weight:600}.ob-items-header{border-bottom:1px solid var(--panel-border);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex}.ob-items-title{color:var(--text);flex:1;font-size:14px;font-weight:600}.ob-items-count{color:var(--muted);background:var(--bg);border-radius:10px;padding:2px 8px;font-size:12px}.ob-empty{text-align:center;color:var(--muted);border:2px dashed var(--panel-border);border-radius:10px;margin-bottom:16px;padding:32px;font-size:13px}.ob-items{margin-bottom:16px}.ob-row{border-bottom:1px solid var(--panel-border);grid-template-columns:1fr 72px 100px 80px 90px 36px;align-items:center;gap:10px;padding:10px 0;display:grid}[data-theme=dark] .ob-row{border-bottom-color:#ffffff0f}.ob-row:last-child{border-bottom:none}.ob-row input{border:1px solid var(--panel-border);color:var(--text);background:var(--bg);text-align:end;border-radius:6px;width:100%;padding:6px 8px;font-size:13px}[data-theme=dark] .ob-row input{background:#0d1117;border-color:#ffffff14}.ob-row input:focus{border-color:var(--accent);outline:none}.ob-row-header{border-bottom:1px solid var(--panel-border);padding:0 0 8px}.ob-row-header span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.ob-col-product{min-width:0}.ob-col-product .select{width:90%}.ob-col-product .select .select-label{width:100%;min-width:0}.ob-col-subtotal{text-align:end}.ob-col-action{justify-content:center;display:flex}.ob-item-select{border:1px solid var(--panel-border);background:var(--panel);width:100%;color:var(--text);border-radius:6px;padding:6px 8px;font-size:13px;font-weight:600}[data-theme=dark] .ob-item-select{background:#0d1117;border-color:#ffffff1a}.ob-item-tags{align-items:center;gap:8px;margin-top:3px;display:flex}.ob-item-tag{font-size:11px;font-weight:600}.ob-item-tag-muted{color:var(--muted);font-size:11px}.ob-item-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:all .1s}.ob-item-remove:hover{color:var(--danger);background:#ef444414}.ob-subtotal-amount{color:var(--text);text-align:end;font-size:14px;font-weight:700;display:block}.ob-footer{border-top:1px solid var(--panel-border);grid-template-columns:1fr 72px 100px 80px 90px 36px;align-items:end;gap:10px;margin-bottom:16px;padding:16px 0;display:grid}.ob-item-info{border-bottom:1px solid var(--panel-border);align-items:center;gap:8px;padding:4px 0 8px 8px;display:flex}[data-theme=dark] .ob-item-info{border-bottom-color:#ffffff0f}.ob-notes label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:11px;font-weight:500;display:block}.ob-notes input{border:1px solid var(--panel-border);width:90%;color:var(--text);background:var(--bg);border-radius:6px;padding:8px 12px;font-size:13px}[data-theme=dark] .ob-notes input{background:#0d1117;border-color:#ffffff14}.ob-total{flex-direction:column;grid-column:5/6;align-items:flex-end;gap:2px;display:flex}.ob-total-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.ob-total-amount{color:var(--text);letter-spacing:-.02em;font-size:24px;font-weight:800}.ob-installment{border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:10px;margin-block-end:12px;padding:12px 14px;display:flex}.ob-installment-toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.ob-installment-toggle input:disabled{cursor:not-allowed}.ob-installment-inputs{gap:16px;display:flex}.ob-installment-inputs label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.ob-installment-inputs input[type=number]{border:1px solid var(--panel-border);background:var(--panel);width:100px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:6px;padding:6px 8px;font-size:13px}.ob-installment-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.ob-installment-hint--error{color:var(--danger)}.ob-actions{justify-content:flex-end;gap:8px;display:flex}.op-light-wrapper{z-index:250;--bg:#f3f4f6;--panel:#fff;--panel-border:#e5e7eb;--muted:#6b7280;--accent:#3b82f6;--text:#111827;--sidebar:#fff;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;position:fixed;inset:0}.op-light-wrapper .onboarding-page,.op-light-wrapper .onboarding-topbar{background:#fff!important}.op-light-wrapper input,.op-light-wrapper select,.op-light-wrapper textarea{color:#111827!important;background:#fff!important;border-color:#e5e7eb!important}.op-light-wrapper .stepper-dot{color:#6b7280!important;background:#fff!important;border-color:#e5e7eb!important}.op-light-wrapper .completed .stepper-dot{color:#fff!important;background:#3b82f6!important;border-color:#3b82f6!important}.op-light-wrapper .active .stepper-dot{color:#3b82f6!important;border-color:#3b82f6!important}.op-light-wrapper .stepper-label{color:#6b7280!important}.op-light-wrapper .completed .stepper-label{color:#3b82f6!important}.op-light-wrapper .onboarding-stepper-item:before{background:#e5e7eb!important}.op-light-wrapper .onboarding-stepper-item.completed:before{background:#3b82f6!important}.op-light-wrapper .eula-content{background:#fff!important;border-color:#e5e7eb!important}.op-light-wrapper .eula-sidebar-dot{color:#6b7280!important;background:#e5e7eb!important}.op-light-wrapper .eula-sidebar-item.active .eula-sidebar-dot,.op-light-wrapper .eula-sidebar-item.completed .eula-sidebar-dot{background:var(--accent)!important;color:#fff!important}.op-light-wrapper .pricing-card,.op-light-wrapper .stripe-input{background:#fff!important;border-color:#e5e7eb!important}.op-light-wrapper .onboarding-footer{color:#0006!important}.op-light-wrapper .eula-preview-close,.op-light-wrapper .eula-nav{display:none}.op-preview-badge{color:#1d4ed8;letter-spacing:.02em;white-space:nowrap;background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 30px 0 16px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.op-badge-close{top:-6px;color:#fff;cursor:pointer;background:#1d4ed8;border:2px solid #dbeafe;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:background .15s;display:flex;position:absolute;inset-inline-end:-6px}.op-badge-close:hover{background:#1e40af}.op-close-btn{top:16px;z-index:260;color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;transition:color .15s,background .15s;position:fixed;inset-inline-end:20px}.op-close-btn:hover{color:#111827;background:#0000000f}.customer-page{padding-bottom:32px;animation:.2s fadeIn}.customer-loading{justify-content:center;align-items:center;padding:4rem 0;display:flex}.customer-error{color:var(--muted);flex-direction:column;align-items:center;gap:16px;padding:4rem 0;display:flex}.customer-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.customer-header .action-btn{padding:10px 8px}.customer-title-block{flex:1;min-width:0}.customer-title-row{align-items:center;gap:10px;display:flex}.customer-title-row h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;margin:0;font-size:26px;font-weight:700;display:inline-flex;overflow:hidden}.customer-title-icon{color:var(--accent)}.customer-subtitle{color:var(--muted);align-items:center;gap:8px;margin:4px 0 0;font-size:15px;font-weight:400;display:flex}.customer-edit-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:13px;font-weight:500;transition:opacity .15s;display:inline-flex}.customer-edit-link:hover{opacity:.8;text-decoration:underline}.customer-details-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;margin-bottom:16px;padding:16px 20px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .customer-details-panel{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.customer-details-grid{grid-template-columns:repeat(4,1fr);gap:18px 20px;display:grid}@media (width<=900px){.customer-details-grid{grid-template-columns:repeat(2,1fr)}}.customer-detail-item{align-items:center;gap:8px;display:flex}.customer-detail-icon{width:26px;height:26px;color:var(--accent);background:#3b82f614;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.customer-detail-text{flex-direction:column;min-width:0;display:flex}.customer-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:500;line-height:1.2}.customer-detail-value{color:var(--text);font-size:15px;font-weight:500}.customer-sections{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.customer-section{flex-direction:column;align-items:flex-start;width:100%;display:flex}.customer-section-title{width:100%;color:var(--text);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.customer-section-title svg{color:var(--accent)}.customer-empty{color:var(--muted);text-align:center;margin:0;padding:16px 0;font-size:13px}.customer-list{flex-direction:column;gap:2px;width:100%;display:flex}.customer-list-item{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.customer-list-item:hover{background:var(--panel-hover)}.customer-order-table{border-collapse:collapse;width:100%;font-size:13px}.customer-order-table th,.customer-order-table td{text-align:start;padding:10px 12px}.customer-order-table th.text-right,.customer-order-table td.text-right{text-align:end}.customer-order-table th.text-center,.customer-order-table td.text-center{text-align:center}.customer-order-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg);border-bottom:2px solid var(--panel-border);font-size:11px;font-weight:600}.customer-order-table td{border-bottom:1px solid var(--panel-border)}.customer-order-table tbody tr:hover{background:var(--panel-hover)}.customer-order-table .font-bold{font-weight:600}.customer-order-table tfoot td{border-bottom:none;border-top:2px solid var(--panel-border);padding:14px 12px;font-size:15px;font-weight:700}.modal.onboarding-preview-modal{width:auto;max-width:none;box-shadow:none;background:0 0;border:none;padding:0;overflow:hidden}.modal.onboarding-preview-modal .modal-header{display:none}.modal.onboarding-preview-modal .modal-body{padding:0;overflow:hidden}.customer-actions-menu{position:relative}.customer-actions-dropdown{top:calc(100% + 8px);background:var(--panel);border:1px solid var(--panel-border);z-index:100;border-radius:8px;min-width:200px;padding:4px;position:absolute;inset-inline-end:0;box-shadow:0 4px 16px #0000001f}[data-theme=dark] .customer-actions-dropdown{background:#161b22;box-shadow:0 4px 16px #0006}.customer-actions-item{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:background .1s;display:flex}.customer-actions-item:hover{background:var(--panel-hover)}.customer-actions-item--danger{color:var(--danger)}.customer-actions-item--danger:hover{background:#ef444414}.customer-header-actions{align-items:stretch;gap:8px;display:flex}.customer-header-actions>*{align-self:center}.customer-header-actions>.btn,.customer-header-actions>.action-btn,.customer-header-actions>.customer-actions-menu{align-self:stretch}.customer-header-actions .customer-actions-menu .action-btn{height:100%}.customer-section-title-text{align-items:center;gap:8px;font-weight:600;display:flex}.customer-payment-method-grid{grid-template-columns:minmax(240px,1fr) minmax(200px,1fr);align-items:start;gap:16px;display:grid}@media (width<=700px){.customer-payment-method-grid{grid-template-columns:1fr}}.customer-payment-method-meta{color:var(--muted);font-size:11px;font-style:italic}.customer-payment-method-card{background:var(--bg);border:1px solid var(--panel-border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.customer-payment-method-card-icon{width:36px;height:36px;color:var(--accent);background:#3b82f61a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.customer-payment-method-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.customer-payment-method-card-type{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:600}.customer-payment-method-card-detail{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.customer-payment-method-billing{background:var(--bg);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.customer-payment-method-billing-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-block-end:2px;font-size:11px;font-weight:600}.customer-payment-method-billing-name{color:var(--text);font-size:13px;font-weight:600}.customer-payment-method-billing-line{color:var(--text);font-size:13px}.customer-payment-method-cell{align-items:center;gap:4px;font-size:12px;display:inline-flex}.customer-payment-refund-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:3px;padding:2px 4px;font-size:11px;display:inline-flex}.customer-payment-refund-btn:hover{color:var(--text);background:var(--panel-hover)}.customer-orders-list{flex-direction:column;gap:16px;margin-block-start:12px;display:flex}.customer-order-card{border:1px solid var(--panel-border);background:var(--bg);border-radius:10px;padding:12px 14px}.customer-order-card-header{justify-content:space-between;align-items:center;gap:12px;margin-block-end:10px;display:flex}.customer-order-card-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.customer-order-card-id{color:var(--muted);font-family:monospace;font-size:12px}.customer-order-card-amount{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.customer-order-card-date{color:var(--muted);font-size:12px}.customer-order-card-actions{align-items:center;gap:8px;display:flex}.customer-order-card-link{color:var(--accent);align-items:center;gap:4px;font-size:12px;text-decoration:none;display:inline-flex}.customer-order-card-link:hover{text-decoration:underline}.customer-order-card-note{color:var(--muted);margin-block-end:10px;font-size:12px}.customer-order-card-note--success{color:var(--success)}.customer-subscription-history{border-block-start:1px solid var(--panel-border);margin-block-start:24px;padding-block-start:16px}.customer-order-cta{background:#3b82f60f;border:1px solid #3b82f62e;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-block-end:12px;padding:12px 14px;display:flex}.customer-order-cta--warn{background:#f59e0b0f;border-color:#f59e0b33}.customer-order-cta-note{color:var(--muted);font-size:12px;font-style:italic}.customer-order-add-buttons{flex-wrap:wrap;gap:8px;margin-block-start:12px;display:flex}.customer-order-locked-hint{color:var(--muted);font-size:11px;font-style:italic}.customer-order-installment-status{color:var(--muted);font-variant-numeric:tabular-nums;padding-inline:8px;font-size:12px}.customer-charge-confirm-summary{background:var(--bg);border:1px solid var(--panel-border);font-variant-numeric:tabular-nums;border-radius:8px;flex-direction:column;gap:6px;margin-block:12px;padding:12px 14px;display:flex}.customer-charge-confirm-line{justify-content:space-between;align-items:center;font-size:13px;display:flex}.customer-charge-confirm-line--total{border-block-start:1px solid var(--panel-border);color:var(--accent);padding-block-start:6px;font-size:15px;font-weight:700}.customer-charge-confirm-line--note{color:var(--muted);font-size:12px;font-style:italic}.customer-charge-confirm-line--note .customer-charge-confirm-label,.customer-charge-confirm-line--note .customer-charge-confirm-value{text-transform:none;letter-spacing:normal;color:var(--muted);font-weight:400}.customer-charge-confirm-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.customer-charge-confirm-value{color:var(--text);font-weight:700}.system-config-page{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.system-config-panel{flex-direction:column;gap:24px;padding:20px 24px;display:flex}.system-config-section-header{flex-direction:column;gap:6px;display:flex}.system-config-section-header h2{color:var(--text);margin:0;font-size:17px;font-weight:600}.system-config-section-title{align-items:center;gap:8px;display:flex}.system-config-section-title svg{color:var(--accent);flex-shrink:0}.system-config-section-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.system-config-section-desc code{color:var(--accent);background:#3b82f614;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.system-config-active{border:1px solid var(--panel-border);background:#3b82f60a;border-radius:10px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.system-config-active-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.system-config-active-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.system-config-active-info{flex-direction:column;gap:4px;min-width:0;display:flex}.system-config-active-version{color:var(--text);letter-spacing:-.01em;font-size:22px;font-weight:700}.system-config-active-key{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;overflow:hidden}.system-config-active-actions{flex-wrap:wrap;gap:8px;display:flex}.system-config-action-btn{border:1px solid var(--panel-border);color:var(--text);background:var(--panel);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.system-config-action-btn:hover{border-color:var(--accent);color:var(--accent)}.system-config-loading,.system-config-empty,.system-config-error{align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.system-config-loading,.system-config-empty{color:var(--muted)}.system-config-error{color:var(--danger);background:#ef44440f;border:1px solid #ef444433;border-radius:8px;padding:10px 12px}.system-config-upload{border:1px dashed var(--panel-border);border-radius:10px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.system-config-upload-title{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.system-config-upload-title svg{color:var(--accent);flex-shrink:0}.system-config-upload-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.system-config-upload-row{grid-template-columns:2fr 1fr;gap:12px;display:grid}@media (width<=720px){.system-config-upload-row{grid-template-columns:1fr}}.system-config-field{color:var(--text);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.system-config-field input{border:1px solid var(--panel-border);color:var(--text);background:#fff;border-radius:8px;padding:9px 12px;font-size:14px}.system-config-field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #3b82f626}[data-theme=dark] .system-config-field input{background:#0d1117;border-color:#ffffff1a}.system-config-field input[type=file]{cursor:pointer;padding:7px 10px}.system-config-upload-actions{justify-content:flex-end;display:flex}.system-config-tunables{flex-direction:column;gap:12px;display:flex}.system-config-tunable{border:1px solid var(--panel-border);background:#3b82f608;border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.system-config-tunable-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.system-config-tunable-label{color:var(--text);margin:0;font-size:15px;font-weight:600}.system-config-category-badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}.system-config-category-badge svg{flex-shrink:0}.system-config-category-badge.system-config-category-badge--email{color:#b45309;background:#f59e0b1f;border-color:#f59e0b4d}[data-theme=dark] .system-config-category-badge.system-config-category-badge--email{color:#fbbf24}.system-config-category-badge.system-config-category-badge--mika{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f64d}[data-theme=dark] .system-config-category-badge.system-config-category-badge--mika{color:#60a5fa}.system-config-category-badge.system-config-category-badge--herd{color:#047857;background:#10b9811f;border-color:#10b9814d}[data-theme=dark] .system-config-category-badge.system-config-category-badge--herd{color:#34d399}.system-config-category-badge.system-config-category-badge--uri{color:#6d28d9;background:#a855f71f;border-color:#a855f74d}[data-theme=dark] .system-config-category-badge.system-config-category-badge--uri{color:#c084fc}.system-config-tunable-desc{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.system-config-tunable-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.system-config-tunable-input-wrap{align-items:center;gap:8px;display:inline-flex}.system-config-tunable-input{border:1px solid var(--panel-border);width:130px;color:var(--text);font-variant-numeric:tabular-nums;background:#fff;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600}.system-config-tunable-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #3b82f626}.system-config-tunable-input:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .system-config-tunable-input{background:#0d1117;border-color:#ffffff1a}.system-config-tunable-unit{color:var(--muted);font-size:13px}.system-config-tunable-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.system-config-tunable-badge{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;background:#3b82f61a;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.system-config-tunable-badge.system-config-tunable-badge--muted{color:var(--muted);background:#9ca3af26;font-weight:500}.system-config-tunable-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-inline-start:auto;display:flex}.system-config-api-keys-toolbar{justify-content:flex-end;display:flex}.system-config-switch-disabled{opacity:.5;pointer-events:none}.system-config-key-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.mfg-empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 16px;display:flex}.mfg-empty svg{opacity:.5}.mfg-batch-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.mfg-batch-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000f}.mfg-batch-card:hover{box-shadow:0 4px 12px #00000014}.mfg-header-actions{align-items:center;gap:10px;display:flex}.mfg-section-title{color:var(--text);align-items:center;gap:8px;margin:22px 0 12px;font-size:15px;font-weight:600;display:flex}.mfg-section-title svg{color:var(--accent)}.mfg-section-count{background:var(--panel-hover);min-width:20px;height:20px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.mfg-batch-card-summary{flex-direction:column;gap:8px;display:flex}.mfg-batch-card-total{color:var(--text);font-size:13px;font-weight:600}.mfg-status-counts{flex-wrap:wrap;gap:6px;display:flex}.mfg-count-pill{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.mfg-count-pill--registered{color:var(--muted);background:#9ca3af26}.mfg-count-pill--provisioned{color:var(--accent);background:#3b82f61f}.mfg-count-pill--tested{color:var(--warning);background:#f59e0b26}.mfg-count-pill--ready{color:var(--success);background:#10b98126}.mfg-count-pill--attached{color:#8b5cf6;background:#8b5cf626}.mfg-batch-card-devices{flex-wrap:wrap;gap:6px;max-height:96px;padding:2px;display:flex;overflow-y:auto}.mfg-device-chip{color:var(--text);background:var(--panel-hover);border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:inline-flex}.mfg-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mfg-dot--registered{background:var(--muted)}.mfg-dot--provisioned{background:var(--accent)}.mfg-dot--tested{background:var(--warning)}.mfg-dot--ready{background:var(--success)}.mfg-dot--attached{background:#8b5cf6}.mfg-batch-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.mfg-batch-card-title{color:var(--text);align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:600;display:inline-flex}.mfg-batch-card-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mfg-batch-card-title svg{color:var(--accent);flex-shrink:0}.mfg-batch-card-badges{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.mfg-batch-card-badges .badge{align-items:center;gap:4px;display:inline-flex}.mfg-batch-card-meta{flex-wrap:wrap;gap:16px;display:flex}.mfg-batch-card-meta>div{flex-direction:column;gap:4px;display:flex}.mfg-meta-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.mfg-batch-card-notes{color:var(--muted);border-inline-start:2px solid var(--panel-border);padding-inline-start:10px;font-size:13px}.mfg-batch-card-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;display:flex}.mfg-batch-card-actions button svg{vertical-align:middle}[dir=rtl] .mfg-batch-card-actions button svg{transform:scaleX(-1)}.mfg-detail-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.mfg-detail-title-block{flex:1;min-width:0}.mfg-detail-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mfg-detail-title-row h1{letter-spacing:-.01em;align-items:center;gap:8px;margin:0;font-size:26px;font-weight:700;display:inline-flex}.mfg-detail-title-row .badge{align-items:center;gap:4px;display:inline-flex}.mfg-detail-subtitle{color:var(--muted);align-items:center;gap:14px;margin-top:6px;font-size:13px;display:flex}.mfg-edit-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;display:inline-flex}.mfg-detail-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.mfg-count-row{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px;display:grid}@media (width<=720px){.mfg-count-row{grid-template-columns:repeat(2,1fr)}}.mfg-count-card{background:var(--panel);border:1px solid var(--panel-border);border-inline-start-width:3px;border-radius:10px;padding:12px 14px}.mfg-count-value{color:var(--text);font-size:22px;font-weight:700}.mfg-count-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.mfg-count-card--registered{border-inline-start-color:var(--muted)}.mfg-count-card--provisioned{border-inline-start-color:var(--accent)}.mfg-count-card--tested{border-inline-start-color:var(--warning)}.mfg-count-card--ready{border-inline-start-color:var(--success)}.mfg-count-card--attached{border-inline-start-color:#8b5cf6}.mfg-status{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}.mfg-status--registered{color:var(--muted);background:#9ca3af26}.mfg-status--provisioned{color:var(--accent);background:#3b82f61f}.mfg-status--tested{color:var(--warning);background:#f59e0b26}.mfg-status--ready{color:var(--success);background:#10b98126}.mfg-status--attached{color:#8b5cf6;background:#8b5cf626}.mfg-device-info{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.mfg-event-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.mfg-event-item{border:1px solid var(--panel-border);border-radius:8px;padding:10px 12px}.mfg-event-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mfg-event-head .badge{text-transform:capitalize}.mfg-event-time{color:var(--muted);font-size:12px}.mfg-event-body{color:var(--text);flex-direction:column;gap:2px;margin-top:6px;font-size:13px;display:flex}.mfg-event-reason{color:var(--muted)}.mfg-inbox-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:8px;display:grid}@media (width<=860px){.mfg-inbox-row{grid-template-columns:repeat(2,1fr)}}.mfg-inbox-card{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;text-align:start;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.mfg-inbox-card:hover{box-shadow:0 4px 12px #00000014}.mfg-inbox-icon{width:38px;height:38px;color:var(--accent);background:#3b82f61a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mfg-inbox-card--warning .mfg-inbox-icon{color:var(--warning);background:#f59e0b1f}.mfg-inbox-card--success .mfg-inbox-icon{color:var(--success);background:#10b9811f}.mfg-inbox-card--muted .mfg-inbox-icon{background:var(--panel-hover);color:var(--muted)}.mfg-inbox-text{flex-direction:column;flex:1;min-width:0;display:flex}.mfg-inbox-count{color:var(--text);font-size:22px;font-weight:700;line-height:1.1}.mfg-inbox-label{color:var(--muted);font-size:12px}.mfg-inbox-arrow{color:var(--muted);flex-shrink:0}[dir=rtl] .mfg-inbox-arrow{transform:scaleX(-1)}.mfg-overview{flex-direction:column;min-height:calc(100vh - 128px);display:flex}.mfg-pipeline-headrow{justify-content:space-between;align-items:center;gap:12px;display:flex}.mfg-pipeline-headrow .mfg-section-title{margin-block-end:12px}.mfg-funnel-panel{flex:1;min-height:0;display:flex}.mfg-funnel{flex:1;align-items:stretch;gap:4px;min-height:0;display:flex}@media (width<=900px){.mfg-funnel{flex-wrap:wrap;gap:10px 4px}}.mfg-funnel-col{flex-direction:column;flex:1 1 0;min-width:150px;display:flex}@media (width<=900px){.mfg-funnel-col{flex-basis:45%;min-height:280px}}.mfg-funnel-col--registered{--mfg-stage-color:#9ca3af}.mfg-funnel-col--provisioned{--mfg-stage-color:var(--accent)}.mfg-funnel-col--tested{--mfg-stage-color:var(--warning)}.mfg-funnel-col--ready{--mfg-stage-color:var(--success)}.mfg-funnel-col--attached{--mfg-stage-color:#8b5cf6}.mfg-funnel-stage{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;text-align:start;border-radius:12px;flex-direction:column;flex:1;gap:12px;width:100%;min-height:0;padding:18px 18px 16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.mfg-funnel-stage:before{content:"";background:var(--mfg-stage-color,var(--muted));height:4px;position:absolute;inset-block-start:0;inset-inline:0}.mfg-funnel-stage:hover{border-color:var(--mfg-stage-color,var(--panel-border));transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.mfg-funnel-head{flex-direction:column;gap:3px;display:flex}.mfg-funnel-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.mfg-funnel-dot{background:var(--mfg-stage-color,var(--muted));border-radius:50%;flex-shrink:0;width:10px;height:10px}.mfg-funnel-count{color:var(--text);font-size:32px;font-weight:700;line-height:1.05}.mfg-funnel-sep{background:var(--panel-border);border:0;width:100%;height:1px;margin:0}.mfg-funnel-list{flex-direction:column;flex:1;gap:6px;min-height:0;padding-inline-end:2px;display:flex;overflow-y:auto}.mfg-funnel-item{color:var(--text);background:var(--panel-hover);border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:14px;font-weight:500;display:flex}.mfg-funnel-item-icon{color:var(--mfg-stage-color,var(--muted));flex-shrink:0}.mfg-funnel-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mfg-funnel-empty{color:var(--muted);font-size:14px;font-style:italic}.mfg-shipped-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:60vh;display:grid;overflow-y:auto}.mfg-funnel-connector{color:var(--muted);opacity:.7;flex:none;justify-content:center;align-items:center;display:flex}[dir=rtl] .mfg-funnel-connector svg{transform:scaleX(-1)}@media (width<=900px){.mfg-funnel-connector{display:none}}.mfg-funnel-stage--registered{border-block-start-color:var(--muted)}.mfg-funnel-stage--provisioned{border-block-start-color:var(--accent)}.mfg-funnel-stage--tested{border-block-start-color:var(--warning)}.mfg-funnel-stage--ready{border-block-start-color:var(--success)}.mfg-funnel-stage--attached{border-block-start-color:#8b5cf6}.mfg-stepper{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.mfg-step{background:var(--panel-hover);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.mfg-step--current{color:var(--accent);background:#3b82f61f}.mfg-step--done{color:var(--text)}.mfg-step-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mfg-device-detail{flex-direction:column;display:flex}.mfg-device-actions{flex-wrap:wrap;gap:8px;display:flex}.mfg-move-row{align-items:center;gap:8px;margin-top:12px;display:flex}.mfg-move-row .select-wrapper,.mfg-move-row>div:first-child{flex:1}.mfg-tech-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mfg-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mfg-filter-chip{border:1px solid var(--warning);color:var(--warning);cursor:pointer;background:#f59e0b1f;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.mobile-web-topbar{z-index:10;background:var(--panel);border-bottom:1px solid var(--panel-border);flex-direction:column;padding:12px 8px 4px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.mobile-web-topbar__row{align-items:center;gap:8px;min-height:48px;display:flex}.mobile-web-topbar__filters{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mobile-web-topbar__filters-spacer{flex:1}.mobile-web-topbar__icon-button{width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-web-topbar__icon-button:active{background:var(--bg)}.mobile-web-topbar__icon-button--muted{color:var(--muted)}.mobile-web-topbar__pill{border:1px solid var(--panel-border);background:var(--bg);min-width:0;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;flex:1;align-items:center;gap:6px;padding:8px 14px;display:flex;position:relative}.mobile-web-topbar__pill--accent{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.mobile-web-topbar__pill--accent .mobile-web-topbar__pill-chevron{color:var(--accent)}.mobile-web-topbar__pill--hidden{visibility:hidden;pointer-events:none}.mobile-web-topbar__pill-icon{flex-shrink:0;align-items:center;display:inline-flex}.mobile-web-topbar__pill-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.mobile-web-topbar__pill-chevron{color:var(--muted);flex-shrink:0}.mobile-web-topbar__pill-select{opacity:0;cursor:pointer;appearance:none;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.mobile-web-topbar__bottom-row{justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 0;display:flex}.mobile-web-topbar__page-title{letter-spacing:-.4px;min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:20px;font-weight:800;overflow:hidden}.mobile-web-topbar__bottom-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.mobile-web-topbar__clock{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:500}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Hebrew;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAANMABAAAAAABrAAAALxAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhQbHhw6BmA/U1RBVEQAVBEICoE4gTgLDgABNgIkAxgEIAWFBgdGDAcbiAUongNu0zwieogr6noUkROOPOZGq41QyXn4b7/0vvmzG/qbAiC4smtcVHQVqQrPltCxyvGNzf5k9/YCeSLP34icL8xu4tYqhcoqmjOru1JlikA//znJLk4VDeh6ykUkQAGP+NjnYwrOARqgaEC7xnkx3HleLkipZFjnXLu8CWcsyDEsDKsjvIZACQiFEALNhnKktnZ9binoylAHFJKFImn91uNMF5UCukCJBNBF0kwBXW3i5IAA/6dz3I9JFVJ7qgS2lOk4jonVyGws/LEbdhRkwC2VTzmg+wN5aowF5gDSwPQGI2kIoVFCX+oYS/3WBSGnhltnOaFaCD1pCiHFAq1AgSRFB+kZSCjQl4ZAX5pWAqVGSUbNSEuVJ3V0L57qf/zUOdQAQIj6ox6gCkpUMAfYCkAGCRSQc5+yPHTP6M5po6ay9oPzrt65v39h3fL09dNpdy+/7zM+8OT16y2809sXQ0tbmIuH1yMqDPY+fPFiljto7ey473+MF/A7AH5Nya4Zqe49Gt/m+0HhOef8fadpoGUqYDO2We9ya0zJ7H+PF602S21WLLve7/o/cFOs7rGjuic3eTdkZwBAoLC6w7925YTJ0i7douiEn52TWgH419ZRAB7dH1JpngpUJRAkQ9Jthkfa+5vjqmr8x0QG9XuimWhFoGoKDRB4rkW7QuQmPIjmBsLkWAhJa0yGwmZfIFtsAyoGG4WquSqJVvO5UYJSfwjNyksWMMR2CpRME6kKIq04woMSIgKZe+biKLGiBQumoETI8SnIcaREWhByLOQgqyywX4+jUKKJHCsT0YwiOpQSEpELVIwQaCPVhCpHUCwRtiEhgmAYz6kjax9BR6BBWdOnj5GhQIEMMRPzXVOz5JTdnC501zjCwBihqkMg6wGkEKUgRrQAI0lbClmx0DDik8UQEGnn2jQL0kJBJpjcy8Uas4IJZwa+1JG1Psx2uEqkKCJHRZHW7NYMu0M6N66LcFgqLgtwEj5Ve+zbNQYAAA==)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAVEAA8AAAAABoQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABQAAAAUAA8ABEdQT1MAAAFsAAAAHgAAAB5EdEx1R1NVQgAAAYwAAAA5AAAAOu2e8oxPUy8yAAAByAAAAEoAAABgaOdacFNUQVQAAAIUAAAAOQAAAET1t95EY21hcAAAAlAAAAA8AAAAVADMBnFnYXNwAAACjAAAAAgAAAAIAAAAEGdseWYAAAKUAAAAxgAAAMaYhQy8aGVhZAAAA1wAAAA2AAAANiFJ5OBoaGVhAAADlAAAACAAAAAkBfQFDmhtdHgAAAO0AAAAGAAAABgHiABWbG9jYQAAA8wAAAAOAAAADgDbAI1tYXhwAAAD3AAAABwAAAAgACAAyG5hbWUAAAP4AAABEwAAAmI1XVj2cG9zdAAABQwAAAA1AAAARgIvwiEAAQAAAAwAAAAAAAAAAQADAAEAAQABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBisABCVhc3nxAGleTKohwGhfSi1GwGhYzUpCIGhZzEkjwGBQYQYAER//+DSAAw7gsEAAAAeNpjYGFSZpzAwMrAwNTFFMHAwOANoRnjGIwYnRhQAAczMs/d39+d4QADA+sFFp1/dxgYWHQYVYDCxiA5JgmmU0BKgYEZAMgtChIAAHjaBcFHAYQAEASwzF4VgAQ8IIj6p9lAEOJIRPwVGoVWnfOyBeewLYl4a7xQKhd1I6LSGXgAvlcFzAAAAHjaY2BgYAJiZiAWAZKMYJqFwQFI8zBwAOVYgCxeBgWGBawX/v8HspF5TP+//H/6P+WXMUgfAgAAkpMOOgABAAH//wAPAAIAMv7cAcIELAADAAcAABMRIRElIREhMgGQ/qIBLP7U/twFUPqwMgTsAAEAJAAAAlQCUQAwAAAhJiYnJicGBwYGBwcjNzY2NzY3JicuAiczHgIXFhc2NzY2NzczBwYGBwYHFhcWFwHrLFwtHhwgExUWBxhbGAgjIhwrExIYKSMNbxMqMh4kKB4UGBkECVwJBSglHyolJjItS4w/JyUQGh1LLaOmOmElHRUYFx00Kg8WNj8mMTcQGBxKLV5hOmAkHRU1N0lLAAAAAQAAAAMAQvI0yBJfDzz1AAMD6AAAAADd6ClkAAAAAOKDd0/+BP7cA8EELAAAAAYAAgAAAAAAAHjaY2BkYGDR+XeHgYH5xT+WfzHMB5lfMKACNgCngAcIAfQAMgEEAAAAAAAAAngAJAEKAAABDgAAAAAAFQAVABUAYwBjAGMAAHjaY2BkYGBgY2hgEGBwA9IgHgIwMzACABUcAOl42pWRA25FQRRAT20EtV4a1LaNoGbcj8fvhyJGo+6gXFLX1Mlkag/P4Boo4YocsnKLgJusWcVZaFnNirMpz6pUnMMij4pz6edBcR71XCrOp5tjxeWM0orkLCilWnEWxZQqHhMEm6RwSRAizhE2UXwsQbpgU5Avp08aj0n6RE8J1kliCEriE8cmIm88dHqlPlPq9cXcIyRf1tEJ46JzRg+76JgExAnhcoiOi4ctNWoM0Uu/6AMvWrQXPdo7TdoHTa+SU6yxJfqaoP/48v70m/0lmY0L3JdsaQzSL+awoH0sdDRetWzjit1BJyL/LhDIDKdwpe72T9k2seWPgDC9REiRELdJpVHVAE/cWbz61fEEMjtchgB42mNgYgCD/3MYjBiwATYGBkYmRmZGFkZWBmYm5yAWv1AfH/bSvEwDUxcDMG3gaAAAvHQIEQAAAA==)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans Hebrew;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAANMABAAAAAABrAAAALxAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhQbHhw6BmA/U1RBVEQAVBEICoE4gTgLDgABNgIkAxgEIAWFBgdGDAcbiAUongNu0zwieogr6noUkROOPOZGq41QyXn4b7/0vvmzG/qbAiC4smtcVHQVqQrPltCxyvGNzf5k9/YCeSLP34icL8xu4tYqhcoqmjOru1JlikA//znJLk4VDeh6ykUkQAGP+NjnYwrOARqgaEC7xnkx3HleLkipZFjnXLu8CWcsyDEsDKsjvIZACQiFEALNhnKktnZ9binoylAHFJKFImn91uNMF5UCukCJBNBF0kwBXW3i5IAA/6dz3I9JFVJ7qgS2lOk4jonVyGws/LEbdhRkwC2VTzmg+wN5aowF5gDSwPQGI2kIoVFCX+oYS/3WBSGnhltnOaFaCD1pCiHFAq1AgSRFB+kZSCjQl4ZAX5pWAqVGSUbNSEuVJ3V0L57qf/zUOdQAQIj6ox6gCkpUMAfYCkAGCRSQc5+yPHTP6M5po6ay9oPzrt65v39h3fL09dNpdy+/7zM+8OT16y2809sXQ0tbmIuH1yMqDPY+fPFiljto7ey473+MF/A7AH5Nya4Zqe49Gt/m+0HhOef8fadpoGUqYDO2We9ya0zJ7H+PF602S21WLLve7/o/cFOs7rGjuic3eTdkZwBAoLC6w7925YTJ0i7douiEn52TWgH419ZRAB7dH1JpngpUJRAkQ9Jthkfa+5vjqmr8x0QG9XuimWhFoGoKDRB4rkW7QuQmPIjmBsLkWAhJa0yGwmZfIFtsAyoGG4WquSqJVvO5UYJSfwjNyksWMMR2CpRME6kKIq04woMSIgKZe+biKLGiBQumoETI8SnIcaREWhByLOQgqyywX4+jUKKJHCsT0YwiOpQSEpELVIwQaCPVhCpHUCwRtiEhgmAYz6kjax9BR6BBWdOnj5GhQIEMMRPzXVOz5JTdnC501zjCwBihqkMg6wGkEKUgRrQAI0lbClmx0DDik8UQEGnn2jQL0kJBJpjcy8Uas4IJZwa+1JG1Psx2uEqkKCJHRZHW7NYMu0M6N66LcFgqLgtwEj5Ve+zbNQYAAA==)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAVEAA8AAAAABoQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABQAAAAUAA8ABEdQT1MAAAFsAAAAHgAAAB5EdEx1R1NVQgAAAYwAAAA5AAAAOu2e8oxPUy8yAAAByAAAAEoAAABgaOdacFNUQVQAAAIUAAAAOQAAAET1t95EY21hcAAAAlAAAAA8AAAAVADMBnFnYXNwAAACjAAAAAgAAAAIAAAAEGdseWYAAAKUAAAAxgAAAMaYhQy8aGVhZAAAA1wAAAA2AAAANiFJ5OBoaGVhAAADlAAAACAAAAAkBfQFDmhtdHgAAAO0AAAAGAAAABgHiABWbG9jYQAAA8wAAAAOAAAADgDbAI1tYXhwAAAD3AAAABwAAAAgACAAyG5hbWUAAAP4AAABEwAAAmI1XVj2cG9zdAAABQwAAAA1AAAARgIvwiEAAQAAAAwAAAAAAAAAAQADAAEAAQABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBisABCVhc3nxAGleTKohwGhfSi1GwGhYzUpCIGhZzEkjwGBQYQYAER//+DSAAw7gsEAAAAeNpjYGFSZpzAwMrAwNTFFMHAwOANoRnjGIwYnRhQAAczMs/d39+d4QADA+sFFp1/dxgYWHQYVYDCxiA5JgmmU0BKgYEZAMgtChIAAHjaBcFHAYQAEASwzF4VgAQ8IIj6p9lAEOJIRPwVGoVWnfOyBeewLYl4a7xQKhd1I6LSGXgAvlcFzAAAAHjaY2BgYAJiZiAWAZKMYJqFwQFI8zBwAOVYgCxeBgWGBawX/v8HspF5TP+//H/6P+WXMUgfAgAAkpMOOgABAAH//wAPAAIAMv7cAcIELAADAAcAABMRIRElIREhMgGQ/qIBLP7U/twFUPqwMgTsAAEAJAAAAlQCUQAwAAAhJiYnJicGBwYGBwcjNzY2NzY3JicuAiczHgIXFhc2NzY2NzczBwYGBwYHFhcWFwHrLFwtHhwgExUWBxhbGAgjIhwrExIYKSMNbxMqMh4kKB4UGBkECVwJBSglHyolJjItS4w/JyUQGh1LLaOmOmElHRUYFx00Kg8WNj8mMTcQGBxKLV5hOmAkHRU1N0lLAAAAAQAAAAMAQvI0yBJfDzz1AAMD6AAAAADd6ClkAAAAAOKDd0/+BP7cA8EELAAAAAYAAgAAAAAAAHjaY2BkYGDR+XeHgYH5xT+WfzHMB5lfMKACNgCngAcIAfQAMgEEAAAAAAAAAngAJAEKAAABDgAAAAAAFQAVABUAYwBjAGMAAHjaY2BkYGBgY2hgEGBwA9IgHgIwMzACABUcAOl42pWRA25FQRRAT20EtV4a1LaNoGbcj8fvhyJGo+6gXFLX1Mlkag/P4Boo4YocsnKLgJusWcVZaFnNirMpz6pUnMMij4pz6edBcR71XCrOp5tjxeWM0orkLCilWnEWxZQqHhMEm6RwSRAizhE2UXwsQbpgU5Avp08aj0n6RE8J1kliCEriE8cmIm88dHqlPlPq9cXcIyRf1tEJ46JzRg+76JgExAnhcoiOi4ctNWoM0Uu/6AMvWrQXPdo7TdoHTa+SU6yxJfqaoP/48v70m/0lmY0L3JdsaQzSL+awoH0sdDRetWzjit1BJyL/LhDIDKdwpe72T9k2seWPgDC9REiRELdJpVHVAE/cWbz61fEEMjtchgB42mNgYgCD/3MYjBiwATYGBkYmRmZGFkZWBmYm5yAWv1AfH/bSvEwDUxcDMG3gaAAAvHQIEQAAAA==)format("woff");unicode-range:U+1F??}@font-face{font-family:Noto Sans Hebrew;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-hebrew-hebrew-400-normal-Bp0xVS9x.woff2)format("woff2"),url(/assets/noto-sans-hebrew-hebrew-400-normal-BEvsRI_S.woff)format("woff");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Noto Sans Hebrew;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-hebrew-latin-ext-400-normal-D-r4JGf5.woff2)format("woff2"),url(/assets/noto-sans-hebrew-latin-ext-400-normal-R_ivLM58.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Noto Sans Hebrew;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-hebrew-latin-400-normal-DkOjcY47.woff2)format("woff2"),url(/assets/noto-sans-hebrew-latin-400-normal-Cvb_8Q96.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-arabic-arabic-400-normal-AAMxebZb.woff2)format("woff2"),url(/assets/noto-sans-arabic-arabic-400-normal-hsqIUL9Q.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-arabic-math-400-normal-BxrVu-ji.woff2)format("woff2"),url(/assets/noto-sans-arabic-math-400-normal-BiWGKoY7.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-arabic-symbols-400-normal-BbP0vlM-.woff2)format("woff2"),url(/assets/noto-sans-arabic-symbols-400-normal-BJzmBRSy.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-arabic-latin-ext-400-normal-CW3XQ4Yj.woff2)format("woff2"),url(/assets/noto-sans-arabic-latin-ext-400-normal-D4Wl3hq7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Noto Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-arabic-latin-400-normal-CjsIS08k.woff2)format("woff2"),url(/assets/noto-sans-arabic-latin-400-normal-lr8cikIT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-family:"Inter Variable", "Noto Sans Hebrew", "Noto Sans Arabic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg:#0a0e1a;--panel:#111827;--panel-border:#1f2937;--muted:#9ca3af;--accent:#3b82f6;--text:#f9fafb;--sidebar:#0f1419;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6}[data-theme=light]{--bg:#f3f4f6;--panel:#fff;--panel-border:#e5e7eb;--muted:#6b7280;--accent:#3b82f6;--text:#111827;--sidebar:#fff;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}.app-root{min-height:100vh;display:flex}.main-area{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}.content{flex:1;width:100%;max-width:1600px;padding:32px}section{width:100%}section h1{margin-bottom:24px;font-size:28px;font-weight:700}section h2{margin-bottom:16px;font-size:20px;font-weight:600}section h3{margin-bottom:12px;font-size:16px;font-weight:600}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}input,select,textarea{border:1px solid var(--panel-border);background:var(--panel);color:var(--text);border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input:disabled,select:disabled,textarea:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] input::-webkit-calendar-picker-indicator{filter:invert()}[data-theme=dark] select::-webkit-calendar-picker-indicator{filter:invert()}[data-theme=dark] textarea::-webkit-calendar-picker-indicator{filter:invert()}label{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group{margin-bottom:16px}.form-group label{flex-direction:column;gap:4px;display:flex}.form-group input,.form-group select,.form-group textarea{width:100%}.form-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.form-divider{border:none;border-top:1px solid var(--panel-border);margin:16px 0}.form-section{margin-top:16px;margin-bottom:16px}.form-section-title{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:600}.form-section .form-row-2>.form-group,.form-section .form-row-3>.form-group{margin-bottom:0}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:16px}.card-title{margin-bottom:8px;font-weight:600}.card-content{color:var(--muted);font-size:14px}.table{border-collapse:collapse;table-layout:fixed;width:100%}.table thead{border-bottom:2px solid var(--panel-border)}.table th{text-align:center;color:var(--muted);letter-spacing:.5px;padding:12px;font-size:13px;font-weight:600}.table td{text-align:center;border-bottom:1px solid var(--panel-border);white-space:nowrap;font-variant-numeric:tabular-nums;padding:12px;font-size:14px}.table tbody tr:hover{background:#ffffff05}.two-line-cell{white-space:nowrap;text-align:start;line-height:1.4;display:inline-block}.table td:has(.two-line-cell){text-align:start}.badge{border-radius:12px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.badge.high{color:#ef4444;background:#ef444426}[data-theme=dark] .badge.high{color:#fca5a5}.badge.medium{color:#f59e0b;background:#f59e0b26}[data-theme=dark] .badge.medium{color:#fcd34d}.badge.low{color:#10b981;background:#10b98126}[data-theme=dark] .badge.low{color:#6ee7b7}.badge.active{color:#3b82f6;background:#3b82f626}[data-theme=dark] .badge.active{color:#93c5fd}.badge.status-active{color:#10b981;background:#10b98126}[data-theme=dark] .badge.status-active{color:#6ee7b7}.badge.inactive{color:#6b7280;background:#6b728026}[data-theme=dark] .badge.inactive{color:#9ca3af}.badge.completed{color:#6b7280;background:#6b728026}[data-theme=dark] .badge.completed{color:#9ca3af}.badge.scheduled{color:#8b5cf6;background:#8b5cf626}[data-theme=dark] .badge.scheduled{color:#c4b5fd}.badge.outline-blue{border:1px solid var(--accent);color:var(--accent);background:#3b82f61a}.badge.badge-sm{white-space:nowrap;padding:2px 8px;font-size:10px;line-height:1.3}.badge.badge-xs{border-radius:8px;padding:1px 6px;font-size:9px}.badge.acknowledged{color:#10b981;background:#10b98126}[data-theme=dark] .badge.acknowledged{color:#6ee7b7}.badge.milking{color:#10b981;background:#10b98126}[data-theme=dark] .badge.milking{color:#6ee7b7}.badge.sick-treated{color:#f59e0b;background:#f59e0b26}[data-theme=dark] .badge.sick-treated{color:#fcd34d}.badge.dry{color:#6b7280;background:#6b728026}[data-theme=dark] .badge.dry{color:#9ca3af}.badge.heifer{color:#8b5cf6;background:#8b5cf626}[data-theme=dark] .badge.heifer{color:#c4b5fd}.badge.archived{color:#9ca3af;background:#6b72801a}[data-theme=dark] .badge.archived{color:#6b7280}.badge.lead-new{color:#d97706;background:#f59e0b26}[data-theme=dark] .badge.lead-new{color:#fbbf24}.badge.lead-contacted{color:#2563eb;background:#3b82f626}[data-theme=dark] .badge.lead-contacted{color:#93c5fd}.badge.lead-converted{color:#059669;background:#10b98126}[data-theme=dark] .badge.lead-converted{color:#6ee7b7}.badge.onboard-setup{color:#6b7280;background:#6b728026}[data-theme=dark] .badge.onboard-setup{color:#9ca3af}.badge.onboard-invited{color:#d97706;background:#f59e0b26}[data-theme=dark] .badge.onboard-invited{color:#fbbf24}.badge.onboard-registered{color:#2563eb;background:#3b82f626}[data-theme=dark] .badge.onboard-registered{color:#93c5fd}.badge.onboard-company{color:#0284c7;background:#0ea5e926}[data-theme=dark] .badge.onboard-company{color:#7dd3fc}.badge.onboard-eula{color:#4f46e5;background:#6366f126}[data-theme=dark] .badge.onboard-eula{color:#a5b4fc}.badge.onboard-payment{color:#7c3aed;background:#8b5cf626}[data-theme=dark] .badge.onboard-payment{color:#c4b5fd}.badge.onboard-install{color:#db2777;background:#ec489926}[data-theme=dark] .badge.onboard-install{color:#f9a8d4}.badge.onboard-active{color:#059669;background:#10b98126}[data-theme=dark] .badge.onboard-active{color:#6ee7b7}.badge.lead-dismissed{color:#6b7280;background:#6b728026}[data-theme=dark] .badge.lead-dismissed{color:#9ca3af}.badge.payment-paid{color:#10b981;background:#10b98126}[data-theme=dark] .badge.payment-paid{color:#6ee7b7}.badge.payment-processing{color:#3b82f6;background:#3b82f626}[data-theme=dark] .badge.payment-processing{color:#93c5fd}.badge.payment-pending{color:#6b7280;background:#6b728026}[data-theme=dark] .badge.payment-pending{color:#9ca3af}.badge.payment-failed{color:#ef4444;background:#ef444426}[data-theme=dark] .badge.payment-failed{color:#fca5a5}.badge.payment-refunded{color:#f59e0b;background:#f59e0b26}[data-theme=dark] .badge.payment-refunded{color:#fcd34d}.status{align-items:center;gap:6px;font-size:13px;display:inline-flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.green{background:var(--success)}.status-dot.yellow{background:var(--warning)}.status-dot.red{background:var(--danger)}.status-dot.blue{background:var(--info)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);white-space:nowrap;pointer-events:none;opacity:0;z-index:100;color:#f9fafb;background:#1f2937;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 12px #00000026}[data-theme=light] .tooltip:after{color:#f9fafb;background:#111827;box-shadow:0 4px 12px #0000001f}.tooltip:before{content:"";border:5px solid #0000;pointer-events:none;opacity:0;z-index:100;border-bottom-color:#1f2937;transition:opacity .2s;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}[data-theme=light] .tooltip:before{border-bottom-color:#111827}.tooltip:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.tooltip:hover:before{opacity:1}.tooltip.tooltip-top:after{top:auto;bottom:calc(100% + 8px);transform:translate(-50%)translateY(-4px)}.tooltip.tooltip-top:before{border-top-color:#1f2937;border-bottom-color:#0000;top:auto;bottom:calc(100% + 2px)}[data-theme=light] .tooltip.tooltip-top:before{border-top-color:#111827}.tooltip.tooltip-top:hover:after{transform:translate(-50%)translateY(0)}.alert-item,.task-item{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;margin-bottom:12px;padding:16px}.alert-item h4,.task-item h4{align-items:center;gap:8px;margin-bottom:8px;font-size:15px;font-weight:600;display:flex}.alert-item p,.task-item p{color:var(--muted);margin-bottom:8px;font-size:14px}.alert-meta,.task-meta{color:var(--muted);margin-bottom:12px;font-size:12px}.alert-actions,.task-actions{gap:8px;margin-top:12px;display:flex}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.filter-bar select{min-width:140px}.summary-stats{gap:16px;margin-bottom:20px;display:flex}.summary-stat{background:var(--panel);border:1px solid var(--panel-border);border-radius:6px;padding:12px 20px}.summary-stat-value{font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:20px;font-weight:700}.summary-stat-label{color:var(--muted);font-size:12px}ul{list-style:none}ul.bulleted{padding-inline-start:20px;list-style:outside}ul.bulleted li{color:var(--muted);margin-bottom:8px}.dropzone{border:2px dashed var(--panel-border);text-align:center;cursor:pointer;background:0 0;border-radius:8px;margin-bottom:16px;padding:48px 32px;transition:all .15s}.dropzone.drag-over{border-color:var(--accent);background:#3b82f60d}.dropzone.disabled{cursor:not-allowed;opacity:.6}.dropzone-icon{color:var(--muted);margin-bottom:8px}.dropzone-text{color:var(--muted);font-size:14px}.upload-toast{bottom:24px;background:var(--panel);z-index:1000;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;width:380px;max-height:70vh;animation:.2s ease-out toast-slide-up;display:flex;position:fixed;inset-inline-end:24px;overflow:hidden;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.upload-toast .upload-toast-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#3b82f614;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background .15s;display:flex}.upload-toast .upload-toast-header:hover{background:#3b82f61f}.upload-toast .upload-toast-header .toast-title{color:var(--text);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.upload-toast .upload-toast-header .toast-count{color:var(--muted);background:#ffffff0f;border-radius:10px;padding:.125rem .4375rem;font-size:.6875rem;font-weight:500}.upload-toast .upload-toast-header .toast-toggle{color:var(--muted);opacity:.6;flex-shrink:0;transition:transform .2s}.upload-toast .upload-toast-header .toast-toggle.rotated{transform:rotate(180deg)}.upload-toast .upload-toast-body{flex:1;overflow-y:auto}.upload-toast .upload-toast-body .upload-progress+.upload-progress{border-top:1px solid #ffffff0f}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.text-muted{color:var(--muted)}.station-section-prefix{color:var(--muted);font-size:12px}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.flex{display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.flex-col-center{flex-direction:column;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.align-start{align-items:flex-start}.inline-flex{align-items:center;display:inline-flex}.gap-05{gap:2px}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.text-center{text-align:center}.text-sm{font-size:13px}.text-xs{font-size:12px}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.word-break-all{word-break:break-all}.no-shrink{flex-shrink:0}.mr-auto{margin-inline-end:auto}.hidden{display:none}.grid-col-full{grid-column:1/-1}.icon-flip-h{transform:rotate(180deg)}.btn-disabled{opacity:.5;pointer-events:none;cursor:default}.detail-label{color:var(--muted);margin-bottom:4px;font-size:12px}.detail-value-sm{font-size:13px}.card-icon-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.card-icon{opacity:.7}.status-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.form-error{color:var(--danger);margin-bottom:12px;font-size:14px;font-weight:600}.prediction-processing{color:var(--muted)}.guard-rails-value,.manual-milk-value{align-items:center;gap:4px;display:inline-flex}.search-wide{flex:1;max-width:400px}.search-medium{flex:1;max-width:300px}.prediction-type-options{flex-direction:column;gap:8px;margin:12px 0;display:flex}.prediction-type-option{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.prediction-type-option input[type=checkbox]{cursor:pointer;width:16px;height:16px}.guard-rails-badge{letter-spacing:.02em;color:var(--warning);white-space:nowrap;background:#f59e0b1a;border:1px solid #f59e0b40;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}[data-theme=light] .guard-rails-badge{background:#f59e0b14;border-color:#f59e0b4d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}
