.dashboard-screen{color:#d9e5dd;z-index:9999;background:radial-gradient(120% 120% at 50% 0,#0c2418 0%,#061410 60%,#03100c 100%);width:100vw;height:100vh;font-size:15px;position:fixed;inset:0;overflow:hidden}.dashboard-grid-deco{opacity:.25;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.dashboard-glow{pointer-events:none;background:radial-gradient(closest-side,#17c78729,#0000);width:1200px;height:400px;position:absolute;top:-160px;left:50%;transform:translate(-50%)}.dashboard-header{align-items:center;gap:18px;padding:22px 40px 16px;display:flex;position:relative}.dashboard-logo{align-items:center;gap:12px;display:flex}.dashboard-brand-mark{flex:none;width:58px;height:38px;display:block}.dashboard-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.dashboard-title-main{letter-spacing:3px;color:#fff;margin:0;font-size:26px;font-weight:800}.dashboard-title-sub{letter-spacing:3px;color:#5f8a76;margin-top:2px;margin-bottom:0;font-size:12px}.dashboard-header-right{align-items:center;gap:26px;margin-left:auto;display:flex}.dashboard-status{color:#17c787;align-items:center;gap:9px;font-size:14px;display:flex}.dashboard-status-dot{background:#17c787;border-radius:50%;width:9px;height:9px;animation:1.8s infinite dsPulse;box-shadow:0 0 10px #17c787}@keyframes dsPulse{0%,to{opacity:1}50%{opacity:.35}}.dashboard-clock{color:#9fbfb0;font-family:IBM Plex Mono,monospace;font-size:15px}.dashboard-refresh-badge{color:#5f8a76;border:1px solid #17c7874d;border-radius:7px;padding:6px 12px;font-size:12px}.dashboard-divider{background:linear-gradient(90deg,#0000,#17c78766,#0000);height:1px;margin:0 40px}.dashboard-kpi-strip{grid-template-columns:repeat(6,1fr);gap:16px;padding:18px 40px;display:grid;position:relative}.dashboard-kpi-card{background:linear-gradient(160deg,#133a2a8c,#081a138c);border:1px solid #17c7872e;border-radius:12px;padding:14px 16px;position:relative;overflow:hidden}.dashboard-kpi-bar{width:34px;height:3px;position:absolute;top:0;left:0}.dashboard-kpi-sub{margin-top:6px;font-size:11px}.dashboard-kpi-card[data-tone=green] .dashboard-kpi-bar{background:#17c787}.dashboard-kpi-card[data-tone=green] .dashboard-kpi-sub{color:#17c787}.dashboard-kpi-card[data-tone=blue] .dashboard-kpi-bar{background:#5fa7d9}.dashboard-kpi-card[data-tone=blue] .dashboard-kpi-sub{color:#8cc4e9}.dashboard-kpi-card[data-tone=red] .dashboard-kpi-bar{background:#e25a42}.dashboard-kpi-card[data-tone=red] .dashboard-kpi-sub{color:#e7a08f}.dashboard-kpi-card[data-tone=yellow] .dashboard-kpi-bar{background:#e9b44c}.dashboard-kpi-card[data-tone=yellow] .dashboard-kpi-sub{color:#e7cf98}.dashboard-kpi-label{color:#8fb2a2;letter-spacing:1px;font-size:12.5px}.dashboard-kpi-value-row{align-items:baseline;gap:6px;margin-top:8px;display:flex}.dashboard-kpi-value{color:#fff;letter-spacing:-.5px;font-family:IBM Plex Mono,monospace;font-size:30px;font-weight:700}.dashboard-kpi-unit{color:#6e9384;font-size:13px}.dashboard-main-grid{box-sizing:border-box;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.45fr) minmax(300px,.9fr);gap:16px;height:calc(100vh - 243px);min-height:0;padding:4px 40px 24px;display:grid;position:relative}.dashboard-panel{background:linear-gradient(160deg,#133a2a66,#081a1380);border:1px solid #17c78729;border-radius:14px;flex-direction:column;display:flex}.dashboard-model-comparison{min-height:0}.dashboard-comparison-tabs{gap:8px;padding:0 18px 8px;display:flex}.dashboard-comparison-tabs button{color:#7fa593;cursor:pointer;background:#06140f73;border:1px solid #17c7872e;border-radius:999px;padding:5px 12px}.dashboard-comparison-tabs button.active{color:#d8eee3;background:#17c78724;border-color:#17c7878c}.dashboard-comparison-chart{flex:1;min-height:0;padding:0 10px 10px}.dashboard-comparison-chart .sensing-chart{height:calc(100% - 24px);min-height:220px}.dashboard-comparison-chart>span{text-align:right;color:#5f8a76;padding-right:10px;font-size:10px;display:block}.dashboard-panel-header{align-items:center;gap:9px;padding:16px 18px 14px;display:flex}.dashboard-panel-bar{background:#17c787;border-radius:3px;flex:none;width:5px;height:16px}.dashboard-panel-title{color:#fff;font-size:16px;font-weight:700}.dashboard-panel-meta{color:#5f8a76;margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:11px}.dashboard-place-card{background:#06140f80;border:1px solid;border-radius:11px;flex-direction:column;flex:1;justify-content:center;padding:12px 14px;display:flex}.dashboard-place-card.online{border-color:#17c78724}.dashboard-place-card.offline{border-color:#e25a4247}.dashboard-place-card.empty{border-color:#6e938433}.dashboard-place-header{align-items:center;gap:8px;margin-bottom:9px;display:flex}.dashboard-place-name{color:#cfe3d8;font-size:13.5px;font-weight:600}.dashboard-place-code{color:#5f8a76;font-family:IBM Plex Mono,monospace;font-size:10.5px}.dashboard-place-status{border-radius:99px;margin-left:auto;padding:3px 10px;font-size:11px}.dashboard-place-status.online{color:#17c787;background:#17c78724}.dashboard-place-status.offline{color:#e7a08f;background:#e25a4229}.dashboard-place-status.empty{color:#7e9689;background:#6e93841f}.dashboard-place-metrics{flex-wrap:wrap;gap:16px;display:flex}.dashboard-metric{flex-direction:column;display:flex}.dashboard-metric-value{color:#fff;font-family:IBM Plex Mono,monospace;font-size:19px;font-weight:600}.dashboard-metric-key{color:#6e9384;margin-top:1px;font-size:10px}.dashboard-stat-card{background:linear-gradient(160deg,#133a2a66,#081a1380);border:1px solid #17c78729;border-radius:12px;flex-direction:column;justify-content:center;padding:14px 15px;display:flex}.dashboard-stat-label{color:#8fb2a2;font-size:12px}.dashboard-stat-value{margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:700}.dashboard-stat-card[data-tone=green] .dashboard-stat-value{color:#17c787}.dashboard-stat-card[data-tone=white] .dashboard-stat-value{color:#fff}.dashboard-stat-card[data-tone=red] .dashboard-stat-value{color:#e7a08f}.dashboard-stat-card[data-tone=blue] .dashboard-stat-value{color:#8cc4e9}.dashboard-stat-sub{color:#6e9384;margin-top:4px;font-size:11px}.dashboard-device-bar-item{flex-direction:column;display:flex}.dashboard-device-bar-header{color:#9fbfb0;margin-bottom:3px;font-size:11.5px;display:flex}.dashboard-device-bar-stat{margin-left:auto;font-family:IBM Plex Mono,monospace}.dashboard-device-bar-track{background:#17c7871f;border-radius:3px;height:5px;overflow:hidden}.dashboard-device-bar-track>i{height:100%;width:var(--dashboard-progress);background:#17c787;display:block}.dashboard-alert-panel{background:linear-gradient(160deg,#3a1a1659,#081a1380);border:1px solid #e25a4247}.dashboard-alert-bar{background:#e25a42}.dashboard-alert-meta{color:#e7a08f}.dashboard-alert-card{border-radius:10px;padding:11px 13px}.dashboard-alert-card.open{background:#e25a421a;border:1px solid #e25a4259}.dashboard-alert-card.closed{background:#06140f66;border:1px solid #17c7872e}.dashboard-alert-header{align-items:center;gap:8px;display:flex}.dashboard-alert-dot{border-radius:50%;flex:none;width:8px;height:8px}.dashboard-alert-dot.open{background:#e25a42;animation:1.6s infinite dsPulse;box-shadow:0 0 8px #e25a42}.dashboard-alert-dot.closed{background:#17c787}.dashboard-alert-title{font-size:13.5px;font-weight:600}.dashboard-alert-title.open{color:#f4b6a8}.dashboard-alert-title.closed{color:#9fd9be}.dashboard-alert-time{color:#7e9689;margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:11px}.dashboard-alert-desc{color:#a9beb2;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.dashboard-alert-footer{color:#6e9384;border-top:1px solid #17c7871f;margin-top:auto;padding-top:10px;font-size:11px}.dashboard-batch-card{background:#06140f80;border-radius:9px;flex:1;padding:9px 10px}.dashboard-batch-header{align-items:baseline;gap:5px;display:flex}.dashboard-batch-plot{color:#fff;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700}.dashboard-batch-tag{color:#17c787;font-size:9.5px}.dashboard-batch-crop{color:#8fb2a2;margin-top:3px;font-size:10px}.dashboard-batch-progress{background:#17c78724;border-radius:2px;height:4px;margin:6px 0 3px;overflow:hidden}.dashboard-batch-progress-fill{height:100%}.dashboard-batch-day{color:#6e9384;font-family:IBM Plex Mono,monospace;font-size:9.5px}.dashboard-site-panel,.dashboard-batch-overview,.dashboard-online-panel,.dashboard-alert-panel,.dashboard-mini-batches{min-height:0;padding:0 18px 16px}.dashboard-site-panel>.dashboard-panel-header,.dashboard-batch-overview>.dashboard-panel-header,.dashboard-online-panel>.dashboard-panel-header,.dashboard-alert-panel>.dashboard-panel-header,.dashboard-mini-batches>.dashboard-panel-header{padding-left:0;padding-right:0}.dashboard-site-list{flex:1;gap:11px;min-height:0;display:grid}.dashboard-center-column,.dashboard-right-column{gap:16px;min-height:0;display:grid}.dashboard-center-column{grid-template-rows:minmax(0,1fr) 150px}.dashboard-right-column{grid-template-rows:auto minmax(150px,1fr) auto}.dashboard-batch-overview-list{align-content:start;gap:10px;min-height:0;padding-right:4px;display:grid;overflow:auto}.dashboard-batch-overview-row{background:#06140f80;border:1px solid #17c78724;border-radius:9px;grid-template-columns:minmax(130px,1.2fr) minmax(150px,1fr) minmax(120px,1.4fr) 66px;align-items:center;gap:16px;padding:14px 16px;display:grid}.dashboard-batch-overview-row>div:first-child{gap:4px;display:grid}.dashboard-batch-overview-row strong{color:#fff;font-family:IBM Plex Mono,monospace;font-size:13px}.dashboard-batch-overview-row span,.dashboard-batch-overview-row time,.dashboard-batch-overview-row em{color:#8fb2a2;font-size:11px;font-style:normal}.dashboard-batch-overview-dates{gap:4px;display:grid}.dashboard-batch-overview-track{background:#17c7871f;border-radius:3px;height:6px;overflow:hidden}.dashboard-batch-overview-track>i{width:var(--dashboard-progress);border-radius:inherit;background:#17c787;height:100%;display:block}.dashboard-batch-overview-row>em{color:#17c787;text-align:right;font-family:IBM Plex Mono,monospace}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dashboard-online-content{align-items:center;gap:14px;display:flex}.dashboard-ring-track,.dashboard-ring-value{fill:none;stroke-width:11px}.dashboard-ring-track{stroke:#17c78724}.dashboard-ring-value{stroke:#17c787;stroke-linecap:round}.dashboard-ring-number,.dashboard-ring-total{text-anchor:middle;font-family:IBM Plex Mono,monospace}.dashboard-ring-number{fill:#fff;font-size:21px;font-weight:700}.dashboard-ring-total{fill:#6e9384;font-size:11px}.dashboard-device-bars{flex:1;gap:9px;display:grid}.dashboard-mini-batch-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.dashboard-empty-state{color:#6e9384;place-items:center;min-height:180px;font-size:13px;display:grid}.dashboard-empty-compact{grid-column:1/-1;min-height:64px}.dashboard-state-screen{place-items:center;display:grid}.dashboard-state-content{color:#9fbfb0;justify-items:center;gap:10px;display:grid}.dashboard-state-content strong{color:#fff;font-size:18px}.dashboard-state-content button{color:#17c787;cursor:pointer;background:#17c7871f;border:1px solid #17c7874d;border-radius:6px;place-items:center;width:38px;height:38px;display:grid}@media (width<=1500px){.dashboard-header,.dashboard-kpi-strip,.dashboard-main-grid{padding-left:24px;padding-right:24px}.dashboard-main-grid{grid-template-columns:minmax(250px,.8fr) minmax(380px,1.4fr) minmax(280px,.9fr)}.dashboard-title-main{font-size:22px}.dashboard-header-right{gap:14px}.dashboard-batch-overview-row{grid-template-columns:minmax(120px,1fr) minmax(130px,.9fr) minmax(100px,1fr) 60px;gap:10px}}:root{--color-primary:#2f8f46;--color-primary-hover:#1f7a38;--color-primary-active:#1f6e36;--color-primary-light:#e7f4ea;--color-primary-lighter:#f3faf4;--green-900:#173f28;--green-800:#1f5c33;--green-700:#1f7a38;--green-600:#2f8f46;--green-500:#3fa755;--green-100:#e7f4ea;--green-050:#f3faf4;--color-success:#2f8f46;--color-success-bg:#e7f4ea;--color-warning:#8a6a16;--color-warning-bg:#fbf7ea;--color-danger:#c2361b;--color-danger-bg:#fbeae5;--color-info:#3a6ea5;--color-info-bg:#eef3fa;--color-ink:#1b2b20;--color-ink-soft:#41584a;--color-muted:#7c9284;--color-faint:#9db1a3;--color-line:#e4ebe4;--color-line-strong:#d5e0d6;--color-canvas:#f4f7f4;--color-white:#fff;--dashboard-bg-start:#0c2418;--dashboard-bg-end:#1a3a2e;--dashboard-gradient:linear-gradient(135deg, #0c2418 0%, #1a3a2e 100%);--dashboard-accent:#17c787;--dashboard-panel-bg:#ffffff0d;--dashboard-panel-border:#ffffff1a;--font-family-base:Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-family-mono:"SFMono-Regular", Consolas, monospace;--font-size-xs:9px;--font-size-sm:10px;--font-size-base:11px;--font-size-md:12px;--font-size-lg:13px;--font-size-xl:15px;--font-size-2xl:20px;--font-size-3xl:28px;--font-size-4xl:44px;--font-weight-normal:400;--font-weight-medium:550;--font-weight-semibold:620;--font-weight-bold:650;--font-weight-extrabold:750;--line-height-tight:1.2;--line-height-base:1.5;--line-height-relaxed:1.8;--spacing-1:2px;--spacing-2:4px;--spacing-3:6px;--spacing-4:8px;--spacing-5:10px;--spacing-6:12px;--spacing-7:14px;--spacing-8:16px;--spacing-9:18px;--spacing-10:20px;--spacing-12:24px;--spacing-14:28px;--spacing-16:32px;--spacing-20:40px;--spacing-24:48px;--spacing-32:64px;--radius-sm:5px;--radius-base:7px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-full:99px;--shadow-xs:0 1px 2px #1b3a2408;--shadow-sm:0 1px 2px #1b3a240d;--shadow-base:0 1px 3px #1b3a2414;--shadow-md:0 4px 6px #1b3a241a;--shadow-lg:0 8px 16px #1b3a241f;--shadow-xl:0 20px 55px #14301d38;--shadow-drawer:-16px 0 36px #14301d29;--transition-fast:.12s ease;--transition-base:.18s ease;--transition-slow:.35s cubic-bezier(.16, 1, .3, 1);--z-base:1;--z-dropdown:10;--z-sticky:30;--z-sidebar:40;--z-overlay:100;--z-modal:110;--z-toast:200;--sidebar-width:200px;--topbar-height:55px;--panel-padding:14px;--content-max-width:1600px;--button-height:34px;--button-height-sm:30px;--button-height-lg:42px;--button-padding:7px 12px;--button-gap:7px;--input-height:40px;--input-height-sm:30px;--input-padding:9px 11px;--input-border:1px solid var(--color-line-strong);--input-border-hover:1px solid #b6c9ba;--input-border-focus:1px solid var(--color-primary);--input-focus-shadow:0 0 0 3px #2f8f461f;--table-row-height:44px;--table-cell-padding:10px 12px;--table-header-bg:#f8faf8;--table-border:1px solid #edf2ed;--table-hover-bg:#fbfdfb;--panel-bg:#fff;--panel-border:1px solid #e6ede6;--panel-radius:8px;--panel-heading-height:54px;--kpi-card-height:112px;--kpi-value-size:25px;--status-pill-padding:3px 8px;--status-pill-radius:var(--radius-full);--status-pill-font-size:9px}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-muted{color:var(--color-muted)}.text-faint{color:var(--color-faint)}.text-ink{color:var(--color-ink)}.text-primary{color:var(--color-primary)}.text-danger{color:var(--color-danger)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}:root{color:#1b2b20;font-synthesis:none;--green-900:#173f28;--green-800:#1f5c33;--green-700:#1f7a38;--green-600:#2f8f46;--green-100:#e7f4ea;--green-050:#f3faf4;--ink:#1b2b20;--ink-soft:#41584a;--muted:#7c9284;--faint:#9db1a3;--line:#e4ebe4;--line-strong:#d5e0d6;--canvas:#f4f7f4;--white:#fff;--danger:#c2361b;--danger-bg:#fbeae5;--blue:#3a6ea5;--blue-bg:#eef3fa;--amber:#8a6a16;--amber-bg:#fbf7ea;letter-spacing:0;background:#f4f7f4;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button,select{cursor:pointer}button:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.62}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #2f8f4657}a{color:inherit}code{color:#386247;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--faint);font-size:11px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:var(--white);grid-template-columns:minmax(470px,1.15fr) minmax(440px,.85fr);min-height:100vh;display:grid}.login-visual{color:#fff;background:var(--green-900);flex-direction:column;min-height:100vh;padding:38px 52px;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";opacity:.11;background-image:linear-gradient(#ffffff59 1px,#0000 1px),linear-gradient(90deg,#ffffff59 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0}.visual-topline,.visual-copy,.visual-chart,.visual-foot{z-index:1;position:relative}.visual-topline{color:#fff;align-self:flex-start;align-items:center;gap:14px;font-size:14px;display:inline-flex}.visual-mark,.login-mark,.brand-mark{flex:none;width:46px;height:30px;display:block}.visual-mark img,.login-mark img,.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.visual-mark{width:70px;height:42px}.visual-copy .page-eyebrow{color:#9ad3a8;margin-bottom:14px}.visual-copy h1{color:#fff;margin:0;font-size:44px;font-weight:750;line-height:1.2}.visual-copy p:last-child{color:#b8d4c0;max-width:510px;margin:20px 0 0;font-size:14px;line-height:1.8}.visual-chart{background:#ffffff0f;border:1px solid #ffffff21;border-radius:8px;max-width:720px;height:205px;padding:18px 22px;overflow:hidden}.chart-label{color:#b8d4c0;font-size:11px}.visual-chart svg{width:calc(100% - 40px);height:calc(100% - 54px);position:absolute;inset:38px 20px 16px}.visual-chart path{fill:none;stroke:#65bd78;stroke-width:3px;vector-effect:non-scaling-stroke}.visual-chart path:last-child{stroke:#89a996;stroke-width:2px;stroke-dasharray:7 6}.chart-grid{grid-template-rows:repeat(4,1fr);display:grid;position:absolute;inset:55px 22px 18px}.chart-grid i{border-top:1px solid #ffffff14}.visual-foot{color:#8fbaa0;margin-top:20px;font-size:11px}.login-form-area{place-items:center;min-height:100vh;padding:40px;display:grid}.login-brand{align-items:center;gap:10px;margin-bottom:46px;display:flex}.login-brand>div:last-child{gap:3px;display:grid}.login-brand strong{font-size:15px}.login-brand span{color:var(--muted);font-size:10px}.login-heading h2{margin:0;font-size:28px}.login-heading p{color:var(--muted);margin:8px 0 22px;font-size:12px;line-height:1.6}.login-tabs{background:#f1f6f1;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;padding:4px;display:grid}.login-tabs button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.login-tabs button.active{background:var(--white);color:var(--green-700);font-weight:650;box-shadow:0 1px 3px #183f2814}.login-field{color:var(--ink-soft);gap:7px;margin-bottom:16px;font-size:12px;display:grid}.login-field b,.required{color:var(--danger);margin-left:3px}.login-field small{color:var(--muted);margin-left:6px;font-size:10px;font-weight:400}.login-field input,.form-field input,.form-field select,.form-field textarea{width:100%;min-height:40px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:7px;padding:9px 11px}.login-field input:hover,.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#b6c9ba}.password-wrap{display:block;position:relative}.password-wrap input{padding-right:42px}.password-wrap button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:2px;right:2px}.login-meta{justify-content:space-between;align-items:center;margin:4px 0 20px;font-size:11px;display:flex}.remember{color:var(--ink-soft);cursor:pointer;align-items:center;gap:7px;display:flex}.remember input{accent-color:var(--green-600)}.link-button{color:var(--green-700);background:0 0;border:0;padding:0;font-size:11px}.login-submit{color:#fff;background:var(--green-600);border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;font-weight:650;display:flex}.login-submit:hover{background:var(--green-700)}.login-error,.form-error{color:#a92f19;background:#fdf3ef;border:1px solid #f0d3ca;border-radius:7px;margin-bottom:14px;padding:9px 11px;font-size:11px;line-height:1.5}.login-copyright{color:var(--faint);text-align:center;margin:32px 0 0;font-size:10px;line-height:1.7}.login-visual{background:linear-gradient(120deg,#2f8f46,#1f6e36);justify-content:space-between;padding:34px 44px 28px}.login-visual:before{display:none}.aurora-layer,.gridlines,.particles{pointer-events:none;position:absolute;inset:0}.aurora-layer{z-index:0;will-change:transform;transition:transform .9s cubic-bezier(.16,1,.3,1)}.aurora{filter:blur(70px);will-change:transform;border-radius:50%;position:absolute}.aurora-a{background:#7ed39461;width:520px;height:520px;animation:26s ease-in-out infinite alternate aurora-a;top:-160px;left:-140px}.aurora-b{background:#145a2d8c;width:420px;height:420px;animation:32s ease-in-out infinite alternate aurora-b;bottom:-140px;right:-120px}.aurora-c{background:#c4e88c29;width:300px;height:300px;animation:22s ease-in-out infinite alternate aurora-c;top:46%;left:38%}@keyframes aurora-a{0%{transform:translate(0)scale(1)}to{transform:translate(70px,50px)scale(1.12)}}@keyframes aurora-b{0%{transform:translate(0)scale(1)}to{transform:translate(-60px,-40px)scale(1.08)}}@keyframes aurora-c{0%{transform:translate(0)}to{transform:translate(-50px,60px)}}.gridlines{z-index:1;opacity:.35;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(90% 80% at 40% 40%,#000 30%,#0000 78%);mask-image:radial-gradient(90% 80% at 40% 40%,#000 30%,#0000 78%)}.particles{z-index:1;overflow:hidden}.particle{will-change:transform, opacity;background:#ffffffbf;border-radius:50%;animation:linear infinite rise;position:absolute;bottom:-8px;box-shadow:0 0 6px 1px #ffffff40}@keyframes rise{0%{opacity:0;transform:translateY(0)}12%{opacity:.7}85%{opacity:.25}to{opacity:0;transform:translateY(-108vh)}}.visual-topline,.visual-copy,.brand-foot{z-index:2;position:relative}.visual-topline>div{gap:4px;padding-left:14px;display:grid;position:relative}.visual-topline>div:before{content:"";background:linear-gradient(#f7f9ef14,#f5a41deb,#f7f9ef14);width:1px;position:absolute;top:2px;bottom:2px;left:0}.visual-topline strong{color:#fff;letter-spacing:.035em;font-size:16px;line-height:1.1}.visual-topline small{color:#ebf6eda8;letter-spacing:.04em;font-size:10.5px}.visual-copy{max-width:520px;margin:0}.hero-badge{color:#ffffffeb;background:#ffffff1f;border:1px solid #ffffff38;border-radius:99px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;display:inline-flex;box-shadow:inset 0 1px #ffffff1f}.hero-dot{background:#b9f0c6;border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite breath}@keyframes breath{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.visual-copy .hero-title{color:#fff;letter-spacing:0;margin-top:16px;font-size:30px;font-weight:800;line-height:1.28}.hero-em{color:#cdefd6;border-bottom:2px solid #ffffff73;padding-bottom:2px}.visual-copy p.hero-desc{color:#fffc;max-width:420px;margin-top:13px;font-size:12.5px;line-height:1.9}.rv{display:block;overflow:hidden}.rv>*{animation:.9s cubic-bezier(.16,1,.3,1) forwards reveal-up;display:block;transform:translateY(110%)}.rv-1>*{animation-delay:.15s}.rv-2>*{animation-delay:.28s}.rv-3>*{animation-delay:.41s}.rv-4>*{animation-delay:.56s}@keyframes reveal-up{to{transform:translateY(0)}}.growth-chart{opacity:0;will-change:transform;max-width:430px;margin-top:34px;transition:transform .9s cubic-bezier(.16,1,.3,1);animation:1s cubic-bezier(.16,1,.3,1) .75s forwards chart-in;position:relative}.growth-caption{color:#ffffff7a;gap:4px;margin-top:12px;animation:.55s cubic-bezier(.16,1,.3,1) both caption-in;display:grid}.growth-caption span{letter-spacing:1.6px;text-transform:uppercase;font-size:9px}.growth-caption strong{color:#ffffffb8;font-size:11px;font-weight:500}@keyframes caption-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes chart-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.growth-chart svg{width:100%;height:auto;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 78%,#0000 99%);mask-image:linear-gradient(90deg,#000 78%,#0000 99%)}.chart{opacity:0;pointer-events:none;transition:opacity .6s}.chart.active{opacity:1}.gline{fill:none;stroke-linecap:round;stroke-dasharray:560;stroke-dashoffset:560px}.gline-a{stroke:#cdefd6;stroke-width:2.2px}.gline-b{stroke:#ffffff6b;stroke-width:1.6px}.chart.active .gline{animation:7s cubic-bezier(.4,0,.2,1) forwards drawline}.chart.active .gline-b{animation-delay:.5s}@keyframes drawline{0%{stroke-dashoffset:560px;opacity:0}6%{opacity:1}52%,80%{stroke-dashoffset:0;opacity:1}94%,to{stroke-dashoffset:0;opacity:0}}.garea{fill:url(#login-growth-fill);opacity:0}.chart.active .garea{animation:7s ease-in-out forwards area-fade}@keyframes area-fade{0%,14%{opacity:0}54%,80%{opacity:.55}94%,to{opacity:0}}.gdot{fill:#eaf9ee;opacity:0}.chart.active .gdot{animation:7s ease-in-out forwards dot-pop}.chart.active .gdot:nth-of-type(2){animation-delay:.3s}@keyframes dot-pop{0%,40%{opacity:0;transform-origin:50%;transform-box:fill-box;transform:scale(.3)}50%,80%{opacity:1;transform:scale(1)}92%,to{opacity:0}}.cbar{fill:#ffffff57;transform-origin:bottom;transform-box:fill-box;transform:scaleY(0)}.cbar.hi{fill:#cdefd6e0}.chart.active .cbar{animation:.7s cubic-bezier(.34,1.56,.64,1) forwards bar-up;animation-delay:calc(var(--i) * 70ms + .15s)}@keyframes bar-up{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.sdot{fill:#ffffff80;opacity:0;transform-origin:50%;transform-box:fill-box;transform:scale(.3)}.sdot.hi{fill:#cdefd6}.chart.active .sdot{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards dot-in;animation-delay:calc(var(--i) * 60ms + .3s)}@keyframes dot-in{to{opacity:1;transform:scale(1)}}.tline{fill:none;stroke:#ffffff61;stroke-width:1.6px;stroke-dasharray:5 7;opacity:0}.chart.active .tline{animation:.9s .25s forwards tline-in,26s linear .25s infinite dash-flow}@keyframes tline-in{to{opacity:1}}@keyframes dash-flow{to{stroke-dashoffset:-240px}}.wgroup{will-change:transform}.chart.active .wg-1{animation:13s linear infinite wave-slide}.chart.active .wg-2{animation:21s linear infinite wave-slide}@keyframes wave-slide{0%{transform:translate(0)}to{transform:translate(-430px)}}.wfill-1{fill:url(#login-growth-fill)}.wfill-2{fill:#ffffff17}.wstroke{fill:none;stroke:#cdefd6bf;stroke-width:2px}.brand-foot{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee{width:max-content;animation:36s linear infinite marquee;display:flex}.marquee span{color:#ffffff73;letter-spacing:2.5px;white-space:nowrap;flex:none;padding-right:56px;font-size:11px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.login-form-area{padding:40px 24px}.login-form{width:min(100%,352px)}.login-brand{margin-bottom:26px}.login-heading h2{font-size:20px}.login-heading p{margin:6px 0 22px;line-height:1.7}.login-tabs{border:1px solid var(--line);background:#fff;border-radius:8px;width:auto;margin-bottom:18px;padding:2px;display:inline-flex}.login-tabs button{border-radius:6px;height:auto;padding:5px 14px;transition:background .18s,color .18s,transform .12s}.login-tabs button:hover{color:var(--green-700)}.login-tabs button:active{transform:scale(.97)}.login-field{margin-bottom:14px;font-size:11px}.login-field input{border-radius:8px;transition:border-color .18s,box-shadow .18s}.login-field input:focus{border-color:var(--green-600);box-shadow:0 0 0 3px #2f8f461f}.field-hint{color:var(--faint);margin-top:-2px;font-size:10px}.remember{-webkit-user-select:none;user-select:none}.remember input{opacity:0;width:1px;height:1px;position:absolute}.remember-box{background:#fff;border:1px solid #cbd8ce;border-radius:4px;place-items:center;width:15px;height:15px;transition:background .15s,border-color .15s;display:grid}.remember-box svg{opacity:0;transition:opacity .15s,transform .18s cubic-bezier(.16,1,.3,1);transform:scale(.5)}.remember input:checked+.remember-box{background:var(--green-600);border-color:var(--green-600)}.remember input:checked+.remember-box svg{opacity:1;color:#fff;transform:scale(1)}.link-button{transition:color .18s}.link-button:hover{color:var(--green-900)}.login-error{animation:.38s cubic-bezier(.36,.07,.19,.97) shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.fx{opacity:0;animation:.55s cubic-bezier(.16,1,.3,1) forwards fade-up;transform:translateY(10px)}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}.btn-login{letter-spacing:2px;cursor:pointer;border-radius:8px;height:42px;padding:11px 16px;transition:background .18s,transform .12s;position:relative;overflow:hidden}.btn-login:after{content:"";background:linear-gradient(100deg,#0000,#ffffff47,#0000);width:40%;height:100%;transition:left .5s;position:absolute;top:0;left:-60%;transform:skew(-20deg)}.btn-login:hover{background:var(--green-700)}.btn-login:hover:after{left:130%}.btn-login:active{transform:scale(.98)}.btn-login.loading{pointer-events:none;background:#3e9b54}.login-copyright{margin-top:26px}.app-shell{background:var(--canvas);min-height:100vh;display:flex}.sidebar{z-index:40;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:200px;padding:18px 12px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand-lockup{align-items:center;gap:9px;padding:0 8px 16px;display:flex}.brand-lockup>div:nth-child(2){gap:2px;min-width:0;display:grid}.brand-lockup strong{font-size:14px}.brand-lockup span{color:#8aa592;white-space:nowrap;font-size:9px}.side-nav{scrollbar-width:thin;flex:1;margin:0 -4px;padding:0 4px;overflow-y:auto}.nav-group{gap:2px;display:grid}.nav-group+.nav-group{margin-top:8px}.nav-group-label{color:var(--faint);text-transform:uppercase;padding:10px 10px 4px;font-size:9px;font-weight:650}.nav-item{color:#5b7263;border-radius:7px;align-items:center;gap:9px;min-height:34px;padding:7px 10px;font-size:12px;text-decoration:none;display:flex}.nav-item:hover{color:var(--green-800);background:#f1f6f1}.nav-item-active{color:var(--green-700);background:var(--green-100);font-weight:650}.nav-item svg{flex:none}.nav-item span{flex:1}.nav-item em{color:var(--muted);background:#f1f6f1;border-radius:99px;padding:1px 6px;font-size:9px;font-style:normal}.sidebar-user{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 0 0;display:flex;position:relative}.sidebar-user:hover{background:#2f8f460a}.sidebar-user>div:nth-child(2){flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sidebar-user>div:nth-child(2)>div:first-child{color:var(--ink);align-items:center;font-size:12px;font-weight:500;line-height:1.4;display:flex}.sidebar-user>div:nth-child(2)>div:first-child>span:before{content:" · ";color:var(--faint);font-weight:400}.sidebar-user>div:nth-child(2)>span{color:var(--faint);font-size:10.5px;line-height:1.4}.user-menu-backdrop{z-index:999;background:0 0;border:0;padding:0;position:fixed;inset:0}.user-menu-popup{background:var(--white);border:1px solid var(--line-strong);z-index:1000;border-radius:8px;min-width:180px;padding:8px;position:absolute;bottom:72px;left:12px;box-shadow:0 8px 24px #1b3a2426}.user-menu-popup button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.user-menu-popup button:hover{background:var(--green-050);color:var(--green-700)}.avatar{width:28px;height:28px;color:var(--green-700);background:#dcebdf;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:650;display:grid}.avatar-small{width:26px;height:26px}.shell-main{width:calc(100% - 200px);min-width:0;margin-left:200px}.topbar{z-index:30;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;height:55px;padding:0 20px;display:flex;position:sticky;top:0}.topbar-left,.topbar-actions,.user-menu{align-items:center;gap:10px;min-width:0;display:flex}.topbar h2{white-space:nowrap;margin:0;font-size:14px}.base-select select{min-width:160px;height:30px;color:var(--ink-soft);background:#f1f6f1;border:1px solid #e0eae1;border-radius:7px;padding:0 28px 0 9px;font-size:11px}.topbar-muted{color:var(--faint);font-size:10px}.topbar-datetime{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.user-menu{border-left:1px solid var(--line);padding-left:8px}.user-menu-name{white-space:nowrap;text-overflow:ellipsis;max-width:92px;font-size:11px;overflow:hidden}.logout-button{color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;display:flex}.logout-button:hover{color:var(--danger);background:var(--danger-bg)}.content-area{padding:18px 20px 32px}.mobile-scrim{display:none}.page-stack{flex-direction:column;gap:14px;max-width:1600px;margin:0 auto;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;min-height:53px;display:flex}.page-header h1{margin:0;font-size:20px;line-height:1.3}.page-header .page-eyebrow{color:var(--green-700);text-transform:uppercase;margin:0 0 5px;font-size:9px;font-weight:700}.page-description{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.5}.page-header-action{flex:none}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:7px 12px;font-size:11px;font-weight:650;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.button-small{min-height:30px;padding:5px 10px;font-size:10px}.button-medium{min-height:34px}.button-primary{color:#fff;background:var(--green-600)}.button-primary:hover{background:var(--green-700)}.button-primary:active{background:var(--green-800)}.button-secondary{color:var(--ink-soft);border-color:var(--line-strong);background:#fff}.button-secondary:hover{color:var(--green-700);background:var(--green-050);border-color:#b8ceb8}.button-danger{color:#fff;background:var(--danger)}.button-danger:hover{background:#a92e19}.button-ghost{color:var(--muted);background:0 0}.button-ghost:hover{color:var(--green-700);background:var(--green-050)}.button-loading{cursor:wait}.icon-button,.table-icon{width:30px;height:30px;color:var(--ink-soft);background:#f1f6f1;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.icon-button:hover,.table-icon:hover{color:var(--green-700);background:var(--green-100)}.brand-lockup .icon-button{margin-left:auto;display:none}.topbar-left>.icon-button{display:none}.table-icon.danger:hover{color:var(--danger);background:var(--danger-bg)}.panel-card{background:#fff;border:1px solid #e6ede6;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px #1b3a2408}.panel-heading{border-bottom:1px solid #edf2ed;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:12px 15px;display:flex}.panel-heading>div:first-child{gap:3px;display:grid}.panel-heading h2{margin:0;font-size:13px}.panel-heading span{color:var(--faint);font-size:10px}.panel-heading-note{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.filter-summary{color:var(--green-700);background:var(--green-100);border-radius:99px;padding:4px 9px;font-size:10px}.ledger-grid{gap:14px;display:grid}.ledger-grid-wide{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}.table-toolbar{align-items:center;gap:10px;min-height:48px;padding:9px 14px;display:flex}.search-field{width:min(100%,320px);height:31px;color:var(--faint);background:#f7faf7;border:1px solid #e0eae1;border-radius:7px;align-items:center;gap:7px;padding:0 9px;display:flex}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:10px}.table-wrap{border-top:1px solid #f0f4f0;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px}th{color:var(--muted);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;background:#f8faf8;padding:9px 12px;font-size:10px;font-weight:600}td{color:var(--ink-soft);vertical-align:middle;border-bottom:1px solid #edf2ed;padding:10px 12px;font-size:11px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfdfb}.table-wrap td strong{color:var(--ink);font-weight:620}.sub-cell{color:var(--faint);margin-top:3px;font-size:9px;display:block}.action-col{text-align:right;width:80px}.greenhouse-action-col{width:112px}.row-actions{text-align:right;white-space:nowrap}.row-actions .table-icon{margin-left:4px;display:inline-grid}.pagination{min-height:44px;color:var(--faint);border-top:1px solid #edf2ed;justify-content:space-between;align-items:center;padding:8px 14px;font-size:10px;display:flex}.pagination>div{align-items:center;gap:7px;display:flex}.pagination button{min-width:50px;height:27px;color:var(--ink-soft);border:1px solid var(--line-strong);background:#fff;border-radius:6px;padding:0 8px;font-size:10px}.pagination b{color:var(--muted);font-weight:550}.status-pill{white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:3px 8px;font-size:9px;display:inline-flex}.status-success{color:var(--green-700);background:var(--green-100)}.status-warning{color:var(--amber);background:var(--amber-bg)}.status-danger{color:var(--danger);background:var(--danger-bg)}.status-info{color:var(--blue);background:var(--blue-bg)}.status-neutral{color:var(--muted);background:#eef2ee}.state-box{min-height:220px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:30px;font-size:11px;display:flex}.state-box strong{color:var(--ink);font-size:13px}.state-box small{color:var(--faint)}.state-mark{width:36px;height:36px;color:var(--green-700);background:var(--green-100);border-radius:50%;place-items:center;display:grid}.state-error .state-mark{color:var(--danger);background:var(--danger-bg)}.placeholder-panel{min-height:420px;color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.placeholder-panel h2{color:var(--ink);margin:11px 0 0;font-size:15px}.placeholder-panel p{margin:7px 0 0;font-size:11px}.placeholder-icon{width:42px;height:42px;color:var(--green-700);background:var(--green-100);border-radius:8px;place-items:center;display:grid}.overlay{z-index:100;background:#0d1f1361;justify-content:flex-end;display:flex;position:fixed;inset:0}.overlay-dismiss{background:0 0;border:0;position:absolute;inset:0}.overlay-center{justify-content:center;align-items:center;padding:20px}.drawer{z-index:1;background:#fff;flex-direction:column;max-width:100%;height:100%;animation:.18s ease-out drawer-in;display:flex;position:relative;box-shadow:-16px 0 36px #14301d29}@keyframes drawer-in{0%{opacity:.7;transform:translate(18px)}}.drawer-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;height:58px;padding:0 18px;display:flex}.drawer-head h2{margin:0;font-size:15px}.drawer-body{flex:1;min-height:0;padding:18px;overflow-y:auto}.form-stack{gap:15px;display:grid}.model-command-bar{background:#fff;border:1px solid #e6ede6;border-radius:8px;align-items:center;gap:8px;min-height:50px;padding:8px 10px;display:flex}.model-type-tabs button{min-width:92px}.model-command-bar>label{height:32px;color:var(--muted);border:1px solid var(--line-strong);border-radius:6px;align-items:center;padding-left:10px;font-size:9.5px;display:flex}.model-command-bar>label span{color:var(--ink-soft);font-weight:650}.model-command-bar select{min-width:110px;height:30px;color:var(--ink-soft);background:#fff;border:0;outline:0;padding:0 26px 0 7px;font-size:10px}.model-command-bar .model-target-select select{min-width:190px}.model-command-note{color:var(--faint);white-space:nowrap;margin-left:auto;font-size:9px}.model-workspace{grid-template-columns:minmax(0,1fr) minmax(250px,300px);align-items:start;gap:12px;display:grid}.model-current-panel,.model-version-panel{overflow:hidden}.model-identity{border-bottom:1px solid #edf2ed;align-items:center;gap:10px;min-height:66px;padding:14px 16px;display:flex}.model-identity>div{min-width:0}.model-identity h2{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.model-identity p{color:var(--faint);margin:4px 0 0;font-size:9.5px}.model-identity .status-pill{flex:none;margin-left:auto}.model-mark{width:34px;height:34px;color:var(--green-700);background:var(--green-100);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:750;display:grid}.model-mark-baseline{color:#52685a;background:#eef2ee}.model-parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.model-parameter-group{border-bottom:1px solid #edf2ed;min-width:0;padding:14px 16px}.model-parameter-group:nth-child(odd){border-right:1px solid #edf2ed}.model-parameter-group:nth-last-child(-n+2){border-bottom:0}.model-parameter-group h3{color:var(--ink);margin:0 0 8px;font-size:11px}.model-parameter-group dl{margin:0;display:grid}.model-parameter-group dl>div{border-top:1px solid #f0f4f0;justify-content:space-between;align-items:center;gap:12px;min-height:29px;display:flex}.model-parameter-group dt{color:var(--faint);font-size:9px}.model-parameter-group dd{overflow-wrap:anywhere;color:var(--ink-soft);text-align:right;margin:0;font-size:10px;font-weight:620}.model-version-panel .panel-heading{min-height:54px}.model-version-list{padding:4px 14px 12px;display:grid}.model-version-list button{min-width:0;min-height:76px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:1fr;padding:10px 6px 10px 24px;display:grid;position:relative}.model-version-list button:before{content:"";background:#edf2ed;width:2px;position:absolute;top:0;bottom:0;left:10px}.model-version-list button:first-child:before{top:18px}.model-version-list button:last-child:before{bottom:calc(100% - 18px)}.model-version-list button>i{z-index:1;background:#cbd8ce;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:15px;left:6px}.model-version-list button.active>i{background:var(--green-600)}.model-version-list button>span{gap:3px;min-width:0;display:grid}.model-version-list strong{align-items:center;gap:7px;font-size:11px;display:flex}.model-version-list em{color:var(--green-700);background:var(--green-100);border-radius:4px;padding:2px 6px;font-size:8px;font-style:normal}.model-version-list time{color:var(--faint);font-size:8.5px}.model-version-list small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;line-height:1.45;overflow:hidden}.model-version-list button.active{background:#f8fbf8}.model-form-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.model-form-section{gap:10px;display:grid}.model-stage-row{grid-template-columns:minmax(0,1fr) 100px 30px;align-items:end;gap:8px;display:grid}.model-stage-remove{margin-bottom:5px}.form-hint{color:var(--muted);border-left:3px solid var(--green-500);background:#f7faf7;padding:9px 10px;font-size:11px;line-height:1.6}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid:has(>:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{min-width:0;color:var(--ink-soft);gap:7px;font-size:11px;display:grid}.form-field textarea{resize:vertical;line-height:1.5}.select-wrap{display:block;position:relative}.select-wrap select{appearance:none;padding-right:32px}.select-wrap svg{color:var(--muted);pointer-events:none;position:absolute;top:13px;right:10px}.field-error{color:var(--danger)}.form-note{color:var(--muted);background:#f7faf7;border-radius:7px;padding:9px 11px;font-size:10px;line-height:1.6}.image-attachment-field{min-width:0;border:0;gap:10px;min-inline-size:0;margin:0;padding:0;display:grid}.image-attachment-field>legend{color:var(--ink-soft);margin-bottom:7px;padding:0;font-size:11px}.image-attachment-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.image-attachment-heading>span{color:var(--muted);font-size:10px;line-height:1.5}.image-attachment-picker{min-height:32px;color:var(--green-700);background:var(--green-050);cursor:pointer;border:1px solid #cfe1d2;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:650;transition:background .16s,border-color .16s;display:inline-flex;position:relative}.image-attachment-picker:hover{background:var(--green-100);border-color:#b8d4bd}.image-attachment-picker:focus-within{outline-offset:2px;outline:2px solid #2f8f4657}.image-attachment-picker.disabled{cursor:not-allowed;opacity:.62}.image-attachment-picker input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-attachment-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;display:grid}.image-attachment-card{border:1px solid var(--line);background:#f7faf7;border-radius:8px;min-width:0;margin:0;position:relative;overflow:hidden}.image-attachment-card.pending{border-style:dashed;border-color:#b8d4bd}.image-attachment-card img{aspect-ratio:4/3;object-fit:cover;background:#edf2ed;width:100%;display:block}.image-attachment-card figcaption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:7px 8px;font-size:9px;line-height:1.4;overflow:hidden}.image-attachment-card>button{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b2b20b8;border:0;border-radius:6px;place-items:center;width:26px;height:26px;padding:0;display:grid;position:absolute;top:6px;right:6px}.image-attachment-card>button:hover{background:#c2361be6}.image-attachment-empty,.image-attachment-status{min-height:54px;color:var(--muted);border:1px dashed var(--line-strong);text-align:center;background:#fafcfa;border-radius:8px;justify-content:center;align-items:center;padding:14px;font-size:10px;display:flex}.image-attachment-status.error{color:var(--danger);background:var(--danger-bg);text-align:left;border-color:#f1c7bc;justify-content:space-between;gap:10px}.image-attachment-status.error button{color:var(--danger);background:#fff;border:1px solid #e8b4a8;border-radius:5px;flex:none;padding:4px 7px}.form-section-title{border-top:1px solid var(--line);color:var(--ink);padding-top:7px;font-size:11px;font-weight:650}.drawer-actions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:8px;margin:5px -18px -18px;padding:12px 18px;display:flex;position:sticky;bottom:-18px}.confirm-dialog{z-index:1;text-align:center;background:#fff;border-radius:8px;width:min(100%,380px);padding:24px;position:relative;box-shadow:0 20px 55px #14301d38}.confirm-icon{width:40px;height:40px;color:var(--danger);background:var(--danger-bg);border-radius:50%;place-items:center;margin:0 auto;display:grid}.confirm-dialog h2{margin:14px 0 7px;font-size:16px}.confirm-dialog p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.dialog-actions{justify-content:center;gap:8px;margin-top:20px;display:flex}.model-binding-dialog{border:1px solid var(--line);background:#fff;border-radius:10px;width:min(100% - 32px,480px);padding:24px;box-shadow:0 20px 55px #14301d38}.model-binding-dialog-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.model-binding-dialog-head small{color:var(--green-700);letter-spacing:.08em;font-size:10px;font-weight:700}.model-binding-dialog h2{margin:3px 0 0;font-size:18px}.model-binding-dialog>p{color:var(--muted);margin:0 0 18px;font-size:11px;line-height:1.7}.model-binding-dialog .form-field{margin-top:14px}.audit-toolbar{flex-wrap:wrap;align-items:center;gap:12px;min-height:40px;display:flex}.audit-toolbar>span{color:var(--faint);font-size:10px}.audit-panel{padding:0}.audit-timeline{padding:18px 20px 2px}.audit-entry{gap:13px;display:flex}.audit-rail{flex-direction:column;flex:none;align-items:center;width:28px;display:flex}.audit-rail>span{width:28px;height:28px;color:var(--green-700);background:var(--green-100);border-radius:50%;place-items:center;display:grid}.audit-rail:after{content:"";background:var(--line);flex:1;width:1px;min-height:28px}.audit-entry:last-child .audit-rail:after{display:none}.audit-entry-main{flex:1;min-width:0;padding:2px 0 18px}.audit-entry-head{align-items:center;gap:8px;display:flex}.audit-entry-head strong{color:var(--ink);font-size:12px}.audit-entry-head time{color:var(--faint);margin-left:auto;font-size:10px}.audit-diff-preview{align-items:center;gap:8px;margin-top:8px;display:flex}.audit-diff-preview>span{max-width:280px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#f5f7f5;border-radius:6px;padding:5px 9px;overflow:hidden}.audit-diff-preview>span:nth-of-type(2){color:var(--green-700);background:var(--green-100);font-weight:650}.audit-diff-preview small,.audit-diff-empty{color:var(--faint)}.audit-entry-meta{color:var(--muted);align-items:center;gap:16px;margin-top:7px;font-size:10px;display:flex}.audit-entry-meta button{color:var(--green-700);align-items:center;gap:5px;margin-left:auto;display:inline-flex}.audit-detail{gap:16px;display:grid}.audit-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.audit-detail-summary>div{background:var(--green-050);border:1px solid var(--line);border-radius:8px;gap:4px;padding:11px 12px;display:grid}.audit-detail-summary span,.audit-request-id{color:var(--faint);font-size:10px}.audit-detail-summary strong{color:var(--ink);font-size:11px}.audit-detail-snapshots{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.audit-detail-snapshots h3{color:var(--ink);margin:0 0 7px;font-size:11px}.audit-detail-snapshots pre{min-height:220px;max-height:420px;color:var(--ink-soft);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;background:#f7faf7;border-radius:8px;margin:0;padding:12px;font-size:9px;line-height:1.6;overflow:auto}.user-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.user-toolbar>select{min-height:36px;color:var(--ink-soft);border:1px solid var(--line-strong);background:#fff;border-radius:7px;padding:6px 30px 6px 10px;font-size:11px}.user-toolbar .search-field{width:min(260px,100%)}.user-table-panel{padding:0}.user-identity{align-items:center;gap:9px;display:inline-flex}.user-identity>span:first-child{width:30px;height:30px;color:var(--green-700);background:var(--green-100);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.user-identity.disabled>span:first-child{color:var(--faint);background:#eef0ee}.user-identity>span:last-child{gap:2px;display:grid}.user-identity small{color:var(--faint)}.user-row-actions{min-width:92px}.user-status-action{min-height:30px;color:var(--muted);border:1px solid var(--line);border-radius:6px;margin-left:4px;padding:4px 9px;font-size:10px}.user-status-action.disabled{color:var(--green-700);border-color:#bee0c6}.user-account-note{min-height:64px;color:var(--faint);align-items:center;gap:7px;padding:20px 12px 0;font-size:10px;display:flex}.user-choice-section{border:0;min-width:0;margin:0;padding:0}.user-choice-section legend{color:var(--ink-soft);margin-bottom:7px;font-size:11px;font-weight:650}.user-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.user-choice-grid label{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:10px 11px;display:flex}.user-choice-grid label.selected{background:var(--green-050);border-color:#bee0c6}.user-choice-grid input{accent-color:var(--green-600)}.user-choice-grid span{gap:2px;min-width:0;display:grid}.user-choice-grid strong,.user-choice-grid small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-choice-grid strong{color:var(--ink);font-size:11px}.user-choice-grid small{color:var(--faint);font-size:9px}.role-workbench{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:14px;display:grid}.role-list-panel{padding:8px}.role-list-heading{color:var(--faint);justify-content:space-between;padding:8px 7px 10px;font-size:10px;display:flex}.role-list-heading strong{color:var(--ink);font-size:12px}.role-list-panel>button{width:100%;color:var(--ink-soft);text-align:left;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:11px 10px;display:flex}.role-list-panel>button.active{background:var(--green-100);border-color:#bee0c6}.role-list-panel>button>span:first-child{flex:1;gap:3px;min-width:0;display:grid}.role-list-panel>button small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-list-panel>button>span:last-child{color:var(--muted);background:#f1f6f1;border-radius:99px;padding:2px 7px;font-size:9px}.role-detail{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:16px 18px}.role-detail-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.role-detail-head>div:first-child>div{align-items:center;gap:8px;display:flex}.role-detail-head h2{margin:0;font-size:15px}.role-detail-head p{color:var(--muted);margin:6px 0 0;font-size:10px}.role-head-actions{gap:7px;display:flex}.role-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:18px;margin-top:16px;display:grid}.role-detail-grid>section{min-width:0}.role-section-title{color:var(--faint);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:9px;display:flex}.role-section-title strong{color:var(--ink);font-size:11px}.permission-summary,.role-base-coverage{gap:4px;display:grid}.permission-summary>div,.role-base-coverage>div{border:1px solid var(--line);opacity:.55;border-radius:7px;align-items:center;gap:8px;min-height:43px;padding:7px 9px;display:flex}.permission-summary>div.enabled,.role-base-coverage>div.covered{opacity:1;background:var(--green-050)}.permission-summary>div>span:first-child,.role-base-coverage>div>span:first-child{color:#fff;background:#d8e2da;border-radius:4px;flex:none;place-items:center;width:17px;height:17px;display:grid}.permission-summary>div.enabled>span:first-child,.role-base-coverage>div.covered>span:first-child{background:var(--green-600)}.permission-summary>div>span:nth-child(2),.role-base-coverage>div>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.permission-summary small,.role-base-coverage small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.permission-summary em,.role-base-coverage em{color:var(--faint);white-space:nowrap;font-size:9px;font-style:normal}.role-permission-editor{border:0;min-width:0;margin:0;padding:0}.role-permission-editor legend{color:var(--ink);margin-bottom:8px;font-size:11px;font-weight:650}.role-permission-editor>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.role-permission-editor label{border:1px solid var(--line);cursor:pointer;border-radius:7px;align-items:center;gap:8px;min-width:0;padding:9px 10px;display:flex}.role-permission-editor label.selected{background:var(--green-050);border-color:#bee0c6}.role-permission-editor input{accent-color:var(--green-600)}.role-permission-editor label>span{flex:1;gap:2px;min-width:0;display:grid}.role-permission-editor small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.role-permission-editor em{color:var(--faint);font-size:9px;font-style:normal}@media (width<=720px){.audit-entry-head{flex-wrap:wrap;align-items:flex-start}.audit-entry-head time{width:100%;margin-left:0}.audit-diff-preview{flex-direction:column;align-items:flex-start}.audit-diff-preview>span{max-width:100%}.audit-entry-meta{flex-direction:column;align-items:flex-start;gap:5px}.audit-entry-meta button{margin-left:0}.audit-detail-summary,.audit-detail-snapshots{grid-template-columns:1fr}.user-toolbar .search-field,.user-toolbar>select{width:100%}.user-choice-grid,.role-workbench,.role-detail-grid{grid-template-columns:1fr}.role-list-panel{display:flex;overflow-x:auto}.role-list-heading{display:none}.role-list-panel>button{min-width:190px}.role-detail-head{flex-direction:column}.role-permission-editor>div{grid-template-columns:1fr}}.plan-command-bar{justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.plan-filter-tabs{border:1px solid var(--line-strong);background:#fff;border-radius:7px;margin:0;padding:3px;display:flex}.plan-filter-tabs button{min-height:29px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:0 12px;font-size:10px}.plan-filter-tabs button.active{color:var(--green-700);background:var(--green-100);font-weight:650}.batch-timeline-panel .panel-heading{border-bottom:0}.timeline-year{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.batch-timeline{gap:9px;padding:0 15px 10px;display:grid}.timeline-row{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.timeline-row>strong{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.timeline-track{background:var(--amber-bg);border-radius:6px;height:27px;position:relative;overflow:hidden}.timeline-segment{left:var(--timeline-left);width:var(--timeline-width);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-right:1px solid #ffffff80;place-items:center;height:100%;padding:0 5px;font-size:9px;display:grid;position:absolute;overflow:hidden}.timeline-planting{background:var(--green-600)}.timeline-harvested{background:#aabbb0}.timeline-fallow{color:#8a7950;background:#eee5ca}.timeline-legend{min-height:37px;color:var(--muted);border-top:1px solid #edf2ed;align-items:center;gap:15px;padding:8px 15px;font-size:9.5px;display:flex}.timeline-legend span{align-items:center;gap:5px;display:flex}.timeline-legend i{border-radius:2px;width:9px;height:9px}.legend-planting{background:var(--green-600)}.legend-harvested{background:#aabbb0}.legend-fallow{background:#eee5ca}.crop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 14px 14px;display:grid}.crop-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:150px;padding:13px}.crop-card-head{align-items:center;gap:9px;display:flex}.crop-card-head>div:nth-child(2){gap:3px;min-width:0;display:grid}.crop-card-head strong{font-size:12px}.crop-card-head span{color:var(--muted);font-size:9px}.crop-icon{width:34px;height:34px;color:var(--green-700);background:var(--green-100);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.crop-actions{gap:3px;margin-left:auto;display:flex}.crop-detail{background:#f7faf7;border-radius:7px;margin-top:14px;padding:10px}.crop-detail span{color:var(--faint);font-size:9px}.crop-detail p{color:var(--ink-soft);margin:5px 0 0;font-size:10px;line-height:1.5}.timeline{gap:0;display:grid;position:relative}.timeline-item{gap:10px;min-height:72px;padding:0 0 16px 25px;display:flex;position:relative}.timeline-item:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:12px;bottom:-1px;left:5px}.timeline-item:last-child:before{display:none}.timeline-dot{border:3px solid var(--green-100);background:var(--green-600);border-radius:50%;width:11px;height:11px;position:absolute;top:3px;left:0}.timeline-item>div{gap:3px;display:grid}.timeline-item strong{font-size:11px}.timeline-item time{color:var(--faint);font-size:9px}.timeline-item p{color:var(--muted);margin:2px 0 0;font-size:10px}.event-form{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.event-form h3{margin:0;font-size:12px}.device-code{align-items:center;gap:7px;display:flex}.device-dot{border-radius:50%;width:7px;height:7px}.device-sense{background:var(--green-600)}.device-archive{background:#d0a12f}.sensing-page{gap:12px}.notification-button{display:inline-grid;position:relative}.notification-button>i{background:var(--danger);pointer-events:none;border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.nav-item .alert-count-badge{color:#fff;background:var(--danger);text-align:center;min-width:18px;padding:1px 5px}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.kpi-card{min-width:0;min-height:112px;color:var(--ink);text-align:left;background:#fff;border:1px solid #e6ede6;border-radius:8px;flex-direction:column;align-items:flex-start;padding:13px 14px;display:flex;box-shadow:0 1px 2px #1b3a240a}button.kpi-card{font:inherit;cursor:pointer}button.kpi-card:hover{border-color:#d4dfd5;box-shadow:0 5px 16px #1b3a2412}.kpi-label{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;display:flex}.kpi-card>strong{margin-top:9px;font-size:25px;line-height:1}.kpi-card>strong small{color:var(--faint);font-size:12px;font-weight:550}.kpi-card>span{color:var(--faint);margin-top:auto;font-size:9.5px}.kpi-progress{background:#edf3ed;border-radius:2px;width:100%;height:4px;margin-top:auto;overflow:hidden}.kpi-progress i{background:var(--green-600);height:100%;display:block}.kpi-muted{background:#fbfcfb}.kpi-muted .kpi-label svg{color:var(--blue)}.kpi-alert{border-top:3px solid #d85a42}.kpi-alert>strong,.kpi-alert .kpi-label svg{color:var(--danger)}.overview-main-grid{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.25fr) minmax(270px,.75fr);gap:12px;display:grid}.overview-main-grid>.panel-card{min-height:330px}.site-summary-list{padding:4px 14px 14px;display:grid}.site-summary-row{border-bottom:1px solid #edf2ed;min-width:0;padding:11px 0}.site-summary-row:last-child{border-bottom:0}.site-summary-title{align-items:center;gap:6px;display:flex}.site-summary-title>span,.site-index{width:25px;height:21px;color:var(--green-700);background:var(--green-100);border-radius:5px;place-items:center;font-size:9px;font-weight:700;display:inline-grid}.site-summary-title strong{font-size:11px}.site-summary-title em{margin-left:auto;font-size:9px;font-style:normal}.site-summary-title em.online{color:var(--green-700)}.site-summary-title em.offline{color:var(--danger)}.site-summary-values{align-items:center;gap:10px;min-height:22px;margin:8px 0 0 31px;display:flex;overflow:hidden}.site-summary-values>span:not(.muted){color:var(--ink-soft);white-space:nowrap;font-size:11px;font-weight:650}.stage-slot-panel,.overview-comparison-panel{flex-direction:column;display:flex}.overview-comparison-panel .panel-heading{align-items:flex-start}.overview-metric-tabs button{min-width:42px;padding:0 6px}.overview-comparison-note{min-height:30px;color:var(--faint);border-top:1px solid #edf2ed;padding:7px 14px;font-size:9px}.stage-slot{min-height:245px;color:var(--faint);background-color:#0000;background-image:linear-gradient(#edf2ed 1px,#0000 1px),linear-gradient(90deg,#edf2ed 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:7px;display:flex}.stage-slot svg{color:var(--blue)}.stage-slot strong{color:var(--ink-soft);font-size:12px}.stage-slot span{font-size:10px}.overview-alert-list{gap:2px;padding:5px 13px 13px;display:grid}.overview-alert-list button{text-align:left;background:0 0;border:0;border-bottom:1px solid #edf2ed;align-items:center;gap:8px;min-width:0;min-height:60px;padding:9px 5px;display:flex}.overview-alert-list button:hover{background:#fafcfa}.overview-alert-list button>span{gap:3px;min-width:0;display:grid}.overview-alert-list strong{font-size:11px}.overview-alert-list small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.overview-alert-list em{color:var(--danger);white-space:nowrap;margin-left:auto;font-size:9px;font-style:normal}.alert-dot,.status-dot{border-radius:50%;flex:none;width:7px;height:7px}.alert-offline,.status-dot.offline{background:var(--danger)}.alert-recovered{background:#d09b24}.alert-handled,.status-dot.unknown{background:#9aa9a0}.status-dot.online{background:var(--green-600)}.overview-site-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.overview-site-strip article{background:#fff;border:1px solid #e6ede6;border-radius:8px;align-items:center;gap:8px;min-width:0;min-height:64px;padding:10px 12px;display:flex}.overview-site-strip>button{min-width:0;min-height:76px;color:var(--ink);text-align:left;background:#fff;border:1px solid #e6ede6;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:10px 12px;display:grid}.overview-site-strip>button:hover{border-color:#cfdccf;box-shadow:0 3px 12px #1b3a240f}.overview-site-strip>button>div:first-child{align-items:baseline;gap:6px;min-width:0;display:flex}.overview-site-strip>button>div:first-child strong{font-size:11px}.overview-site-strip>button>div:first-child span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.batch-progress{background:#e8eee8;border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.batch-progress i{background:var(--green-600);height:100%;display:block}.overview-site-strip>button small{color:var(--muted);grid-column:1/-1;font-size:9px}.overview-site-strip article>div{gap:3px;min-width:0;display:grid}.overview-site-strip strong{font-size:11px}.overview-site-strip article>div span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.overview-site-strip .status-pill{margin-left:auto}.compact-empty{min-height:74px;color:var(--faint);place-items:center;font-size:10px;display:grid}.sensing-filterbar,.history-filterbar{background:#fff;border:1px solid #e6ede6;border-radius:8px;align-items:flex-end;gap:8px;min-height:48px;padding:8px 10px;display:flex}.sensing-filterbar>svg,.history-filterbar>svg{color:var(--muted);align-self:center;margin:0 2px}.sensing-filterbar label,.history-filterbar label{min-width:0;color:var(--muted);gap:4px;font-size:9px;display:grid}.sensing-filterbar select,.history-filterbar select,.history-filterbar input{min-width:150px;height:30px;color:var(--ink-soft);border:1px solid var(--line-strong);background:#fff;border-radius:6px;padding:0 9px;font-size:10.5px}.history-filterbar label:first-of-type select{min-width:220px}.history-window-tabs{flex:none;align-self:flex-end}.history-window-tabs button:last-child{min-width:92px}.history-filterbar .history-batch-select select{min-width:190px}.history-filterbar input:disabled{color:var(--muted);background:#f5f7f5}.filterbar-status{align-items:center;gap:7px;margin-left:auto;display:flex}.realtime-group-head{border-bottom:1px solid #edf2ed;align-items:center;gap:9px;min-height:56px;padding:10px 14px;display:flex}.realtime-group-head>div{gap:3px;min-width:0;display:grid}.realtime-group-head h2{margin:0;font-size:12px}.realtime-group-head span{color:var(--faint);font-size:9px}.realtime-group-head .status-pill{margin-left:auto}.device-reading-grid{background:#edf2ed;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;display:grid}.device-reading{background:#fff;flex-direction:column;min-width:0;min-height:178px;padding:11px 13px;display:flex}.device-reading.is-offline{background:snow}.device-reading-head{align-items:center;gap:6px;display:flex}.device-reading-head strong{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.device-reading-head time{color:var(--faint);white-space:nowrap;margin-left:auto;font-size:8.5px}.device-location{min-height:18px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:5px 0 8px 13px;font-size:9px;overflow:hidden}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.metric-grid>div{gap:2px;min-width:0;display:grid}.metric-grid span{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;overflow:hidden}.metric-grid strong{color:var(--ink-soft);font-size:13px}.is-offline .metric-grid strong{color:var(--muted)}.device-foot{color:var(--faint);align-items:center;gap:5px;margin-top:auto;padding-top:10px;font-size:8.5px;display:flex}.history-filterbar{flex-wrap:wrap;align-items:flex-end}.inline-warning{color:#7a5d15;background:var(--amber-bg);border:1px solid #eadcae;border-radius:7px;padding:8px 11px;font-size:10px}.history-chart-panel{min-height:390px}.history-chart-head{flex-wrap:wrap}.segmented-control,.alert-tabs{background:#f1f6f1;border:0;border-radius:7px;margin:0;padding:3px;display:flex}.segmented-control button{min-width:58px;height:27px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:0 8px;font-size:9.5px}.segmented-control button.active{color:var(--green-700);background:#fff;font-weight:650;box-shadow:0 1px 3px #1b3a2414}.sensing-chart{width:100%;height:290px}.overview-comparison-panel .sensing-chart{height:235px}.comparison-selectors{border-bottom:1px solid #edf2ed;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;display:grid}.comparison-toolbar{background:#fff;border:1px solid #e6ede6;border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:8px 10px;display:flex}.comparison-toolbar>label{min-width:0;height:32px;color:var(--muted);border:1px solid var(--line-strong);background:#fff;border-radius:6px;align-items:center;padding-left:10px;font-size:10px;display:flex}.comparison-toolbar>label span{color:var(--ink-soft);flex:none;font-weight:650}.comparison-toolbar select{width:min(32vw,310px);min-width:190px;height:30px;color:var(--ink-soft);text-overflow:ellipsis;background:#fff;border:0;outline:0;padding:0 28px 0 7px;font-size:10px;overflow:hidden}.comparison-toolbar>svg{color:var(--faint);flex:none}.comparison-toolbar .segmented-control{flex:none;margin-left:auto}.comparison-scope-note{color:#7a5d15;background:var(--amber-bg);border:1px solid #eadcae;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-size:10px;line-height:1.5;display:flex}.comparison-scope-note svg{color:#c38b10;flex:none}.comparison-scope-note strong{color:#6e5010;margin:0 4px}.comparison-object-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.comparison-facts{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.comparison-fact-column{background:#fff;border:1px solid #e6ede6;border-radius:8px;min-width:0;padding:16px;position:relative;overflow:hidden;box-shadow:0 1px 2px #1b3a2408}.comparison-fact-column:before{content:"";background:var(--green-600);border-radius:2px;width:7px;height:7px;position:absolute;top:16px;left:15px}.comparison-fact-baseline:before{background:var(--blue)}.comparison-fact-column+.comparison-fact-column{border-left:1px solid #e6ede6}.comparison-fact-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding-left:16px;display:flex}.comparison-fact-title span:first-child{color:var(--faint);font-size:10px}.comparison-fact-title h3{margin:3px 0 0;font-size:15px}.comparison-fact-column dl{grid-template-columns:1fr;margin:0;display:grid}.comparison-fact-column dl>div{border-top:1px solid #edf2ed;justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:35px;padding:8px 0;display:flex}.comparison-fact-column dt{color:var(--faint);font-size:9.5px}.comparison-fact-column dd{overflow-wrap:anywhere;min-width:0;color:var(--ink-soft);text-align:right;margin:0;font-size:11px;font-weight:620}.comparison-chart-panel{min-height:365px}.comparison-chart-head{flex-wrap:wrap}.comparison-table table{min-width:540px}.comparison-table td:not(:first-child){color:var(--ink);font-variant-numeric:tabular-nums}.chart-empty{height:290px}.comparison-detail-panel details>summary{min-height:45px;color:var(--green-700);cursor:pointer;align-items:center;padding:0 15px;font-size:10.5px;font-weight:650;display:flex}.comparison-detail-section{border-top:1px solid #edf2ed}.comparison-detail-section h3{margin:0;padding:12px 15px 2px;font-size:11px}.batch-filter-slot{min-height:38px;color:var(--muted);background:#fafbfa;border-top:1px solid #edf2ed;align-items:center;gap:7px;padding:7px 14px;font-size:9.5px;display:flex}.batch-filter-slot .status-pill{margin-left:auto}.sensing-table .numeric-cell{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650}.cursor-pagination{border-top:1px solid #edf2ed;justify-content:flex-end;align-items:center;gap:7px;min-height:52px;padding:9px 14px;display:flex}.alert-tabs{align-self:flex-start}.alert-tabs button{min-width:112px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:10px;display:flex}.alert-tabs button.active{color:var(--green-700);background:#fff;font-weight:650;box-shadow:0 1px 3px #1b3a2414}.alert-table{min-width:820px}.alert-table td:nth-child(2){min-width:320px}.alert-table-actions{justify-content:flex-end;gap:7px;display:flex}.alert-handle-icon{color:var(--danger);background:var(--danger-bg)}.alert-handle-icon:hover{color:#fff;background:var(--danger)}.alert-list{display:grid}.alert-row{border-bottom:1px solid #edf2ed;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:104px;padding:14px 16px;display:grid}.alert-row:last-child{border-bottom:0}.alert-row-icon{border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.alert-row-offline .alert-row-icon{color:var(--danger);background:var(--danger-bg)}.alert-row-recovered .alert-row-icon{color:var(--amber);background:var(--amber-bg)}.alert-row-handled .alert-row-icon{color:var(--muted);background:#f1f4f2}.alert-row-main{gap:5px;min-width:0;display:grid}.alert-row-main>div{align-items:center;gap:8px;display:flex}.alert-row-main strong{font-size:12px}.alert-row-main p{color:var(--ink-soft);margin:0;font-size:10.5px}.alert-row-main>span,.alert-row-main>small{color:var(--faint);font-size:9px}.alert-row-actions{gap:7px;display:flex}.alert-empty{min-height:190px}.alert-handle-form{gap:18px;display:grid}.alert-target{color:var(--danger);background:var(--danger-bg);border-radius:7px;align-items:center;gap:10px;padding:12px;display:flex}.alert-target span{gap:3px;display:grid}.alert-target strong{color:var(--ink);font-size:11px}.alert-target small,.field-hint{color:var(--muted);font-size:9px}.drawer-actions{justify-content:flex-end;gap:8px;display:flex}.toast-stack{z-index:200;pointer-events:none;gap:8px;width:min(420px,100vw - 32px);display:grid;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast{color:#fff;background:var(--ink);pointer-events:auto;border:1px solid #ffffff14;border-radius:99px;align-items:center;gap:8px;min-height:42px;padding:9px 10px 9px 14px;font-size:11.5px;animation:.35s cubic-bezier(.16,1,.3,1) both toast-in;display:flex;box-shadow:0 8px 26px #14301d3d}.toast>span{flex:1;min-width:0;line-height:1.5}.toast>button{color:#ffffff9e;background:0 0;border:0;border-radius:6px;place-items:center;width:26px;height:26px;padding:0;display:grid}.toast>button:hover{color:#fff;background:#ffffff1a}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-success svg{color:#75cf89}.toast-error svg{color:#ff9d85}.toast-info>svg{color:#9fc9f2}.platform-shell{background:var(--canvas);grid-template-columns:200px minmax(0,1fr);min-height:100vh;display:grid}.platform-sidebar{z-index:30;border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:18px 12px 14px;display:flex;position:sticky;top:0}.platform-sidebar .brand-lockup{padding:0 8px 17px}.platform-sidebar nav{gap:4px;display:grid}.platform-sidebar nav>span{color:var(--muted);padding:8px 9px 4px;font-size:9px;font-weight:700}.platform-sidebar nav a{min-height:35px;color:var(--ink-soft);background:0 0;border-radius:7px;align-items:center;gap:9px;padding:8px 10px;font-size:11.5px;font-weight:650;text-decoration:none;transition:color .16s,background .16s;display:flex}.platform-sidebar nav a:hover{color:var(--green-700);background:#f7faf7}.platform-sidebar nav a.active{color:var(--green-700);background:var(--green-050)}.platform-operator{border-top:1px solid var(--line-soft);grid-template-columns:29px minmax(0,1fr) 30px;align-items:center;gap:8px;margin-top:auto;padding:12px 7px 0;display:grid}.platform-operator>div{width:29px;height:29px;color:var(--green-700);background:var(--green-100);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.platform-operator>span{gap:2px;min-width:0;display:grid}.platform-operator strong,.platform-operator small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.platform-operator strong{color:var(--ink-soft);font-size:10.5px}.platform-operator small{color:var(--muted);font-size:9px}.platform-operator button{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.platform-operator button:hover{color:var(--danger);background:var(--danger-bg)}.platform-main{min-width:0}.platform-topbar{z-index:20;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 20px;display:flex;position:sticky;top:0}.platform-topbar>div{color:var(--ink-soft);align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.platform-topbar svg{color:var(--green-600)}.platform-content{gap:14px;width:100%;max-width:1480px;margin:0 auto;padding:18px 20px 30px;display:grid}.tenant-summary{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));min-height:74px;display:grid}.tenant-summary>div{border-right:1px solid var(--line-soft);gap:4px;min-width:0;padding:13px 16px;display:grid}.tenant-summary>div:last-child{border-right:0}.tenant-summary span{color:var(--muted);font-size:10px}.tenant-summary strong{color:var(--ink);font-size:20px;line-height:1.2}.tenant-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.tenant-toolbar .search-field{width:min(300px,100%)}.dictionary-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.dictionary-toolbar-filters{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.dictionary-toolbar-filters .search-field{width:min(300px,100%)}.dictionary-type-filter select{min-width:170px;min-height:36px;color:var(--ink-soft);border:1px solid var(--line-strong);background:#fff;border-radius:7px;padding:7px 30px 7px 10px;font-size:10.5px}.tenant-table-panel{padding:0;overflow:hidden}.tenant-table-panel .state-box{margin:18px}.tenant-table-panel table{min-width:920px}.dictionary-table-panel table{min-width:860px}.dictionary-table-panel td code{border:1px solid var(--line-soft);background:#f5f8f5;border-radius:5px;padding:3px 6px}.tenant-identity{align-items:center;gap:9px;display:flex}.tenant-identity>span:first-child{width:29px;height:29px;color:var(--green-700);background:var(--green-100);border-radius:7px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.tenant-identity>span:last-child,.tenant-contact{gap:2px;min-width:0;display:grid}.tenant-identity strong,.tenant-contact strong{color:var(--ink-soft);font-size:11px}.tenant-identity small,.tenant-contact small{color:var(--muted);font-size:9px}.tenant-quota{max-width:300px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;display:block;overflow:hidden}.tenant-row-actions{min-width:112px}.table-icon.warning{color:#8c6813}.table-icon.warning:hover{background:var(--warning-bg)}.table-icon.success{color:var(--green-700)}.table-icon.success:hover{background:var(--green-050)}.table-icon.danger{color:var(--danger)}.table-icon.danger:hover{background:var(--danger-bg)}.tenant-table-foot{min-height:42px;color:var(--muted);border-top:1px solid var(--line-soft);align-items:center;padding:10px 14px;font-size:10px;display:flex}.form-field textarea[spellcheck=false]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.55}@media (width<=1100px){.model-command-bar{flex-wrap:wrap}.model-command-note{order:5;width:100%;margin-left:0}.ledger-grid-wide{grid-template-columns:1fr}.crop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .status-pill{display:none}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-main-grid{grid-template-columns:1fr 1fr}.overview-alert-panel{grid-column:1/-1;min-height:220px}.device-reading-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}.history-filterbar label:first-of-type select{min-width:180px}}@media (width<=800px){.platform-shell{grid-template-columns:1fr;align-content:start}.platform-sidebar{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:7px 10px;width:100%;height:auto;min-height:58px;padding:9px 14px;position:sticky}.platform-sidebar .brand-lockup{padding:0}.platform-sidebar nav{scrollbar-width:none;order:3;gap:6px;width:100%;display:flex;overflow-x:auto}.platform-sidebar nav::-webkit-scrollbar{display:none}.platform-sidebar nav>span{display:none}.platform-sidebar nav a{flex:none;min-height:32px;padding:7px 10px}.platform-operator{border:0;margin:0 0 0 auto;padding:0}.platform-topbar{display:none}.platform-content{padding:16px 14px 26px}.tenant-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-summary>div:nth-child(2){border-right:0}.tenant-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.tenant-toolbar{flex-direction:column;align-items:stretch}.tenant-toolbar .segmented-control,.tenant-toolbar .search-field{width:100%}.dictionary-toolbar{flex-direction:column;align-items:stretch}.dictionary-toolbar .segmented-control,.dictionary-toolbar-filters,.dictionary-toolbar-filters .search-field{width:100%}.dictionary-toolbar-filters{align-items:stretch}.dictionary-type-filter{flex:0 0 42%}.dictionary-type-filter select{width:100%;min-width:0}}@media (width<=840px){.login-page{grid-template-columns:1fr}.login-visual{gap:16px;min-height:0;padding:22px 24px;display:flex}.visual-copy{max-width:none}.hero-desc,.growth-chart,.growth-caption,.brand-foot{display:none}.visual-copy .hero-title{margin-top:12px;font-size:21px}.login-form-area{padding:28px 22px}.login-brand{margin-bottom:34px}.sidebar{transition:transform .18s;transform:translate(-100%);box-shadow:12px 0 34px #14301d29}.sidebar-open{transform:translate(0)}.brand-lockup .icon-button{display:grid}.mobile-scrim{z-index:35;background:#0d1f1357;border:0;width:100%;display:block;position:fixed;inset:0}.shell-main{width:100%;margin-left:0}.topbar-left>.icon-button{display:grid}.topbar{padding:0 12px}.topbar h2{display:none}.content-area{padding:14px 12px 24px}.user-menu-name,.logout-button span{display:none}.user-menu{border-left:0;padding-left:0}.base-select select{min-width:132px;max-width:45vw}.page-header{align-items:center}.page-header h1{font-size:18px}.page-description{max-width:65vw}:is(.form-grid,.form-grid:has(>:nth-child(3))){grid-template-columns:1fr}.model-command-bar{align-items:stretch}.model-command-bar>label{width:calc(50% - 4px)}.model-command-bar select,.model-command-bar .model-target-select select{width:100%;min-width:0}.model-command-bar>.button{margin-left:auto}.model-workspace,.crop-grid,.kpi-grid,.overview-main-grid,.overview-site-strip{grid-template-columns:1fr}.kpi-card{min-height:98px}.overview-alert-panel{grid-column:auto}.device-reading-grid{grid-template-columns:1fr}.sensing-filterbar,.history-filterbar{align-items:stretch}.sensing-filterbar>svg,.history-filterbar>svg{display:none}.sensing-filterbar label,.history-filterbar label{width:calc(50% - 4px)}.sensing-filterbar select,.history-filterbar select,.history-filterbar input,.history-filterbar label:first-of-type select{width:100%;min-width:0}.filterbar-status{width:100%;margin-left:0}.history-chart-head{align-items:flex-start}.segmented-control{width:100%}.segmented-control button{flex:1;min-width:0}.comparison-selectors,.comparison-facts,.comparison-object-grid{grid-template-columns:1fr}.comparison-toolbar{flex-wrap:wrap;align-items:stretch}.comparison-toolbar>label{width:calc(50% - 16px)}.comparison-toolbar select{width:100%;min-width:0}.comparison-toolbar .segmented-control{width:100%;margin-left:0}.plan-command-bar{flex-direction:column;align-items:stretch}.plan-filter-tabs{width:100%}.plan-filter-tabs button{flex:1;min-width:0}.plan-command-bar>.button{align-self:flex-end}.comparison-fact-column+.comparison-fact-column{border-top:1px solid #edf2ed;border-left:0}.comparison-fact-column dl{grid-template-columns:1fr 1fr}.alert-tabs{width:100%}.alert-tabs button{flex:1;min-width:0;padding:0 6px}.alert-table{min-width:700px}.alert-table td:nth-child(2){min-width:210px}.alert-row{grid-template-columns:34px minmax(0,1fr)}.alert-row-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=560px){.model-command-bar>label{width:100%}.model-parameter-grid{grid-template-columns:1fr}.model-parameter-group:nth-child(odd){border-right:0}.model-parameter-group:nth-last-child(2){border-bottom:1px solid #edf2ed}.image-attachment-heading{flex-direction:column;align-items:stretch}.image-attachment-picker{width:100%}.image-attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.login-visual .aurora,.login-visual .particle,.login-visual .hero-dot,.login-visual .gline,.login-visual .garea,.login-visual .gdot,.login-visual .marquee{animation:none!important}.login-visual .chart-lines{opacity:1}.login-visual .gline{stroke-dashoffset:0}.login-visual .garea{opacity:.55}.login-visual .gdot{opacity:1}.login-visual .growth-chart,.login-visual .fx,.login-visual .rv>*{animation-duration:.01ms}}
