:root{--color-ink:#0d1720;--color-muted:#596857;--color-green-900:#0c301f;--color-green-800:#174126;--color-green-700:#255b2d;--color-green-500:#5f8f2f;--color-green-100:#edf5e5;--color-orange-600:#d95f0b;--color-orange-500:#e06a14;--color-orange-100:#fff1e5;--color-paper:#fffdf8;--color-surface:#fff;--color-line:#dbe3d0;--shadow-soft:0 18px 42px #0e2c1b1a;--radius-card:8px;color:var(--color-ink);background:var(--color-paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.exp-shell{color:#16241f;background:#f4f7f6;min-height:100vh}.exp-header{color:#fff;background:#102c24;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex}.exp-header a{color:inherit;text-decoration:none}.exp-header>div{align-items:center;gap:20px;font-size:13px;display:flex}.exp-brand{letter-spacing:.08em;font-size:16px;font-weight:800}.exp-page{width:min(1500px,100% - 48px);margin:0 auto;padding:32px 0 72px}.exp-hero{grid-template-columns:minmax(0,1fr) 480px;align-items:stretch;gap:32px;display:grid}.exp-hero>div,.exp-create,.exp-list,.exp-detail-head,.exp-workbench,.exp-results{background:#fff;border:1px solid #dce7e2;border-radius:18px;box-shadow:0 10px 34px #14372c0f}.exp-hero>div{color:#fff;background:linear-gradient(135deg,#153f33,#0e6b52);padding:42px}.exp-eyebrow{text-transform:uppercase;letter-spacing:.12em;opacity:.72;margin:0 0 8px;font-size:11px;font-weight:800}.exp-hero h1,.exp-detail-head h1{margin:0 0 10px;font-size:clamp(30px,4vw,48px);line-height:1}.exp-hero p:last-child,.exp-detail-head p:last-child{opacity:.8;margin:0}.exp-create{gap:15px;padding:26px;display:grid}.exp-create>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.exp-create label,.exp-sidebar label,.exp-chart-controls label{color:#50615a;gap:7px;font-size:12px;font-weight:700;display:grid}.exp-create input,.exp-sidebar input,.exp-chart-controls select{color:#14251f;background:#fff;border:1px solid #cbd9d3;border-radius:9px;width:100%;padding:10px 11px}.exp-page button{color:#fff;cursor:pointer;background:#087a5a;border:0;border-radius:9px;padding:11px 15px;font-weight:750}.exp-page button:hover:not(:disabled){filter:brightness(.94)}.exp-page button:disabled{cursor:not-allowed;opacity:.48}.exp-secondary{color:#294239!important;background:#e8efec!important}.exp-promote{background:#cf5f30!important}.exp-list{margin-top:28px;padding:24px}.exp-section-title{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.exp-section-title h2{margin:0;font-size:21px}.exp-section-title>span{color:#718078;font-size:12px}.exp-card{color:inherit;border-top:1px solid #e5ece9;justify-content:space-between;align-items:center;gap:24px;padding:18px 8px;text-decoration:none;display:flex}.exp-card:first-of-type{border-top:0}.exp-card:hover{background:#f8fbfa}.exp-card>div:first-child{gap:5px;display:grid}.exp-card>div:first-child span,.exp-card-meta{color:#728078;font-size:12px}.exp-card-meta{white-space:nowrap;align-items:center;gap:14px;display:flex}.exp-status{color:#4e6159;text-transform:uppercase;background:#e9efed;border-radius:999px;align-items:center;width:fit-content;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.exp-status-completed{color:#087553;background:#d9f5e9}.exp-status-running,.exp-status-queued{color:#8c6500;background:#fff0c9}.exp-status-failed{color:#ae3229;background:#ffe0dd}.exp-alert,.exp-empty{background:#fff;border:1px solid #dce7e2;border-radius:10px;margin:18px 0;padding:15px 18px}.exp-alert-error{color:#9c2d25;background:#fff8f7;border-color:#f0aaa4}.exp-alert-ok{color:#087553;background:#f2fcf8;border-color:#9bd9c2}.exp-breadcrumb{color:#718078;gap:9px;margin-bottom:14px;font-size:12px;display:flex}.exp-breadcrumb a{color:#087a5a}.exp-detail-head{justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.exp-detail-head h1{font-size:34px}.exp-detail-head code{overflow-wrap:anywhere}.exp-head-actions{gap:10px;display:flex}.exp-workbench{grid-template-columns:250px minmax(0,1fr);margin-top:20px;display:grid;overflow:hidden}.exp-sidebar{background:#f8fbfa;border-right:1px solid #dfe8e4;flex-direction:column;gap:12px;padding:22px;display:flex}.exp-sidebar h2,.exp-sidebar h3{margin:0}.exp-sidebar h3{margin-top:12px;font-size:13px}.exp-sidebar>small{color:#718078;line-height:1.4}.exp-sidebar-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.exp-sidebar-title button{padding:7px 9px;font-size:11px}.exp-variant-list{gap:6px;max-height:240px;display:grid;overflow:auto}.exp-variant-list>button{color:#304a40;text-align:left;background:#fff;border:1px solid #dce7e2;justify-content:space-between;align-items:center;gap:8px;padding:9px;display:flex}.exp-variant-list>button.active{border-color:#087a5a;box-shadow:inset 3px 0 #087a5a}.exp-variant-list>button>span:first-child{gap:3px;min-width:0;display:grid}.exp-variant-list strong,.exp-variant-list code{text-overflow:ellipsis;overflow:hidden}.exp-variant-list code{color:#718078;font-size:10px}.exp-file-actions{gap:6px;display:grid}.exp-file-actions button,.exp-file-button{text-align:center;padding:8px 10px;font-size:11px}.exp-file-button{cursor:pointer;background:#087a5a;border-radius:9px;color:#fff!important;display:block!important}.exp-file-button input{opacity:0;pointer-events:none;width:1px;height:1px;padding:0;position:absolute}.exp-side-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.exp-side-stats span{color:#718078;background:#fff;border:1px solid #dce7e2;border-radius:8px;gap:4px;padding:9px;font-size:10px;display:grid}.exp-side-stats strong{color:#172820;font-size:15px}.exp-runs{gap:6px;display:grid}.exp-runs>div{grid-template-columns:auto 1fr auto;align-items:center;gap:7px;font-size:10px;display:grid}.exp-main{min-width:0}.exp-profile-tabs{border-bottom:1px solid #dfe8e4;gap:1px;padding:12px 16px 0;display:flex;overflow-x:auto}.exp-profile-tabs button{text-align:left;color:#3f544b;background:#edf3f0;border-radius:9px 9px 0 0;gap:3px;min-width:180px;display:grid}.exp-profile-tabs button span{text-overflow:ellipsis;font-size:10px;font-weight:500;overflow:hidden}.exp-profile-tabs button.active{color:#fff;background:#087a5a}.exp-editor{gap:18px;padding:20px;display:grid}.exp-editor-section{border:1px solid #dfe8e4;border-radius:12px;overflow:hidden}.exp-editor-section h3{background:#f3f7f5;border-bottom:1px solid #dfe8e4;margin:0;padding:12px 15px;font-size:14px}.exp-fields{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:12px;padding:14px;display:grid}.exp-field{color:#50615a;gap:5px;font-size:11px;display:grid}.exp-field input{background:#fff;border:1px solid #cbd9d3;border-radius:7px;min-width:0;padding:8px 9px}.exp-field input[readonly]{color:#728078;background:#edf1ef}.exp-field small{color:#8a9791}.exp-field-wide,.exp-fieldset{grid-column:1/-1}.exp-field-label{justify-content:space-between;align-items:center;display:flex}.exp-field-label span{color:#9b6d2c;font-size:10px}.exp-checkbox{grid-template-columns:auto 1fr;align-items:center}.exp-checkbox input{width:17px;height:17px}.exp-fieldset{border:1px solid #e1e9e5;border-radius:9px;margin:0;padding:0}.exp-fieldset legend{margin-left:10px;padding:0 5px;font-size:11px;font-weight:800}.exp-json{border:1px solid #d2ddd8;border-radius:8px;width:100%;min-height:160px;padding:10px;font:11px/1.45 ui-monospace,monospace}.exp-table-scroll{overflow:auto}.exp-param-table,.exp-metrics{border-collapse:collapse;width:100%;font-size:11px}.exp-param-table th,.exp-param-table td,.exp-metrics th,.exp-metrics td{text-align:left;border:1px solid #dfe8e4;padding:7px 8px}.exp-param-table input{border:0;min-width:100px;padding:3px}.exp-validation{background:#fff5f3;border:1px solid #f0aaa4;border-radius:10px;margin:0 20px 20px;padding:14px}.exp-validation h3{margin:0 0 8px}.exp-validation p{margin:5px 0;font-size:11px}.exp-results{margin-top:20px;padding:24px}.exp-comparison-list{gap:24px;display:grid}.exp-comparison-list>article{border:1px solid #dfe8e4;border-radius:14px;padding:18px}.exp-comparison-list>article>h3{margin:0 0 16px}.exp-comparison-list>article>h3 code{color:#718078;margin-left:7px;font-size:11px}.exp-comparison-warnings{color:#725600;background:#fff7df;border-radius:9px;margin-bottom:14px;padding:10px 12px;font-size:11px}.exp-comparison-warnings p{margin:3px 0}.exp-chart-controls{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:14px;display:grid}.exp-chart{border:1px solid #dfe8e4;border-radius:12px;height:420px;padding:8px}.exp-metrics{margin-top:16px}.exp-metrics th{background:#f3f7f5;position:sticky;top:0}.exp-fit{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.exp-fit span{color:#52655d;background:#edf5f2;border-radius:8px;padding:9px 12px;font-size:11px}.exp-fit strong{color:#087553;margin-left:5px}.exp-dialog{border:0;border-radius:16px;width:min(620px,100vw - 32px);padding:0;box-shadow:0 25px 90px #00000047}.exp-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0718129e}.exp-dialog>p,.exp-dialog>ul{margin:18px 24px;line-height:1.55}.exp-dialog-head{border-bottom:1px solid #dfe8e4;justify-content:space-between;gap:20px;padding:22px 24px;display:flex}.exp-dialog-head h2{margin:0}.exp-dialog-head button{color:#344b42;background:0 0;align-self:start;padding:2px 7px;font-size:24px}.exp-dialog-actions{background:#f6f9f8;justify-content:flex-end;gap:10px;padding:18px 24px;display:flex}@media (width<=900px){.exp-header{padding:0 18px}.exp-page{width:min(100% - 24px,1500px);padding-top:18px}.exp-hero,.exp-workbench{grid-template-columns:1fr}.exp-sidebar{border-bottom:1px solid #dfe8e4;border-right:0}.exp-detail-head,.exp-card{flex-direction:column;align-items:flex-start}.exp-chart-controls{grid-template-columns:1fr}}.admin-shell{background:#f4f7f1;min-height:100vh}.admin-header{color:#fff;background:var(--color-green-900);grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:24px;min-height:76px;padding:14px clamp(20px,4vw,56px);display:grid;box-shadow:0 8px 24px #0c301f2e}.admin-header>div{gap:2px;display:grid}.admin-header span{color:#ffffffad;font-size:13px}.admin-header nav{gap:8px;display:flex}.admin-header a{color:#ffffffc2;border-radius:6px;padding:9px 12px;font-weight:700;text-decoration:none}.admin-header a.active,.admin-header a:hover{color:#fff;background:#ffffff1f}.admin-header button{color:#fff;background:0 0;border-color:#ffffff42}.admin-main{width:min(1280px,100% - 40px);margin:0 auto;padding:44px 0 64px}.admin-section{gap:24px;display:grid}.admin-title{justify-content:space-between;align-items:end;gap:20px;display:flex}.admin-title p{color:var(--color-orange-600);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:900}.admin-title h1{color:var(--color-green-900);margin:0;font-size:clamp(30px,4vw,48px)}.admin-title-actions,.admin-row-actions,.admin-user-form-actions{align-items:center;gap:10px;display:flex}.admin-title-actions{flex-wrap:wrap;justify-content:flex-end}.admin-primary-link{color:#fff;background:var(--color-orange-600);border-radius:6px;padding:11px 16px;font-weight:800;text-decoration:none}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.admin-card,.admin-state,.admin-error{border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);background:#fff;padding:24px}.admin-card{gap:10px;display:grid}.admin-card span,.admin-card small{color:var(--color-muted)}.admin-card strong{overflow-wrap:anywhere;color:var(--color-green-900);font-size:22px}.admin-error{color:#8a2d13;background:#fff7f4;border-color:#edc1b5}.admin-table-wrap{border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);background:#fff;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8ede4;padding:14px 16px}.admin-table th{color:var(--color-green-900);background:#f1f5ed}.admin-sort-button{min-height:0;color:inherit;box-shadow:none;font-weight:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.admin-sort-button:hover{color:var(--color-orange-600);box-shadow:none;background:0 0}.admin-pagination{justify-content:center;align-items:center;gap:14px;display:flex}.admin-users-table{min-width:1400px}.admin-users-table td:last-child{white-space:nowrap}.admin-user-active,.admin-user-inactive{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-block}.admin-user-active{color:var(--color-green-800);background:var(--color-green-100)}.admin-user-inactive{color:#7f3623;background:var(--color-orange-100)}.admin-danger-button{color:#a33b22;border-color:#e4b8ad}.admin-user-dialog{border:1px solid var(--color-line);width:min(680px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--color-ink);background:#fff;border-radius:10px;padding:0;overflow:auto;box-shadow:0 28px 80px #0c301f47}.admin-user-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#081d1394}.admin-user-form{gap:20px;padding:24px;display:grid}.admin-user-dialog-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.admin-user-dialog-title p,.admin-user-dialog-title h2{margin:0}.admin-user-dialog-title p{color:var(--color-orange-600);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:900}.admin-user-dialog-title h2{color:var(--color-green-900)}.admin-user-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-user-fields label,.admin-user-roles label{gap:6px;display:grid}.admin-user-fields input{border:1px solid var(--color-line);border-radius:6px;width:100%;min-height:40px;padding:8px 10px}.admin-user-roles{border:1px solid var(--color-line);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:14px;display:grid}.admin-user-roles legend{color:var(--color-green-900);padding:0 6px;font-weight:800}.admin-user-roles label,.admin-user-form>.admin-checkbox{align-items:center;gap:8px;display:flex}.admin-user-form-actions{justify-content:flex-end}.admin-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.admin-form{align-content:start}.admin-form h2,.admin-form p{margin:0}.admin-form label{gap:6px;display:grid}.admin-form input,.admin-form select,.admin-toolbar input,.admin-series-search{border:1px solid var(--color-line);background:#fff;border-radius:6px;width:100%;min-height:40px;padding:8px 10px}.admin-form .admin-checkbox{align-items:center;gap:8px;display:flex}.admin-form .admin-checkbox input{width:auto;min-height:auto}.admin-output{color:#dce8df;white-space:pre-wrap;background:#183c2f;border-radius:6px;max-height:360px;margin:0;padding:16px;overflow:auto}.admin-toolbar,.admin-series-actions{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.admin-toolbar label{gap:5px;display:grid}.admin-series-search{color:var(--color-ink)}.admin-series-search:focus{border-color:var(--color-orange-500);outline:2px solid #e06a1438}.admin-series-layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:20px;display:grid}:is(.admin-shell:has(.admin-external-series),.admin-shell:has(.admin-users)){grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}:is(.admin-main:has(.admin-external-series),.admin-main:has(.admin-users)){min-width:0;height:100%;min-height:0;padding:24px 0}.admin-users{flex-direction:column;gap:16px;width:100%;min-width:0;height:100%;min-height:0;display:flex}.admin-users .admin-table-wrap{flex:1;width:100%;min-width:0;min-height:0;overflow:auto}.admin-users .admin-table th{z-index:1;position:sticky;top:0}.admin-external-series{grid-template-rows:auto auto auto minmax(0,1fr);gap:16px;height:100%;min-height:0}.admin-external-series .admin-daily-run{grid-template-columns:minmax(260px,1fr) 120px 100px 150px auto;align-items:end;padding:16px}.admin-external-series .admin-daily-run>.admin-error,.admin-external-series .admin-daily-run>.admin-state,.admin-external-series .admin-daily-run>.admin-output{grid-column:1/-1}.admin-external-series .admin-daily-run>.admin-output{max-height:160px}.admin-external-series .admin-series-layout{align-items:stretch;min-height:0}.admin-chart,.admin-series-panel{border:1px solid var(--color-line);background:#fff;border-radius:8px;padding:16px}.admin-external-series .admin-chart{min-height:0}.admin-external-series .admin-series-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.admin-series-actions span{color:var(--color-muted)}.admin-series-panel h2{color:var(--color-green-900);margin:0}.admin-series-list{grid-template-columns:1fr;gap:8px 16px;max-height:360px;margin-top:16px;display:grid;overflow:auto}.admin-external-series .admin-series-list{flex:1;min-height:0;max-height:none}.admin-series-list label{overflow-wrap:anywhere;grid-template-columns:auto 10px 1fr;align-items:center;gap:8px;min-width:0;font-size:13px;display:grid}.admin-series-list label>span{border-radius:50%;width:10px;height:10px}@media (width<=780px){.admin-header{grid-template-columns:1fr auto}.admin-header nav{grid-area:2/1/auto/-1}.admin-grid,.admin-two-columns,.admin-external-series .admin-daily-run,.admin-series-layout,.admin-series-list{grid-template-columns:1fr}.admin-external-series .admin-series-layout{grid-template-rows:repeat(2,minmax(0,1fr))}.admin-title{flex-direction:column;align-items:start}.admin-title-actions{justify-content:space-between;width:100%}.admin-user-fields,.admin-user-roles{grid-template-columns:1fr}.admin-users-table{min-width:0}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block}.admin-table thead{display:none}.admin-table tr{border-bottom:1px solid var(--color-line);padding:10px 0}.admin-table td{border:0;grid-template-columns:110px 1fr;gap:10px;display:grid}.admin-table td:before{content:attr(data-label);color:var(--color-muted);font-weight:800}}*{box-sizing:border-box}html{background:var(--color-paper)}body{background:linear-gradient(90deg,#5f8f2f0d 1px,#0000 1px) 0 0/96px 96px,linear-gradient(0deg,#d95f0b0a 1px,#0000 1px) 0 0/96px 96px,radial-gradient(circle at 82% 14%,#5f8f2f1f,#0000 270px),linear-gradient(#fffdf8 0%,#f7faf2 52%,#fffdf8 100%);min-width:320px;min-height:100vh;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(135deg,#0000 0 48%,#d95f0b1a 49% 51%,#0000 52%) right 70px top 120px/260px 260px no-repeat,linear-gradient(45deg,#0000 0 48%,#5f8f2f1a 49% 51%,#0000 52%) right 120px bottom 90px/220px 220px no-repeat;position:fixed;inset:0}button,input,select{font:inherit}button{background:var(--color-surface);min-height:40px;color:var(--color-green-800);cursor:pointer;border:1px solid #17412638;border-radius:6px;padding:9px 14px;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s}button:hover{border-color:var(--color-green-500);background:#f8fbf4;box-shadow:0 8px 22px #0e2c1b14}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}.primary-button{background:var(--color-orange-600);border-color:var(--color-orange-600);color:#fff;font-weight:700;box-shadow:0 12px 28px #d95f0b38}.primary-button:hover{background:#c95508;border-color:#c95508}.login-page,.page-center{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border-radius:var(--radius-card);width:min(520px,100%);box-shadow:var(--shadow-soft);background:#ffffffeb;border:1px solid #1741261f;padding:34px;position:relative;overflow:hidden}.login-card:after{content:"";background:linear-gradient(90deg,#0000 48%,#d95f0b2e 49% 51%,#0000 52%),linear-gradient(#0000 48%,#5f8f2f29 49% 51%,#0000 52%);border:1px solid #d95f0b2e;width:210px;height:210px;position:absolute;bottom:-74px;right:-58px;transform:rotate(34deg)}.brand-lockup{align-items:center;gap:12px;min-width:0;display:inline-flex}.brand-lockup strong{color:var(--color-ink);font-size:22px;line-height:1;display:block}.brand-lockup small{color:var(--color-muted);letter-spacing:0;margin-top:2px;font-size:14px;font-weight:800;line-height:1;display:block}.brand-mark{place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%}.login-card h1{color:var(--color-green-700);margin:34px 0 14px;font-size:38px;line-height:1.05}.login-card p{color:#344132;margin:0 0 26px;line-height:1.65}.login-field{color:var(--color-green-800);gap:7px;margin-bottom:14px;font-weight:700;display:grid}.login-field input{width:100%;min-height:42px;color:var(--color-ink);background:#fff;border:1px solid #17412633;border-radius:6px;padding:10px 12px}.login-field input:focus{border-color:var(--color-green-500);outline:2px solid #5f8f2f47}.login-error{color:#8f1d1d;background:#fff1f1;border:1px solid #b91c1c38;border-radius:6px;margin:4px 0 14px;padding:10px 12px;font-size:14px;line-height:1.35}.workspace{flex-direction:column;width:100%;max-width:none;height:100dvh;margin:0 auto;padding:clamp(12px,1.15vw,24px);display:flex;position:relative;overflow:hidden}.workspace-header{background:linear-gradient(105deg, #fffffff5 0 30%, #edf5e5c7 30% 100%), var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);border:1px solid #1741261f;grid-template-columns:268px minmax(0,1fr);align-items:center;gap:18px;margin-bottom:10px;padding:12px 16px;display:grid;position:relative;overflow:hidden}.workspace-header:after{content:"";pointer-events:none;opacity:.42;background-color:#0000;background-image:linear-gradient(90deg,#0000 0 32px,#d95f0b47 32px 34px,#0000 34px),linear-gradient(0deg,#0000 0 32px,#5f8f2f3d 32px 34px,#0000 34px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:68px 68px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:300px;height:115px;position:absolute;top:-34px;right:32px;transform:rotate(-8deg)}.workspace-header>*{z-index:1;position:relative}.header-brand{min-width:0}.workspace .brand-mark{width:50px;height:50px}.workspace .brand-lockup strong{font-size:23px}.workspace .brand-lockup small{margin-top:2px;font-size:15px}.header-meta{grid-template-columns:minmax(180px,.72fr) minmax(640px,1.48fr);grid-template-areas:"copy actions""status status";align-items:center;gap:8px 12px;min-width:0;display:grid}.header-copy{grid-area:copy;min-width:0}.workspace-header h1{max-width:720px;color:var(--color-orange-600);margin:3px 0 2px;font-size:26px;line-height:1.1}.workspace-header h1 span{color:inherit}.workspace-header p{color:var(--color-muted);margin:0;font-size:14px}.eyebrow{color:var(--color-green-500);text-transform:uppercase;letter-spacing:0;margin:0;font-size:11px;font-weight:800}.header-actions{grid-area:actions;justify-content:flex-end;justify-self:stretch;align-items:center;gap:18px;min-width:0;display:flex}.tabs{background:#ffffffc2;border:1px solid #1741261a;border-radius:8px;flex:620px;gap:8px;width:auto;max-width:100%;margin:0;padding:4px;display:flex}.logout-button{flex:none;margin-left:auto}.tabs button{min-height:34px;color:var(--color-green-800);white-space:nowrap;background:0 0;border-color:#0000;flex:auto;padding:7px 12px}.tabs .tab-active{color:#fff;border-color:var(--color-green-700);background:linear-gradient(135deg, var(--color-green-700), var(--color-green-900));box-shadow:0 10px 24px #0c301f33}.workspace-method-panel{color:var(--color-muted);gap:8px;margin-top:auto;font-size:11px;display:grid}.chart-model-caption,.export-actions{display:none!important}.workspace-method-group{background:#ffffffd1;border:1px solid #1741261f;border-radius:8px;gap:6px;padding:8px 10px;display:grid}.workspace-method-group-title{color:var(--color-green-800);font-size:11px;font-weight:900}.workspace-method-option{min-width:0;color:var(--color-green-800);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-weight:800;display:grid}.workspace-method-option input[type=radio]{margin:0}.workspace-method-ivanov-block{gap:6px;display:grid}.workspace-method-ivanov-variants{gap:4px;padding-left:22px;display:grid}.workspace-method-panel+.export-actions{margin-top:8px}.export-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #1741261f;border-radius:8px;align-self:stretch;gap:8px;margin-top:auto;padding:8px;display:grid;box-shadow:0 14px 34px #0e2c1b29}.export-actions button{width:100%;min-height:34px;padding:7px 10px;font-size:13px;font-weight:700}.export-error{color:#9f1d20;font-size:11px;font-weight:700;line-height:1.25}.map-layout,.chart-layout{gap:clamp(12px,.9vw,18px);display:grid}.map-layout{flex:1;grid-template-columns:clamp(280px,17vw,330px) minmax(520px,1fr) clamp(280px,17vw,340px);align-items:stretch;min-height:0;overflow:hidden}.map-main{grid-template-rows:minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;display:grid}.map-export-frame{min-height:0;display:grid}.chart-layout{flex:1;grid-template-columns:clamp(280px,17vw,330px) minmax(0,1fr);align-items:stretch;min-height:0;overflow:hidden}.map-container{--field-label-scale:.7;border-radius:var(--radius-card);height:100%;min-height:320px;box-shadow:var(--shadow-soft);background:#dfe9d2;border:1px solid #17412629;overflow:hidden}.map-time-ruler{border-radius:var(--radius-card);background:#fffffff0;border:1px solid #1741261f;grid-template-columns:34px 34px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:12px 14px 8px;display:grid;box-shadow:0 12px 34px #0e2c1b14}.map-time-ruler button{width:34px;height:34px;color:var(--color-green-900);border-radius:8px;padding:0;font-size:22px;line-height:1}.map-time-ruler .map-time-play{color:#fff;background:linear-gradient(135deg, var(--color-green-700), var(--color-green-900));border-color:var(--color-green-700);font-size:13px;font-weight:900}.map-time-track-wrap{min-width:0;padding-top:30px;position:relative}.map-time-label{z-index:2;color:var(--color-green-900);white-space:nowrap;cursor:ew-resize;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #1741261f;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;top:0;transform:translate(-50%);box-shadow:0 5px 14px #0e2c1b1a}.map-time-label:before{content:"";background:var(--color-green-700);width:2px;height:16px;position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%)}.map-time-label:after{content:"";background:var(--color-green-800);border:2px solid #fff;border-radius:999px;width:14px;height:14px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 3px 10px #0e2c1b38}.map-time-label span{color:var(--color-orange-600);text-transform:uppercase;font-size:10px}.map-time-track{background:linear-gradient(90deg,#5f8f2f3d,#5f8f2f57);border-radius:999px;height:8px;position:relative;overflow:hidden}.map-time-forecast{background:#d95f0b26;position:absolute;top:0;bottom:0;right:0}.map-time-boundary{background:var(--color-orange-600);width:2px;position:absolute;top:-4px;bottom:-4px;transform:translate(-1px)}.map-time-ruler input[type=range]{z-index:3;opacity:0;cursor:ew-resize;width:100%;height:22px;position:absolute;inset:28px 0 auto}.map-time-scale{color:var(--color-muted);justify-content:space-between;margin-top:8px;font-size:11px;font-weight:700;display:flex}.map-help,.field-selector,.chart-panel{border-radius:var(--radius-card);background:#fffffff0;border:1px solid #1741261f;padding:16px;position:relative;overflow:hidden;box-shadow:0 12px 34px #0e2c1b14}.map-help{flex-direction:column;min-height:0;display:flex;overflow:hidden}.field-selector,.chart-panel{flex-direction:column;min-height:0;display:flex}.devices-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:clamp(280px,17vw,330px) minmax(0,1fr)}.sensor-source-toolbar label{color:#536255;align-items:center;gap:6px;font-size:.82rem;display:flex}.sensor-source-toolbar input{color:#253328;background:#fff;border:1px solid #c5d8bd;border-radius:6px;padding:6px 8px}.sensor-source-legend{color:#536255;align-items:center;gap:10px;font-size:.78rem;display:flex}.sensor-source-legend span{align-items:center;gap:5px;display:inline-flex}.sensor-source-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.sensor-source-dot-trusted{background:#2f8f65}.sensor-source-dot-watch{background:#c28b2c}.sensor-source-table{table-layout:fixed;min-width:0}.sensor-source-cell{padding:0;overflow:visible}.sensor-source-bar{z-index:4;color:#fff;white-space:nowrap;background:var(--sensor-source-color,#748174);border-radius:5px;align-items:center;height:22px;padding:0 6px;font-size:.72rem;display:flex;position:absolute;top:8px;left:1px;overflow:hidden}.sensor-source-bar span{text-overflow:ellipsis;overflow:hidden}.sensor-source-bar-muted{opacity:.82}.equipment-workbench{grid-template-columns:minmax(0,1fr) clamp(240px,16vw,280px);gap:8px;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.equipment-workbench-natlogger{height:auto}.equipment-chart-box{min-height:0}.equipment-chart-stack{grid-template-rows:repeat(4,minmax(0,1fr));gap:6px;min-width:0;height:100%;min-height:0;display:grid;overflow:visible}.equipment-chart-stack-natlogger{grid-template-rows:repeat(4,minmax(0,1fr));height:100%}.equipment-chart-stack-focused{flex-direction:column;display:flex}.equipment-chart-block{min-height:0;box-shadow:none;transition:border-color .16s,box-shadow .16s,background .16s,opacity .16s;position:relative;overflow:visible}.equipment-chart-block-natlogger{padding-top:14px}.equipment-chart-block:focus-visible{outline-offset:2px;outline:2px solid #e06a1447}.equipment-chart-block-focused{min-height:0}.equipment-chart-block-compact{opacity:.82}.equipment-chart-block-title{align-items:center;gap:8px;max-width:calc(100% - 24px);display:flex}.equipment-chart-block-title span{color:var(--color-muted);text-transform:none;font-size:10px;font-weight:800}.equipment-chart-canvas{height:100%;min-height:0;padding:0}.equipment-selected-date-control{grid-template-columns:minmax(0,1fr)}.equipment-selected-date-control input{width:100%}.equipment-tooltip{color:#43513f;background:#fffefa;border:1px solid #1741262e;border-radius:6px;gap:3px;width:max-content;min-width:168px;max-width:min(300px,74vw);max-height:none;padding:5px 7px;font-size:10px;line-height:1.12;display:grid;overflow:visible;box-shadow:0 8px 18px #0e2c1b1f}.equipment-tooltip>strong{color:#43513f;font-size:10px;font-weight:800;line-height:1.1}.equipment-tooltip-row,.equipment-tooltip-summary{gap:4px;min-width:0;display:grid}.equipment-tooltip-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.equipment-tooltip-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.equipment-tooltip-row>span{gap:1px;display:grid}.equipment-tooltip-row small{color:#63705c;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;line-height:1.05;overflow:hidden}.equipment-tooltip-row strong{color:currentColor;font-weight:900}.equipment-tooltip-summary{border-left:3px solid var(--tooltip-color,#5f8f2f9e);grid-template-columns:minmax(0,1fr) auto;padding-left:7px}.equipment-tooltip-summary>span{color:#314232;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.equipment-tooltip-summary>strong{color:var(--color-green-900);font-weight:900}.equipment-tooltip-summary>small{color:var(--color-muted);grid-column:1/-1;font-size:10px;font-weight:800}.equipment-side-panel{overflow:hidden auto}.equipment-source-control,.equipment-resolution-control{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:0;margin:0;padding:0;display:grid}.equipment-source-control label,.equipment-resolution-control label{min-width:0;min-height:32px;color:var(--color-muted);cursor:pointer;background:#ffffffc7;border:1px solid #1741261f;border-radius:7px;place-items:center;font-size:11px;font-weight:900;display:grid}.equipment-source-control input,.equipment-resolution-control input{opacity:0;pointer-events:none;position:absolute}.equipment-source-active,.equipment-resolution-active{color:var(--color-green-900);box-shadow:inset 0 0 0 1px #5f8f2f2e;background:#eaf6e3!important;border-color:#5f8f2f57!important}.equipment-quality-badge{min-width:0;color:var(--color-green-900);background:#ffffffc2;border:1px solid #1741261f;border-radius:7px;justify-content:space-between;align-items:center;gap:6px;margin-top:2px;padding:5px 7px;font-size:11px;font-weight:900;line-height:1.15;display:flex}.equipment-quality-badge>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.equipment-quality-badge-trusted{background:#eaf6e3d1;border-color:#5f8f2f47}.equipment-quality-badge-degraded,.equipment-quality-badge-unknown{background:#fff8e2d6;border-color:#b8791c47}.equipment-quality-badge-untrusted{background:#ffebe5d1;border-color:#b7472d47}.equipment-source-body{gap:8px;min-height:0;display:grid}.equipment-provider-status{min-width:0;color:var(--color-green-900);background:#ffffffbd;border:1px solid #17412624;border-radius:7px;gap:7px;padding:9px;display:grid}.equipment-provider-status-heading{justify-content:space-between;align-items:center;gap:7px;min-width:0;font-size:11px;font-weight:900;line-height:1.15;display:flex}.equipment-provider-status-heading>span,.equipment-provider-status-heading>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.equipment-provider-status-heading>strong{color:var(--color-green-900);background:#5f8f2f1f;border-radius:999px;padding:3px 6px;font-size:10px}.equipment-provider-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.equipment-provider-status-grid>span{background:#ffffff94;border:1px solid #17412617;border-radius:6px;gap:2px;min-width:0;padding:6px 7px;display:grid}.equipment-provider-status-grid small,.equipment-provider-status-note{color:var(--color-muted);font-size:10px;font-weight:800;line-height:1.2}.equipment-provider-status-grid strong{color:var(--color-green-900);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:900;overflow:hidden}.equipment-provider-status-note{gap:2px;margin:0;display:grid}.equipment-provider-status-list{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.equipment-provider-status-list>span{color:#314232;text-overflow:ellipsis;white-space:nowrap;background:#17412612;border-radius:999px;max-width:100%;padding:3px 6px;font-size:10px;font-weight:800;line-height:1.15;overflow:hidden}.equipment-provider-status-ok{background:#eaf6e3c7;border-color:#5f8f2f3d}.equipment-provider-status-warn{background:#fff8e2c7;border-color:#b8791c3d}.equipment-provider-status-error{background:#ffebe5c2;border-color:#b7472d3d}.equipment-provider-status-empty,.equipment-provider-status-unknown{background:#ffffffad;border-color:#1741261f}.equipment-checkbox-filter{background:#ffffffb8;border:1px solid #17412624;border-radius:7px;min-height:0;display:block;overflow:hidden;box-shadow:inset 0 1px #ffffffad}.equipment-filter-heading,.equipment-signal-group-title{color:var(--color-green-900);justify-content:space-between;align-items:baseline;gap:6px;font-size:11px;font-weight:900;line-height:1.1;display:flex}.equipment-filter-heading{cursor:pointer;background:#ffffffa3;border-radius:7px;min-height:32px;padding:8px 9px;list-style:none}.equipment-filter-heading::-webkit-details-marker{display:none}.equipment-filter-heading:after{content:"▾";color:var(--color-muted);font-size:12px;transition:transform .16s;transform:rotate(-90deg)}.equipment-checkbox-filter[open] .equipment-filter-heading:after{transform:rotate(0)}.equipment-checkbox-filter[open] .equipment-filter-heading{border-bottom:1px solid #1741261a;border-radius:7px 7px 0 0;margin-bottom:6px}.equipment-filter-heading small{color:var(--color-muted);font-size:10px;font-weight:900}.equipment-checkbox-list{gap:3px;display:grid}.equipment-filter-actions{justify-content:flex-end;gap:6px;margin:0 6px 5px;display:flex}.equipment-filter-actions button{min-height:24px;color:var(--color-green-900);cursor:pointer;background:#eaf6e3d1;border:1px solid #17412629;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:900;line-height:1}.equipment-filter-actions button:disabled{opacity:.48;cursor:default}.equipment-checkbox-filter>.equipment-checkbox-list{max-height:190px;margin:0 6px 6px;padding-right:2px;overflow:auto}.equipment-signal-list{max-height:230px;margin:0 6px 6px;padding-right:2px;overflow:auto}.equipment-checkbox-row{color:#314232;cursor:pointer;border-radius:6px;grid-template-columns:14px minmax(0,1fr);align-items:start;gap:6px;min-width:0;padding:4px 5px;display:grid}.equipment-checkbox-row:hover{background:#eaf6e394}.equipment-checkbox-row input{width:13px;height:13px;accent-color:var(--color-green-900);margin:1px 0 0}.equipment-checkbox-text{gap:1px;min-width:0;display:grid}.equipment-checkbox-text>span,.equipment-checkbox-text>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.equipment-checkbox-text>span{font-size:10.5px;font-weight:850;line-height:1.08}.equipment-checkbox-text>small{color:var(--color-muted);font-size:9px;font-weight:800;line-height:1}.equipment-signal-group{gap:3px;display:grid}.equipment-signal-group+.equipment-signal-group{border-top:1px solid #17412614;padding-top:4px}.equipment-signal-group-title{color:#40503e;text-transform:uppercase;justify-content:flex-start;font-size:10px}.equipment-legend{max-height:min(46vh,520px);padding-right:4px;overflow:auto}.equipment-legend-label{gap:1px;min-width:0;display:grid}.equipment-legend-label>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.equipment-legend-label>small{color:var(--color-muted);font-size:9px;font-weight:800;line-height:1}.map-help:after,.chart-panel:after{content:"";pointer-events:none;opacity:.18;border:1px solid var(--color-orange-600);width:130px;height:130px;position:absolute;bottom:-34px;right:-34px;transform:rotate(45deg)}.map-help h2,.field-selector h2{color:var(--color-green-900);margin:0}.map-help p{color:#40503e;line-height:1.55}.map-mode-group{border:0;gap:8px;margin:12px 0;padding:0;display:grid}.map-mode-group legend{color:var(--color-green-500);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.map-mode-option{color:#21351f;cursor:pointer;background:#ffffffb8;border:1px solid #1741261a;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:8px;font-size:13px;display:grid}.map-mode-option:has(input:checked){background:var(--color-green-100);border-color:#5f8f2f6b;font-weight:700}.map-legend{gap:8px;margin-top:8px;display:grid}.map-legend h3{color:var(--color-green-900);margin:0;font-size:16px}.map-legend-list{gap:8px;display:grid}.map-legend-item{color:#314232;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.map-legend-swatch{border:1px solid #17412633;border-radius:3px;width:18px;height:12px}.map-gradient-legend{gap:6px;display:grid}.map-gradient-legend>span{border:1px solid #17412624;border-radius:999px;height:14px}.map-gradient-legend div{color:var(--color-muted);justify-content:space-between;font-size:12px;font-weight:700;display:flex}.map-discrete-legend{background:#fff;border:1px solid #17412624;border-radius:8px;display:grid;overflow:hidden}.map-discrete-legend-five{grid-template-columns:repeat(5,minmax(0,1fr))}.map-discrete-legend-four{grid-template-columns:repeat(4,minmax(0,1fr))}.map-discrete-legend span{border-right:1px solid #ffffffb8;grid-template-rows:18px auto;min-width:0;display:grid}.map-discrete-legend span:last-child{border-right:0}.map-discrete-legend i{display:block}.map-discrete-legend small{color:var(--color-green-900);text-align:center;white-space:nowrap;padding:3px 2px 4px;font-size:9px;font-weight:800;line-height:1}.field-center-label{pointer-events:none}.field-center-label span{color:#10251a;text-align:center;white-space:nowrap;text-shadow:0 1px 1px #ffffffe6;min-width:18px;transform:translate(-50%, -50%) scale(var(--field-label-scale));transform-origin:50%;background:#ffffffad;border:1px solid #0c301f2e;border-radius:999px;padding:1px 4px;font-size:11px;font-weight:800;line-height:1.2;display:inline-block;box-shadow:0 2px 8px #0e2c1b1a}.field-tooltip{min-width:230px;font-size:13px;line-height:1.45}.field-tooltip-map-summary{border-bottom:1px solid #e2e8d8;align-items:baseline;gap:8px;margin-bottom:6px;padding-bottom:6px;display:flex}.field-tooltip-map-summary strong{color:#3f4541;font-size:15px;font-weight:900;line-height:1.15}.field-tooltip-map-summary span{white-space:nowrap;font-size:14px;font-weight:900;line-height:1.15}.field-tooltip-current{color:#12345b}.field-tooltip-forecast{color:#8a3a00;margin-top:6px}.field-tooltip hr{border:0;border-top:1px solid #e2e8d8;margin:8px 0}.tooltip-warning{color:#9f1d20;margin-top:8px}.leaflet-kornix-tooltip{border-radius:var(--radius-card);border:0;box-shadow:0 12px 28px #0f172a2e}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-header span{color:var(--color-orange-600);font-weight:700}.text-input,select,input[type=date]{width:100%;color:var(--color-ink);background:#fff;border:1px solid #1741262e;border-radius:6px;padding:9px 10px}.text-input:focus,select:focus,input[type=date]:focus{border-color:var(--color-orange-500);outline:2px solid #e06a1438}input[type=checkbox]{accent-color:var(--color-green-700)}.selector-actions{gap:8px;margin:12px 0;display:flex}.field-list{flex:1;align-content:start;gap:2px;min-height:0;padding-right:2px;display:grid;overflow:hidden auto}.field-list-item{border:1px solid var(--field-zone-border,#1741261a);background:var(--field-zone-surface,#fff);cursor:pointer;border-radius:3px;grid-template-columns:auto minmax(0,1fr) 12px;align-items:center;gap:7px;width:100%;min-width:0;height:36px;min-height:36px;padding:4px 7px;transition:border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative}.field-list-main{min-width:0}.field-list-item:hover{border-color:var(--field-zone-border-hover,var(--field-zone-border,#5f8f2f66));box-shadow:0 8px 18px #0e2c1b12}.field-status-card:after{content:attr(data-status-label);z-index:8;border:1px solid var(--field-zone-tooltip-border,#17412624);background:var(--field-zone-tooltip-surface,#fffffff5);max-width:180px;color:var(--field-zone-tooltip-text,var(--color-green-900));white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:800;line-height:1.15;transition:opacity .12s .2s,transform .12s .2s;position:absolute;top:50%;right:8px;transform:translate(4px,-50%);box-shadow:0 8px 18px #0e2c1b21}.field-status-card:hover:after{opacity:1;transform:translateY(-50%)}.field-list-zone-upper_warning.field-status-card:after{color:#245a70;background:#dff4fff5;border-color:#5a9fbd4d}.field-list-zone-lower_warning.field-status-card:after{color:#6f560f;background:#fff8dff5;border-color:#d8b13e57}.field-status-ok{background:#edf8e8!important;border-color:#5f8f2f33!important}.field-status-warning{background:#fff7d7!important;border-color:#f0bc4652!important}.field-status-critical{background:#ffe9e8!important;border-color:#e0524647!important}.field-status-no_data,.field-status-not_calculated,.field-status-calculation_failed{background:#f0f3ef!important;border-color:#50617433!important}.field-list-zone-upper_warning{background:#dff4ff!important;border-color:#5a9fbd4d!important}.field-list-zone-lower_warning{background:#fff8df!important;border-color:#d8b13e52!important}.field-list-zone-regulation{background:#eaf6e3!important;border-color:#5f8f2f38!important}.field-list-zone-wilting_stress{background:#fff0f0!important;border-color:#e052463d!important}.field-list-zone-no_data{background:#f0f3ef!important;border-color:#50617433!important}.field-list-title{color:var(--color-ink);font-size:13px;font-weight:700;line-height:1.1;display:block}.field-list-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted);margin-top:1px;font-size:10px;line-height:1.1;display:block;overflow:hidden}.field-forecast-dot{background:var(--field-forecast-dot-fill,#b0b4b8);border:1px solid #17412633;border-radius:999px;justify-self:end;width:9px;height:9px;box-shadow:0 0 0 2px #ffffffb3}.field-forecast-dot-ok{background:#4caf50}.field-forecast-dot-warning{background:#ffc107}.field-forecast-dot-critical{background:#e53935}.field-forecast-dot-no_data,.field-forecast-dot-not_calculated,.field-forecast-dot-calculation_failed{background:#b0b4b8}.field-forecast-dot-zone-upper_warning{background:#8ed3ef}.field-forecast-dot-zone-lower_warning{background:#f2d36b}.field-forecast-dot-zone-regulation{background:#6fbd5b}.field-forecast-dot-zone-wilting_stress{background:#f2a6a6}.field-forecast-dot-zone-no_data{background:#b0b4b8}.status-badge,.readiness{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.status-ok,.readiness-ready,.readiness-pass{background:var(--color-green-100);color:var(--color-green-800);border-color:#5f8f2f4d}.status-warning,.readiness-partial,.readiness-pending,.readiness-degraded{color:#8a5200;background:#fff5df;border-color:#f0cc7c}.status-critical,.readiness-not_ready,.readiness-fail{color:#8e1b1e;background:#feeaea;border-color:#f4b4b6}.status-no_data,.status-not_calculated,.status-calculation_failed,.readiness-unknown{color:#506174;background:#eef2ed;border-color:#d4ddd1}.chart-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.chart-profile-title{align-self:center;display:block}.chart-profile-title strong{color:var(--color-green-900);font-size:16px;line-height:1.25}.chart-toolbar label,.chart-date-controls label{color:var(--color-muted);gap:5px;font-size:13px;font-weight:700;display:grid}.chart-workbench{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(240px,16vw,280px);gap:8px;min-height:0;display:grid;overflow:hidden}.chart-caption{color:#3b4937;gap:3px;margin:0;font-size:11px;line-height:1.25;display:grid}.chart-caption strong{color:var(--color-green-900);font-size:12px;font-weight:800}.chart-caption span{color:var(--color-muted)}.chart-caption-muted{color:var(--color-muted);border-top:1px solid #1741261a;padding-top:4px}.chart-model-caption{border-top:1px solid #1741261a;padding-top:4px}.chart-forecast-caption{color:var(--color-muted);border-bottom:1px solid #1741261a;padding:2px 0 5px;font-size:11px;font-weight:700;line-height:1.25}.fao90-metric-summary{background:#ffffffb8;border:1px solid #1741261f;border-radius:6px;gap:8px;padding:10px;font-size:11px;line-height:1.25;display:grid}.fao90-metric-summary-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.fao90-metric-pass{color:#1f7a3a;font-weight:700}.fao90-metric-warning{color:#9f1d20;font-weight:700}.fao90-metric-summary details{color:#405248;min-height:0}.fao90-metric-summary summary{cursor:pointer;font-weight:700}.fao90-metric-summary dl{gap:6px;margin:8px 0 0;display:grid}.fao90-metric-summary details[open] dl{max-height:180px;padding-right:4px;overflow:auto}.fao90-metric-summary dl div{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:8px;display:grid}.fao90-metric-summary dt{color:#5f6f64}.fao90-metric-summary dd{overflow-wrap:anywhere;color:#17311f;margin:0;font-weight:600}.fao90-metric-summary dd span{display:block}.fao90-metric-summary-json-row{grid-template-columns:1fr!important;gap:3px!important}.diagnostic-warning-list{color:#6f520f;background:#fff7e0c7;border:1px solid #d68f184d;border-radius:7px;gap:5px;padding:9px 10px;font-size:11px;line-height:1.25;display:grid}.diagnostic-warning-list strong{color:#4f3c0a}.chart-box{flex:1;grid-template-rows:minmax(0,1fr) 58px;gap:6px;width:100%;min-width:0;min-height:0;display:grid}.chart-time-zoom{background:#fffffff0;border:1px solid #1741261a;border-radius:8px;min-width:0;min-height:0;padding:5px 8px 6px;display:block;position:relative;box-shadow:0 8px 18px #0e2c1b0f;container-type:inline-size}.chart-zoom-track-wrap{width:100%;min-width:0;height:100%;padding-top:13px;position:relative}.chart-zoom-edge-label{z-index:6;color:#fff;white-space:nowrap;text-shadow:0 1px 2px #0000006b;align-items:center;padding:0 4px;font-size:8px;font-weight:900;line-height:1.1;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.chart-zoom-edge-label-start{left:5px}.chart-zoom-edge-label-end{right:5px}.chart-zoom-track{background:#39453c29;border-radius:999px;height:12px;position:relative;overflow:visible}.chart-zoom-forecast{background:#d95f0b26;position:absolute;inset:0 0 0 auto}.chart-zoom-window{border-radius:inherit;background:linear-gradient(90deg,#5f8f2fd1,#6e9d36c2);position:absolute;top:-3px;bottom:-3px;box-shadow:0 4px 12px #0e2c1b29}.chart-zoom-boundary{background:var(--color-orange-600);width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1px)}.chart-zoom-range{opacity:0;cursor:ew-resize;z-index:7;pointer-events:none;width:100%;height:30px;position:absolute;top:14px;left:0}.chart-zoom-range::-webkit-slider-thumb{pointer-events:auto}.chart-zoom-range::-moz-range-thumb{pointer-events:auto}.chart-time-scale{height:14px;color:var(--color-muted);margin-top:5px;font-size:8px;font-weight:800;line-height:1;position:relative}.chart-time-tick{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.chart-time-tick:first-child{transform:translate(0)}.chart-time-tick:last-child{transform:translate(-100%)}.chart-time-tick-forecast{color:var(--color-orange-600)}.chart-time-tick-medium,.chart-time-tick-dense{display:none}@container (width>=420px){.chart-time-tick-medium{display:block}}@container (width>=720px){.chart-time-tick-dense{display:block}}.chart-side-panel{background:#f8fbf4b8;border:1px solid #1741261a;border-radius:8px;flex-direction:column;align-items:stretch;gap:8px;min-width:0;min-height:0;max-height:100%;padding:8px;display:flex;overflow:hidden}.chart-date-controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.chart-side-section-title{color:var(--color-green-900);font-size:12px;font-weight:800;line-height:1.2}.chart-date-controls input{text-align:center;min-width:0;padding:7px 8px;font-size:12px;font-weight:800}.compact-date-picker-wrap{min-width:0;display:block;position:relative}.compact-date-picker{appearance:none;color:#1a2e1e;cursor:pointer;background:#fff;border:1px solid #17412624;border-radius:7px;place-items:center;width:100%;height:34px;padding:0 24px 0 8px;font-size:12px;font-weight:800;display:grid;position:relative;overflow:hidden}.compact-date-picker:focus-visible{border-color:var(--color-orange-500);outline:2px solid #e06a1438}.compact-date-picker:after{content:"";opacity:.78;border:1px solid;border-top-width:3px;border-radius:2px;width:12px;height:12px;position:absolute;right:8px}.compact-calendar{z-index:30;background:#fff;border:1px solid #17412629;border-radius:8px;width:188px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 34px #0e2c1b2e}.compact-date-picker-end .compact-calendar{left:auto;right:0}.compact-calendar-header{grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:6px;margin-bottom:6px;display:grid}.compact-calendar-header strong{color:var(--color-green-900);text-align:center;font-size:12px}.compact-calendar-header button,.compact-calendar-grid button{border-radius:6px;min-height:0;padding:0}.compact-calendar-header button{height:26px}.compact-calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.compact-calendar-weekdays{color:var(--color-muted);text-align:center;margin-bottom:4px;font-size:9px;font-weight:800}.compact-calendar-grid button{color:#1a2e1e;background:#f8fbf4eb;border:1px solid #1741261a;height:22px;font-size:10px;font-weight:800}.compact-calendar-grid button:hover,.compact-calendar-grid button:focus-visible{border-color:var(--color-orange-500);background:#fff5e8f2}.compact-calendar-grid .compact-calendar-selected{color:#fff;border-color:var(--color-green-700);background:var(--color-green-700)}.chart-date-separator{color:var(--color-muted);font-size:14px;font-weight:700}.chart-legend{color:#314232;grid-template-columns:1fr;gap:2px;margin:0 0 0 8px;font-size:10px;font-weight:700;line-height:1.08;display:grid}.chart-regulation-control{color:#314232;background:0 0;border:0;border-radius:0;gap:5px;padding:0;font-size:10px;display:grid}.chart-regulation-control>strong{color:var(--color-green-900);font-size:12px;font-weight:800;line-height:1.2}.soil-debug-summary{color:#314232;gap:5px;font-size:10px;line-height:1.18;display:grid}.soil-debug-summary>strong{color:var(--color-green-900);font-size:12px;line-height:1.2}.soil-debug-grid{gap:3px;display:grid}.soil-debug-grid span{min-width:0}.soil-debug-grid b{color:#1f2f23;font-weight:800;display:inline}.soil-debug-balance-warning{color:#b91c1c;font-weight:800}.chart-regulation-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.chart-regulation-field{min-width:0;color:var(--color-muted);gap:3px;font-size:9px;font-weight:700;display:grid}.chart-regulation-input-control{background:#fff;border:1px solid #17412624;border-radius:7px;grid-template-columns:minmax(0,1fr) 12px;height:34px;display:grid;overflow:hidden}.chart-regulation-input-control input{color:#1a2e1e;text-align:center;background:0 0;border:0;width:100%;min-width:0;padding:0 3px 0 8px;font-size:12px;font-weight:800}.chart-regulation-input-control input:focus{background:#fff;outline:2px solid #e06a1457}.chart-regulation-input-control input::-webkit-outer-spin-button{appearance:none;margin:0}.chart-regulation-input-control input::-webkit-inner-spin-button{appearance:none;margin:0}.chart-regulation-input-control input[type=number]{appearance:textfield}.chart-regulation-stepper{opacity:1;pointer-events:auto;border-left:1px solid #17412624;grid-template-rows:1fr 1fr;display:grid}.chart-regulation-stepper button{width:12px;height:auto;min-height:0;color:var(--color-green-800);box-shadow:none;background:#ffffffad;border:0;border-radius:0;padding:0;font-size:7px;line-height:1}.chart-regulation-stepper button:hover{box-shadow:none;background:#ffffffc2}.chart-legend-item{width:100%;min-height:14px;color:inherit;font:inherit;text-align:left;box-shadow:none;cursor:default;background:0 0;border:0;border-radius:4px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:5px;padding:0;display:grid}.chart-legend-item:hover,.chart-legend-item:focus-visible,.chart-legend-item-active{color:var(--color-green-900);box-shadow:none;background:#ffffff8a;outline:none}.chart-legend-item:focus-visible{outline:2px solid var(--color-orange-500);outline-offset:2px}.legend-swatch{--legend-color:var(--color-green-700);border-color:var(--legend-color);flex:none;justify-self:center;width:18px;height:9px;display:inline-block}.legend-swatch-line{border-top:2px solid var(--legend-color);height:0}.legend-swatch-dash{border-top:2px dashed var(--legend-color);height:0}.legend-swatch-area{background:color-mix(in srgb, var(--legend-color) 26%, transparent);border:1px solid var(--legend-color);border-radius:2px}.legend-swatch-bar{background:var(--legend-color);border-radius:3px 3px 0 0;width:10px;height:10px}.composite-chart{grid-template-rows:minmax(0,.9fr) minmax(0,.9fr) repeat(2,minmax(0,1.1fr));gap:6px;height:100%;min-height:0;display:grid}.composite-chart-soil-debug{grid-template-rows:minmax(0,.9fr) minmax(0,1fr) minmax(0,.9fr) repeat(2,minmax(0,1.1fr))}.composite-chart-focused{flex-direction:column;display:flex}.chart-zone{cursor:pointer;background:linear-gradient(#ffffffeb,#f8fbf4d6);border:1px solid #1741261a;border-radius:8px;min-height:0;padding-top:12px;transition:border-color .16s,box-shadow .16s,background .16s;position:relative;overflow:visible}.chart-zone:hover{z-index:4;border-color:#5f8f2f57;box-shadow:0 8px 18px #0e2c1b12}.chart-zone:focus-visible{outline-offset:2px;outline:2px solid #e06a1447}.chart-zone-focused{border-color:#5f8f2f66;flex:auto;box-shadow:inset 0 0 0 1px #5f8f2f2e,0 12px 24px #0e2c1b14}.chart-zone-compact{flex:0 0 36px;align-items:center;min-height:0;padding:0 12px;display:flex;overflow:hidden}.chart-zone-compact .chart-zone-title{font-size:11px;position:static}.chart-zone-compact .recharts-responsive-container{display:none}.chart-zone-title{z-index:2;color:var(--color-muted);text-transform:uppercase;font-size:10px;font-weight:800;position:absolute;top:4px;left:12px}.chart-zone .recharts-tooltip-wrapper{z-index:70;overflow:visible!important}.chart-zone .recharts-default-tooltip{white-space:normal;max-width:min(260px,74vw);max-height:none;overflow:visible}.chart-zone .recharts-tooltip-label{margin-bottom:3px!important}.chart-zone .recharts-tooltip-item{padding:0!important}.chart-zone .recharts-tooltip-item-list{gap:2px;display:grid;margin:0!important;padding:0!important}.chart-zone .recharts-tooltip-item-name,.chart-zone .recharts-tooltip-item-separator,.chart-zone .recharts-tooltip-item-value,.chart-zone .recharts-tooltip-item-unit{line-height:1.12}.recharts-yAxis .recharts-cartesian-axis-tick-value,.recharts-xAxis .recharts-cartesian-axis-tick-value{paint-order:stroke;stroke:#ffffffd9;stroke-width:3px}.chart-zone-weather{background:linear-gradient(#f5fbffeb,#ffffffe6)}.chart-zone-water{background:linear-gradient(#f9fdf4f2,#f1f9ffeb);grid-row:span 2}.water-forecast-overlay-plot{z-index:60;pointer-events:none;position:absolute;inset:22px 16px 8px 10px;overflow:hidden}.water-forecast-overlay-haze{background:#ffffff94;position:absolute;top:0;bottom:0;right:0}.chart-zone-soil-debug{background:linear-gradient(#f5f8fff0,#ffffffe6)}.chart-zone-plant{background:linear-gradient(#fffaf2eb,#f9fdf4e0)}.recharts-cartesian-grid line{stroke:#dfe8d6}.irrigation-panel{--irrigation-field-panel-width:clamp(280px, 17vw, 330px);--irrigation-calendar-head-row-height:25px;--irrigation-calendar-date-row-height:22px;--irrigation-row-height:38px;--irrigation-first-row-extra-height:0px;--irrigation-row-grid-offset:6px;--irrigation-day-column-width:38px;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;padding:0;display:block;position:relative;overflow:hidden}.irrigation-toolbar{justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:56px;padding:8px 10px;display:flex}.irrigation-toolbar-main{text-align:right;justify-content:flex-end;justify-self:end;align-items:center;gap:10px;min-width:0;display:flex}.irrigation-toolbar-actions{flex:none;align-items:center;gap:8px;display:flex}.irrigation-approve-button{min-height:34px;color:var(--color-green-900);box-shadow:none;background:#ffffffc2;border:1px solid #1741262e;border-radius:7px;padding:7px 14px;font-size:13px;font-weight:900}.irrigation-report-button{min-width:76px}.irrigation-approve-dirty,.irrigation-approve-error{color:#8e1b1e;background:#ffffffdb;border-color:#e05246}.irrigation-approve-approved{color:var(--color-green-900);border-color:var(--color-green-700);background:#ffffffdb}.irrigation-approve-saving{color:#8a5200;cursor:progress;background:#fff5df;border-color:#f0cc7c}.irrigation-approve-empty{opacity:.72;cursor:default}.irrigation-approval-summary{gap:2px;min-width:0;display:grid}.irrigation-approval-error{color:#8e1b1e!important}.irrigation-calculation-status{color:#1f5f35!important}.irrigation-calculation-progress{background:#5f8f2f24;border-radius:999px;height:4px;margin:0 10px;position:relative;overflow:hidden}.irrigation-calculation-progress span{inset-block:0;border-radius:inherit;background:linear-gradient(90deg,#5f8f2f2e,#5f8f2f,#5f8f2f2e);width:35%;animation:1.2s ease-in-out infinite irrigation-progress;position:absolute;left:-35%}@keyframes irrigation-progress{0%{transform:translate(0)}to{transform:translate(390%)}}.irrigation-toolbar span{color:var(--color-muted);font-size:12px;font-weight:700;display:block}.irrigation-legend{grid-template-columns:16px minmax(0,1fr);align-self:center;align-items:center;gap:6px;width:min(320px,30vw);margin-right:auto;display:grid}.irrigation-legend>input{width:14px;height:14px;margin:0}.irrigation-step-legend{color:#fff;text-align:center;background:0 0;border:1px solid #1741262e;border-radius:6px;grid-template-columns:repeat(4,minmax(52px,1fr));min-height:28px;font-size:10px;font-weight:900;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff73}.irrigation-step-legend span{color:#fff;white-space:nowrap;text-shadow:-.7px -.7px #000000b3,.7px -.7px #000000b3,-.7px .7px #000000b3,.7px .7px #000000b3;border-right:1px solid #ffffff8f;justify-content:center;align-items:center;min-width:0;min-height:28px;padding:0 8px;line-height:1;display:flex}.irrigation-step-legend span:last-child{border-right:0}.irrigation-table-scroll{background:0 0;border-top:1px solid #17412614;flex:1;grid-template-rows:minmax(0,1fr) 18px;height:auto;min-height:0;margin:6px 10px 10px;display:grid;position:relative;overflow:hidden}.irrigation-table-viewport{min-height:0;overflow:hidden auto}.irrigation-table-viewport::-webkit-scrollbar{width:14px}.irrigation-bottom-scroll{z-index:14;scrollbar-color:#7b7f78 #f2f4ef;scrollbar-width:auto;background:#ffffffeb;border-top:1px solid #17412614;height:18px;overflow:scroll hidden}.irrigation-bottom-scroll>div{height:1px}.irrigation-bottom-scroll::-webkit-scrollbar{height:14px}.irrigation-bottom-scroll::-webkit-scrollbar-track{background:#f2f4ef;border-radius:999px}.irrigation-bottom-scroll::-webkit-scrollbar-thumb{background:#7b7f78;border-radius:999px}.irrigation-workbench{grid-template-columns:var(--irrigation-field-panel-width) minmax(0, 1fr);gap:clamp(12px,.9vw,18px);height:100%;min-height:0;display:grid;overflow:hidden}.irrigation-calendar-card{border-radius:var(--radius-card);background:#fffffff0;border:1px solid #1741261f;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 12px 34px #0e2c1b14}.irrigation-calendar-card .error-state,.irrigation-calendar-card .diagnostic-warning-list{margin:0 10px 8px}.irrigation-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;color:var(--color-ink)}.irrigation-table th,.irrigation-table td{border-bottom:1px solid #17412614;border-right:1px solid #17412614}.irrigation-table thead th{z-index:6;height:var(--irrigation-calendar-head-row-height);color:var(--color-muted);text-align:center;white-space:nowrap;background:#f9fcf5;padding:5px 6px;font-size:10px;line-height:1.1;position:sticky}.irrigation-table thead tr:not(:nth-child(4)) th{padding-top:3px;padding-bottom:3px}.irrigation-table thead tr:first-child th{top:0}.irrigation-table thead tr:nth-child(2) th{top:var(--irrigation-calendar-head-row-height)}.irrigation-table thead tr:nth-child(3) th{top:calc(var(--irrigation-calendar-head-row-height) * 2)}.irrigation-table thead tr:nth-child(4) th{top:calc(var(--irrigation-calendar-head-row-height) * 3)}.irrigation-table thead tr:nth-child(4) .irrigation-day-head{height:var(--irrigation-calendar-date-row-height);padding-top:3px;padding-bottom:3px}.irrigation-table tbody{top:var(--irrigation-row-grid-offset);position:relative}.irrigation-table tbody tr{height:var(--irrigation-row-height)}.irrigation-table tbody tr:first-child,.irrigation-table tbody tr:first-child .irrigation-cell{height:calc(var(--irrigation-row-height) + var(--irrigation-first-row-extra-height))}.irrigation-scale{text-transform:lowercase;font-weight:800}.irrigation-month{color:var(--color-green-800)!important;background:#edf5e5!important;font-size:11px!important}.irrigation-decade{color:#7c5b35!important;background:#fff8ec!important}.irrigation-day-head{width:var(--irrigation-day-column-width);min-width:var(--irrigation-day-column-width);color:#43513f!important;background:#fff!important}.irrigation-cell{width:var(--irrigation-day-column-width);min-width:var(--irrigation-day-column-width);height:var(--irrigation-row-height);background:#fff;padding:3px;position:relative}.irrigation-current-week{background:#edf6df!important}.irrigation-forecast-week{background:#fff1df!important}.irrigation-alert-cell{background:#f1aaa8!important}.irrigation-depth-5-15{background:#78d9ff!important}.irrigation-depth-16-25{background:#0064c8!important}.irrigation-week-start{border-left:2px solid #17412638!important}.irrigation-locked-day-head{color:#9aa39a!important;background:#ecefed!important}.irrigation-locked-cell{box-shadow:none;background:#ecefed!important}.irrigation-locked-cell:after{content:"";z-index:1;pointer-events:none;background:#ecefedb8;position:absolute;inset:0}.irrigation-plan-cell{box-shadow:inset 0 2px #d95f0b1f}.irrigation-locked-cell.irrigation-plan-cell{box-shadow:none}.irrigation-forecast-start{border-left:2px solid #d95f0b8a!important}.irrigation-today{box-shadow:inset 0 0 0 2px #17412657}.irrigation-day-head.irrigation-today{color:var(--color-green-900)!important;background:#dcefc8!important}.irrigation-input-control{z-index:2;background:#ffffff7a;border-radius:4px;grid-template-columns:minmax(0,1fr) 12px;height:100%;display:grid;position:relative;overflow:hidden}.irrigation-cell input{width:100%;min-width:0;height:100%;color:var(--color-ink);text-align:center;background:0 0;border:0;padding:0 3px;font-size:12px;font-weight:800;line-height:1}.irrigation-cell input::placeholder{color:#4c564e57;opacity:1;font-weight:900}.irrigation-cell input:focus::placeholder{color:#4c564e33}.irrigation-cell input:focus{background:#fff;outline:2px solid #e06a1457}.irrigation-cell input:disabled{color:#9aa39a;cursor:not-allowed}.irrigation-locked-cell input:disabled{color:#10242f;-webkit-text-fill-color:#10242f;opacity:1}.irrigation-locked-cell .irrigation-input-control{background:0 0}.irrigation-locked-cell .irrigation-stepper{display:none}.precipitation-panel{height:100%}.precipitation-legend{flex-flow:row;grid-template-columns:none;align-items:center;gap:6px;width:auto;min-width:max-content;display:flex}.precipitation-legend span{white-space:nowrap;background:#ffffffbd;border:1px solid;border-radius:4px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.precipitation-legend .precipitation-gauge-cell{color:#7ea66e}.precipitation-legend .precipitation-meteo-cell{color:#b88a58}.precipitation-legend .precipitation-manual-cell{color:#377ea3}.irrigation-locked-cell.precipitation-cell{background:#ecefed!important}.precipitation-cell-values{z-index:1;pointer-events:none;position:absolute;inset:0}.precipitation-cell-value{text-align:center;font-size:10px;font-weight:900;line-height:1;position:absolute;left:0;right:0}.precipitation-cell-value-meteo{color:#b88a58;top:calc(50% - 10px)}.precipitation-cell-value-kaipos{color:#7ea66e;top:calc(50% + 4px)}.precipitation-cell input{z-index:2;color:#071825;-webkit-text-fill-color:#071825;background:#ffffff57;border-radius:4px;position:relative}.precipitation-cell input:not(:placeholder-shown){background:#a8ddffc7}.precipitation-cell input:disabled{background:0 0}.irrigation-stepper{opacity:0;pointer-events:none;border-left:1px solid #1741261a;grid-template-rows:1fr 1fr;transition:opacity .12s;display:grid}.irrigation-input-control:focus-within .irrigation-stepper,.irrigation-input-control:hover .irrigation-stepper{opacity:1;pointer-events:auto}.irrigation-stepper button{width:12px;height:auto;min-height:0;color:var(--color-green-800);box-shadow:none;background:#ffffff57;border:0;border-radius:0;padding:0;font-size:7px;line-height:1}.irrigation-stepper button:hover{box-shadow:none;background:#ffffffc2}.empty-state,.error-state,.warning-state{border-radius:var(--radius-card);margin:12px 0;padding:16px}.empty-state{color:var(--color-muted);background:#ffffffe6;border:1px dashed #1741263d}.error-state{color:#8e1b1e;background:#feeaea;border:1px solid #f4b4b6}.warning-state{color:#7c5200;background:#fff6dc;border:1px solid #f3d381}.leaflet-container{font-family:inherit}.leaflet-control-attribution{border-top-left-radius:6px}.leaflet-attribution-flag{display:none!important}@media (width<=980px){.workspace{height:100dvh;min-height:0;padding:12px;overflow:hidden}.workspace-header{grid-template-columns:1fr;gap:12px}.header-meta{grid-template-columns:1fr;grid-template-areas:"copy""actions""status"}.header-actions{flex-wrap:nowrap;justify-content:flex-end;gap:18px;width:100%;overflow-x:auto}.workspace-header h1{font-size:24px}.tabs{width:max-content}.tabs button{flex:none}.map-layout{grid-template-columns:clamp(180px,22vw,220px) minmax(360px,1fr) minmax(180px,24vw);gap:8px}.chart-layout{grid-template-columns:clamp(170px,24vw,220px) minmax(0,1fr);gap:8px}.map-container{height:100%;min-height:0}.map-main{min-height:0}.map-help{padding:10px}.map-help h2{font-size:18px}.map-mode-group{gap:5px;margin:8px 0}.map-mode-option{gap:5px;padding:5px;font-size:11px}.map-legend h3{font-size:13px}.map-legend-list{gap:5px}.map-legend-item{font-size:11px}.field-list{max-height:100%}.chart-toolbar{display:grid}.chart-profile-title{gap:4px;display:grid}.chart-workbench{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(170px,24vw,220px);min-height:0;overflow:hidden}.chart-side-panel{gap:7px;max-height:none;padding:8px;overflow:hidden}.chart-box{height:100%;min-height:0}.chart-date-controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.chart-legend{gap:2px;font-size:10px}.export-actions{margin-top:auto;padding:6px}.irrigation-panel{height:78vh;min-height:520px;max-height:760px}.irrigation-toolbar{flex-direction:row;align-items:center}.irrigation-toolbar-main{text-align:right;justify-content:flex-end;width:auto}.irrigation-legend{width:min(448px,100%)}}@media (height<=820px) and (width>=981px){.workspace{padding:10px}.workspace-header{margin-bottom:8px;padding:8px 12px}.workspace .brand-mark{width:42px;height:42px}.workspace .brand-lockup strong{font-size:20px}.workspace-header h1{font-size:22px}.workspace-header p{font-size:12px}.tabs button{min-height:30px;padding:5px 10px}.chart-panel,.field-selector{padding:10px}.chart-toolbar{margin-bottom:6px}.chart-side-panel{gap:8px;padding:8px}.chart-date-controls input{padding:5px 7px}.chart-legend{gap:2px;font-size:10px}.warning-state{margin:6px 0;padding:10px}.composite-chart{grid-template-rows:minmax(0,.9fr) minmax(0,.9fr) repeat(2,minmax(0,1.1fr));gap:4px}.composite-chart-soil-debug{grid-template-rows:minmax(0,.9fr) minmax(0,1fr) minmax(0,.9fr) repeat(2,minmax(0,1.1fr))}.chart-zone{padding-top:13px}.chart-zone-title{font-size:9px;top:4px}}@media (width<=980px) and (height<=760px){.chart-box{height:100%;min-height:0}.workspace{padding:8px}.workspace-header{grid-template-columns:180px minmax(0,1fr);gap:10px;margin-bottom:8px;padding:8px 10px}.workspace .brand-mark{width:38px;height:38px}.workspace .brand-lockup strong{font-size:18px}.workspace .brand-lockup small{font-size:8px}.workspace-header h1{font-size:20px}.workspace-header p,.eyebrow{font-size:10px}.header-meta{gap:5px 8px}.tabs button,.header-actions button{min-height:28px;padding:4px 8px;font-size:12px}.readiness{padding:3px 7px;font-size:10px}.chart-layout{grid-template-columns:144px minmax(0,1fr);gap:6px}.field-selector,.chart-panel{padding:8px}.panel-header h2{font-size:18px}.text-input,.selector-actions{display:none}.field-list-item{padding:6px}.field-list-title{font-size:12px}.field-list-meta{font-size:9px}.chart-profile-title strong{font-size:13px}.chart-workbench{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 144px;gap:6px}.chart-date-controls{display:none}.chart-caption,.chart-caption strong,.chart-caption span{font-size:10px}.chart-side-panel{gap:5px;padding:6px}.chart-legend{gap:1px;font-size:9px}.legend-swatch{width:16px}.warning-state{display:none}.composite-chart{grid-template-rows:minmax(0,.9fr) minmax(0,.9fr) repeat(2,minmax(0,1.1fr));gap:3px}.chart-box{grid-template-rows:minmax(0,1fr) 50px;gap:4px}.chart-time-zoom{padding:4px 6px}.chart-time-scale,.export-actions{display:none}}@media (width<=560px){.login-card{padding:24px}.brand-lockup strong{font-size:18px}.workspace-header{padding:16px}.selector-actions{display:grid}}.mobile-view-toolbar,.mobile-sheet-layer,.mobile-irrigation-cards{display:none}@media (width<=767px),(pointer:coarse) and (width<=899px){body{overflow:hidden}.workspace-mobile{height:100dvh;padding:8px;overflow:hidden}.workspace-mobile .workspace-header{grid-template-columns:1fr;gap:8px;min-height:auto;margin-bottom:8px;padding:9px 10px}.workspace-mobile .header-brand,.workspace-mobile .eyebrow,.workspace-mobile .workspace-header h1,.workspace-mobile .workspace-header p{display:none}.workspace-mobile .header-meta{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.workspace-mobile .header-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;min-width:0;display:grid;overflow:visible}.workspace-mobile .tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;max-width:100%;display:grid;overflow:visible}.workspace-mobile .tabs button,.workspace-mobile .logout-button,.mobile-view-toolbar button,.mobile-sheet-header button{white-space:normal;min-height:38px;padding:8px 11px;font-size:12px}.mobile-view-toolbar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:0 0 8px;display:grid}.mobile-view-toolbar span{min-width:0;color:var(--color-green-900);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;overflow:hidden}.workspace-mobile .map-layout,.workspace-mobile .chart-layout,.workspace-mobile .devices-layout{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0;min-height:0;display:grid;overflow:hidden}.workspace-mobile .map-main{grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0}.workspace-mobile .map-container{border-radius:8px;min-height:0}.workspace-mobile .map-time-ruler{border-radius:8px;grid-template-columns:34px 34px minmax(0,1fr) 34px;gap:7px;padding:9px 9px 6px}.workspace-mobile .map-time-track-wrap{padding-top:24px}.workspace-mobile .map-time-label{max-width:96px;padding:2px 6px;font-size:10px}.mobile-sheet-layer{z-index:1000;pointer-events:none;display:block;position:fixed;inset:0}.mobile-sheet-layer.mobile-sheet-open{pointer-events:auto}.mobile-sheet-backdrop{opacity:0;width:100%;height:100%;min-height:0;box-shadow:none;background:#0c1a1057;border:0;border-radius:0;padding:0;transition:opacity .16s;position:absolute;inset:0}.mobile-sheet-open .mobile-sheet-backdrop{opacity:1}.mobile-bottom-sheet{background:#fffefa;border:1px solid #17412624;border-radius:14px 14px 0 0;grid-template-rows:auto minmax(0,1fr);max-height:min(82dvh,720px);transition:transform .18s;display:grid;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(105%);box-shadow:0 -18px 40px #0e2c1b3d}.mobile-sheet-open .mobile-bottom-sheet{transform:translateY(0)}.mobile-sheet-header{border-bottom:1px solid #1741261a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:8px 12px;display:grid}.mobile-sheet-header strong{color:var(--color-green-900);font-size:16px}.mobile-sheet-body{min-height:0;padding:10px;overflow:auto}.mobile-sheet-body .map-help,.mobile-sheet-body .field-selector{min-height:auto;box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.mobile-sheet-body .map-help:after,.mobile-sheet-body .chart-panel:after{display:none}.workspace-mobile .chart-panel{border-radius:8px;min-height:0;padding:10px;overflow:hidden}.workspace-mobile .chart-workbench{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0;min-height:0;display:grid;overflow:hidden}.workspace-mobile .equipment-workbench{grid-template-rows:minmax(360px,58dvh) auto;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;display:grid;overflow:visible}.workspace-mobile .chart-box{grid-template-rows:minmax(0,1fr) 48px;min-height:0}.workspace-mobile .composite-chart{grid-template-rows:minmax(0,.9fr) minmax(0,.9fr) repeat(2,minmax(0,1.1fr));overflow:visible}.workspace-mobile .composite-chart-soil-debug{grid-template-rows:minmax(0,.9fr) minmax(0,1fr) minmax(0,.9fr) repeat(2,minmax(0,1.1fr))}.workspace-mobile .composite-chart-focused{flex-direction:column;display:flex}.workspace-mobile .chart-zone{min-height:0;padding-top:15px}.workspace-mobile .chart-zone-focused{flex:auto;min-height:0}.workspace-mobile .chart-zone-compact{flex:0 0 44px;padding:0 10px}.workspace-mobile .chart-zone-compact .chart-zone-title{font-size:10px}.workspace-mobile .chart-side-panel,.workspace-mobile .chart-regulation-control,.workspace-mobile .chart-side-section-title,.workspace-mobile .chart-date-controls,.workspace-mobile .chart-forecast-caption,.workspace-mobile .fao90-metric-summary{display:none}.workspace-mobile .chart-date-controls{grid-template-columns:minmax(0,1fr)}.workspace-mobile .chart-date-separator,.workspace-mobile .chart-legend{display:none}.workspace-mobile .irrigation-panel{height:auto;min-height:0;max-height:none;overflow:hidden}.workspace-mobile .irrigation-workbench{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px;height:100%;display:grid;overflow:hidden}.workspace-mobile .irrigation-workbench>.field-selector{display:none}.workspace-mobile .irrigation-calendar-card{border-radius:8px;min-height:0;overflow:hidden}.workspace-mobile .irrigation-toolbar{grid-template-columns:minmax(0,1fr);gap:8px;min-height:auto;padding:8px;display:grid}.workspace-mobile .irrigation-toolbar-main{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;width:100%;display:grid}.workspace-mobile .irrigation-legend{width:100%;margin:0}.workspace-mobile .irrigation-approval-summary span{font-size:11px}.workspace-mobile .irrigation-toolbar-actions{justify-content:flex-end}.workspace-mobile .irrigation-approve-button{min-height:42px;padding:8px 12px}.workspace-mobile .irrigation-table-scroll,.workspace-mobile .irrigation-bottom-scroll{display:none}.workspace-mobile .mobile-irrigation-cards{min-height:0;padding:8px;display:grid;overflow:auto}.mobile-irrigation-field-strip,.mobile-irrigation-field-panel{gap:6px;min-width:0;display:grid}.mobile-irrigation-field-chip{text-align:left;grid-template-columns:minmax(0,1fr) auto 12px;gap:8px;width:100%;min-width:0;min-height:48px;padding:7px 8px}.mobile-irrigation-field-stats{color:var(--color-muted);white-space:nowrap;background:#ffffffc2;border:1px solid #1741261a;border-radius:999px;align-self:center;padding:3px 7px;font-size:11px;font-weight:900}.mobile-irrigation-field-chip-active{border-color:#d95f0b7a;box-shadow:inset 0 0 0 1px #d95f0b2e,0 8px 18px #0e2c1b14}.mobile-irrigation-empty{color:var(--color-muted);background:#ffffffd1;border:1px solid #1741261a;border-radius:8px;padding:14px;font-size:13px;font-weight:800}.mobile-irrigation-card{background:#ffffffeb;border:1px solid #1741261f;border-radius:8px;gap:8px;min-height:0;padding:8px;display:grid;overflow:hidden}.mobile-irrigation-card header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.mobile-irrigation-card header>div{gap:2px;min-width:0;display:grid}.mobile-irrigation-card header strong{min-width:0;color:var(--color-green-900);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.mobile-irrigation-card header span{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.mobile-irrigation-card-meta{white-space:nowrap;background:#ffffffc2;border:1px solid #1741261a;border-radius:999px;padding:3px 7px}.mobile-irrigation-days{gap:5px;min-width:0;display:grid}.mobile-irrigation-day{background:#fff;border:1px solid #1741261a;border-radius:7px;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:5px 7px;display:grid;position:relative}.mobile-irrigation-day span{z-index:2;color:var(--color-green-900);text-align:left;font-size:12px;font-weight:900;position:relative}.mobile-irrigation-day input{z-index:2;width:100%;min-width:0;min-height:30px;color:var(--color-ink);text-align:center;background:#ffffffc7;border:1px solid #1741261f;border-radius:6px;font-size:16px;font-weight:900;position:relative}.mobile-irrigation-day input:disabled{color:#8d988d;background:0 0}.mobile-irrigation-day-locked input:disabled{color:#10242f;-webkit-text-fill-color:#10242f;opacity:1}.mobile-irrigation-day-forecast{box-shadow:inset 0 2px #d95f0b29}.mobile-irrigation-day-today{border-color:#17412661;box-shadow:inset 0 0 0 1px #1741263d}.mobile-irrigation-day-locked{background:#eef1ee}.mobile-irrigation-day-locked:after{content:"";z-index:1;pointer-events:none;background:#ecefedb8;border-radius:7px;position:absolute;inset:0}}
