.portal-app--supabase{--portal-rail-width:15rem;--portal-rail-collapsed-width:3.75rem;--portal-rail-width-expanded:15rem;--portal-topbar-height:3rem}.portal-app--supabase button.portal-crumb__trigger,.portal-app--supabase button.portal-header__signout,.portal-app--supabase button.portal-topbar__avatar{background:transparent;color:var(--fg)}.portal-app--supabase button.portal-topbar__avatar{background:#f8fafc}.portal-app--supabase button.portal-crumb__trigger.is-switchable:hover:not(:disabled){background:#f8fafc;color:var(--fg)}.portal-app--supabase .portal-frame{display:flex;flex:1;min-height:0;overflow:hidden;background:var(--bg);position:relative}.portal-topbar{flex:0 0 auto;min-height:var(--portal-topbar-height);padding:0 1rem 0 .75rem;background:#fff;border-bottom:1px solid var(--border);z-index:30;overflow:visible}.portal-staff-preview-banner,.portal-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.portal-staff-preview-banner{padding:.45rem 1rem;background:#ecfdf5;border-bottom:1px solid #a7f3d0;color:#065f46;font-size:.875rem}.portal-staff-preview-banner a{color:#047857;font-weight:600;text-decoration:none}.portal-staff-preview-banner a:hover{text-decoration:underline}.portal-context-switch-overlay{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:1.25rem;background:#fff;animation:portal-context-switch-fade-in .18s ease}.portal-context-switch-overlay__panel{display:flex;align-items:center;gap:1rem;width:min(22rem,100%);padding:1.15rem 1.25rem;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 28px rgba(15,23,42,.08),inset 0 0 0 1px rgba(255,255,255,.6)}.portal-context-switch-overlay__spinner{flex-shrink:0;width:1.5rem;height:1.5rem;border:2.5px solid color-mix(in srgb,#16a74a 20%,transparent);border-top-color:#16a74a;border-radius:50%;animation:portal-context-switch-spin .75s linear infinite}.portal-context-switch-overlay__copy{min-width:0;flex:1}.portal-context-switch-overlay__eyebrow{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#64748b}.portal-context-switch-overlay__title{margin:.2rem 0 0;font-size:1.05rem;font-weight:650;line-height:1.35;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-context-switch-overlay__status{margin:.35rem 0 0;font-size:.8125rem;color:#16a74a;font-weight:500}@keyframes portal-context-switch-spin{to{transform:rotate(1turn)}}@keyframes portal-context-switch-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.aw-station-loading__spinner,.pf-loading__spinner,.pf-place__spinner,.portal-context-switch-overlay__spinner{animation:none;border-color:color-mix(in srgb,#16a74a 35%,#e2e8f0)}}.portal-crumb__static{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--fg)}.portal-topbar__avatar--exit{text-decoration:none;font-weight:600}.portal-topbar__crumbs{display:flex;align-items:center;gap:.35rem;min-width:0;flex:1;overflow:visible}.portal-topbar__brand{display:flex;flex-shrink:0;padding:.2rem .35rem}.portal-topbar__mobile{display:none;align-items:center;gap:.65rem;flex:1 1 auto;min-width:0}.portal-topbar__actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.portal-topbar__email{font-size:.8rem;color:var(--muted);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-topbar__avatar{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border-radius:999px;border:1px solid var(--border);background:#f8fafc;color:var(--fg);font-size:.8rem;font-weight:600;cursor:pointer}.portal-topbar__avatar.is-open,.portal-topbar__avatar:hover:not(:disabled){background:color-mix(in srgb,var(--onelink-green-grass) 12%,#fff);border-color:color-mix(in srgb,var(--onelink-green-grass) 35%,var(--border))}.portal-user-menu{position:relative;flex:0 0 auto}.portal-account-menu{position:fixed;z-index:220;display:flex;flex-direction:column;padding:.35rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#0f172a;box-shadow:0 4px 6px -1px rgba(15,23,42,.06),0 16px 28px -8px rgba(15,23,42,.16)}.portal-account-menu button{font:inherit;background:transparent;color:inherit;border:0;border-radius:0;padding:0;box-shadow:none;cursor:pointer}.portal-account-menu button:hover{background:transparent}.portal-account-menu button:disabled{opacity:.55;cursor:not-allowed}.portal-account-menu__head{display:flex;align-items:center;gap:.65rem;padding:.55rem .55rem .7rem;margin:0 .15rem;border-bottom:1px solid #f1f5f9}.portal-account-menu__avatar{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.75rem;font-weight:700}.portal-account-menu__meta{min-width:0;flex:1 1 auto}.portal-account-menu__email{display:block;font-size:.8125rem;font-weight:600;color:#0f172a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-account-menu__caption{display:block;margin:0 0 .4rem .1rem;font-size:.6875rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#94a3b8}.portal-account-menu__list{display:flex;flex-direction:column;padding:.2rem .2rem .25rem;gap:.1rem}.portal-account-menu__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.55rem .65rem!important;border-radius:8px!important;text-align:left;font-size:.875rem!important;font-weight:500!important;color:#334155!important;background:transparent!important}.portal-account-menu__row:hover:not(:disabled){background:#f8fafc!important;color:#0f172a!important}.portal-account-menu__row--lang.is-open{background:#f8fafc!important}.portal-account-menu__row-label{flex:0 0 auto}.portal-account-menu__row-value{display:inline-flex;align-items:center;gap:.35rem;min-width:0;color:#64748b;font-size:.8125rem;font-weight:600}.portal-account-menu__flag{font-size:1rem;line-height:1}.portal-account-menu__chevron{font-size:.65rem;color:#94a3b8}.portal-account-menu__row--danger{color:#b91c1c!important}.portal-account-menu__row--danger:hover:not(:disabled){background:#fef2f2!important;color:#991b1b!important}.portal-locale-popup{position:fixed;z-index:230;padding:.35rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#0f172a;box-shadow:0 4px 6px -1px rgba(15,23,42,.06),0 16px 28px -8px rgba(15,23,42,.16)}.portal-locale-popup button{font:inherit;background:transparent;color:inherit;border:0;border-radius:0;padding:0;box-shadow:none;cursor:pointer}.portal-locale-popup button:hover{background:transparent}.portal-locale-popup__title{margin:0;padding:.45rem .65rem .35rem;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.portal-locale-popup__list{list-style:none;margin:0;padding:.1rem}.portal-locale-popup__option{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .65rem!important;border-radius:8px!important;text-align:left;font-size:.875rem!important;font-weight:500!important;color:#334155!important;background:transparent!important}.portal-locale-popup__option:hover{background:#f8fafc!important;color:#0f172a!important}.portal-locale-popup__option.is-selected{background:#f0fdf4!important;color:#166534!important;font-weight:600!important}.portal-locale-popup__option-label{flex:1 1 auto;min-width:0}.portal-locale-popup__check{flex:0 0 auto;font-size:.8rem;font-weight:700;color:var(--onelink-green-grass)}.portal-account-menu__password{display:flex;flex-direction:column;gap:.4rem;padding:.45rem .55rem .65rem}.portal-account-menu__back{align-self:flex-start;margin-bottom:.15rem;padding:.2rem .15rem!important;font-size:.75rem!important;font-weight:600!important;color:#64748b!important;background:transparent!important}.portal-account-menu__back:hover:not(:disabled){color:#0f172a!important}.portal-account-menu__input{width:100%;box-sizing:border-box;margin:0;padding:.5rem .65rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#0f172a;font:inherit;font-size:.8125rem}.portal-account-menu__input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.25)}.portal-account-menu__password-input{width:100%}.portal-account-menu__password-input input::-ms-clear,.portal-account-menu__password-input input::-ms-reveal{display:none}.portal-account-menu__password-input .portal-account-menu__input{padding-right:2.35rem}.portal-account-menu__password-input .password-input__toggle{width:1.85rem;height:1.85rem;right:.25rem;color:#64748b}.portal-account-menu__submit{margin-top:.15rem;width:100%;padding:.55rem .75rem!important;border-radius:8px!important;background:#0f172a!important;color:#fff!important;font-size:.8125rem!important;font-weight:600!important}.portal-account-menu__submit:hover:not(:disabled){background:#1e293b!important}.portal-account-menu__email-link{align-self:center;padding:.25rem!important;font-size:.75rem!important;font-weight:500!important;color:#64748b!important;background:transparent!important;text-decoration:underline;text-underline-offset:2px}.portal-account-menu__email-link:hover:not(:disabled){color:#0f172a!important}.portal-account-menu__status{margin:0;font-size:.75rem;line-height:1.35}.portal-account-menu__status.is-error{color:#b91c1c}.portal-account-menu__status.is-ok{color:#047857}.portal-crumb{position:relative;flex-shrink:0}.portal-crumb__trigger{display:inline-flex;align-items:center;gap:.4rem;max-width:none;padding:.3rem .45rem;border:0;border-radius:6px;background:transparent;color:var(--fg);font:inherit;font-size:.875rem;font-weight:500;cursor:default}.portal-crumb__trigger:hover:not(:disabled){background:transparent}.portal-crumb__trigger.is-switchable:hover:not(:disabled){background:#f8fafc}.portal-crumb__trigger.is-switchable{cursor:pointer}.portal-crumb__label{white-space:nowrap}.portal-crumb__logo{display:block;height:1.65rem;width:auto}.portal-topbar__brand{display:inline-flex;align-items:center}.portal-crumb__logo--compact{height:1.45rem;max-width:108px}.portal-crumb__logo--mobile{height:1.85rem;max-width:132px}.portal-topbar__notif-btn{position:relative;display:grid;place-items:center;flex:0 0 auto;width:2.35rem;height:2.35rem;padding:0;border:0;border-radius:999px;background:transparent;color:#334155;cursor:pointer}.portal-topbar__notif-btn.is-open,.portal-topbar__notif-btn:hover{background:#f1f5f9;color:#0f172a}.portal-topbar__notif-btn.has-active{color:#0f172a}.portal-notif{position:relative;flex:0 0 auto}.portal-notif__badge{position:absolute;top:.2rem;right:.15rem;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.65rem;font-weight:700;line-height:1.05rem;text-align:center;box-shadow:0 0 0 2px #fff}.portal-notif__panel{max-height:min(70vh,28rem);max-width:calc(100vw - 24px);box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;padding:0}.portal-notif__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.75rem .9rem .55rem;border-bottom:1px solid var(--portal-menu-border,#e2e8f0)}.portal-notif__count{font-size:.75rem;font-weight:600;color:#dc2626;white-space:nowrap}.portal-notif__empty{margin:0;padding:1rem .9rem;font-size:.875rem;color:var(--portal-menu-muted,#64748b)}.portal-notif__list{list-style:none;margin:0;padding:.25rem 0;overflow-y:auto;flex:1 1 auto}.portal-notif__item{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem .9rem;border-left:3px solid transparent}.portal-notif__item+.portal-notif__item{border-top:1px solid #f1f5f9}.portal-notif__item.is-active{background:#fff7ed}.portal-notif__item--critical.is-active{border-left-color:#dc2626}.portal-notif__item--warning.is-active{border-left-color:#f59e0b}.portal-notif__item--info.is-active{border-left-color:#0ea5e9}.portal-notif__item-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 auto}.portal-notif__item-title{font-size:.875rem;font-weight:600;color:var(--portal-menu-fg,#0f172a);line-height:1.25}.portal-notif__item-equipment{font-size:.7rem;font-weight:400;color:var(--portal-menu-muted,#64748b);line-height:1.3}.portal-notif__item-meta,.portal-notif__item-when{font-size:.75rem;color:var(--portal-menu-muted,#64748b);line-height:1.35}.portal-notif__footer{padding:.55rem .9rem .75rem;border-top:1px solid var(--portal-menu-border,#e2e8f0)}.portal-notif__link{font-size:.8rem;font-weight:600;color:var(--onelink-green-grass);text-decoration:none}.portal-notif__link:hover{text-decoration:underline}.portal-topbar__brand--mobile{flex:1 1 auto;display:flex;justify-content:flex-start;min-width:0;padding:0}.portal-topbar__mobile-actions{display:flex;align-items:center;gap:.35rem;flex:0 0 auto}.portal-topbar__avatar--mobile{width:2.35rem;height:2.35rem;border:0;background:var(--onelink-green-grass);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.01em}.portal-topbar__avatar--mobile:hover:not(:disabled){background:color-mix(in srgb,var(--onelink-green-grass) 88%,#000);border-color:transparent}.portal-app--supabase button.portal-topbar__avatar--mobile{background:var(--onelink-green-grass);color:#fff}.portal-topbar__avatar--mobile.portal-topbar__avatar--exit{background:#f8fafc;color:var(--fg);border:1px solid var(--border)}.portal-page__logo{display:block;height:2.75rem;width:auto}.portal-crumb__chevron{width:0;height:0;flex-shrink:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--muted);margin-top:1px}.portal-crumb__sep{color:#cbd5e1;font-size:.9rem;user-select:none}.portal-crumb__menu{--portal-menu-fg:var(--onelink-charcoal);--portal-menu-muted:#64748b;--portal-menu-border:#e2e8f0;display:flex;flex-direction:column;max-height:min(28rem,calc(100vh - 5.5rem));padding:.5rem 0;border:1px solid var(--portal-menu-border);border-radius:10px;background:#fff;color:var(--portal-menu-fg);box-shadow:0 12px 32px rgba(15,23,42,.12);z-index:40}.portal-crumb__menu--floating{position:fixed;z-index:200}.portal-crumb__menu-title{flex-shrink:0;margin:0;padding:0 .85rem .45rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--portal-menu-muted);border-bottom:1px solid var(--portal-menu-border)}.portal-crumb__menu-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.portal-crumb__menu-body::-webkit-scrollbar{width:8px}.portal-crumb__menu-body::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5e1}.portal-crumb__list{list-style:none;margin:0;padding:.25rem 0 0}.portal-crumb__group+.portal-crumb__group{margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--portal-menu-border)}.portal-crumb__group-label{margin:0;padding:.45rem .85rem .2rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-menu-muted)}.portal-crumb__menu .portal-crumb__option{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .85rem;border:0;border-radius:0;background:transparent;color:var(--portal-menu-fg);font:inherit;font-size:.875rem;font-weight:500;text-align:left;cursor:pointer}.portal-crumb__menu .portal-crumb__option:hover{background:#f8fafc;color:var(--portal-menu-fg)}.portal-crumb__menu .portal-crumb__option.is-selected{background:color-mix(in srgb,var(--onelink-green-grass) 14%,#fff);color:var(--onelink-green-grass)}.portal-crumb__menu .portal-entity-icon{background:#f1f5f9;color:#64748b}.portal-crumb__menu .portal-org-icon{background:color-mix(in srgb,var(--onelink-green-grass) 18%,#fff);color:var(--onelink-green-grass)}.portal-org-icon{place-items:center;width:1.35rem;height:1.35rem;background:color-mix(in srgb,var(--onelink-green-grass) 18%,#fff);color:var(--onelink-green-grass);font-size:.7rem;font-weight:700}.portal-entity-icon,.portal-org-icon{display:grid;border-radius:6px;flex-shrink:0}.portal-entity-icon{place-items:center;width:1.35rem;height:1.35rem;background:#f1f5f9;color:var(--muted)}.portal-app--supabase .portal-vertical-icon{width:1.35rem;height:1.35rem;border-radius:6px;font-size:.65rem}.portal-mobile-context{position:relative;flex:1 1 auto;min-width:0}.portal-mobile-context--fab{flex:0 0 auto;min-width:0}.portal-mobile-context__trigger{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0;min-height:2.35rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--fg);font:inherit;text-align:left;cursor:default}.portal-mobile-context__trigger.is-switchable{cursor:pointer}.portal-mobile-context__trigger-icon{display:inline-flex;flex:0 0 auto}.portal-mobile-context__trigger-copy{display:flex;flex-direction:column;gap:.05rem;flex:1 1 auto;min-width:0}.portal-mobile-context__trigger-label{font-size:.875rem;font-weight:600;line-height:1.25}.portal-mobile-context__trigger-label,.portal-mobile-context__trigger-subtitle{overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.portal-mobile-context__trigger-subtitle{font-size:.72rem;font-weight:500;line-height:1.2;color:#64748b}.portal-mobile-context__trigger-chevron{flex:0 0 auto;width:.45rem;height:.45rem;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg) translateY(-1px)}.portal-mobile-context__backdrop{position:fixed;inset:0;z-index:120;border:0;padding:0;margin:0;border-radius:0;box-shadow:none;background:rgba(15,23,42,.38);color:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.portal-mobile-context__backdrop:active,.portal-mobile-context__backdrop:focus,.portal-mobile-context__backdrop:focus-visible,.portal-mobile-context__backdrop:hover{background:rgba(15,23,42,.38);color:transparent;border:0;box-shadow:none;outline:none}.portal-mobile-context__sheet{position:fixed;left:0;right:0;bottom:0;z-index:121;max-height:min(72vh,34rem);overflow-y:auto;padding:.35rem .85rem calc(.85rem + env(safe-area-inset-bottom, 0px));border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -12px 40px rgba(15,23,42,.18)}.portal-mobile-context__sheet-handle{width:2.5rem;height:.28rem;margin:.35rem auto .65rem;border-radius:999px;background:#cbd5e1}.portal-mobile-context__sheet-title{margin:0 0 .45rem;font-size:1rem;font-weight:700;color:#0f172a}.portal-mobile-context__detail-head{display:flex;align-items:center;gap:.65rem;margin-bottom:.55rem}.portal-mobile-context__back{flex:0 0 auto;padding:.25rem .15rem;border:0;background:transparent;color:var(--onelink-green-grass);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.portal-mobile-context__detail-title{flex:1 1 auto;margin:0;font-size:1rem;font-weight:700;color:#0f172a}.portal-mobile-context__path{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .35rem;margin:0 0 .85rem;font-size:.78rem;font-weight:500;line-height:1.35;color:#64748b}.portal-mobile-context__path--summary{padding:.55rem .65rem;border-radius:10px;background:#f8fafc;border:1px solid #eef2f6}.portal-mobile-context__path-segment{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.portal-mobile-context__path-segment>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-mobile-context__path-sep{color:#94a3b8;font-weight:700}.portal-mobile-context__hint{margin:-.35rem 0 .75rem;padding:.55rem .65rem;border-radius:8px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:.78rem;line-height:1.4}.portal-mobile-context__stack{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.portal-mobile-context__stack-row{display:flex;align-items:center;gap:.65rem;width:100%;min-height:3.1rem;padding:.65rem .75rem;border:0;border-bottom:1px solid #eef2f6;background:#fff;color:inherit;font:inherit;text-align:left}.portal-mobile-context__stack-row:last-child{border-bottom:0}.portal-mobile-context__stack-row.is-switchable{cursor:pointer}.portal-mobile-context__stack-row.is-switchable:hover:not(:disabled){background:#f8fafc}.portal-mobile-context__stack-row.is-switchable:disabled{opacity:.65;cursor:default}.portal-mobile-context__stack-row.is-static{background:#fafbfc}.portal-mobile-context__stack-row.is-active .portal-mobile-context__stack-value{color:#14532d}.portal-mobile-context__stack-icon{display:inline-flex;flex:0 0 auto}.portal-mobile-context__stack-copy{display:flex;flex-direction:column;gap:.1rem;flex:1 1 auto;min-width:0}.portal-mobile-context__stack-type{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.portal-mobile-context__stack-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;color:#0f172a}.portal-mobile-context__stack-chevron{flex:0 0 auto;font-size:1.15rem;line-height:1;color:#94a3b8;font-weight:400}.portal-mobile-context__section+.portal-mobile-context__section{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #eef2f6}.portal-mobile-context__section-title{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.portal-mobile-context__list{list-style:none;margin:0;padding:0}.portal-mobile-context__option{display:flex;align-items:center;gap:.65rem;width:100%;min-height:2.75rem;padding:.55rem .45rem;border:0;border-radius:10px;background:transparent;color:#0f172a;font:inherit;font-size:.92rem;font-weight:600;text-align:left;cursor:pointer}.portal-mobile-context__option:hover:not(:disabled){background:#f8fafc}.portal-mobile-context__option.is-selected{background:color-mix(in srgb,var(--onelink-green-grass) 8%,#fff);color:#14532d}.portal-mobile-context__option:disabled{cursor:default}.portal-mobile-context__option-label{flex:1 1 auto;min-width:0}.portal-mobile-context__option-check{flex:0 0 auto;font-size:.85rem;font-weight:800;color:var(--onelink-green-grass)}body.portal-mobile-context-open{overflow:hidden}.portal-rail-wrap{flex:0 0 var(--portal-rail-width);width:var(--portal-rail-width);min-width:var(--portal-rail-width);display:flex;flex-direction:column;min-height:0;background:#f8fafc;border-right:1px solid var(--border)}.portal-rail{display:flex;flex:1 1 auto;flex-direction:column;align-items:stretch;gap:.5rem;min-height:0;padding:.65rem .45rem;overflow:hidden}.portal-rail__brand{display:flex;align-items:center;gap:.55rem;min-height:2.35rem;margin-bottom:.15rem;padding:0 .35rem}.portal-rail__logo{display:block;width:1.75rem;height:1.75rem;object-fit:contain}.portal-rail__mark{flex:0 0 2rem;display:grid;place-items:center;width:2rem;height:2rem;border-radius:8px;background:var(--onelink-green-grass);color:#fff;font-size:.85rem;font-weight:800;line-height:1}.portal-rail__mark--industrial{background:var(--onelink-navy)}.portal-rail__mark svg{display:block}.portal-rail__brand-label{overflow:hidden;flex:1 1 auto;min-width:0;font-size:.875rem;font-weight:700;color:var(--fg);white-space:nowrap;text-overflow:ellipsis}.portal-rail__collapse{flex:0 0 1.75rem;display:grid;place-items:center;width:1.75rem;height:1.75rem;margin-left:auto;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.portal-rail__collapse svg{width:16px;height:16px}.portal-app--supabase button.portal-rail__collapse{background:transparent;color:var(--muted);padding:0}.portal-app--supabase button.portal-rail__collapse:hover:not(:disabled){background:#eef2f6;color:var(--fg)}.portal-rail__nav{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;width:100%;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 .15rem .35rem}.portal-rail__group{display:flex;flex-direction:column;gap:.15rem}.portal-rail__group+.portal-rail__group{margin-top:.45rem}.portal-rail__group-label{margin:0 0 .15rem;padding:.15rem .5rem 0;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.2}.portal-rail__btn{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;min-height:2.25rem;padding:0 .35rem;border:none;border-radius:8px;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--muted);text-decoration:none;transition:background .15s ease,color .15s ease}.portal-rail__btn-icon{flex:0 0 2rem;display:grid;place-items:center;width:2rem;height:2rem}.portal-rail__btn-icon svg{width:18px;height:18px}.portal-rail__btn-label{flex:1 1 auto;min-width:0;font-size:.8125rem;font-weight:500;color:inherit;white-space:nowrap;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.portal-rail__btn:hover{background:#eef2f6;color:var(--fg)}.portal-rail__btn.is-active{background:color-mix(in srgb,var(--onelink-green-grass) 14%,#fff)}.portal-rail__btn.is-active,.portal-rail__btn.is-active .portal-rail__btn-label{color:var(--onelink-green-grass)}.portal-rail__footer{margin-top:auto;display:flex;flex-direction:column;gap:.15rem;padding-top:.35rem}.portal-rail__btn--config{margin-top:0}.portal-app--supabase button.portal-rail__btn{background:transparent;color:var(--muted);padding:0 .35rem}.portal-app--supabase button.portal-rail__btn:hover:not(:disabled){background:#eef2f6;color:var(--fg)}.portal-app--supabase button.portal-rail__btn.is-active{background:color-mix(in srgb,var(--onelink-green-grass) 14%,#fff);color:var(--onelink-green-grass)}.portal-rail__btn--back{margin-bottom:.35rem;background:color-mix(in srgb,var(--onelink-green-grass) 12%,#fff)}.portal-rail__btn--back,.portal-rail__btn--back .portal-rail__btn-label{color:var(--onelink-green-grass);font-weight:700}.portal-app--supabase button.portal-rail__btn--back{background:color-mix(in srgb,var(--onelink-green-grass) 12%,#fff);color:var(--onelink-green-grass)}.portal-app--supabase button.portal-rail__btn--back:hover:not(:disabled),.portal-rail__btn--back:hover{background:color-mix(in srgb,var(--onelink-green-grass) 20%,#fff);color:var(--onelink-green-grass)}.portal-rail__btn--back:hover .portal-rail__btn-label{color:var(--onelink-green-grass)}.portal-rail__suites{display:flex;flex-direction:column;align-items:stretch;gap:.15rem}.portal-rail__btn--suite,.portal-rail__btn--suite .portal-rail__btn-label{font-weight:600}.portal-rail__divider{height:1px;margin:.45rem .35rem .55rem;background:var(--border);flex:0 0 auto}.portal-app--config-mode,.portal-app--split-nav,.portal-app--suite-nav{--portal-rail-collapsed-width:3.75rem;--portal-rail-width-expanded:15rem;--portal-panel-width:14.5rem}.portal-rail-wrap--collapsed{position:relative;z-index:40;flex:0 0 var(--portal-rail-collapsed-width);width:var(--portal-rail-collapsed-width);min-width:var(--portal-rail-collapsed-width);overflow:visible}.portal-rail-wrap--collapsed.portal-rail-wrap--peek .portal-rail{position:absolute;top:0;left:0;bottom:0;z-index:50;width:var(--portal-rail-width-expanded);background:#f8fafc;border-right:1px solid var(--border);box-shadow:4px 0 20px rgba(15,23,42,.1)}.portal-rail-wrap--collapsed:not(.portal-rail-wrap--peek) .portal-rail__brand-label,.portal-rail-wrap--collapsed:not(.portal-rail-wrap--peek) .portal-rail__btn-label,.portal-rail-wrap--collapsed:not(.portal-rail-wrap--peek) .portal-rail__collapse,.portal-rail-wrap--collapsed:not(.portal-rail-wrap--peek) .portal-rail__group-label{display:none}.portal-rail-wrap--collapsed:not(.portal-rail-wrap--peek) .portal-rail__brand,.portal-rail-wrap--collapsed:not(.portal-rail-wrap--peek) .portal-rail__btn{justify-content:center;padding:0}.portal-app--supabase .portal-rail-wrap--collapsed:not(.portal-rail-wrap--peek) button.portal-rail__btn{padding:0}.portal-app--suite-nav .portal-rail__btn--suite.is-active{background:color-mix(in srgb,var(--onelink-green-grass) 16%,#fff)}.portal-app--suite-nav .portal-rail-wrap--collapsed:not(.portal-rail-wrap--peek) .portal-rail__btn--suite.is-active{width:2.35rem;min-height:2.35rem;margin-inline:auto}@media (hover:none),(pointer:coarse){.portal-rail__collapse{display:none}}.portal-panel{display:none;flex:0 0 var(--portal-panel-width,14.5rem);width:var(--portal-panel-width,14.5rem);min-width:var(--portal-panel-width,14.5rem);flex-direction:column;min-height:0;padding:.85rem .65rem 1rem;background:#fff;border-right:1px solid var(--border);overflow:hidden}.portal-app--config-mode .portal-panel,.portal-app--suite-nav .portal-panel{display:flex}.portal-panel__back{display:inline-flex;align-items:center;align-self:flex-start;gap:.15rem;width:auto;margin:0 0 .55rem;padding:.1rem .15rem .1rem 0;border:none;border-radius:0;font-family:inherit;font-size:.8125rem;font-weight:700;text-decoration:none;line-height:1.2;cursor:pointer}.portal-app--supabase button.portal-panel__back,.portal-panel__back{background:transparent;color:var(--onelink-green-grass)}.portal-app--supabase button.portal-panel__back:hover:not(:disabled),.portal-panel__back:hover{background:transparent;color:color-mix(in srgb,var(--onelink-green-grass) 82%,#000)}.portal-panel__back-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.portal-panel__title{margin:0 0 .75rem;padding:0 .35rem;font-size:.95rem;font-weight:700;color:var(--fg)}.portal-panel__nav{flex:1;min-height:0;overflow-y:auto}.portal-panel__group+.portal-panel__group{margin-top:.85rem}.portal-panel__group-label{margin:0 0 .35rem;padding:0 .35rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.portal-panel__link{display:block;padding:.45rem .55rem;border-radius:8px;color:var(--fg);font-size:.8125rem;font-weight:500;text-decoration:none;line-height:1.35}.portal-panel__link:hover{background:#f8fafc;color:var(--fg)}.portal-panel__link.is-active{background:color-mix(in srgb,var(--onelink-green-grass) 14%,#fff);color:var(--onelink-green-grass);font-weight:600}.portal-main{flex:1 1 0;min-width:0;min-height:0;padding:1.75rem 2rem;overflow-x:hidden;overflow-y:auto;background:var(--bg)}.portal-module-loading{display:grid;place-items:center;min-height:min(52vh,28rem);padding:2rem 1.25rem;background:radial-gradient(ellipse 70% 55% at 50% 35%,color-mix(in srgb,var(--onelink-green-grass,#3d8b5a) 10%,transparent),transparent 70%),var(--bg,#f8fafc)}.portal-module-loading--maps{min-height:min(70vh,36rem)}.portal-module-loading__card{display:grid;justify-items:center;gap:1.15rem;width:min(100%,20rem);padding:1.75rem 1.5rem 1.4rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--border,#e2e8f0) 88%,#fff);background:color-mix(in srgb,#fff 92%,var(--onelink-green-grass,#3d8b5a) 8%);box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px rgba(15,23,42,.06);animation:portal-module-loading-in .35s ease-out both}.portal-module-loading__mark{position:relative;width:3.25rem;height:3.25rem}.portal-module-loading__ring{position:absolute;inset:0;border-radius:999px;border:2.5px solid color-mix(in srgb,var(--onelink-green-grass,#3d8b5a) 18%,transparent);border-top-color:var(--onelink-green-grass,#3d8b5a);animation:portal-module-spin .85s linear infinite}.portal-module-loading__ring--inner{inset:.45rem;border-width:2px;border-color:color-mix(in srgb,var(--onelink-navy,#172938) 12%,transparent);border-bottom-color:color-mix(in srgb,var(--onelink-navy,#172938) 55%,#64748b);animation-duration:1.25s;animation-direction:reverse}.portal-module-loading__dot{position:absolute;inset:50%;width:.45rem;height:.45rem;margin:-.225rem 0 0 -.225rem;border-radius:999px;background:var(--onelink-green-grass,#3d8b5a);box-shadow:0 0 0 4px color-mix(in srgb,var(--onelink-green-grass,#3d8b5a) 16%,transparent);animation:portal-module-dot 1.2s ease-in-out infinite}.portal-module-loading__copy{text-align:center}.portal-module-loading__label{margin:0;font-size:1rem;font-weight:650;letter-spacing:-.01em;color:var(--fg,#0f172a)}.portal-module-loading__hint{margin:.35rem 0 0;font-size:.84rem;font-weight:500;color:var(--muted,#64748b)}.portal-module-loading__bars{display:grid;gap:.4rem;width:100%;max-width:11.5rem;margin-top:.15rem}.portal-module-loading__bars span{display:block;height:.38rem;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--onelink-green-grass,#3d8b5a) 8%,#e2e8f0) 0,color-mix(in srgb,var(--onelink-green-grass,#3d8b5a) 22%,#f1f5f9) 45%,color-mix(in srgb,var(--onelink-green-grass,#3d8b5a) 8%,#e2e8f0) 100%);background-size:200% 100%;animation:portal-module-shimmer 1.35s ease-in-out infinite}.portal-module-loading__bars span:first-child{width:100%}.portal-module-loading__bars span:nth-child(2){width:78%;animation-delay:.12s}.portal-module-loading__bars span:nth-child(3){width:56%;animation-delay:.24s}@keyframes portal-module-spin{to{transform:rotate(1turn)}}@keyframes portal-module-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.78);opacity:.7}}@keyframes portal-module-bar{0%,to{opacity:.45;transform:scaleX(.92)}50%{opacity:1;transform:scaleX(1)}}@keyframes portal-module-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes portal-module-loading-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.portal-module-loading__bars span,.portal-module-loading__card,.portal-module-loading__dot,.portal-module-loading__ring{animation:none}}.portal-app--supabase .portal-main h2{margin-top:0;font-size:1.5rem;font-weight:600;color:var(--fg)}.portal-app--supabase .portal-main .card{box-shadow:0 1px 2px rgba(15,23,42,.04)}.portal-page-header{margin-bottom:1.25rem}.portal-page-header h1{margin:0 0 .35rem;font-size:1.65rem;font-weight:600;color:var(--fg)}.portal-page-lead{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5;max-width:42rem}.portal-empty-card{padding:1.25rem 1.35rem}.portal-empty-card__title{margin:0 0 .35rem;font-weight:600;color:var(--fg)}.portal-empty-card__text{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.portal-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.portal-module-card{display:block;padding:1rem 1.1rem;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.portal-module-card:hover{border-color:color-mix(in srgb,var(--onelink-green-grass) 35%,var(--border));box-shadow:0 4px 14px rgba(15,23,42,.06)}.portal-module-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-bottom:.65rem;border-radius:8px;background:color-mix(in srgb,var(--onelink-green-grass) 10%,#fff);color:var(--onelink-green-grass)}.portal-module-card__title{margin:0 0 .35rem;font-size:1rem;font-weight:600}.portal-module-card__lead{margin:0;font-size:.82rem;line-height:1.45;color:var(--muted)}.portal-cultivos__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.portal-cultivos__create{flex-shrink:0;white-space:nowrap}.portal-cultivos-summary{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0 0;padding:0;list-style:none}.portal-cultivos-summary__chip{display:inline-flex;align-items:baseline;gap:.4rem;padding:.22rem .65rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--cultivos-summary-accent,#64748b) 12%,#fff)}.portal-cultivos-summary__chip[data-kind=crop]{--cultivos-summary-accent:#15803d}.portal-cultivos-summary__chip[data-kind=investment]{--cultivos-summary-accent:#c2410c}.portal-cultivos-summary__chip[data-kind=fallow]{--cultivos-summary-accent:#64748b}.portal-cultivos-summary__chip[data-kind=other]{--cultivos-summary-accent:#7c3aed}.portal-cultivos-summary__label{color:color-mix(in srgb,var(--cultivos-summary-accent,#64748b) 72%,#0f172a);font-size:.75rem;font-weight:600}.portal-cultivos-summary__value{color:var(--cultivos-summary-accent,var(--fg));font-size:.75rem;font-weight:750;font-variant-numeric:tabular-nums}.portal-cultivos-groups{display:flex;flex-direction:column;gap:1.35rem}.portal-cultivos-group{--cultivos-accent:var(--onelink-green-grass,#16a34a)}.portal-cultivos-group[data-tone="0"]{--cultivos-accent:#15803d}.portal-cultivos-group[data-tone="1"]{--cultivos-accent:#e11d48}.portal-cultivos-group[data-tone="2"]{--cultivos-accent:#7c3aed}.portal-cultivos-group[data-tone="3"]{--cultivos-accent:#0f766e}.portal-cultivos-group[data-tone="4"]{--cultivos-accent:#c2410c}.portal-cultivos-group[data-tone="5"]{--cultivos-accent:#ca8a04}.portal-cultivos-group[data-tone="6"]{--cultivos-accent:#1d4ed8}.portal-cultivos-group[data-tone="7"]{--cultivos-accent:#9d174d}.portal-cultivos-group[data-tone=none]{--cultivos-accent:#64748b}.portal-cultivos-group__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.55rem}.portal-cultivos-group__title{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:1.02rem;font-weight:650;line-height:1.2}.portal-cultivos-group__mark{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:8px;background:color-mix(in srgb,var(--cultivos-accent) 16%,#fff);color:var(--cultivos-accent);font-size:.78rem;font-weight:750;line-height:1}.portal-cultivos-group__meta{margin:0;color:var(--muted);font-size:.8rem;white-space:nowrap}.portal-cultivos-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.55rem}.portal-cultivos-card,.portal-cultivos-grid>li{display:flex;min-width:0}.portal-cultivos-card{flex-direction:column;justify-content:space-between;gap:.45rem;flex:1;padding:.7rem .8rem .65rem;border-left:3px solid var(--cultivos-accent);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.portal-cultivos-card:focus-visible,.portal-cultivos-card:hover{border-color:color-mix(in srgb,var(--cultivos-accent) 55%,var(--border));box-shadow:0 4px 12px color-mix(in srgb,var(--cultivos-accent) 12%,rgba(15,23,42,.04));transform:translateY(-1px);outline:none}.portal-cultivos-card__name{margin:0;font-size:.9rem;font-weight:650;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-cultivos-card__row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:0;min-width:0}.portal-cultivos-card__variety{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.78rem}.portal-cultivos-card__variety--empty{font-style:italic}.portal-cultivos-card__ha{flex-shrink:0;color:var(--cultivos-accent);font-size:.78rem;font-weight:700}.portal-cultivos-card--investment{--cultivos-accent:#c2410c}.portal-cultivos-card__tag{align-self:flex-start;padding:.08rem .45rem;border-radius:999px;background:color-mix(in srgb,#c2410c 12%,#fff);color:#c2410c;font-size:.68rem;font-weight:700;letter-spacing:.01em;line-height:1.4}.portal-cultivos-empty__action{margin:.85rem 0 0}.portal-cultivos-empty__link{color:var(--onelink-green-grass);font-weight:600;text-decoration:none}.portal-cultivos-empty__link:hover{text-decoration:underline}.portal-cultivos--ficha{display:flex;flex-direction:column;gap:.55rem}.portal-cultivos-ficha__back{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;color:var(--muted);font-size:.82rem;font-weight:600;text-decoration:none}.portal-cultivos-ficha__back:hover{color:var(--onelink-green-grass)}.portal-cultivos-ficha__back-icon{display:inline-flex}.portal-cultivos-ficha__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0;padding:.95rem var(--ficha-inset,1.25rem) .9rem;border-bottom:1px solid color-mix(in srgb,var(--onelink-green-grass) 18%,var(--border));background:color-mix(in srgb,var(--onelink-green-grass) 7%,#fff)}.portal-cultivos-ficha__identity{min-width:0}.portal-cultivos-ficha__kicker{margin:0 0 .1rem;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.portal-cultivos-ficha__header h1{margin:0;font-size:1.28rem;line-height:1.2}.portal-cultivos-ficha__trail{margin:.15rem 0 0;color:var(--muted);font-size:.78rem}.portal-cultivos-ficha__chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none}.portal-cultivos-ficha__chip{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--onelink-green-grass) 12%,#fff);color:var(--onelink-green-medium,#2d6a4f);font-size:.72rem;font-weight:650}.portal-cultivos-ficha__chip--muted{background:#f1f5f9;color:#475569}.portal-cultivos-ficha__chip--ha{background:color-mix(in srgb,var(--onelink-green-grass) 14%,#fff);color:var(--onelink-green-grass)}.portal-cultivos-ficha__chip--investment{background:#f1f5f9;color:#475569}.portal-cultivos-ficha-card{--ficha-inset:1.25rem;padding:0;overflow:hidden}.portal-entity-detail--embedded.portal-entity-detail--tabs,.portal-entity-detail--tabs{gap:0}.portal-cultivos-ficha-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0 var(--ficha-inset,1.25rem);border-bottom:1px solid var(--border);background:#fff}.portal-cultivos-ficha-tabs__tab{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin:0;padding:.55rem .85rem .45rem;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:#64748b!important;font:inherit;font-size:.82rem;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:none!important}.portal-cultivos-ficha-tabs__tab:first-child{padding-left:0}.portal-cultivos-ficha-tabs__tab:hover{color:var(--fg)!important;background:transparent!important}.portal-cultivos-ficha-tabs__tab.is-active,.portal-cultivos-ficha-tabs__tab.is-active:hover{background:transparent!important;color:var(--onelink-green-grass)!important;border-bottom-color:var(--onelink-green-grass)!important;font-weight:700;box-shadow:none!important}.portal-cultivos-ficha-tabs__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.65rem;font-weight:700}.portal-cultivos-ficha-tabs__tab.is-active .portal-cultivos-ficha-tabs__count{background:color-mix(in srgb,var(--onelink-green-grass) 16%,#fff);color:var(--onelink-green-grass)}.portal-entity-detail--tabs .portal-entity-detail__section{padding:1rem var(--ficha-inset,1.25rem) 1.05rem;border:0;background:transparent}.portal-entity-detail--tabs .portal-entity-detail__fields{display:flex;flex-direction:column;gap:.75rem;min-width:0;max-width:100%;min-inline-size:0}.portal-entity-detail--tabs .portal-config__field,.portal-entity-detail--tabs .portal-config__grid,.portal-entity-detail--tabs .portal-ficha-block{min-width:0;max-width:100%}.portal-ficha-block{display:flex;flex-direction:column;gap:.5rem}.portal-ficha-block__title{display:none;margin:0}.portal-entity-detail--tabs .portal-cuartel-crop-editor__section,.portal-entity-detail--tabs .portal-cuartel-crop-editor__section:first-child,.portal-entity-detail--tabs .portal-ficha-block{margin:0;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#fff}.portal-entity-detail--tabs .portal-cuartel-crop-editor__section-head,.portal-entity-detail--tabs .portal-ficha-block__title{display:block;margin:0;padding:.4rem .8rem;border-bottom:1px solid #e2e8f0;background:#f1f5f9;color:#475569;font-size:.7rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.portal-entity-detail--tabs .portal-ficha-block__title--with-switch{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.portal-ficha-investment{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:650;letter-spacing:0;text-transform:none;color:#475569;cursor:pointer;user-select:none}.portal-ficha-investment--field{grid-column:1/-1;width:fit-content;margin:.1rem 0 .15rem;font-size:.82rem;font-weight:500;color:var(--muted)}.portal-entity-detail--tabs .portal-ficha-block .portal-config__grid{padding:.7rem .8rem .75rem}.portal-entity-detail--tabs .portal-config__grid--compact{grid-template-columns:repeat(auto-fit,minmax(8.25rem,1fr));gap:.5rem .7rem}.portal-entity-detail--tabs .portal-ficha-block--identity .portal-config__grid{grid-template-columns:minmax(12rem,24rem)}.portal-entity-detail--tabs .portal-ficha-block--planting .portal-config__grid{grid-template-columns:minmax(8.5rem,1.35fr) repeat(4,minmax(5.5rem,1fr))}.portal-entity-detail--tabs .portal-ficha-block--irrigation .portal-config__grid{grid-template-columns:repeat(2,minmax(10rem,16rem))}.portal-entity-detail--tabs .portal-config__field{gap:.22rem;font-size:.76rem}.portal-entity-detail--tabs .portal-config__field input,.portal-entity-detail--tabs .portal-config__field select{display:block;width:100%;max-width:100%;margin:0;padding:.38rem .5rem;font-size:.84rem;box-sizing:border-box}.portal-entity-detail--tabs .portal-cuartel-crop-editor{display:flex;flex-direction:column;margin:0;gap:.75rem}.portal-entity-detail--tabs .portal-cuartel-crop-editor__section-head p{display:none}.portal-entity-detail--tabs .portal-cuartel-crop-editor__section-head h4{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:inherit}.portal-entity-detail--tabs .portal-cuartel-crop-editor__rows{padding:.7rem .8rem 0}.portal-entity-detail--tabs .portal-cuartel-crop-editor__row,.portal-entity-detail--tabs .portal-cuartel-crop-editor__row--pollinator{padding:0;border:0;border-radius:0;background:transparent;gap:.5rem}.portal-entity-detail--tabs .portal-cuartel-crop-editor__add{margin:.55rem .8rem .7rem}.portal-entity-detail--tabs .portal-cuartel-crop-editor__pollinator-toggle-row{width:100%;justify-content:space-between;padding:.4rem .8rem;border-bottom:1px solid #e2e8f0;background:#f1f5f9}.portal-entity-detail--tabs .portal-cuartel-crop-editor__pollinator-toggle-label{font-size:.7rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:#475569}.portal-entity-detail--tabs .portal-cuartel-crop-editor__pollinator-lead,.portal-entity-detail--tabs .portal-cuartel-crop-editor__section:has(.portal-cuartel-crop-editor__pollinator-toggle-row) .portal-cuartel-crop-editor__add,.portal-entity-detail--tabs .portal-cuartel-crop-editor__section:has(.portal-cuartel-crop-editor__pollinator-toggle-row) .portal-cuartel-crop-editor__rows{margin-left:.8rem;margin-right:.8rem}.portal-entity-detail--tabs .portal-entity-detail__actions{margin:.85rem calc(var(--ficha-inset, 1.25rem) * -1) -1.05rem;padding:.7rem var(--ficha-inset,1.25rem) .9rem;border-top:1px solid var(--border);background:#fff}.portal-entity-detail--tabs .portal-geofence-editor{gap:.55rem}.portal-entity-detail--tabs .portal-geofence-style{padding:.5rem 0 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent}.portal-entity-sensor-assign--ficha{display:flex;flex-direction:column;gap:.6rem}.portal-ficha-devices{display:flex;flex-direction:column;gap:.5rem}.portal-ficha-device{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .55rem!important;border:1px solid var(--border)!important;border-radius:8px;background:#fff}.portal-ficha-device__body{display:flex;align-items:center;gap:.7rem;min-width:0}.portal-ficha-device__icon{display:grid;place-items:center;flex-shrink:0;width:2.1rem;height:2.1rem;border-radius:9px;background:color-mix(in srgb,var(--onelink-green-grass) 12%,#fff);color:var(--onelink-green-grass)}.portal-ficha-device__copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.portal-ficha-device__copy strong{font-size:.88rem;font-weight:650}.portal-ficha-device__copy code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}.portal-ficha-device__remove{flex-shrink:0;padding:.3rem .55rem!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#b91c1c!important;font-size:.8rem;font-weight:600;box-shadow:none!important}.portal-ficha-device__remove:hover:not(:disabled){background:#fef2f2!important}.portal-ficha-devices__empty{margin:0;padding:.65rem .2rem;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:.84rem;text-align:left}.portal-ficha-claim{padding:0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent}.portal-ficha-claim summary{cursor:pointer;padding:.45rem 0;font-size:.82rem;font-weight:650;color:var(--onelink-green-medium,#2d6a4f);list-style:none}.portal-ficha-assign{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;margin-top:0;padding:0;border:0;border-radius:0;background:transparent}.portal-ficha-assign .portal-config__field{flex:1 1 auto}.portal-ficha-claim summary::-webkit-details-marker{display:none}.portal-ficha-claim summary:after{content:"+";float:right;color:var(--muted);font-weight:600}.portal-ficha-claim[open] summary:after{content:"–"}.portal-ficha-claim .portal-sensor-claim__lead{display:none}.portal-ficha-claim .portal-sensor-claim__actions,.portal-ficha-claim .portal-sensor-identifier-input{padding-left:0;padding-right:0}.portal-entity-detail__fields{margin:0;padding:0;border:0;min-width:0;min-inline-size:0}.portal-entity-detail__fields:disabled{opacity:.92}@media (max-width:720px){.portal-cultivos-ficha-tabs__tab{font-size:.75rem;padding:.45rem .45rem .4rem}.portal-entity-detail--tabs .portal-entity-detail__section{padding:.85rem .85rem .95rem}.portal-entity-detail--tabs .portal-ficha-block--identity .portal-config__grid,.portal-entity-detail--tabs .portal-ficha-block--irrigation .portal-config__grid,.portal-entity-detail--tabs .portal-ficha-block--planting .portal-config__grid{grid-template-columns:1fr 1fr}.portal-ficha-assign{grid-template-columns:1fr}.portal-ficha-assign .portal-config__submit{width:100%}}.portal-cultivos-ficha__edit{flex-shrink:0;margin-top:.35rem;color:var(--onelink-green-grass);font-size:.88rem;font-weight:600;text-decoration:none}.portal-cultivos-ficha__edit:hover{text-decoration:underline}.portal-cultivos-ficha__card{padding:1.15rem 1.2rem 1.25rem}.portal-cultivos-ficha__section{margin:0 0 .85rem;font-size:.95rem;font-weight:650}.portal-cultivos-ficha__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.85rem 1rem;margin:0}.portal-cultivos-ficha__meta div{display:flex;flex-direction:column;gap:.2rem}.portal-cultivos-ficha__meta dt{margin:0;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.portal-cultivos-ficha__meta dd{margin:0;font-size:.95rem;font-weight:600}.portal-cultivos-ficha__table-wrap{margin-top:1rem;overflow-x:auto}.portal-cultivos-ficha__table{width:100%;border-collapse:collapse;font-size:.88rem}.portal-cultivos-ficha__table caption{caption-side:top;text-align:left;margin-bottom:.45rem;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.portal-cultivos-ficha__table td,.portal-cultivos-ficha__table th{padding:.45rem .55rem;text-align:left;border-bottom:1px solid var(--border)}.portal-cultivos-ficha__table th{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.portal-main:has(.portal-maps--fullscreen){padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:0;height:100%}.portal-maps{display:flex;flex-direction:column;gap:.85rem;min-height:calc(100vh - 7rem)}.portal-maps--fullscreen{flex:1 1 auto;min-height:0;gap:0}.portal-maps__stage{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.portal-maps--fullscreen .portal-maps__canvas{flex:1 1 auto;width:100%;height:100%;min-height:0;border:none;border-radius:0;background:#0f1419;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.portal-maps__canvas-wrap{position:relative;flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%;height:100%}.portal-maps--fullscreen .portal-maps__canvas-wrap{flex:1 1 auto;min-height:0;height:100%}.portal-maps__canvas-wrap:-webkit-full-screen,.portal-maps__canvas-wrap:fullscreen{width:100%;height:100%;background:#0f1419}.portal-maps__canvas-wrap.is-map-fullscreen .portal-maps__canvas,.portal-maps__canvas-wrap:-webkit-full-screen .portal-maps__canvas,.portal-maps__canvas-wrap:fullscreen .portal-maps__canvas{flex:1 1 auto;width:100%;height:100%;min-height:100%}.portal-maps__canvas-wrap.is-map-fullscreen{position:fixed;inset:0;z-index:60;width:100%;height:100dvh;height:100svh;background:#0f1419;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.portal-maps__fullscreen-close{display:none;align-items:center;justify-content:center;flex:0 0 auto;width:2.5rem;height:2.5rem;padding:0;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;box-shadow:0 8px 20px rgba(15,23,42,.12);pointer-events:auto;-webkit-tap-highlight-color:transparent}.portal-maps__canvas-wrap.is-map-fullscreen .portal-maps__fullscreen-close,.portal-maps__canvas-wrap:-webkit-full-screen .portal-maps__fullscreen-close,.portal-maps__canvas-wrap:fullscreen .portal-maps__fullscreen-close{display:inline-flex}.portal-maps__fullscreen-close:active,.portal-maps__fullscreen-close:hover{background:#f8fafc;border-color:color-mix(in srgb,var(--onelink-green-grass,#16a34a) 35%,#e2e8f0)}.portal-maps__load-error{position:absolute;inset:0;z-index:3;display:grid;place-content:center;gap:.45rem;padding:1.5rem;background:rgba(15,20,25,.88);color:#f8fafc;text-align:center}.portal-maps__load-error-title{margin:0;font-size:1.05rem;font-weight:700}.portal-maps__load-error-hint,.portal-maps__load-error-text{margin:0;max-width:36rem;justify-self:center;font-size:.88rem;line-height:1.45;color:#cbd5e1}.portal-maps__load-error-hint code{font-size:.8rem;color:#e2e8f0}.portal-maps__copernicus-attr{position:absolute;left:3.75rem;bottom:.7rem;z-index:1;max-width:calc(100% - 8rem);padding:.15rem .4rem;border-radius:4px;background:rgba(255,255,255,.82);color:#334155;font-size:.68rem;line-height:1.3;text-decoration:none;pointer-events:auto}.portal-maps__copernicus-attr:hover{text-decoration:underline}.portal-maps__copernicus-loading{position:absolute;left:50%;top:50%;z-index:3;display:inline-flex;align-items:center;gap:.5rem;transform:translate(-50%,-50%);padding:.55rem .9rem;border-radius:999px;background:rgba(255,255,255,.96);color:#0f172a;font-size:.84rem;font-weight:600;box-shadow:0 8px 24px rgba(15,23,42,.16);pointer-events:none}.portal-maps__copernicus-loading-spinner,.portal-maps__layers-btn-spinner{width:1rem;height:1rem;border:2px solid #e2e8f0;border-top:2px solid var(--onelink-green-grass);border-radius:50%;animation:portal-maps-copernicus-spin .7s linear infinite}.portal-maps__layers-btn-spinner{position:absolute;top:-.2rem;right:-.2rem;width:.95rem;height:.95rem;background:#fff}@keyframes portal-maps-copernicus-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.portal-maps__copernicus-loading-spinner,.portal-maps__layers-btn-spinner{animation:none;border-top-color:var(--onelink-green-grass)}}.portal-maps--fullscreen .portal-maps__canvas .gm-style,.portal-maps--fullscreen .portal-maps__canvas .gm-style *{-webkit-tap-highlight-color:transparent}.portal-maps__legend--overlay{padding:.45rem .65rem;border-radius:8px;background:rgba(255,255,255,.92);border:1px solid var(--border);box-shadow:0 2px 8px rgba(15,23,42,.08)}.portal-maps__layers,.portal-maps__legend--overlay{position:absolute;top:.75rem;right:.75rem;z-index:2;pointer-events:none}.portal-maps__layers{left:.75rem;display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-end;gap:.5rem}.portal-maps__layers-controls{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}.portal-maps__layers-filter{position:relative;flex:0 0 auto}.portal-maps__layers--tools-only{left:auto;pointer-events:none}.portal-maps__layers--tools-only .portal-maps__layers-controls{pointer-events:auto}.portal-maps__tool-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;pointer-events:auto}.portal-maps__tool-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid #e2e8f0;border-radius:10px;background:rgba(255,255,255,.96);color:#334155;box-shadow:0 4px 16px rgba(15,23,42,.12);cursor:pointer}.portal-maps__tool-btn:hover{background:#fff;color:#0f172a;border-color:#cbd5e1}.portal-maps__tool-btn.is-locate-active{color:#1a73e8;border-color:color-mix(in srgb,#1a73e8 35%,#e2e8f0)}.portal-maps__tool-btn.is-error{color:#b91c1c}.portal-maps__tool-btn:disabled{opacity:.55;cursor:not-allowed}.portal-maps__tool-btn:focus-visible{outline:2px solid var(--onelink-green-medium);outline-offset:2px}.portal-maps__tool-btn.is-locate-active:focus-visible{outline-color:#1a73e8}.portal-maps__layers-btn,.portal-maps__layers-info-btn,.portal-maps__layers-legend-box,.portal-maps__layers-legend-popover,.portal-maps__layers-popover{pointer-events:auto}.portal-maps__layers-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid #e2e8f0;border-radius:10px;background:rgba(255,255,255,.96);color:#334155;box-shadow:0 4px 16px rgba(15,23,42,.12);cursor:pointer}.portal-maps__layers-btn.is-open,.portal-maps__layers-btn:hover{background:#fff;color:#0f172a;border-color:#cbd5e1}.portal-maps__layers-btn.has-active{color:var(--onelink-green-medium);border-color:color-mix(in srgb,var(--onelink-green-grass) 40%,#e2e8f0)}.portal-maps__layers-btn:focus-visible{outline:2px solid var(--onelink-green-medium);outline-offset:2px}.portal-maps__layers-btn-badge{position:absolute;top:-.25rem;right:-.25rem;min-width:1.05rem;height:1.05rem;padding:0 .28rem;border-radius:999px;background:var(--onelink-green-grass);color:#fff;font-size:.65rem;font-weight:700;line-height:1.05rem;text-align:center}.portal-maps__layers-popover{position:absolute;top:calc(100% + .5rem);right:0;z-index:3;width:min(15.5rem,calc(100vw - 1.5rem));padding:.7rem .8rem .75rem;border-radius:12px;background:rgba(255,255,255,.98);border:1px solid #e2e8f0;box-shadow:0 8px 24px rgba(15,23,42,.14)}.portal-maps__layers-title{margin:0 0 .55rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.portal-maps__layers-hint{margin:.55rem 0 0;font-size:.72rem;line-height:1.35;color:#64748b}.portal-maps__canvas img[src*="/api/portal/maps/copernicus/"]{image-rendering:auto}.portal-maps__layers-list{list-style:none;margin:0;padding:0;gap:.45rem}.portal-maps__layers-item,.portal-maps__layers-list{display:flex;flex-direction:column}.portal-maps__layers-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#0f172a;cursor:pointer;user-select:none}.portal-maps__layers-toggle input{width:1rem;height:1rem;margin:0;accent-color:var(--onelink-green-grass);cursor:pointer}.portal-maps__layers-legend-box{flex:0 1 auto;min-width:0;max-width:calc(100% - 3rem);align-self:flex-start;display:flex;flex-direction:column;justify-content:center;min-height:2.5rem;padding:.45rem .65rem;border-radius:10px;background:rgba(255,255,255,.96);border:1px solid #e2e8f0;box-shadow:0 4px 16px rgba(15,23,42,.1)}.portal-maps__layers-legend-mobile{display:none;position:relative;flex:0 0 auto;pointer-events:auto}.portal-maps__layers-info-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid #e2e8f0;border-radius:10px;background:rgba(255,255,255,.96);color:#334155;box-shadow:0 4px 16px rgba(15,23,42,.12);cursor:pointer}.portal-maps__layers-info-btn.is-open,.portal-maps__layers-info-btn:hover{background:#fff;color:#0f172a;border-color:#cbd5e1}.portal-maps__layers-info-btn:focus-visible{outline:2px solid var(--onelink-green-medium);outline-offset:2px}.portal-maps__layers-legend-popover{position:absolute;top:calc(100% + .5rem);left:0;z-index:3;width:min(16rem,calc(100vw - 1.5rem));padding:.7rem .8rem .75rem;border-radius:12px;background:rgba(255,255,255,.98);border:1px solid #e2e8f0;box-shadow:0 8px 24px rgba(15,23,42,.14)}.portal-maps__layers-legend-popover .portal-maps__layers-legend{flex-direction:column;align-items:flex-start;gap:.4rem}.portal-maps__layers-legend-group+.portal-maps__layers-legend-group{margin-top:.35rem;padding-top:.35rem;border-top:1px solid #eef2f7}.portal-maps__layers-legend-label{margin:0 0 .3rem;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b}.portal-maps__layers-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}.portal-maps__layers-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:550;color:#475569;line-height:1.2;white-space:nowrap}.portal-maps__layers-swatch{flex:0 0 auto;width:.7rem;height:.7rem;border-radius:3px;border:1px solid rgba(15,23,42,.12)}.portal-maps__locate-spinner{width:1rem;height:1rem;border:2px solid color-mix(in srgb,#1a73e8 25%,transparent);border-top-color:#1a73e8;border-radius:999px;animation:portal-maps-locate-spin .7s linear infinite}@keyframes portal-maps-locate-spin{to{transform:rotate(1turn)}}.portal-maps__locate-toast{margin:0;max-width:min(12.5rem,calc(100vw - 4rem));padding:.4rem .55rem;border-radius:8px;background:rgba(255,255,255,.96);border:1px solid #e2e8f0;box-shadow:0 4px 16px rgba(15,23,42,.1);color:#475569;font-size:.72rem;font-weight:550;line-height:1.3;text-align:right}.portal-maps__status--overlay{position:absolute;left:.75rem;bottom:.75rem;z-index:2;max-width:min(32rem,calc(100% - 1.5rem));margin:0;padding:.45rem .65rem;border-radius:8px;background:rgba(255,255,255,.92);border:1px solid var(--border);box-shadow:0 2px 8px rgba(15,23,42,.08);font-size:.8rem;line-height:1.4}.portal-mobile-fab{position:fixed;right:calc(.85rem + env(safe-area-inset-right, 0px));bottom:calc(.85rem + env(safe-area-inset-bottom, 0px));z-index:35;display:grid;place-items:center;width:3.15rem;height:3.15rem;padding:0;border:0;border-radius:12px;background:var(--onelink-green-grass);color:#fff;box-shadow:0 6px 20px rgba(15,23,42,.22);cursor:pointer;text-decoration:none}.portal-mobile-fab svg{width:1.35rem;height:1.35rem}.portal-mobile-fab:hover{filter:brightness(1.04)}.portal-mobile-fab.is-open{background:#14532d}.portal-mobile-fab--home{background:#fff;color:var(--onelink-green-grass);border:1px solid #e2e8f0;box-shadow:0 4px 16px rgba(15,23,42,.14)}.portal-mobile-fab--home:hover{background:#f8fafc;filter:none}.portal-mobile-context__fab-bar{display:inline-flex;align-items:center;gap:.45rem;min-width:0;max-width:min(100%,calc(100vw - 5.5rem));min-height:3.15rem;height:auto;padding:.5rem .7rem .5rem .65rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#0f172a;font:inherit;text-align:left;cursor:default;box-shadow:0 4px 16px rgba(15,23,42,.14)}.portal-mobile-context__fab-bar.is-switchable:hover:not(:disabled){background:#f8fafc}.portal-mobile-context__fab-bar.is-switchable{cursor:pointer}.portal-mobile-context__fab-bar.is-open{background:color-mix(in srgb,var(--onelink-green-grass) 10%,#fff)}.portal-mobile-context__fab-bar:disabled{opacity:.72}.portal-mobile-context__fab-bar-icon{display:inline-flex;flex:0 0 auto;align-self:flex-start;margin-top:.1rem;color:var(--onelink-green-grass)}.portal-mobile-context__fab-bar-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1 auto}.portal-mobile-context__fab-bar-label{font-size:.82rem;font-weight:700;line-height:1.25;color:#0f172a}.portal-mobile-context__fab-bar-label,.portal-mobile-context__fab-bar-subtitle{overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.portal-mobile-context__fab-bar-subtitle{font-size:.68rem;font-weight:500;line-height:1.2;color:#64748b}.portal-mobile-context__fab-bar-chevron{flex:0 0 auto;align-self:flex-start;width:.45rem;height:.45rem;margin-top:.45rem;margin-left:.05rem;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(45deg) translateY(-1px)}.portal-mobile-context__fab-bar--maps-full{width:100%;max-width:none;flex:1 1 auto;min-width:0}.portal-mobile-context__fab-compact{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:3.15rem;height:3.15rem;padding:0;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:var(--onelink-green-grass);cursor:default;box-shadow:0 4px 16px rgba(15,23,42,.14)}.portal-mobile-context__fab-compact.is-switchable{cursor:pointer}.portal-mobile-context__fab-compact.is-switchable:hover:not(:disabled){background:#f8fafc}.portal-mobile-context__fab-compact.is-open{background:color-mix(in srgb,var(--onelink-green-grass) 10%,#fff)}.portal-mobile-context__fab-compact:disabled{opacity:.72}.portal-mobile-context__fab-compact-icon{display:inline-flex}.portal-maps-module-launcher,.portal-mobile-fab-bar{display:none}.portal-maps-module-launcher__backdrop{position:fixed;inset:0;z-index:36;border:0;padding:0;margin:0;border-radius:0;box-shadow:none;background:rgba(15,23,42,.28);color:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.portal-maps-module-launcher__backdrop:active,.portal-maps-module-launcher__backdrop:focus,.portal-maps-module-launcher__backdrop:focus-visible,.portal-maps-module-launcher__backdrop:hover{background:rgba(15,23,42,.28);color:transparent;border:0;box-shadow:none;outline:none}.portal-maps-module-launcher__panel{position:fixed;right:calc(.85rem + env(safe-area-inset-right, 0px));bottom:calc(4.35rem + env(safe-area-inset-bottom, 0px));z-index:37;width:min(calc(100vw - 1.7rem),20.5rem);max-height:min(58vh,26rem);overflow-y:auto;padding:.85rem;border-radius:14px;background:#fff;border:1px solid var(--border);box-shadow:0 12px 36px rgba(15,23,42,.18)}.portal-maps-module-launcher__title{margin:0 0 .65rem;font-size:.95rem;font-weight:700;color:#0f172a}.portal-maps-module-launcher__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.portal-maps-module-launcher__groups{display:flex;flex-direction:column;gap:.85rem}.portal-maps-module-launcher__group-label{margin:0 0 .4rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.portal-maps-module-launcher__tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.4rem;min-height:5.35rem;padding:.65rem .35rem .55rem;border-radius:12px;background:#f4f6f8;border:1px solid #e8edf2;color:#0f172a;text-decoration:none;text-align:center;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}button.portal-maps-module-launcher__tile{width:100%;cursor:pointer;font:inherit;appearance:none}button.portal-maps-module-launcher__tile:disabled{cursor:default}.portal-mobile-context__launcher-head{margin-bottom:.15rem}.portal-mobile-context__hint--launcher{margin-top:-.35rem;margin-bottom:.65rem}.portal-mobile-context__launcher-list{list-style:none;margin:0;padding:0;border:1px solid #e8edf2;border-radius:12px;overflow:hidden;background:#fff}.portal-mobile-context__launcher-list>li+li{border-top:1px solid #eef2f6}.portal-mobile-context__group-label{margin:0;padding:.55rem .85rem .35rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#f8fafc}.portal-mobile-context__launcher-level,.portal-mobile-context__launcher-option{display:flex;align-items:center;gap:.65rem;width:100%;min-height:3rem;padding:.65rem .75rem;border:0;background:#fff;color:#0f172a;font:inherit;text-align:left;cursor:pointer}.portal-mobile-context__launcher-level:hover:not(:disabled),.portal-mobile-context__launcher-option:hover:not(:disabled){background:#f8fafc}.portal-mobile-context__launcher-option.is-selected{background:color-mix(in srgb,var(--onelink-green-grass) 8%,#fff);color:#14532d}.portal-mobile-context__launcher-level:disabled,.portal-mobile-context__launcher-option:disabled{cursor:default;opacity:.88}.portal-mobile-context__launcher-level-icon,.portal-mobile-context__launcher-option-icon{display:inline-flex;flex:0 0 auto}.portal-mobile-context__launcher-option-label{flex:1 1 auto;min-width:0;font-size:.9rem;font-weight:600;line-height:1.25}.portal-mobile-context__launcher-level-copy{display:flex;flex-direction:column;gap:.08rem;flex:1 1 auto;min-width:0}.portal-mobile-context__launcher-level-type{font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#64748b}.portal-mobile-context__launcher-level-value{font-size:.9rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-maps-module-launcher__tile:hover{background:#eef2f6;border-color:color-mix(in srgb,var(--onelink-green-grass) 28%,#e8edf2);box-shadow:0 2px 8px rgba(15,23,42,.06)}.portal-maps-module-launcher__tile.is-active{background:color-mix(in srgb,var(--onelink-green-grass) 16%,#fff);border-color:color-mix(in srgb,var(--onelink-green-grass) 42%,#bbf7d0);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--onelink-green-grass) 18%,transparent)}.portal-maps-module-launcher__tile.is-active:hover{background:color-mix(in srgb,var(--onelink-green-grass) 20%,#fff);border-color:color-mix(in srgb,var(--onelink-green-grass) 48%,#bbf7d0)}.portal-maps-module-launcher__tile.is-active .portal-maps-module-launcher__tile-icon,.portal-maps-module-launcher__tile.is-active .portal-maps-module-launcher__tile-label{color:var(--onelink-green-grass)}.portal-maps-module-launcher__tile-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:#334155}.portal-maps-module-launcher__tile-icon svg{width:1.35rem;height:1.35rem}.portal-maps-module-launcher__tile-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.68rem;font-weight:600;line-height:1.25;color:#334155}body.portal-maps-module-launcher-open{overflow:hidden}.portal-maps--fullscreen .portal-maps__missing-token{margin:1.25rem}.portal-maps__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.portal-maps__header h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.portal-maps__lead{margin:0;color:var(--muted);font-size:.9rem;max-width:38rem}.portal-maps__legend{display:flex;gap:.85rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.portal-maps__legend-item{display:inline-flex;align-items:center;gap:.35rem}.portal-maps__swatch{width:.75rem;height:.75rem;border-radius:999px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(15,23,42,.12)}.portal-maps__swatch--entity{background:#2d6a4f}.portal-maps__swatch--sensor{background:#40916c}.portal-maps__canvas{width:100%;height:clamp(420px,62vh,720px);min-height:420px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#e2e8f0}.portal-maps__canvas--loading{display:grid;place-items:center;color:var(--muted);font-size:.9rem}.portal-maps__empty,.portal-maps__stats{margin:0;font-size:.82rem}.portal-maps__missing-token{padding:1rem 1.1rem}.portal-map-popup{display:flex;flex-direction:column;gap:.15rem;font-size:.82rem;line-height:1.35}.portal-map-popup strong{color:#0f172a}.portal-map-popup span{color:#64748b}.portal-map-popup--cuartel,.portal-map-popup--environmental,.portal-map-popup--rich,.portal-map-popup--soil,.portal-map-popup--weather{gap:.65rem;min-width:0;max-width:17rem;width:fit-content;padding:.75rem .85rem .8rem;box-sizing:border-box}.portal-map-popup--cuartel{max-width:13rem}.portal-map-popup--rich .portal-map-popup__head{align-items:center;min-height:0;padding-right:0;margin:0}.portal-map-popup__identity{display:flex;flex-direction:column;gap:.12rem;margin:0 0 .05rem;padding-right:1.75rem;min-width:0}.portal-map-popup__head{display:flex;align-items:center;min-height:0;padding-right:0;margin:0}.portal-map-popup--cuartel .portal-map-popup__head{padding-right:1.75rem}.portal-map-popup__entity{font-size:.9rem;font-weight:700;color:#0f172a;line-height:1.25;flex:1 1 auto;min-width:0}.portal-map-popup__device{display:none}.portal-map-popup__id{display:block;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#94a3b8;letter-spacing:.01em;margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-map-popup__freshness{display:block;margin-top:.12rem;font-size:.62rem;font-weight:600;color:#64748b;line-height:1.25}.portal-map-popup--environmental .portal-map-popup__freshness{margin-top:.08rem;font-size:.58rem;color:#94a3b8}.portal-map-popup__avg,.portal-map-popup__hero{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem;padding:.45rem .55rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.portal-map-popup__avg-value,.portal-map-popup__hero-value{font-size:.95rem;font-weight:800;color:#0f172a!important;font-variant-numeric:tabular-nums}.portal-map-popup__avg-label,.portal-map-popup__hero-label{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b!important}.portal-map-popup__depths,.portal-map-popup__metrics{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.portal-map-popup__depths li,.portal-map-popup__metrics li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.78rem;padding:.05rem 0}.portal-map-popup__depth-label,.portal-map-popup__metric-label{color:#64748b;font-weight:600}.portal-map-popup__depth-value,.portal-map-popup__metric-value{color:#0f172a!important;font-weight:700;font-variant-numeric:tabular-nums}.portal-map-popup__irrigation,.portal-map-popup__note{margin:.15rem 0 0;font-size:.76rem;color:#475569;line-height:1.35}.portal-map-popup__cta{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:.55rem;padding:.55rem .85rem;border-radius:8px;background:var(--onelink-green-grass);color:#fff!important;font-size:.78rem;font-weight:700;text-decoration:none;text-align:center}.portal-map-popup__cta:hover{filter:brightness(.95)}.portal-map-popup--environmental.portal-map-popup--sheet{gap:0;max-width:16rem;padding:.72rem .75rem .65rem;border-radius:12px}.portal-env-popup__head{display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;padding-right:1.4rem;margin-bottom:.62rem;padding-bottom:.58rem;border-bottom:1px solid #eef2f7}.portal-env-popup__title{margin:0;font-size:.92rem;font-weight:700;color:#0f172a;line-height:1.3;letter-spacing:-.01em}.portal-env-popup__ago{font-size:.68rem;font-weight:500;color:#94a3b8;line-height:1.35}.portal-env-popup__temp{display:flex;flex-direction:column;align-items:flex-start;gap:.22rem;padding-bottom:.55rem;margin-bottom:.4rem;border-bottom:1px solid #eef2f7}.portal-env-popup__temp-value{font-size:1.65rem;font-weight:700;color:#0f172a;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}.portal-env-popup__temp-unit{font-size:.78rem;font-weight:600;color:#94a3b8;margin-left:.1rem}.portal-env-popup__temp-range{font-size:.7rem;font-weight:600;color:#64748b;line-height:1.3}.portal-env-popup__stats{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.portal-env-popup__row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.28rem 0;border-bottom:1px solid #f1f5f9;font-size:.72rem;line-height:1.25}.portal-env-popup__row:last-child{border-bottom:none;padding-bottom:.1rem}.portal-env-popup__row-label{color:#64748b;font-weight:500;min-width:0}.portal-env-popup__row-value{color:#0f172a!important;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex-shrink:0}.portal-env-popup__action{margin-top:.5rem;padding:.48rem .6rem;font-size:.74rem}.portal-map-popup--compact{gap:.4rem;padding:.55rem .62rem .58rem;max-width:15.25rem}.portal-map-popup--compact .portal-map-popup__identity{gap:.04rem;margin:0;padding-right:1.55rem}.portal-map-popup--compact .portal-map-popup__entity{font-size:.82rem;line-height:1.2}.portal-map-popup--compact .portal-map-popup__id{font-size:.64rem}.portal-map-popup--compact .portal-map-popup__avg,.portal-map-popup--compact .portal-map-popup__hero{gap:.45rem;padding:.32rem .42rem;border-radius:7px}.portal-map-popup--compact .portal-map-popup__hero-main{display:flex;flex-direction:column;gap:.05rem;min-width:0}.portal-map-popup--compact .portal-map-popup__hero-sub{font-size:.64rem;font-weight:600;color:#64748b!important;line-height:1.2}.portal-map-popup--compact .portal-map-popup__avg-value,.portal-map-popup--compact .portal-map-popup__hero-value{font-size:.88rem}.portal-map-popup--compact .portal-map-popup__avg-label,.portal-map-popup--compact .portal-map-popup__hero-label{font-size:.64rem}.portal-map-popup--compact .portal-map-popup__metrics{gap:.12rem}.portal-map-popup--compact .portal-map-popup__metrics--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.45rem;row-gap:.1rem}.portal-map-popup--compact .portal-map-popup__metrics li{font-size:.7rem;padding:0;gap:.35rem}.portal-map-popup--compact .portal-map-popup__metric-label{font-size:.68rem}.portal-map-popup--compact .portal-map-popup__metric-value{font-size:.72rem}.portal-map-popup--compact .portal-map-popup__cta{margin-top:.28rem;padding:.42rem .62rem;font-size:.72rem;border-radius:7px}@media (max-width:639px){.gm-style-iw:has(.portal-map-popup--environmental){max-width:min(16rem,calc(100vw - 2rem))!important}.portal-map-popup--environmental.portal-map-popup--sheet{padding:.65rem .68rem .6rem;max-width:min(16rem,calc(100vw - 2rem))}.portal-env-popup__head{margin-bottom:.55rem;padding-bottom:.5rem}.portal-env-popup__temp-value{font-size:1.48rem}.portal-env-popup__row{font-size:.7rem;padding:.24rem 0}.portal-env-popup__action{margin-top:.38rem;padding:.4rem .5rem}.portal-map-popup--compact{gap:.32rem;padding:.48rem .52rem .52rem;max-width:min(15rem,calc(100vw - 2.25rem))}.portal-map-popup--compact .portal-map-popup__avg,.portal-map-popup--compact .portal-map-popup__hero{padding:.28rem .38rem}.portal-map-popup--compact .portal-map-popup__metrics li{font-size:.68rem}.portal-map-popup--compact .portal-map-popup__cta{margin-top:.22rem;padding:.38rem .55rem}.gm-style-iw:has(.portal-map-popup--compact) .gm-style-iw-chr{top:.32rem!important;right:.32rem!important}}.gm-style-iw:has(.portal-map-popup--rich){padding:0!important;width:fit-content!important;max-width:17rem!important}.gm-style-iw:has(.portal-map-popup--environmental){max-width:16rem!important}.gm-style-iw:has(.portal-map-popup--cuartel){max-width:13rem!important}.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-c{padding:0!important;max-height:none!important;border-radius:12px!important;overflow:visible!important;width:fit-content!important;max-width:inherit!important}.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-chr{position:absolute!important;top:.45rem!important;right:.45rem!important;left:auto!important;z-index:3;width:1.75rem!important;height:1.75rem!important;padding:0!important;margin:0!important;border:none!important;background:none!important;display:flex!important;align-items:center!important;justify-content:center!important;pointer-events:auto!important}.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-chr .gm-ui-hover-effect{position:absolute!important;top:0!important;right:0!important;left:auto!important;width:1.75rem!important;height:1.75rem!important;margin:0!important;padding:0!important;border:none!important;outline:none!important;box-shadow:none!important;background:none!important;background-color:transparent!important;opacity:1!important}.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-chr .gm-ui-hover-effect:focus,.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-chr .gm-ui-hover-effect:focus-visible,.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-chr .gm-ui-hover-effect:hover{border:none!important;outline:none!important;box-shadow:none!important;background:rgba(15,23,42,.06)!important;border-radius:999px!important}.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-chr .gm-ui-hover-effect>span{margin:0!important;border:none!important;box-shadow:none!important}.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-d{overflow:visible!important;padding:0!important;max-height:none!important;width:fit-content!important;max-width:inherit!important}.gm-style-iw:has(.portal-map-popup--rich) .gm-style-iw-d>div{overflow:visible!important;max-height:none!important;width:fit-content!important;max-width:inherit!important}.portal-map-picker__canvas{width:100%;height:280px;min-height:280px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#e2e8f0}.portal-map-picker__canvas--loading{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.portal-map-picker__error{margin:.5rem 0 0;font-size:.85rem}.portal-map-picker__canvas--geofence{height:min(62vh,540px);min-height:420px}.portal-map-picker--geofence .portal-map-picker__stage{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.portal-map-picker--geofence .portal-map-picker__canvas--geofence{border:none;border-radius:0}.portal-map-picker__stage{position:relative}.portal-map-picker__canvas--drawing,.portal-map-picker__stage--drawing,.portal-map-picker__stage--drawing .gm-style,.portal-map-picker__stage--drawing .gm-style :not(button):not(a):not([role=button]){cursor:crosshair!important}.portal-geofence-overlay{position:absolute;z-index:2;pointer-events:none}.portal-geofence-overlay>*{pointer-events:auto}.portal-geofence-toolbar{position:absolute;top:10px;left:10px;z-index:2;max-width:calc(100% - 20px);padding:.45rem .55rem;border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(15,23,42,.12)}.portal-geofence-overlay--hint{top:auto;bottom:10px;left:50%;transform:translateX(-50%);padding:.35rem .75rem;font-size:.78rem;font-weight:600;color:#15803d;white-space:nowrap}.portal-geofence-overlay--warn{color:#b45309}.portal-map-picker__coords,.portal-map-picker__hint{margin:.5rem 0 0;font-size:.82rem}.portal-map-picker__coords--warn{color:#b45309}.portal-geofence-steps{margin:0 0 .65rem;font-size:.84rem;color:var(--muted);line-height:1.45}.portal-geofence-steps__short{display:none}.portal-geofence-steps li+li{margin-top:.2rem}.portal-geofence-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.portal-geofence-toolbar__btn{padding:.38rem .7rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:#0f172a;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.06)}.portal-geofence-toolbar__btn:disabled{opacity:.45;cursor:not-allowed}.portal-geofence-toolbar__btn--primary{background:var(--onelink-green-grass);border-color:var(--onelink-green-grass);color:#fff}.portal-geofence-toolbar__btn--primary:disabled{background:#94a3b8;border-color:#94a3b8}.portal-geofence-toolbar__status{font-size:.78rem;color:#64748b;white-space:nowrap}.portal-config{display:flex;flex-direction:column;gap:1.25rem}.portal-config--entities{gap:0}.portal-config--entities .portal-page-header{margin-bottom:0}.portal-config__form{padding:1.1rem 1.25rem}.portal-alerts{display:grid;gap:1rem}.portal-alerts__header{margin-bottom:0}.portal-alerts__toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.portal-alerts__intro h1{margin:0}.portal-alerts__intro .portal-page-lead{margin:.35rem 0 0}.portal-alerts__create{flex-shrink:0;white-space:nowrap}.portal-alerts__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem}.portal-alerts__stat{padding:.95rem 1rem}.portal-alerts__stat-label{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}.portal-alerts__stat-value{font-size:1.55rem;font-weight:700;line-height:1.1;color:var(--fg)}.portal-alerts__section{margin-bottom:0}.portal-alerts__section-title{margin:0 0 .85rem;font-size:1.05rem;font-weight:600}.portal-alerts__empty{margin:0}.portal-alerts__meta{display:block;font-size:.85rem}.portal-alerts__table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.portal-alerts-table{width:100%;border-collapse:collapse}.portal-alerts-table td,.portal-alerts-table th{padding:.7rem .65rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.portal-alerts-table th{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.portal-alerts__actions{display:flex;flex-wrap:wrap;gap:.4rem}.portal-modal:has(.portal-alert-creator){width:min(100%,44rem);height:auto;max-height:min(calc(100dvh - 2rem),52rem);display:flex;flex-direction:column}.portal-modal__body:has(.portal-alert-creator){display:flex;flex-direction:column;flex:1;min-height:0;padding:0;overflow:hidden}.portal-alert-creator{display:flex;flex-direction:column;min-height:0;flex:1}.portal-alert-creator__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding:1rem 1.25rem .85rem;border-bottom:1px solid var(--border);background:#f8fafb;flex-shrink:0}.portal-alert-creator__step{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;border-radius:10px;border:1px solid transparent;opacity:.55;min-width:0}.portal-alert-creator__step.is-active,.portal-alert-creator__step.is-done{opacity:1}.portal-alert-creator__step.is-active{background:#fff;border-color:color-mix(in srgb,var(--onelink-green-medium) 35%,var(--border));box-shadow:0 1px 2px rgba(37,48,59,.06)}.portal-alert-creator__step-index{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;border-radius:999px;background:#e8edf1;color:var(--muted);font-size:.78rem;font-weight:700;flex-shrink:0}.portal-alert-creator__step.is-active .portal-alert-creator__step-index,.portal-alert-creator__step.is-done .portal-alert-creator__step-index{background:var(--onelink-green-medium);color:#fff}.portal-alert-creator__step-copy{display:grid;gap:.1rem;min-width:0}.portal-alert-creator__step-copy strong{font-size:.84rem;font-weight:700}.portal-alert-creator__step-copy small{font-size:.72rem;color:var(--muted);line-height:1.3}.portal-alert-creator__scroll{display:grid;gap:1rem;padding:1.15rem 1.25rem 1.2rem;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.portal-alert-creator__panel{display:grid;gap:1.1rem}.portal-alert-creator__block{display:grid;gap:.55rem}.portal-alert-creator__label{margin:0;font-size:.84rem;font-weight:600;color:var(--muted)}.portal-alert-creator__chips{display:flex;flex-wrap:wrap;gap:.5rem}.portal-alert-creator__chip{border:1px solid var(--border);background:#fff;color:var(--fg);border-radius:999px;padding:.55rem .95rem;font-size:.88rem;font-weight:600;cursor:pointer;line-height:1.2;min-height:2.5rem;touch-action:manipulation}.portal-alert-creator__chip:hover{border-color:color-mix(in srgb,var(--onelink-green-medium) 50%,var(--border))}.portal-alert-creator__chip.is-active{background:var(--onelink-green-medium);border-color:var(--onelink-green-medium);color:#fff}.portal-alert-creator__chip--muted.is-active{background:var(--onelink-charcoal);border-color:var(--onelink-charcoal)}.portal-alert-creator__segment{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.3rem;border-radius:10px;background:#f3f5f7}.portal-alert-creator__segment button{border:0;background:transparent;border-radius:8px;padding:.6rem .75rem;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer;min-height:2.6rem;touch-action:manipulation}.portal-alert-creator__segment button.is-active{background:#fff;color:var(--fg);box-shadow:0 1px 2px rgba(37,48,59,.08)}.portal-alert-creator__two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.portal-alert-creator__hint-card{display:flex;align-items:center;padding:.75rem .9rem;border-radius:10px;background:#f8fafb;border:1px solid var(--border);color:var(--muted);font-size:.86rem;line-height:1.4}.portal-alert-creator__recipients,.portal-alert-creator__sensors{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.portal-alert-creator__sensors-head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;padding:.7rem .9rem;border-bottom:1px solid var(--border);font-size:.84rem;font-weight:600;color:var(--muted);background:#f8fafb}.portal-alert-creator__sensors-list{max-height:min(11rem,28vh);overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid}.portal-alert-creator__sensors-list--tall{max-height:min(16rem,38vh)}.portal-alert-creator__sensor{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .9rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-size:.92rem;cursor:pointer;min-height:3rem;touch-action:manipulation}.portal-alert-creator__sensor:last-child{border-bottom:0}.portal-alert-creator__sensor.is-checked{background:color-mix(in srgb,var(--onelink-green-medium) 8%,#fff)}.portal-alert-creator__sensor input{margin:.2rem 0 0;width:1.1rem;height:1.1rem;flex-shrink:0;accent-color:var(--onelink-green-medium)}.portal-alert-creator__sensor-meta{display:grid;gap:.15rem;min-width:0}.portal-alert-creator__sensor-meta strong{font-size:.92rem;font-weight:600;overflow-wrap:anywhere;word-break:break-word}.portal-alert-creator__sensor-meta small{color:var(--muted);font-size:.78rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.portal-alert-creator__channels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.portal-alert-creator__channel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:3.25rem;padding:.55rem .4rem;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:.88rem;font-weight:600;color:var(--fg);cursor:pointer;touch-action:manipulation}.portal-alert-creator__channel small{font-size:.7rem;font-weight:500;color:var(--muted)}.portal-alert-creator__channel.is-active{border-color:var(--onelink-green-medium);background:var(--onelink-green-medium);color:#fff!important}.portal-alert-creator__channel.is-soon:not(.is-active){opacity:.85}.portal-alert-creator__hint{margin:0;font-size:.8rem;color:var(--muted);line-height:1.4}.portal-alert-creator__hint--sensors{margin:0;padding:.55rem .9rem;border-bottom:1px solid var(--border);background:#f8fafb}.portal-alert-creator__recipient-meta{display:grid;gap:.12rem;min-width:0}.portal-alert-creator__recipient-meta strong{font-size:.9rem;font-weight:600}.portal-alert-creator__recipient-meta small{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere;word-break:break-word}.portal-alert-creator__footer{display:flex;justify-content:space-between;align-items:center;gap:.65rem;flex-shrink:0;padding:.95rem 1.25rem calc(.95rem + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--border);background:#fff}.portal-alert-creator__footer button{min-height:2.65rem;touch-action:manipulation}.portal-alert-creator__footer-right{display:flex;gap:.5rem;margin-left:auto}.portal-alert-creator .portal-config__field{gap:.45rem;font-size:.84rem}.portal-alert-creator .portal-config__field input,.portal-alert-creator .portal-config__field select{padding:.7rem .75rem;font-size:1rem;min-height:2.75rem}.portal-alert-edit-summary{display:none}@media (max-width:960px){.portal-alert-creator__channels{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-alert-creator__step-copy small{display:none}}@media (max-width:720px){.portal-alerts__toolbar{flex-direction:column;align-items:stretch}.portal-alerts__create{width:100%;min-height:2.75rem}.portal-alerts__table-wrap{overflow:visible}.portal-alerts-table,.portal-alerts-table tbody{display:block;width:100%}.portal-alerts-table thead{display:none}.portal-alerts-table tbody tr{display:block;margin-bottom:.75rem;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04)}.portal-alerts-table tbody tr:last-child{margin-bottom:0}.portal-alerts-table td{display:grid;grid-template-columns:minmax(5rem,34%) minmax(0,1fr);gap:.45rem .65rem;align-items:start;padding:.6rem .8rem;border-bottom:1px solid #f1f5f9;text-align:left}.portal-alerts-table td:last-child{border-bottom:0}.portal-alerts-table td[data-label]:before{content:attr(data-label);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;line-height:1.2;padding-top:.15rem}.portal-alerts-table__actions .portal-alerts__actions,.portal-alerts__actions{width:100%}.portal-alerts__actions button{flex:1 1 auto;min-height:2.5rem}.portal-modal-backdrop:has(.portal-alert-creator){padding:0;align-items:stretch}.portal-modal:has(.portal-alert-creator){width:100%;height:100%;max-height:none;min-height:100dvh;border-radius:0;box-shadow:none}.portal-modal:has(.portal-alert-creator) .portal-modal__head{padding:calc(.75rem + env(safe-area-inset-top, 0px)) 1rem .75rem}.portal-modal:has(.portal-alert-creator) .portal-modal__title{font-size:1.05rem}.portal-alert-creator__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.7rem .85rem}.portal-alert-creator__step{flex-direction:column;align-items:center;gap:.3rem;padding:.45rem .25rem;text-align:center}.portal-alert-creator__step-copy strong{font-size:.72rem}.portal-alert-creator__scroll{padding:1rem .95rem 1.1rem}.portal-alert-creator__two-col{grid-template-columns:1fr}.portal-alert-creator__sensors-list,.portal-alert-creator__sensors-list--tall{max-height:min(18rem,42vh)}.portal-alert-creator__footer{padding:.85rem .95rem calc(.85rem + env(safe-area-inset-bottom, 0px))}.portal-alert-creator__footer-right,.portal-alert-creator__footer-right .portal-config__submit,.portal-alert-creator__footer>button{flex:1 1 auto}.portal-alert-creator__footer-right .portal-config__submit{width:100%}.portal-modal:has(.portal-alert-creator--edit) .portal-modal__subtitle{display:none}.portal-modal:has(.portal-alert-creator--edit) .portal-modal__head{padding:calc(.65rem + env(safe-area-inset-top, 0px)) .85rem .65rem}.portal-alert-creator--edit .portal-alert-creator__scroll{padding:.7rem .85rem .85rem}.portal-alert-creator--edit .portal-alert-creator__panel{gap:.65rem}.portal-alert-creator--edit .portal-alert-edit-summary{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin:0;padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.portal-alert-creator--edit .portal-alert-edit-summary__main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.portal-alert-creator--edit .portal-alert-edit-summary__scope{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.portal-alert-creator--edit .portal-alert-edit-summary__target{font-size:.86rem;font-weight:700;color:#0f172a;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-alert-creator--edit .portal-alert-edit-summary__count{flex-shrink:0;padding:.22rem .5rem;border-radius:999px;border:1px solid #dbe4ee;background:#fff;color:#334155;font-size:.72rem;font-weight:700;white-space:nowrap}.portal-alert-creator--edit .portal-alert-creator__two-col{grid-template-columns:1fr 1fr;gap:.55rem}.portal-alert-creator--edit .portal-config__field{gap:.3rem;font-size:.78rem}.portal-alert-creator--edit .portal-config__field input,.portal-alert-creator--edit .portal-config__field select{padding:.55rem .65rem;min-height:2.4rem;font-size:.92rem}.portal-alert-creator--edit .portal-alert-creator__hint--channels,.portal-alert-creator--edit .portal-alert-creator__hint--cooldown{display:none}.portal-alert-creator--edit .portal-config__check{margin:0;font-size:.8rem;line-height:1.3}.portal-alert-creator--edit .portal-alert-creator__block{margin:0}.portal-alert-creator--edit .portal-alert-creator__label{margin-bottom:.4rem;font-size:.78rem}.portal-alert-creator--edit .portal-alert-creator__channels{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.portal-alert-creator--edit .portal-alert-creator__channel{min-height:2.35rem;padding:.4rem .35rem;font-size:.74rem}.portal-alert-creator--edit .portal-alert-creator__recipients{margin-top:.15rem}.portal-alert-creator--edit .portal-alert-creator__sensors-head{padding:.5rem .7rem;font-size:.78rem}.portal-alert-creator--edit .portal-alert-creator__sensors-list--tall{max-height:min(11rem,28vh)}.portal-alert-creator--edit .portal-alert-creator__sensor{padding:.55rem .7rem}.portal-alert-creator--edit .portal-alert-creator__footer{display:flex;gap:.45rem;padding:.65rem .85rem calc(.65rem + env(safe-area-inset-bottom, 0px))}.portal-alert-creator--edit .portal-alert-creator__footer>button{flex:1 1 auto;min-height:2.45rem}.portal-alert-creator--edit .portal-alert-creator__footer-right{flex:1 1 auto;display:flex}.portal-alert-creator--edit .portal-alert-creator__footer-right .portal-config__submit{width:100%;min-height:2.45rem}.portal-modal:has(.portal-alert-creator--create) .portal-modal__subtitle{display:none}.portal-modal:has(.portal-alert-creator--create) .portal-modal__head{padding:calc(.55rem + env(safe-area-inset-top, 0px)) .85rem .55rem}.portal-modal:has(.portal-alert-creator--create) .portal-modal__title{font-size:1.05rem}.portal-alert-creator--create .portal-alert-creator__steps{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.45rem .75rem;background:#fff}.portal-alert-creator--create .portal-alert-creator__step{display:inline-flex;flex:1;flex-direction:row;align-items:center;justify-content:center;gap:.3rem;min-height:2rem;padding:.3rem .35rem;border-radius:999px;border:1px solid transparent;background:transparent;box-shadow:none;opacity:.45;text-align:left}.portal-alert-creator--create .portal-alert-creator__step.is-active,.portal-alert-creator--create .portal-alert-creator__step.is-done{opacity:1}.portal-alert-creator--create .portal-alert-creator__step.is-active{background:color-mix(in srgb,var(--onelink-green-grass) 12%,#fff);border-color:color-mix(in srgb,var(--onelink-green-grass) 35%,#e2e8f0)}.portal-alert-creator--create .portal-alert-creator__step-index{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:.7rem;line-height:1;flex-shrink:0}.portal-alert-creator--create .portal-alert-creator__step-copy{display:flex;align-items:center;gap:0;min-width:0;line-height:1}.portal-alert-creator--create .portal-alert-creator__step-copy strong{display:block;margin:0;padding:0;font-size:.72rem;font-weight:700;line-height:1.2}.portal-alert-creator--create .portal-alert-creator__step-copy small{display:none}.portal-alert-creator--create .portal-alert-creator__scroll{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.55rem;padding:.65rem .85rem .75rem}.portal-alert-creator--create .portal-alert-creator__panel{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.7rem;flex:0 0 auto;min-height:0;width:100%}.portal-alert-creator--create .portal-alert-creator__block{gap:.35rem}.portal-alert-creator--create .portal-alert-creator__label{font-size:.75rem}.portal-alert-creator--create .portal-alert-creator__chips{display:flex;flex-wrap:wrap;gap:.4rem}.portal-alert-creator--create .portal-alert-creator__chip{flex:0 0 auto;justify-content:center;text-align:center;min-width:0;min-height:2rem;height:auto;padding:.4rem .75rem;font-size:.75rem;font-weight:600;line-height:1.15;border-radius:999px;border-width:1.5px;border-color:#d0d7de;background:#fff;color:#334155;white-space:nowrap;box-shadow:0 1px 1px rgba(15,23,42,.04)}.portal-alert-creator--create .portal-alert-creator__chip.is-active{border-color:var(--onelink-green-medium);background:var(--onelink-green-medium);color:#fff;box-shadow:0 1px 2px color-mix(in srgb,var(--onelink-green-medium) 35%,transparent)}.portal-alert-creator--create .portal-alert-creator__chip--muted.is-active{border-color:var(--onelink-charcoal);background:var(--onelink-charcoal);color:#fff}.portal-alert-creator--create .portal-config__field{gap:.3rem;font-size:.78rem}.portal-alert-creator--create .portal-config__field input,.portal-alert-creator--create .portal-config__field select{padding:.55rem .65rem;min-height:2.35rem;font-size:.9rem}.portal-alert-creator--create .portal-alert-creator__two-col{grid-template-columns:1fr;gap:.7rem}.portal-alert-creator--create .portal-alert-creator__hint-card{padding:.55rem .7rem;font-size:.78rem;line-height:1.35}.portal-alert-creator--create .portal-alert-creator__two-col>div:empty{display:none}.portal-alert-creator--create .portal-alert-creator__recipients,.portal-alert-creator--create .portal-alert-creator__sensors{flex:0 0 auto;border-radius:10px}.portal-alert-creator--create .portal-alert-creator__sensors-head{padding:.5rem .75rem;font-size:.78rem}.portal-alert-creator--create .portal-alert-creator__hint--sensors{margin:0;padding:.4rem .75rem;font-size:.74rem}.portal-alert-creator--create .portal-alert-creator__sensors-list,.portal-alert-creator--create .portal-alert-creator__sensors-list--tall{max-height:min(18rem,44vh)}.portal-alert-creator--create .portal-alert-creator__sensor{padding:.55rem .75rem;gap:.55rem;min-height:0}.portal-alert-creator--create .portal-alert-creator__recipient-meta strong,.portal-alert-creator--create .portal-alert-creator__sensor-meta strong{font-size:.88rem}.portal-alert-creator--create .portal-alert-creator__recipient-meta small,.portal-alert-creator--create .portal-alert-creator__sensor-meta small{font-size:.74rem}.portal-alert-creator--create .portal-alert-creator__channels{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.portal-alert-creator--create .portal-alert-creator__channel{min-height:2.35rem;padding:.45rem .4rem;font-size:.76rem}.portal-alert-creator--create .portal-alert-creator__hint{font-size:.76rem;line-height:1.35}.portal-alert-creator--create .portal-alert-creator__footer{gap:.5rem;padding:.7rem .85rem calc(.7rem + env(safe-area-inset-bottom, 0px))}.portal-alert-creator--create .portal-alert-creator__footer-right .portal-config__submit,.portal-alert-creator--create .portal-alert-creator__footer>button{min-height:2.5rem}}@media (max-width:420px){.portal-alert-creator__channels{grid-template-columns:1fr 1fr}.portal-alert-creator--create .portal-alert-creator__channels,.portal-alert-creator--edit .portal-alert-creator__channels{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-alert-creator--create .portal-alert-creator__step-copy strong{font-size:.64rem}.portal-alert-creator__chip{flex:1 1 calc(50% - 0.5rem);text-align:center;justify-content:center}.portal-alert-creator--create .portal-alert-creator__chip{flex:0 0 auto;min-height:1.95rem;padding:.38rem .7rem;font-size:.72rem}}.portal-config__form-title,.portal-config__list-title{margin:0 0 1rem;font-size:1.05rem;font-weight:600}.portal-config__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem 1rem}.portal-config__field{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem}.portal-config__field span{color:var(--muted);font-weight:500}.portal-config__field input,.portal-config__field select{padding:.45rem .55rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:#fff}.portal-config__checks{border:0;padding:0;margin:0}.portal-config__checks legend{color:var(--muted);font-weight:500;font-size:.82rem;margin-bottom:.35rem}.portal-config__check-list{display:flex;flex-direction:column;gap:.45rem}.portal-config__check{display:flex;align-items:flex-start;gap:.5rem;font-size:.88rem;color:var(--text);cursor:pointer}.portal-config__check input{margin-top:.15rem;flex-shrink:0}.portal-config__check--block{margin-top:.25rem}.portal-config__map-section h3{margin:1.1rem 0 .65rem;font-size:.95rem;font-weight:600}.portal-config__actions{margin-top:1rem}.portal-config__submit{padding:.5rem 1rem;border:none;border-radius:8px;background:var(--onelink-green-grass);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer}.portal-config__submit:disabled{opacity:.55;cursor:not-allowed}.portal-config__submit--danger{background:#dc2626}.portal-config__submit--danger:hover:not(:disabled){background:#b91c1c}.portal-config__alert{margin:0 0 1rem;padding:.55rem .75rem;border-radius:8px;font-size:.85rem}.portal-config__alert--error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.portal-config__alert--success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.portal-config__list{padding:1.1rem 1.25rem}.portal-config__table-wrap{overflow-x:auto}.portal-config__table{width:100%;border-collapse:collapse;font-size:.85rem}.portal-config__table td,.portal-config__table th{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--border)}.portal-config__table th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em}.portal-config__grid--compact{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.portal-config__field--grid-full{grid-column:1/-1}.portal-cuartel-crop-editor{display:flex;flex-direction:column;gap:1.35rem;margin-top:1rem}.portal-cuartel-crop-editor__section{display:flex;flex-direction:column;gap:.65rem;padding-top:.25rem;border-top:1px solid var(--border)}.portal-cuartel-crop-editor__section:first-child{border-top:0;padding-top:0}.portal-cuartel-crop-editor__section-head h4{margin:0;font-size:.95rem;font-weight:600}.portal-cuartel-crop-editor__section-head p{margin:.2rem 0 0;font-size:.82rem}.portal-cuartel-crop-editor__pollinator-toggle-row{display:flex;align-items:center;gap:.5rem;width:fit-content}.portal-cuartel-crop-editor__pollinator-toggle-label{font-size:.95rem;font-weight:600;color:var(--text)}.portal-cuartel-crop-editor__pollinator-lead{margin:.35rem 0 0;font-size:.82rem}.portal-cuartel-pollinator-switch{position:relative;display:inline-block;flex:none;width:2.5rem;height:1.4rem;flex-shrink:0;overflow:hidden;border-radius:999px;cursor:pointer}.portal-cuartel-pollinator-switch input{position:absolute;inset:0;z-index:1;margin:0;padding:0;border:0;width:100%;height:100%;min-width:0;min-height:0;opacity:0;cursor:pointer;appearance:none;-webkit-appearance:none;background:transparent}.portal-cuartel-pollinator-switch__slider{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,var(--border));pointer-events:none;transition:background .15s ease}.portal-cuartel-pollinator-switch__slider:before{content:"";position:absolute;top:2px;left:2px;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s ease}.portal-cuartel-pollinator-switch input:checked+.portal-cuartel-pollinator-switch__slider{background:var(--accent)}.portal-cuartel-pollinator-switch input:checked+.portal-cuartel-pollinator-switch__slider:before{transform:translateX(1.1rem)}.portal-cuartel-pollinator-switch input:focus-visible+.portal-cuartel-pollinator-switch__slider{outline:2px solid var(--accent);outline-offset:2px}.portal-cuartel-crop-editor__rows{display:flex;flex-direction:column;gap:.55rem}.portal-cuartel-crop-editor__row{display:grid;grid-template-columns:1fr 1fr minmax(5.5rem,.55fr) auto;gap:.55rem;align-items:start;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:#fff}.portal-cuartel-crop-editor__row--pollinator{grid-template-columns:1fr minmax(5.5rem,.45fr) auto}.portal-cuartel-crop-editor__row .portal-config__field{margin:0}.portal-cuartel-crop-editor__row-action{display:flex;flex-direction:column;gap:.35rem}.portal-cuartel-crop-editor__row-action-label{visibility:hidden;font-size:.82rem;font-weight:500;line-height:1.2;user-select:none}.portal-config__field--narrow input{min-width:0}.portal-cuartel-crop-editor__remove{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.portal-cuartel-crop-editor__remove svg{display:block}.portal-cuartel-crop-editor__remove:hover:not(:disabled){background:#f4f6f5;border-color:#cbd5e1;color:#64748b}.portal-cuartel-crop-editor__remove:focus-visible{outline:2px solid color-mix(in srgb,var(--portal-accent,#40916c) 45%,transparent);outline-offset:1px}.portal-cuartel-crop-editor__remove:disabled{opacity:.35;cursor:not-allowed}.portal-cuartel-crop-editor__add{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .8rem;border:1px dashed color-mix(in srgb,var(--portal-accent,#40916c) 45%,var(--border));border-radius:8px;background:transparent;color:var(--portal-accent,#40916c);font-size:.86rem;font-weight:500;cursor:pointer}.portal-cuartel-crop-editor__add:hover{background:color-mix(in srgb,var(--portal-accent,#40916c) 8%,transparent)}.portal-cuartel-crop-editor__add span{font-size:1rem;line-height:1}.portal-cuartel-crop-editor__empty{margin:0;font-size:.85rem;padding:.35rem 0}@media (max-width:720px){.portal-cuartel-crop-editor__row,.portal-cuartel-crop-editor__row--pollinator{grid-template-columns:1fr}.portal-cuartel-crop-editor__row-action{flex-direction:row;align-items:center;justify-content:flex-end;gap:.5rem}.portal-cuartel-crop-editor__row-action-label{display:none}}.portal-config__geo-ok{color:#047857;font-variant-numeric:tabular-nums}.portal-config__geo-missing{color:#b45309;font-size:.85rem}.portal-config__list-lead{margin:-.35rem 0 1rem;font-size:.85rem}.portal-config__row-action{text-align:right;white-space:nowrap}.portal-config__link-btn{padding:0;border:none;background:transparent;color:var(--onelink-green-grass);font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.portal-config__link-btn:hover{background:transparent;color:var(--onelink-green-medium,#2d6a4f);text-decoration:underline}.portal-config__link-btn:focus-visible{outline:2px solid var(--onelink-green-medium,#2d6a4f);outline-offset:2px;background:transparent}.portal-config__edit-row td{padding:0;border-bottom:1px solid var(--border)}.portal-config__edit-panel{padding:1rem 1.25rem 1.25rem;background:#f8faf9}.portal-config__edit-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600}.portal-config__notice{padding:1rem 1.1rem}.portal-entities-workspace{display:flex;flex-direction:column;gap:1rem}.portal-entity-access-notice{padding:.85rem 1rem;font-size:.875rem;color:var(--portal-muted,#64748b)}.portal-entity-progress{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.portal-entity-progress__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.875rem}.portal-entity-progress__bar{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.portal-entity-progress__bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .25s ease}.portal-entities-workspace__split{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:1rem;align-items:start}.portal-entities-workspace__tree{padding:1rem;max-height:calc(100vh - 14rem);overflow:auto}.portal-entities-workspace__tree-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.portal-entities-workspace__tree-lead{margin:0 0 .75rem;font-size:.8rem}.portal-entities-workspace__detail{min-width:0}.portal-entity-tree__empty{margin:0;font-size:.85rem}.portal-entity-tree__row{display:flex;align-items:center;gap:.25rem;min-height:2rem;border-radius:6px}.portal-entity-tree__row.is-selected{background:rgba(22,163,74,.08)}.portal-entity-tree__toggle,.portal-entity-tree__toggle-spacer{flex:0 0 1.25rem;width:1.25rem;height:1.25rem}.portal-entity-tree__toggle{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;color:#64748b}.portal-entity-tree__arrow{display:block;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid;transition:transform .15s ease}.portal-entity-tree__arrow.is-open{transform:rotate(90deg)}.portal-entity-tree__select{flex:1;display:flex;align-items:center;gap:.4rem;min-width:0;padding:.25rem .35rem;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.portal-entity-tree__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500}.portal-entity-tree__type{flex-shrink:0;font-size:.7rem;color:var(--portal-muted,#64748b)}.portal-entity-tree__dot{flex-shrink:0;width:8px;height:8px;border-radius:50%}.portal-entity-tree__dot--complete{background:#22c55e}.portal-entity-tree__dot--partial{background:#eab308}.portal-entity-tree__add{flex-shrink:0;width:1.5rem;height:1.5rem;padding:0;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#16a34a;font-size:1rem;line-height:1;cursor:pointer}.portal-entity-tree__add:hover{background:#f0fdf4;border-color:#86efac}.portal-entity-detail{display:flex;flex-direction:column;gap:1rem}.portal-entity-detail--empty{min-height:12rem;display:flex;align-items:center}.portal-entity-detail__head{margin:0}.portal-entity-detail__crumb{margin:0 0 .35rem;font-size:.78rem}.portal-entity-detail__title{margin:0 0 .35rem;font-size:1.25rem;font-weight:600}.portal-entity-detail__lead{margin:0;font-size:.875rem}.portal-entity-detail__section{padding:1rem 1.1rem}.portal-entity-detail__section h3{margin:0 0 .85rem;font-size:.95rem;font-weight:600}.portal-entity-detail__actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1rem}.portal-entity-detail__actions-primary{display:flex;align-items:center;gap:.5rem;margin-left:auto}.portal-config__submit--secondary{background:#fff;color:var(--onelink-green-grass);border:1px solid var(--onelink-green-grass)}.portal-config__submit--secondary:hover:not(:disabled){background:#f0fdf4}.portal-entity-detail__hint{margin:.75rem 0 0;font-size:.85rem}.portal-entity-steps{display:flex;flex-wrap:wrap;gap:.5rem}.portal-entity-steps__btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.82rem;cursor:pointer;color:#334155}.portal-entity-steps__btn.is-active{border-color:#16a34a;background:#f0fdf4;color:#15803d;font-weight:600}.portal-entity-steps__num{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#e2e8f0;font-size:.72rem;font-weight:700}.portal-entity-steps__btn.is-active .portal-entity-steps__num{background:#16a34a;color:#fff}.portal-entity-steps__btn.is-done{color:#15803d;background:#f8fafc}.portal-entity-steps__btn.is-done .portal-entity-steps__num{background:#dcfce7;color:#15803d}.portal-entity-steps__label{min-width:0}.portal-entity-summary{margin:0;padding-left:1.1rem;font-size:.875rem}.portal-entity-summary__warn{color:#ca8a04}.portal-entity-sensors{margin:0;padding-left:1.1rem;font-size:.875rem}.portal-entity-sensors--assigned{list-style:none;padding-left:0}.portal-entity-sensors__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--portal-border,#e2e8f0)}.portal-entity-sensors--readonly .portal-entity-sensors__row{justify-content:flex-start}.portal-entity-sensors__assign{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem}.portal-entity-sensors__assign .portal-config__field{flex:1 1 12rem;margin:0}.portal-entity-sensors__meta{font-size:.8125rem}.portal-sensor-claim{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--portal-border,#e2e8f0)}.portal-sensor-claim__title{margin:0 0 .35rem;font-size:.9375rem;font-weight:600}.portal-sensor-claim__lead{margin:0 0 .75rem;font-size:.875rem}.portal-sensor-claim__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.portal-sensor-claim__field{flex:1 1 14rem;margin:0}.portal-sensor-claim__actions{margin-top:.75rem}.portal-sensor-identifier-input{display:flex;flex-direction:column;gap:.75rem}.portal-sensor-identifier-input--modal{gap:.5rem}.portal-sensor-identifier-input__field{margin:0}.portal-sensor-identifier-input__row{display:flex;align-items:stretch;gap:.5rem}.portal-sensor-identifier-input__row--toolbar{gap:.4rem}.portal-sensor-identifier-input__row input{flex:1;min-width:0}.portal-sensor-identifier-input__paste{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.65rem;min-width:2.65rem;padding:0;border:1px solid var(--portal-border,#e2e8f0);border-radius:.375rem;background:#f8fafc;color:#475569;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.portal-sensor-identifier-input__paste svg{display:block;flex-shrink:0}.portal-sensor-identifier-input__paste:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.portal-sensor-identifier-input__paste:disabled{opacity:.5;cursor:not-allowed}.portal-sensor-qr-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;padding:.85rem 1rem;border:2px dashed color-mix(in srgb,var(--onelink-green-grass) 42%,#fff);border-radius:8px;background:color-mix(in srgb,var(--onelink-green-grass) 11%,#fff);color:var(--onelink-green-grass);font-size:.9375rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.portal-sensor-qr-btn:hover:not(:disabled){background:color-mix(in srgb,var(--onelink-green-grass) 17%,#fff);border-color:color-mix(in srgb,var(--onelink-green-grass) 58%,#fff);color:var(--onelink-green-medium)}.portal-sensor-qr-btn.is-active{border-style:solid;background:color-mix(in srgb,var(--onelink-green-grass) 20%,#fff);border-color:var(--onelink-green-grass);color:var(--onelink-green-medium)}.portal-sensor-qr-btn:disabled{opacity:.55;cursor:not-allowed}.portal-sensor-qr-btn svg{flex-shrink:0}.portal-sensor-qr-btn--compact{width:auto;flex-shrink:0;padding:0 .7rem;min-width:2.65rem;border-width:1px;border-style:solid;background:color-mix(in srgb,var(--onelink-green-grass) 11%,#fff);border-color:color-mix(in srgb,var(--onelink-green-grass) 35%,var(--portal-border,#e2e8f0))}.portal-sensor-qr-btn--compact:hover:not(:disabled){background:color-mix(in srgb,var(--onelink-green-grass) 17%,#fff);border-color:color-mix(in srgb,var(--onelink-green-grass) 50%,#fff)}.portal-sensor-qr-btn--compact.is-active{background:color-mix(in srgb,var(--onelink-green-grass) 20%,#fff);border-color:var(--onelink-green-grass)}.portal-qr-scanner{margin-top:.75rem}.portal-sensor-identifier-input--modal .portal-qr-scanner{margin-top:.35rem}.portal-qr-scanner--edge{width:calc(100% + 2.3rem);margin-left:-1.15rem;margin-right:-1.15rem}.portal-qr-scanner__viewport{width:100%;max-width:none;min-height:14rem;overflow:hidden;border-radius:.5rem;border:1px solid var(--portal-border,#e2e8f0);background:#0f172a}.portal-qr-scanner--edge .portal-qr-scanner__viewport{border-radius:0;border-left:none;border-right:none;aspect-ratio:4/3;min-height:0;max-height:min(48vh,20rem)}.portal-qr-scanner__viewport video{width:100%!important;height:auto!important;display:block;object-fit:cover}.portal-qr-scanner__viewport>div{width:100%!important;border:none!important}.portal-qr-scanner--edge .portal-qr-scanner__status{margin-left:1.15rem;margin-right:1.15rem}.portal-qr-scanner__status{margin:.35rem 0 0;font-size:.8125rem}.portal-sensors-panel{display:flex;flex-direction:column;gap:.85rem}.portal-sensors-hero{display:flex;flex-direction:column;gap:.7rem;padding:.85rem 1rem}.portal-sensors-hero__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.portal-page-header--compact{margin-bottom:0;min-width:0}.portal-sensors-hero__action{flex-shrink:0;white-space:nowrap}.portal-sensors-hero__controls{align-items:center;flex-wrap:wrap}.portal-sensors-hero__controls,.portal-sensors-hero__meta{display:flex;gap:.75rem;padding-top:.7rem;border-top:1px solid var(--border)}.portal-sensors-hero__meta{flex-direction:column}.portal-sensors-hero__filters,.portal-sensors-hero__kpis{display:flex;flex-direction:column;gap:.45rem;min-width:0}.portal-sensors-hero__filters{padding-top:.65rem;border-top:1px solid var(--border)}.portal-sensors-hero__section-label{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.portal-sensors-hero__kpis .portal-sensor-kpi-tags{margin-bottom:0}.portal-sensors-hero__filters .portal-sensor-branch-bar{flex:none;width:100%}.portal-sensors-hero__filters .portal-sensor-branch-bar__inner{flex-direction:column;align-items:flex-start;gap:.45rem}.portal-sensors-hero__filters .portal-sensor-branch-bar__track{width:100%}.portal-sensors-hero__controls .portal-sensor-kpi-tags{margin-left:auto;margin-bottom:0}.portal-sensors-hero__controls--stacked{flex-direction:column;align-items:stretch;gap:.55rem}.portal-sensors-hero__controls--stacked .portal-sensor-kpi-tags{margin-left:0}.portal-sensors-hero__controls--stacked .portal-sensor-branch-bar{flex:none;width:100%}.portal-sensors-hero__controls--stacked .portal-sensor-branch-bar__inner{flex-direction:column;align-items:flex-start;gap:.45rem}.portal-sensors-hero__controls--stacked .portal-sensor-branch-bar__track{width:100%}.portal-sensors-hero__controls-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.portal-sensor-branch-bar--grow{flex:1;min-width:min(100%,16rem)}.portal-sensor-branch-bar__inner--compact .portal-sensor-branch-bar__title{font-size:.75rem}.portal-config__field--checkbox{flex-direction:row;align-items:center;gap:.5rem}.portal-config__field--checkbox input{width:auto;margin:0}.portal-users-invite-form,.portal-users-invite-result{display:flex;flex-direction:column;gap:.85rem}.portal-users-invite-form__grid{display:grid;grid-template-columns:1fr;gap:.75rem}.portal-users-invite-form__access{display:flex;flex-direction:column;gap:.45rem;min-height:0}.portal-users-invite-form__access-label{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b}.portal-users-invite-form .entity-access-picker{display:flex;flex-direction:column;gap:.45rem;min-height:0}.portal-users-invite-form .entity-access-picker__checklist,.portal-users-invite-form .entity-access-picker__tree{max-height:min(14rem,40vh);overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.portal-users-invite-form .access-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.15rem .1rem}.portal-users-invite-form .access-picker-toolbar__all{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;cursor:pointer}.portal-users-invite-form .entity-access-picker__row{display:flex;align-items:center;gap:.35rem;min-height:2rem;padding-right:.55rem}.portal-users-invite-form .entity-access-picker__row:hover{background:#f8fafc}.portal-app .entity-access-picker__toggle,.portal-users-invite-form .entity-access-picker__toggle{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;flex-shrink:0;margin:0;padding:0!important;border:0!important;border-radius:4px!important;background:transparent!important;box-shadow:none!important;color:#94a3b8!important;cursor:pointer;line-height:1}.portal-app .entity-access-picker__toggle:hover:not(:disabled),.portal-users-invite-form .entity-access-picker__toggle:hover:not(:disabled){background:#f1f5f9!important;color:#475569!important}.portal-app .entity-access-picker__toggle-spacer,.portal-users-invite-form .entity-access-picker__toggle-spacer{display:inline-block;width:1.35rem;flex-shrink:0}.portal-users-invite-form .entity-access-picker__check{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;margin:0;padding:.2rem 0;font-size:.875rem}.portal-users-invite-form .entity-access-picker__name{font-weight:500;color:#1e293b}.portal-users-invite-form .portal-modal__actions{margin-top:.25rem}.portal-users-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;align-items:end}.portal-users-filters--single{grid-template-columns:minmax(12rem,18rem)}.portal-sensors-table-wrap .portal-users-filters--single{max-width:18rem}.portal-users-filter{margin:0;min-width:0}.portal-users-filter select{width:100%;cursor:pointer}@media (max-width:520px){.portal-users-filters{grid-template-columns:1fr}}.portal-users-invite-result__lead{margin:0}.portal-user-edit{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.portal-user-edit__body{display:grid;grid-template-columns:13rem minmax(0,1fr);flex:1;min-height:22rem;overflow:hidden}.portal-user-edit__nav{display:flex;flex-direction:column;gap:.15rem;padding:.85rem .65rem;border-right:1px solid var(--border);background:#f8fafc;overflow-y:auto}.portal-user-edit__content{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.portal-user-edit__error{margin:.75rem 1.25rem 0}.portal-user-edit__panel{display:flex;flex-direction:column;gap:.75rem;flex:0 1 auto;overflow-y:auto;padding:1rem 1.25rem .5rem}.portal-user-edit__panel--compact{flex:0 0 auto}.portal-user-edit__panel--scroll{max-height:min(50vh,24rem);overflow:auto}.portal-user-edit__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem 1rem;margin:0;font-size:.8125rem}.portal-user-edit__meta div{display:flex;flex-direction:column;gap:.2rem}.portal-user-edit__meta dt{margin:0;color:var(--muted);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.portal-user-edit__meta dd{margin:0;color:var(--fg)}.portal-user-edit__badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:color-mix(in srgb,var(--onelink-green-grass) 12%,#fff);color:#0f766e;border:1px solid color-mix(in srgb,var(--onelink-green-grass) 30%,#e2e8f0)}.portal-user-edit__badge--warn{background:#fffbeb;color:#b45309;border-color:#fde68a}.portal-user-edit__invite-label{margin:0 0 .35rem;font-size:.8125rem}.portal-user-edit .invite-link-copy{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.portal-user-edit .invite-link-copy__path{flex:1;min-width:0;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;background:#f8fafc;font-size:.75rem;color:#0f766e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-user-edit .invite-link-copy__btn{flex-shrink:0;padding:.45rem .75rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--fg);font-size:.8125rem;cursor:pointer}.portal-user-edit .invite-link-copy__btn:hover{background:#f8fafc;border-color:#cbd5e1}.portal-user-edit__nav-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;min-width:0;padding:.55rem .7rem;border:1px solid transparent;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,color .15s ease}.portal-user-edit__nav-btn:hover{background:#fff;border-color:#e2e8f0;color:#334155}.portal-user-edit__nav-btn.is-active{border-color:color-mix(in srgb,var(--onelink-green-grass) 35%,#e2e8f0);background:color-mix(in srgb,var(--onelink-green-grass) 10%,#fff);color:#0f766e}.portal-user-edit__nav-label{font-size:.8125rem;font-weight:600;line-height:1.25}.portal-user-edit__nav-hint{font-size:.6875rem;font-weight:500;line-height:1.25;color:#94a3b8}.portal-user-edit__nav-btn.is-active .portal-user-edit__nav-hint{color:#14b8a6}.portal-user-edit__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.25rem;border-top:1px solid var(--border);background:#fafbfc;flex-shrink:0;margin-top:auto}.portal-user-create__footer-right{display:flex;align-items:center;gap:.55rem;margin-left:auto}.portal-user-create .portal-user-edit__nav-btn{display:flex;align-items:flex-start;gap:.55rem;text-align:left}.portal-user-create__step-index{display:grid;place-items:center;width:1.35rem;height:1.35rem;flex:0 0 auto;margin-top:.05rem;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:700;line-height:1}.portal-user-create .portal-user-edit__nav-btn.is-active .portal-user-create__step-index{background:var(--onelink-green-grass);color:#fff}.portal-user-create .portal-user-edit__nav-btn.is-done .portal-user-create__step-index{background:color-mix(in srgb,var(--onelink-green-grass) 18%,#fff);color:var(--onelink-green-grass)}.portal-user-create__step-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.portal-user-edit__footer-btn{padding:.5rem .9rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--fg);font-size:.875rem;font-weight:500;cursor:pointer}.portal-user-edit__footer-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.portal-user-edit__footer-btn:disabled{opacity:.6;cursor:not-allowed}.portal-user-edit__section-lead{margin:0;font-size:.8125rem;line-height:1.45}.portal-user-edit__panel--access{flex:1;min-height:0;gap:.65rem}.portal-user-edit__panel--access .entity-access-picker,.portal-user-edit__panel--access .module-access-picker{display:flex;flex:1;flex-direction:column;gap:.65rem;min-height:0}.portal-user-edit .access-picker-toolbar{padding:.6rem .85rem;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.portal-user-edit .access-picker-toolbar__all{align-items:center;font-size:.8125rem}.portal-user-edit .access-picker-toolbar__all input,.portal-user-edit .entity-access-picker__check input,.portal-user-edit .module-access-picker__check input,.portal-users-invite-form .access-picker-toolbar__all input,.portal-users-invite-form .entity-access-picker__check input{appearance:none;-webkit-appearance:none;width:1.05rem;height:1.05rem;margin:0;flex-shrink:0;border:1.5px solid #cbd5e1;border-radius:4px;background:#fff;cursor:pointer;vertical-align:middle}.portal-user-edit .access-picker-toolbar__all input:checked,.portal-user-edit .access-picker-toolbar__all input:indeterminate,.portal-user-edit .entity-access-picker__check input:checked,.portal-user-edit .entity-access-picker__check input:indeterminate,.portal-user-edit .module-access-picker__check input:checked,.portal-users-invite-form .access-picker-toolbar__all input:checked,.portal-users-invite-form .access-picker-toolbar__all input:indeterminate,.portal-users-invite-form .entity-access-picker__check input:checked,.portal-users-invite-form .entity-access-picker__check input:indeterminate{border-color:var(--onelink-green-grass);background-color:var(--onelink-green-grass);background-repeat:no-repeat;background-position:50%;background-size:.7rem .7rem}.portal-user-edit .access-picker-toolbar__all input:checked,.portal-user-edit .entity-access-picker__check input:checked,.portal-user-edit .module-access-picker__check input:checked,.portal-users-invite-form .access-picker-toolbar__all input:checked,.portal-users-invite-form .entity-access-picker__check input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.2 6.4 11.1 12.5 4.5' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.portal-user-edit .access-picker-toolbar__all input:indeterminate,.portal-user-edit .entity-access-picker__check input:indeterminate,.portal-users-invite-form .access-picker-toolbar__all input:indeterminate,.portal-users-invite-form .entity-access-picker__check input:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8h8' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}.portal-user-edit .access-picker-toolbar__count{font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;padding:.2rem .55rem;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#475569}.portal-user-edit .entity-access-picker__tree{flex:1;min-height:11rem;max-height:none;border:1px solid var(--border);border-radius:10px;background:#fff;overflow-y:auto}.portal-user-edit .entity-access-picker__row{min-height:2.25rem;border-radius:6px;margin:0 .25rem}.portal-user-edit .entity-access-picker__row:hover{background:#f8fafc}.portal-user-edit .entity-access-picker__toggle{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.portal-user-edit .entity-access-picker__toggle:hover:not(:disabled){background:#f1f5f9;color:#334155}.portal-user-edit .entity-access-picker__toggle-spacer{display:inline-block;width:1.5rem;flex-shrink:0}.portal-user-edit .entity-access-picker__check{flex:1;min-width:0;gap:.55rem;padding:.15rem 0;font-size:.875rem}.portal-user-edit .entity-access-picker__name{font-weight:500;color:#1e293b}.portal-user-edit .module-access-picker__list{flex:1;min-height:8rem;max-height:none;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;padding:.15rem .1rem}.portal-user-edit .module-access-picker__group{padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:#fff}.portal-user-edit .module-access-picker__group-label{margin:0 0 .55rem;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.portal-user-edit .module-access-picker__checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.45rem;margin:0;padding:0;list-style:none}.portal-user-edit .module-access-picker__check{display:flex;align-items:center;gap:.5rem;margin:0;padding:.5rem .6rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:.8125rem;line-height:1.3;cursor:pointer;transition:border-color .15s ease,background .15s ease}.portal-user-edit .module-access-picker__check:hover{border-color:#cbd5e1;background:#fff}.portal-user-edit .module-access-picker__check:has(input:checked){border-color:var(--onelink-green-grass);background:color-mix(in srgb,var(--onelink-green-grass) 10%,#fff);color:#0f766e;font-weight:600}.portal-modal--user-edit{max-height:min(88vh,720px);overflow:hidden}.portal-modal--user-edit .portal-modal__head{align-items:flex-start}.portal-modal__head-text{min-width:0}.portal-modal__subtitle{margin:.2rem 0 0;font-size:.875rem}.portal-modal--user-edit .portal-modal__body{padding:0;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.portal-modal--wide .portal-user-edit{flex:1;min-height:0}.portal-modal--wide .portal-modal__body:has(.portal-user-edit){display:flex;flex-direction:column;min-height:0}@media (max-width:720px){.portal-user-edit__body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);min-height:0}.portal-user-edit__nav{flex-direction:row;gap:.35rem;padding:.65rem;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto}.portal-user-edit__nav-btn{flex:0 0 auto;min-width:8.5rem}}.portal-user-role-picker{display:flex;flex-direction:column;gap:.5rem}.portal-user-role-picker__option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.7rem .85rem;border:1px solid var(--border);border-radius:8px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.portal-user-role-picker__option:hover:not(:disabled){border-color:color-mix(in srgb,var(--onelink-green-grass) 40%,var(--border));background:color-mix(in srgb,var(--onelink-green-grass) 6%,#fff)}.portal-user-role-picker__option.is-selected{border-color:var(--onelink-green-grass);background:color-mix(in srgb,var(--onelink-green-grass) 10%,#fff)}.portal-user-role-picker__label{font-size:.875rem;font-weight:600;color:var(--fg)}.portal-user-role-picker__desc{font-size:.8125rem;color:var(--muted)}.portal-sensor-kpi-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem}.portal-sensor-kpi-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .65rem;border-radius:999px;font-size:.75rem;line-height:1.2;border:1px solid transparent;background:#f8fafc;color:#475569}.portal-sensor-kpi-tag strong{font-size:.8125rem;font-weight:700;color:inherit}.portal-sensor-kpi-tag--neutral{background:#f1f5f9;border-color:#e2e8f0;color:#334155}.portal-sensor-kpi-tag--online{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.portal-sensor-kpi-tag--offline{background:#fffbeb;border-color:#fde68a;color:#b45309}.portal-sensor-kpi-tag--never{background:#f8fafc;border-color:#e2e8f0;color:#64748b}.portal-sensor-kpi-tag--unassigned{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.portal-alerts-panel{padding-top:0}.portal-alerts-tabs{display:flex;gap:.15rem;padding:.55rem .85rem 0;border-bottom:1px solid #e2e8f0;margin-bottom:0}.portal-alerts-tabs__tab{display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.65rem .85rem;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent!important;color:#64748b!important;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:none!important}.portal-alerts-tabs__tab:hover{color:#0f172a!important;background:transparent!important}.portal-alerts-tabs__tab.is-active{color:#0f172a!important;border-bottom-color:var(--onelink-green-grass)}.portal-alerts-tabs__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.7rem;font-weight:700;line-height:1}.portal-alerts-tabs__tab.is-active .portal-alerts-tabs__count{background:color-mix(in srgb,var(--onelink-green-grass) 16%,#fff);color:var(--onelink-green-grass)}.portal-alerts-sev{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.7rem;font-weight:700;line-height:1.2;border:1px solid transparent;vertical-align:middle}.portal-alerts-sev--critical{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.portal-alerts-sev--warning{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.portal-alerts-sev--info{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.portal-alert-cards,.portal-alert-event-list{display:none;list-style:none;margin:0;padding:0}.portal-alerts-panel .portal-sensors-table__empty{padding:1.25rem 1rem}.portal-sensor-branch-bar{flex:1;min-width:min(100%,16rem)}.portal-sensor-branch-bar__inner{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.portal-sensor-branch-bar__title{margin:0;font-size:.8125rem;font-weight:600;color:#334155;white-space:nowrap;flex-shrink:0}.portal-sensor-branch-bar__track{display:flex;flex-wrap:wrap;gap:.4rem;flex:1;min-width:0}.portal-sensor-branch-bar__tab{display:inline-flex;align-items:center;gap:.45rem;max-width:12.5rem;padding:.42rem .55rem .42rem .7rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;font-size:.8125rem;line-height:1.2;color:#475569;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.portal-sensor-branch-bar__tab:hover{border-color:#cbd5e1;background:#f8fafc}.portal-sensor-branch-bar__tab.is-active{border-color:#14b8a6;background:#f0fdfa;color:#0f766e;font-weight:600}.portal-sensor-branch-bar__tab--muted.is-active{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8}.portal-sensor-branch-bar__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.portal-sensor-branch-bar__count{flex-shrink:0;min-width:1.25rem;padding:.12rem .4rem;border-radius:999px;background:#f1f5f9;font-size:.6875rem;font-weight:700;color:#64748b;text-align:center}.portal-sensor-branch-bar__tab.is-active .portal-sensor-branch-bar__count{background:#ccfbf1;color:#0f766e}.portal-sensor-branch-bar__tab--muted.is-active .portal-sensor-branch-bar__count{background:#dbeafe;color:#1d4ed8}.portal-sensors-table-wrap{padding:0;overflow-x:auto}.portal-sensors-table-toolbar{padding:.75rem .85rem;border-bottom:1px solid var(--border);background:#fafbfc}.portal-sensors-table-wrap .portal-users-filters{max-width:36rem}.portal-sensors-table{width:100%;border-collapse:collapse;font-size:.875rem}.portal-sensors-table td,.portal-sensors-table th{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--portal-border,#e2e8f0);vertical-align:middle}.portal-sensors-table th{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b;background:#f8fafc}.portal-sensors-table__empty{margin:0;padding:1.25rem .85rem;font-size:.875rem}.portal-sensors-table__meta{display:block;font-size:.8125rem;margin-top:.15rem}.portal-sensors-table__status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.portal-sensors-table__status-tag{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;font-size:.6875rem;font-weight:600;line-height:1.2;border:1px solid transparent;white-space:nowrap}.portal-sensors-table__status-tag--online{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.portal-sensors-table__status-tag--offline{background:#fef2f2;border-color:#fecaca;color:#dc2626}.portal-sensors-table__status-tag--never{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}.portal-sensors-table__status-time{font-size:.75rem;line-height:1.2}.portal-sensors-table__battery-tag{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;font-size:.6875rem;font-weight:600;line-height:1.2;border:1px solid transparent;white-space:nowrap}.portal-sensors-table__battery-tag--high{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.portal-sensors-table__battery-tag--medium{background:#fffbeb;border-color:#fde68a;color:#b45309}.portal-sensors-table__battery-tag--low{background:#fef2f2;border-color:#fecaca;color:#dc2626}.portal-sensors-table__battery-tag--unknown{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}.portal-sensors-table__actions{width:1%;white-space:nowrap}.portal-table-actions{display:inline-flex;align-items:center;gap:.2rem}.portal-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid transparent;border-radius:.375rem;background:transparent;color:#0f766e;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.portal-icon-btn:hover:not(:disabled){background:#f0fdfa;border-color:#99f6e4;color:#0d9488}.portal-icon-btn:active:not(:disabled){background:#ccfbf1}.portal-icon-btn--danger{color:#dc2626}.portal-icon-btn--danger:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#b91c1c}.portal-icon-btn:disabled{opacity:.45;cursor:not-allowed}.portal-icon-btn svg{display:block;flex-shrink:0}.portal-sensors-modal__lead{margin:0 0 1rem;font-size:.875rem}.portal-sensors-add-modal{display:flex;flex-direction:column;gap:.65rem}.portal-sensors-add-modal .portal-sensors-modal__lead{margin:0;font-size:.8125rem;line-height:1.35}.portal-sensors-add-modal .portal-config__alert{margin:0}.portal-sensors-add-modal .portal-modal__actions{margin-top:.25rem}.portal-sensors-modal__hint{margin:.5rem 0 0;font-size:.8125rem}.portal-sensor-edit .sensor-location-editor--portal{display:flex;flex-direction:column;gap:.75rem}.portal-sensor-edit .sensor-location-editor__actions{display:flex;flex-wrap:wrap;gap:.5rem}.portal-sensor-edit .sensor-location-editor__coords{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.portal-sensor-edit .portal-map-picker__canvas{width:100%;height:min(42vh,360px);min-height:240px;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#e2e8f0}.portal-sensor-edit__location{overflow-y:auto}.portal-sensor-edit__card{display:flex;flex-direction:column;gap:.65rem}.portal-sensor-edit__card-title{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.portal-sensor-edit__metrics{display:block;margin-top:.2rem;font-size:.72rem;font-weight:500;color:#94a3b8;line-height:1.35;word-break:break-word}@media (max-width:720px){.portal-sensor-edit .sensor-location-editor__coords{grid-template-columns:1fr}.portal-modal--user-edit:has(.portal-sensor-edit) .portal-modal__head{align-items:center;gap:.55rem;padding:.7rem .8rem}.portal-modal--user-edit:has(.portal-sensor-edit) .portal-modal__title{font-size:1rem;line-height:1.25}.portal-modal--user-edit:has(.portal-sensor-edit) .portal-modal__subtitle{font-size:.75rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-modal--user-edit:has(.portal-sensor-edit) .portal-modal__close{width:2.5rem;height:2.5rem;min-width:2.5rem;border:1px solid var(--border)}.portal-sensor-edit .portal-user-edit__nav{gap:.3rem;padding:.5rem .7rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.portal-sensor-edit .portal-user-edit__nav-btn{min-width:0;width:auto;padding:.42rem .7rem}.portal-sensor-edit .portal-user-edit__nav-hint{display:none}.portal-sensor-edit .portal-user-edit__nav-label{font-size:.78rem}.portal-sensor-edit .portal-user-edit__content{min-height:0}.portal-sensor-edit .portal-user-edit__panel,.portal-sensor-edit .portal-user-edit__panel--compact{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.75rem .85rem .65rem;gap:.55rem}.portal-sensor-edit .portal-user-edit__error{margin:.65rem .85rem 0}.portal-sensor-edit .portal-config__field{gap:.28rem}.portal-sensor-edit .portal-config__field legend,.portal-sensor-edit .portal-config__field span{font-size:.72rem}.portal-sensor-edit .portal-config__field input,.portal-sensor-edit .portal-config__field select{min-height:2.4rem;font-size:.9rem}.portal-sensor-edit__portal{gap:.7rem}.portal-sensor-edit__portal .portal-user-edit__section-lead{font-size:.78rem;line-height:1.4}.portal-sensor-edit__card{gap:.55rem;padding:.75rem .8rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.portal-sensor-edit__card-title{font-size:.68rem;color:#64748b}.portal-sensor-edit__tag-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.portal-sensor-edit__tag-grid .portal-config__check:last-child:nth-child(odd){grid-column:1/-1}.portal-sensor-edit__portal .portal-config__check{min-height:2.7rem;align-items:center;gap:.55rem;margin:0;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:.82rem;font-weight:600;line-height:1.25}.portal-sensor-edit__portal .portal-config__check input{width:1.1rem;height:1.1rem;margin:0;accent-color:var(--onelink-green-grass)}.portal-sensor-edit__portal .portal-config__check:has(input:checked){border-color:color-mix(in srgb,var(--onelink-green-grass) 42%,#e2e8f0);background:color-mix(in srgb,var(--onelink-green-grass) 9%,#fff);color:#0f766e}.portal-sensor-edit__portal .portal-sensors-modal__hint{margin:0;font-size:.75rem;line-height:1.4}.portal-sensor-edit__portal-summary{display:none}.portal-sensor-edit .portal-user-edit__meta{grid-template-columns:1fr;gap:.4rem 0;margin-top:.15rem;padding:.65rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.portal-sensor-edit .portal-user-edit__meta div{display:grid;grid-template-columns:6.75rem minmax(0,1fr);gap:.2rem .65rem;align-items:start}.portal-sensor-edit .portal-user-edit__meta dt{padding-top:.12rem}.portal-sensor-edit .portal-user-edit__meta dd{font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}.portal-sensor-edit .portal-user-edit__meta .portal-sensor-edit__meta-dup{display:none}.portal-sensor-edit .portal-user-edit__footer{flex-direction:column-reverse;align-items:stretch;gap:.45rem;padding:.7rem .85rem calc(.85rem + env(safe-area-inset-bottom, 0px))}.portal-sensor-edit .portal-config__submit,.portal-sensor-edit .portal-user-edit__footer-btn{width:100%;min-height:2.6rem;justify-content:center}.portal-sensor-edit .portal-map-picker__canvas{height:min(36vh,220px);min-height:170px}.portal-sensor-edit .sensor-location-editor__actions{display:grid;grid-template-columns:1fr 1fr}.portal-sensor-edit .sensor-location-editor__actions button{width:100%;min-height:2.4rem;justify-content:center}.portal-sensors-hero__head{flex-direction:column;align-items:stretch}.portal-sensors-hero__action{width:100%}.portal-sensors-hero__controls{flex-direction:column;align-items:stretch}.portal-sensors-hero__controls .portal-sensor-kpi-tags{margin-left:0}.portal-sensor-branch-bar__inner,.portal-sensors-hero__controls-row{flex-direction:column;align-items:stretch}.portal-sensor-branch-bar__track{width:100%;flex-wrap:wrap}.portal-sensor-branch-bar__tab{max-width:none;flex:1 1 calc(50% - 0.2rem)}}.portal-entity-geofence-toggle{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;font-size:.875rem;cursor:pointer}.portal-entity-geofence-toggle input{margin-top:.15rem}.portal-geofence-style{display:flex;flex-direction:column;gap:1rem;flex-shrink:0;margin-top:0;padding-top:.85rem;border-top:1px solid var(--portal-border,#e5e7eb);position:relative;z-index:1;background:var(--card,#fff)}.portal-geofence-editor{display:flex;flex-direction:column;min-height:0;gap:0}.portal-geofence-style__group{margin:0;padding:0;border:0;min-inline-size:0}.portal-geofence-style__group legend{font-size:.8125rem;font-weight:600;margin-bottom:.5rem;padding:0}.portal-geofence-style__colors{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.portal-geofence-style__color-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.portal-geofence-style__opacity{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;padding-left:.35rem;border-left:1px solid var(--border)}.portal-geofence-style__opacity-label{font-size:.75rem;font-weight:500;color:var(--muted);white-space:nowrap}.portal-geofence-style__opacity input[type=range]{width:4.25rem;accent-color:var(--accent)}.portal-geofence-style__opacity-value{min-width:2rem;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.portal-geofence-style__swatch{width:1.75rem;height:1.75rem;border-radius:999px;border:2px solid #ffffff;box-shadow:0 0 0 1px rgba(0,0,0,.12);cursor:pointer;padding:0}.portal-geofence-style__swatch.is-active{box-shadow:0 0 0 2px var(--portal-accent,#2d6a4f)}.portal-geofence-style__custom{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;cursor:pointer}.portal-geofence-style__custom input[type=color]{width:2rem;height:2rem;padding:0;border:1px solid var(--portal-border,#d1d5db);border-radius:.375rem;background:transparent;cursor:pointer}.portal-geofence-style__modes{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.portal-geofence-style__radio{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;cursor:pointer}.portal-config__checkbox{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;cursor:pointer}.portal-modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.25rem 1rem;overflow-y:auto;background:rgba(15,23,42,.45)}.portal-modal{width:min(100%,32rem);max-height:calc(100vh - 4rem);display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 24px 48px rgba(15,23,42,.18)}.portal-modal--wide{width:min(100%,56rem);height:min(calc(100vh - 2.5rem),900px);max-height:calc(100vh - 2.5rem)}.portal-modal--preview{width:min(100%,54rem);height:min(calc(100vh - 1.5rem),980px);max-height:calc(100vh - 1.5rem)}.portal-modal--preview .portal-modal__body{padding:.85rem .9rem 1rem;background:#eef2f7}.portal-modal--preview .rp-doc{margin:0 auto;max-width:794px}.portal-report-preview-loader{min-height:18rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;text-align:center}.portal-report-preview-loader__spinner{width:2rem;height:2rem;margin-bottom:.55rem;border:3px solid color-mix(in srgb,#16a74a 18%,transparent);border-top-color:#16a74a;border-radius:50%;animation:portal-context-switch-spin .75s linear infinite}.portal-report-preview-loader__title{margin:0;font-size:1rem;font-weight:700;color:#0f172a}.portal-report-preview-loader__hint{margin:0;font-size:.82rem;color:#64748b}.portal-report-preview-loader--error{min-height:10rem}.portal-modal--scanner{width:min(100%,40rem)}.portal-modal--scanner .portal-modal__body{padding-top:.75rem;padding-bottom:1rem}.portal-modal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border);flex-shrink:0}.portal-modal__title{margin:0;font-size:1.05rem;font-weight:700}.portal-modal__close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;padding:0;border:none;border-radius:8px;background:#f8fafc;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1}.portal-modal__close:hover{background:#eef2f6;color:var(--fg)}.portal-modal__body{padding:1rem 1.15rem 1.25rem;overflow-y:auto}.portal-modal__body:has(.portal-users-invite-form),.portal-modal__body:has(.portal-users-invite-result){overflow:visible}.portal-modal:has(.portal-users-invite-form),.portal-modal:has(.portal-users-invite-result){height:auto;max-height:calc(100vh - 3rem)}.portal-modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1rem}.portal-modal__actions--single .portal-config__submit{width:100%}.portal-modal--wide .portal-modal__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:1rem 1.15rem}.portal-modal--wide .portal-modal__body:has(.portal-entity-detail--embedded),.portal-modal--wide .portal-modal__body:has(.portal-user-edit){overflow:hidden}.portal-entity-detail--embedded{display:flex;flex-direction:column;gap:.65rem}.portal-modal--wide .portal-entity-detail--embedded{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__crumb,.portal-modal--wide .portal-entity-detail--embedded .portal-entity-steps{flex-shrink:0}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__section:has(.portal-cuartel-crop-editor){overflow-y:auto}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__section{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.portal-modal--wide .portal-entity-detail--embedded .portal-config__alert,.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__section h3{flex-shrink:0}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__section:has(.portal-geofence-editor){overflow:hidden}.portal-modal--wide .portal-geofence-editor{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:0}.portal-modal--wide .portal-map-picker--geofence{flex:0 0 auto;display:flex;flex-direction:column;min-height:min(34vh,340px);height:min(38vh,380px);max-height:min(42vh,420px);overflow:hidden}.portal-modal--wide .portal-geofence-steps{flex-shrink:0;margin-bottom:.35rem}.portal-modal--wide .portal-map-picker__stage{position:relative;flex:1 1 auto;min-height:min(38vh,400px);overflow:hidden}.portal-modal--wide .portal-map-picker__canvas--geofence{position:absolute;inset:0;width:100%;height:100%;min-height:0}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__section:has(.portal-geofence-editor) h3{margin-bottom:.35rem}.portal-modal--wide .portal-geofence-style{flex:0 0 auto;margin-top:0;padding-top:.65rem;padding-bottom:.25rem;border-top:1px solid var(--border);background:var(--card,#fff);gap:.65rem;position:relative;z-index:2}.portal-modal--wide .portal-entity-detail__actions{flex-shrink:0;margin-top:auto;padding-top:.85rem;border-top:1px solid var(--border);background:#fff}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__section:has(.portal-geofence-editor) .portal-entity-detail__actions{margin-top:0;position:relative;z-index:4}.portal-entity-detail--embedded .portal-entity-detail__section{padding:.85rem 0;border:none;box-shadow:none;background:transparent}.portal-entities-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.portal-entities-page-head__action{flex-shrink:0;margin-top:.15rem;white-space:nowrap}.portal-entities-table-wrap{padding:0;overflow-x:auto}.portal-entities-table-wrap .portal-sensors-table__empty{padding:1.25rem 1rem;margin:0}.portal-entities-table{width:100%;border-collapse:collapse;font-size:.875rem}.portal-entities-table td,.portal-entities-table th{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.portal-entities-table th{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b;background:#f8fafc}.portal-entities-table__row{cursor:pointer}.portal-entities-table__row:hover{background:#f8fafc}.portal-entities-table__name-inner{display:flex;align-items:center;gap:.35rem;min-width:0}.portal-entities-table__toggle,.portal-entities-table__toggle-spacer{flex:0 0 1.25rem;width:1.25rem;height:1.25rem}.portal-entities-table__toggle{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0!important;border:0!important;border-radius:4px!important;background:transparent!important;box-shadow:none!important;color:#94a3b8!important;cursor:pointer;line-height:1}.portal-entities-table__toggle:hover{background:#f1f5f9!important;color:#475569!important}.portal-entities-table__arrow{display:block;width:0;height:0;border-color:transparent transparent transparent currentcolor;border-style:solid;border-width:4px 0 4px 5px;transition:transform .15s ease}.portal-entities-table__arrow.is-open{transform:rotate(90deg)}.portal-entities-table__label{font-weight:500}.portal-entities-table__crop{color:var(--muted);max-width:16rem}.portal-entities-table__status{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.portal-entities-table__status--complete{background:#dcfce7;color:#15803d}.portal-entities-table__status--partial{background:#fef9c3;color:#a16207}.portal-entities-table__actions{display:flex;flex-wrap:wrap;gap:.35rem;white-space:nowrap}.portal-entities-table__action{padding:.25rem .5rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:var(--fg);font-size:.78rem;cursor:pointer}.portal-entities-table__action:hover{background:#f8fafc}.portal-entities-table__action--danger{color:#dc2626;border-color:#fecaca}.portal-entities-table__action--danger:hover{background:#fef2f2}.portal-entities-table__empty{padding:2rem 1rem!important;text-align:center}.portal-entity-create-parent{display:flex;flex-direction:column;gap:1rem}.portal-entity-create-step{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.portal-entity-create-form__lead{margin:0;font-size:.9rem;line-height:1.45}.portal-entity-create-choices{display:flex;flex-direction:column;gap:.55rem}.portal-entity-create-choice{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.portal-entity-create-choice:hover{border-color:#cbd5e1;background:#f8fafc}.portal-entity-create-choice.is-selected{border-color:#16a34a;background:#f0fdf4}.portal-entity-create-choice input{margin-top:.2rem;accent-color:#16a34a}.portal-entity-create-choice__body{display:flex;flex-direction:column;gap:.2rem;font-size:.875rem}.portal-entity-create-choice__body strong{color:var(--fg)}.portal-entity-create-choice__body .muted{font-size:.82rem;line-height:1.4}.portal-entity-create-children{display:flex;flex-direction:column;gap:.5rem}.portal-entity-create-children__label{margin:0;font-size:.875rem;font-weight:600}.portal-entity-create-children__list{list-style:none;margin:0;padding:0;max-height:10rem;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.portal-entity-create-children__item{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .75rem;font-size:.875rem;cursor:pointer;border-bottom:1px solid var(--border)}.portal-entity-create-children__item:last-child{border-bottom:none}.portal-entity-create-children__item input{margin-top:.15rem;flex-shrink:0}.portal-entity-create-form{display:flex;flex-direction:column;gap:1rem}.portal-entity-create-form__meta{margin:0;font-size:.875rem}@media (max-width:900px){.portal-entities-workspace__split{grid-template-columns:1fr}.portal-entities-workspace__tree{max-height:none}.portal-topbar__email{display:none}}@media (max-width:1100px){body:has(.portal-app),html:has(.portal-app){position:fixed;inset:0;width:100%;max-width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;background:#fff;touch-action:manipulation}.portal-app{position:fixed;inset:0;width:100%;max-width:100%;height:100%;height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;--portal-mobile-fab-clearance:calc(8.5rem + env(safe-area-inset-bottom, 0px))}.portal-app--supabase{--portal-topbar-height:3.35rem}.portal-topbar{gap:.65rem;padding:max(.4rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) .4rem max(.75rem,env(safe-area-inset-left,0px))}.portal-topbar__actions,.portal-topbar__crumbs{display:none}.portal-topbar__mobile{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-width:0}.portal-entities-page-head{flex-direction:column;align-items:stretch}.portal-entities-page-head__action{width:100%;margin-top:0}.portal-rail-wrap{display:none}.portal-maps-module-launcher{display:block}.portal-maps__status--overlay{display:none}.portal-maps__layers{top:max(.55rem,env(safe-area-inset-top,0px));right:max(.55rem,env(safe-area-inset-right,0px));left:max(.55rem,env(safe-area-inset-left,0px));justify-content:flex-start}.portal-maps__layers-controls{margin-left:auto}.portal-maps__fullscreen-close,.portal-maps__layers-btn,.portal-maps__layers-info-btn,.portal-maps__tool-btn{width:2.35rem;height:2.35rem}.portal-maps__layers-popover{width:min(14.5rem,calc(100vw - 1.1rem))}.portal-maps__layers-legend-box--desktop{display:none}.portal-maps__layers-legend-mobile{display:block}.portal-maps__layers-legend-popover{width:min(15.5rem,calc(100vw - 1.1rem))}.portal-mobile-fab-bar{display:flex;justify-content:flex-end;position:fixed;left:calc(.85rem + env(safe-area-inset-left, 0px));right:calc(.85rem + env(safe-area-inset-right, 0px));bottom:calc(.85rem + env(safe-area-inset-bottom, 0px));z-index:35;pointer-events:none}.portal-mobile-fab-bar:has(.portal-mobile-fab-bar__dock--maps){justify-content:flex-end}.portal-mobile-fab-bar__dock{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;pointer-events:auto}.portal-mobile-fab-bar__dock--maps{width:100%;max-width:100%;align-items:stretch}.portal-mobile-fab-bar__cluster{display:flex;align-items:flex-end;gap:.5rem;max-width:100%}.portal-mobile-fab-bar__cluster--maps{width:100%;max-width:100%;justify-content:flex-end;margin-left:0}.portal-mobile-fab-bar__cluster--maps .portal-maps-module-launcher{flex:0 0 auto}.portal-mobile-fab-bar__cluster--maps .portal-mobile-context--fab{flex:1 1 auto;min-width:0;width:auto;max-width:none}.portal-mobile-fab-bar__cluster .portal-mobile-context--fab{min-width:0;flex:0 0 auto}.portal-mobile-fab-bar__cluster .portal-mobile-fab{position:static;flex:0 0 auto;width:3.15rem}.portal-mobile-fab-bar .portal-maps-module-launcher .portal-mobile-fab{width:3.5rem;height:3.5rem}.portal-mobile-fab-bar .portal-maps-module-launcher .portal-mobile-fab svg{width:1.5rem;height:1.5rem}.portal-mobile-fab-bar__dock>.portal-mobile-fab{position:static}.portal-mobile-fab-bar .portal-maps-module-launcher{display:block;flex:0 0 auto}.portal-main:not(:has(.portal-maps--fullscreen)){padding:1.25rem 1rem var(--portal-mobile-fab-clearance)}.portal-main:has(.portal-maps--fullscreen){flex:1 1 auto;min-height:0;height:100%}.portal-maps--fullscreen{height:100%;min-height:0}.portal-config-mobile-nav{display:none}.portal-config-mobile-nav--section{display:flex;flex-direction:column;gap:.4rem;position:sticky;top:0;z-index:25;margin:0 -1rem .75rem;padding:.65rem 1rem .8rem;background:var(--bg);border-bottom:1px solid var(--border)}.portal-config-mobile-nav__back{display:inline-flex;align-items:center;align-self:flex-start;gap:.1rem;min-height:2rem;padding:.15rem .35rem .15rem 0;margin:0;color:var(--onelink-green-grass);font-size:.9rem;font-weight:600;text-decoration:none;line-height:1.2;border-radius:6px;-webkit-tap-highlight-color:transparent}.portal-config-mobile-nav__back:active{opacity:.72}.portal-config-mobile-nav__back-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.15rem;height:1.15rem;margin:0}.portal-config-mobile-nav__section-title{margin:0;font-size:1.35rem;font-weight:800;color:#0f172a;line-height:1.2;letter-spacing:-.01em}.portal-config-nav-list__group+.portal-config-nav-list__group{margin-top:.85rem}.portal-config-nav-list__group-label{margin:0 0 .35rem;padding:0 .15rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8}.portal-config-nav-list__link{display:block;padding:.75rem .85rem;margin-bottom:.35rem;border:1px solid #e8ecf1;border-radius:10px;background:#f8fafc;text-decoration:none;color:inherit}.portal-config-nav-list__link.is-active{border-color:color-mix(in srgb,var(--onelink-green-grass) 35%,#e2e8f0);background:color-mix(in srgb,var(--onelink-green-grass) 10%,#fff)}.portal-config-nav-list__link-label{display:block;font-size:.92rem;font-weight:700;color:#0f172a;line-height:1.25}.portal-config-nav-list__link.is-active .portal-config-nav-list__link-label{color:var(--onelink-green-grass)}.portal-config-nav-list__link-lead{display:block;margin-top:.2rem;font-size:.78rem;line-height:1.35;color:#64748b}.portal-config--hub{min-width:0}.portal-config-hub__head{margin-bottom:.85rem}.portal-config-hub__title{margin:0;font-size:1.35rem;font-weight:800;color:#0f172a;line-height:1.2}.portal-config-hub__lead{margin:.35rem 0 0;font-size:.88rem;line-height:1.45;color:#64748b}.portal-config-hub__choose{display:none}.portal-config-nav-list--hub{padding-bottom:.5rem}.portal-app--config-mode .portal-panel,.portal-app--suite-nav .portal-panel{display:none}.portal-app--config-mode .portal-main{padding:0 1rem 5.75rem;min-width:0}.portal-app--config-mode .portal-main:not(:has(.portal-config-mobile-nav--section)){padding-top:1rem}.portal-app--config-mode .portal-config{min-width:0}.portal-app--config-mode .portal-page-header h1{display:none}.portal-app--config-mode .portal-page-header{margin-bottom:0}.portal-app--config-mode .portal-page-lead{margin:0;font-size:.82rem;line-height:1.4;color:#64748b}.portal-app--config-mode .portal-empty-card,.portal-app--config-mode .portal-entities-table-wrap,.portal-app--config-mode .portal-sensors-hero,.portal-app--config-mode .portal-sensors-table-wrap{min-width:0}.portal-app--config-mode .portal-sensors-hero{gap:.55rem;padding:.75rem .85rem}.portal-app--config-mode .portal-sensors-hero__head{gap:.55rem}.portal-app--config-mode .portal-sensors-hero__action{width:100%;min-height:44px}.portal-app--config-mode .portal-sensors-hero__meta{gap:.45rem;padding-top:.55rem}.portal-app--config-mode .portal-sensors-hero__kpis{gap:.35rem}.portal-app--config-mode .portal-sensors-hero__section-label{font-size:.65rem}.portal-app--config-mode .portal-sensor-kpi-tags{gap:.35rem;margin-bottom:0}.portal-app--config-mode .portal-sensor-kpi-tag{padding:.22rem .55rem;font-size:.72rem}.portal-app--config-mode .portal-sensor-kpi-tag strong{font-size:.78rem}.portal-app--config-mode .portal-alerts-hero{margin-bottom:.75rem}.portal-app--config-mode .portal-entities-page-head{margin-bottom:.85rem;flex-direction:column;align-items:stretch;gap:.75rem}.portal-app--config-mode .portal-entities-page-head__action{width:100%;min-height:44px;margin-top:0}.portal-app--config-mode .portal-users-filters{flex-direction:column;align-items:stretch}.portal-app--config-mode .portal-users-filter select{width:100%;min-width:0}.portal-app--config-mode .portal-entities-table-wrap{padding:0 0 calc(6.25rem + env(safe-area-inset-bottom, 0px));overflow:visible;background:transparent;border:none;box-shadow:none}.portal-app--config-mode .portal-entities-table{display:block;width:100%}.portal-app--config-mode .portal-sensors-table-wrap{padding:.65rem .75rem .75rem;overflow:visible}.portal-app--config-mode .portal-entities-table thead,.portal-app--config-mode .portal-sensors-table thead,.portal-app--config-mode .portal-users-table thead{display:none}.portal-app--config-mode .portal-sensors-table tbody,.portal-app--config-mode .portal-users-table tbody{display:block}.portal-app--config-mode .portal-entities-table tbody{display:flex;flex-direction:column;gap:.55rem}.portal-app--config-mode .portal-entities-table__row,.portal-app--config-mode .portal-sensors-table tbody tr,.portal-app--config-mode .portal-users-table tbody tr{display:block;margin-bottom:.65rem;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04)}.portal-app--config-mode .portal-entities-table__row{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.05);overflow:hidden}.portal-app--config-mode .portal-entities-table__row[data-depth="1"]{width:calc(100% - .75rem);margin-left:.75rem}.portal-app--config-mode .portal-entities-table__row[data-depth="2"]{width:calc(100% - 1.5rem);margin-left:1.5rem}.portal-app--config-mode .portal-entities-table__row[data-depth="3"]{width:calc(100% - 2.25rem);margin-left:2.25rem}.portal-app--config-mode .portal-entities-table__row[data-depth]:not([data-depth="0"]){border-left:3px solid color-mix(in srgb,var(--onelink-green-grass) 50%,#e2e8f0)}.portal-app--config-mode .portal-entities-table__row:hover{background:#fff}.portal-app--config-mode .portal-entities-table td,.portal-app--config-mode .portal-sensors-table td,.portal-app--config-mode .portal-users-table td{display:grid;grid-template-columns:minmax(4.75rem,34%) minmax(0,1fr);gap:.45rem .65rem;align-items:start;justify-items:start;padding:.55rem .75rem;border-bottom:1px solid #f1f5f9;text-align:left}.portal-app--config-mode .portal-entities-table td{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.45rem .85rem;border-bottom:1px solid #f1f5f9;min-width:0}.portal-app--config-mode .portal-entities-table td.portal-entities-table__name{grid-column:1/-1;flex-direction:row;align-items:center;gap:.35rem;padding:.65rem .85rem .4rem;border-bottom:none;background:#fff}.portal-app--config-mode .portal-entities-table td.portal-entities-table__name:before{display:none}.portal-app--config-mode .portal-entities-table td.portal-entities-table__name .portal-entities-table__label{font-size:.95rem;font-weight:700;color:#0f172a;line-height:1.25}.portal-app--config-mode .portal-entities-table td:nth-child(2),.portal-app--config-mode .portal-entities-table td:nth-child(3){min-width:0;padding-top:.35rem;padding-bottom:.45rem}.portal-app--config-mode .portal-entities-table td:nth-child(2){padding-right:.5rem}.portal-app--config-mode .portal-entities-table td:nth-child(3){padding-left:.5rem;border-left:1px solid #f1f5f9}.portal-app--config-mode .portal-entities-table td.portal-entities-table__crop{grid-column:1/-1;color:#475569;font-size:.84rem;line-height:1.35;padding-top:.35rem;padding-bottom:.55rem}.portal-app--config-mode .portal-entities-table td[data-label]:before{font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8}.portal-app--config-mode .portal-entities-table__status{font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.portal-app--config-mode .portal-entities-table td.portal-entities-table__actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:.4rem;align-items:stretch;border-bottom:none;border-top:1px solid #eef2f6;background:#f8fafc;padding:.5rem .75rem .6rem}.portal-app--config-mode .portal-entities-table td.portal-entities-table__actions[data-label]:before{display:none;content:none}.portal-app--config-mode .portal-entities-table td[data-label]:before,.portal-app--config-mode .portal-sensors-table td[data-label]:before,.portal-app--config-mode .portal-users-table td[data-label]:before{content:attr(data-label);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;line-height:1.35;padding-top:.1rem}.portal-app--config-mode .portal-entities-table td[data-label]:before{font-size:.62rem;line-height:1.15;padding-top:0}.portal-app--config-mode .portal-sensors-table td.portal-sensors-table__actions,.portal-app--config-mode .portal-users-table td:last-child{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;width:100%;max-width:none;min-width:0;white-space:normal;grid-column:1/-1;border-top:1px solid #eef2f6;background:#f8fafc;padding:.55rem .75rem .65rem}.portal-app--config-mode .portal-sensors-table td.portal-sensors-table__actions:before,.portal-app--config-mode .portal-users-table td:last-child:before{flex:none;width:auto;margin:0}.portal-app--config-mode .portal-sensors-table .portal-table-actions,.portal-app--config-mode .portal-users-table .portal-table-actions{display:flex;flex-direction:row;align-items:stretch;gap:.5rem;width:100%;min-width:0}.portal-app--config-mode .portal-sensors-table .portal-icon-btn,.portal-app--config-mode .portal-users-table .portal-icon-btn{flex:1 1 0;width:auto;min-width:0;height:2.75rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.portal-app--config-mode .portal-sensors-table .portal-icon-btn svg,.portal-app--config-mode .portal-users-table .portal-icon-btn svg{width:20px;height:20px}.portal-app--config-mode .portal-sensors-table .portal-icon-btn--danger,.portal-app--config-mode .portal-users-table .portal-icon-btn--danger{border-color:#fecaca;background:#fff}.portal-app--config-mode .portal-entities-table__action{width:100%;min-width:0;min-height:0;height:auto;padding:.4rem .5rem;border-radius:8px;font-size:.8rem;font-weight:600;line-height:1.2;text-align:center;background:#fff;border:1px solid #e2e8f0;color:#334155;box-shadow:none}.portal-app--config-mode .portal-entities-table__actions>.portal-entities-table__action:first-child:nth-last-child(3){grid-column:1/-1}.portal-app--config-mode .portal-entities-table__action:active{background:#f8fafc}.portal-app--config-mode .portal-entities-table__action--danger{border-color:#fecaca;color:#dc2626;background:#fff}.portal-app--config-mode .portal-entities-table__action--danger:active{background:#fef2f2}.portal-app--config-mode .portal-entities-table td:last-child,.portal-app--config-mode .portal-sensors-table td:last-child,.portal-app--config-mode .portal-users-table td:last-child{border-bottom:none}.portal-app--config-mode .portal-alerts-panel{padding:0 0 calc(6.25rem + env(safe-area-inset-bottom, 0px));overflow:visible;background:transparent;border:none;box-shadow:none}.portal-app--config-mode .portal-alerts-tabs{display:flex;gap:0;padding:0;margin-bottom:.55rem;border-bottom:1px solid #e2e8f0;background:transparent}.portal-app--config-mode .portal-alerts-tabs__tab{flex:1;justify-content:center;padding:.55rem .35rem;font-size:.82rem}.portal-app--config-mode .portal-alerts-panel .portal-sensors-table__empty{margin:0;padding:.85rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.portal-app--config-mode .portal-alerts-rules-table{display:none!important}.portal-app--config-mode .portal-alert-cards{display:flex;flex-direction:column;gap:.55rem}.portal-app--config-mode .portal-alert-card{position:relative;margin:0;padding:.7rem .75rem .55rem .85rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);overflow:hidden}.portal-app--config-mode .portal-alert-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:#94a3b8}.portal-app--config-mode .portal-alert-card--critical:before{background:#dc2626}.portal-app--config-mode .portal-alert-card--warning:before{background:#ea580c}.portal-app--config-mode .portal-alert-card--info:before{background:#0284c7}.portal-app--config-mode .portal-alert-card.is-paused{opacity:.78}.portal-app--config-mode .portal-alert-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.portal-app--config-mode .portal-alert-card__main{min-width:0;flex:1}.portal-app--config-mode .portal-alert-card__title{margin:0;font-size:.95rem;font-weight:700;color:#0f172a;line-height:1.25}.portal-app--config-mode .portal-alert-card__condition{margin:.2rem 0 0;font-size:.84rem;font-weight:600;color:#334155;line-height:1.3}.portal-app--config-mode .portal-alert-card__top .portal-sensors-table__status-tag{flex-shrink:0;margin-top:.05rem}.portal-app--config-mode .portal-alert-card__meta{margin:.4rem 0 0;font-size:.74rem;line-height:1.35;color:#64748b}.portal-app--config-mode .portal-alert-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem;padding-top:.45rem;border-top:1px solid #f1f5f9}.portal-app--config-mode .portal-alert-card__channels{display:flex;flex-wrap:wrap;gap:.25rem;min-width:0}.portal-app--config-mode .portal-alert-card__channel{display:inline-flex;align-items:center;padding:.12rem .42rem;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:.65rem;font-weight:700;line-height:1.2}.portal-app--config-mode .portal-alert-card__channel--empty{color:#94a3b8;font-weight:600}.portal-app--config-mode .portal-alert-card__actions{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.portal-app--config-mode .portal-alert-card__actions .portal-icon-btn{width:2.15rem;height:2.15rem}.portal-app--config-mode .portal-alerts-events-table{display:none!important}.portal-app--config-mode .portal-alert-event-list{display:block;border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden}.portal-app--config-mode .portal-alert-event-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.7rem .8rem .7rem .9rem;border-bottom:1px solid #f1f5f9;position:relative}.portal-app--config-mode .portal-alert-event-item:last-child{border-bottom:none}.portal-app--config-mode .portal-alert-event-item:before{content:"";position:absolute;top:.7rem;bottom:.7rem;left:0;width:3px;border-radius:0 2px 2px 0;background:#94a3b8}.portal-app--config-mode .portal-alert-event-item--critical:before{background:#dc2626}.portal-app--config-mode .portal-alert-event-item--warning:before{background:#ea580c}.portal-app--config-mode .portal-alert-event-item--info:before{background:#0284c7}.portal-app--config-mode .portal-alert-event-item__main{min-width:0;flex:1;display:flex;flex-direction:column;gap:.15rem}.portal-app--config-mode .portal-alert-event-item__title{font-size:.9rem;font-weight:700;color:#0f172a;line-height:1.25}.portal-app--config-mode .portal-alert-event-item__meta{font-size:.74rem;color:#64748b;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-app--config-mode .portal-alert-event-item__value{flex-shrink:0;font-size:.95rem;font-weight:700;color:#0f172a;line-height:1.2;white-space:nowrap}.portal-app--config-mode .portal-entities-table__name-inner{padding-left:0!important;gap:.35rem;min-width:0}.portal-app--config-mode .portal-entities-table__toggle{width:1.5rem;height:1.5rem;border-radius:6px!important;background:transparent!important;color:#94a3b8!important}.portal-app--config-mode .portal-entities-table__toggle:hover{background:#f1f5f9!important}.portal-app--config-mode .portal-entities-table__toggle-spacer{display:none}.portal-app--config-mode .portal-entities-table__empty{display:block;padding:1rem .75rem;border:none}.portal-app--config-mode .portal-sensors-table-toolbar{margin-bottom:.65rem}.portal-app--config-mode .portal-config__grid{grid-template-columns:1fr}.portal-app--config-mode .portal-config__submit{width:100%}.portal-app--config-mode .portal-mobile-fab-bar{left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom, 0px))}.portal-app--config-mode:has(.portal-modal-backdrop) .portal-mobile-fab-bar{display:none}.portal-modal-backdrop:has(.portal-modal--wide){padding:0;align-items:stretch}.portal-modal--wide{width:100%;height:100%;max-height:none;min-height:100dvh;border-radius:0;box-shadow:none}.portal-modal--wide .portal-modal__head{padding:.75rem 1rem}.portal-modal--wide .portal-modal__title{font-size:1rem}.portal-modal--wide .portal-modal__body{padding:.65rem 1rem 0}.portal-modal--wide.portal-modal--user-edit .portal-modal__body{padding:0}.portal-modal--wide.portal-modal--user-edit .portal-modal__head{padding:.7rem .8rem}.portal-modal--wide.portal-modal--user-edit .portal-modal__close{width:2.5rem;height:2.5rem;min-width:2.5rem;border:1px solid var(--border)}.portal-modal--wide .portal-entity-detail--embedded{gap:.55rem}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__crumb{display:none}.portal-entity-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#f8fafc}.portal-entity-steps__btn{flex-direction:column;justify-content:center;gap:.2rem;min-height:3.1rem;padding:.45rem .25rem;border:none;border-right:1px solid #e2e8f0;border-radius:0;font-size:.68rem;line-height:1.15;text-align:center}.portal-entity-steps__btn:last-child{border-right:none}.portal-entity-steps__btn.is-active{background:#f0fdf4;box-shadow:inset 0 -2px 0 #16a34a}.portal-entity-steps__num{width:1.1rem;height:1.1rem;font-size:.65rem}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__section h3{display:none}.portal-modal--wide .portal-entity-detail--embedded .portal-entity-detail__section{padding-bottom:0}.portal-modal--wide .portal-entity-detail__actions{position:sticky;bottom:0;z-index:5;flex-wrap:nowrap;gap:.5rem;margin-top:.75rem;padding:.75rem 0 calc(.85rem + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--border);background:#fff}.portal-modal--wide .portal-entity-detail__actions .portal-config__link-btn{flex-shrink:0;min-height:2.5rem;padding:.45rem .65rem}.portal-modal--wide .portal-entity-detail__actions .portal-config__submit{flex:1 1 auto;width:auto;min-width:0;min-height:2.5rem}.portal-geofence-steps__full{display:none}.portal-geofence-steps__short{display:inline}.portal-geofence-steps{margin-bottom:.45rem;font-size:.78rem}.portal-modal--wide .portal-map-picker--geofence{min-height:0;height:auto;max-height:none}.portal-modal--wide .portal-map-picker__stage{display:flex;flex-direction:column;min-height:min(42vh,320px);height:auto;max-height:none}.portal-modal--wide .portal-map-picker__canvas--geofence{position:relative;flex:1 1 auto;min-height:min(38vh,280px);height:auto}.portal-geofence-toolbar{position:static;order:2;flex-shrink:0;max-width:none;width:100%;margin:0;padding:.5rem .65rem;border-top:1px solid var(--border);border-radius:0;background:#fff;box-shadow:none}.portal-geofence-toolbar__btn{flex:1 1 auto;min-width:0;min-height:2.25rem;text-align:center}.portal-geofence-toolbar__status{flex:0 0 100%;text-align:center;font-size:.72rem;padding-top:.15rem}.portal-geofence-overlay--hint{bottom:auto;top:auto;left:auto;transform:none;position:relative;order:3;margin:0;padding:.35rem .65rem;border-top:1px solid #f1f5f9;background:#f8fafc;white-space:normal;text-align:center;width:100%;max-width:none}.portal-geofence-style__color-row{flex-direction:column;align-items:stretch;gap:.65rem}.portal-geofence-style__opacity{border-left:none;padding-left:0;width:100%;justify-content:space-between}.portal-geofence-style__opacity input[type=range]{flex:1 1 auto;width:auto;min-width:0;max-width:8rem}.portal-modal--wide .portal-geofence-style{padding-top:.55rem;padding-bottom:.35rem;gap:.55rem}.portal-modal--wide .portal-geofence-editor{overflow-y:visible}}@media (min-width:1101px){.portal-config-mobile-nav,.portal-config-nav-list--hub{display:none}.portal-config-hub__choose{display:block;margin:.5rem 0 0;font-size:.95rem;line-height:1.45;color:#64748b}}.portal-push-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin:.75rem 0 1rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--portal-green,#16a74a) 35%,transparent);border-radius:12px;background:color-mix(in srgb,var(--portal-green,#16a74a) 10%,#fff)}.portal-push-banner__text{display:flex;flex-direction:column;gap:.2rem;min-width:12rem;flex:1 1 14rem}.portal-push-banner__text strong{font-size:.95rem;color:var(--portal-ink,#25303b)}.portal-push-banner__text em,.portal-push-banner__text span{font-size:.85rem;color:color-mix(in srgb,var(--portal-ink,#25303b) 75%,transparent);font-style:normal}.portal-push-banner__text em{color:#a45423}.portal-push-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.portal-fenologia__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem 1.25rem}.portal-fenologia__crop{display:flex;flex-direction:column;gap:.25rem;min-width:12rem}.portal-fenologia__crop span{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.portal-fenologia__crop select{width:auto;min-width:12rem;max-width:18rem;padding:.5rem 2rem .5rem .75rem;border:1px solid color-mix(in srgb,var(--portal-ink,#25303b) 16%,#fff);border-radius:10px;background:#fff;color:var(--portal-ink,#25303b);font:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.portal-fenologia-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.portal-fenologia-grid>li{min-width:0}.portal-fenologia-card{--pheno-accent:#3d6b4f;display:flex;flex-direction:column;height:100%;min-height:11.5rem;padding:.7rem .85rem .7rem .95rem;text-decoration:none;color:inherit;background:#fff;border:1px solid color-mix(in srgb,var(--portal-ink,#25303b) 10%,#fff);border-left:3px solid var(--pheno-accent);border-radius:14px;box-shadow:0 1px 2px rgb(16 24 40/4%);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.portal-fenologia-card:focus-visible,.portal-fenologia-card:hover{border-color:color-mix(in srgb,var(--pheno-accent) 40%,#fff);box-shadow:0 6px 16px color-mix(in srgb,var(--pheno-accent) 14%,rgb(16 24 40/5%));transform:translateY(-1px);outline:none}.portal-fenologia-card.is-current{background:linear-gradient(165deg,color-mix(in srgb,var(--pheno-accent) 14%,#fff) 0,#fff 42%);box-shadow:0 8px 22px color-mix(in srgb,var(--pheno-accent) 16%,rgb(16 24 40/4%))}.portal-fenologia-card.is-past{opacity:.78}.portal-fenologia-card__year{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;align-items:end;list-style:none;margin:0 0 .75rem;padding:0;height:.55rem}.portal-fenologia-card__tick{height:3px;border-radius:99px;background:color-mix(in srgb,var(--portal-ink,#25303b) 10%,#fff)}.portal-fenologia-card__tick.is-in{height:5px;background:color-mix(in srgb,var(--pheno-accent) 72%,#fff)}.portal-fenologia-card__tick.is-now{height:7px;background:var(--pheno-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--pheno-accent) 22%,#fff)}.portal-fenologia-card__main{display:flex;align-items:flex-start;gap:.75rem;min-width:0;flex:1}.portal-fenologia-card__lens{position:relative;flex:0 0 auto;width:4.15rem;height:4.15rem;border-radius:50%;overflow:hidden;border:2px solid color-mix(in srgb,var(--pheno-accent) 38%,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--pheno-accent) 10%,#fff);background:color-mix(in srgb,var(--pheno-accent) 16%,#fff)}.portal-fenologia-card__lens img{display:block;width:100%;height:100%;object-fit:cover}.portal-fenologia-card__lens.is-empty{display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,transparent 36%,color-mix(in srgb,var(--pheno-accent) 18%,#fff) 37% 52%,transparent 53%),radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--pheno-accent) 28%,#fff),color-mix(in srgb,var(--pheno-accent) 8%,#eef3ee))}.portal-fenologia-card__mark{font-size:1.15rem;font-weight:750;line-height:1;color:var(--pheno-accent)}.portal-fenologia-card__copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.portal-fenologia-card__chip{display:inline-flex;align-items:center;margin-bottom:.12rem;padding:.12rem .45rem;border-radius:99px;background:color-mix(in srgb,var(--pheno-accent) 16%,#fff);color:var(--pheno-accent);font-size:.65rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.portal-fenologia-card__chip--muted{background:#f1f5f4;color:var(--muted)}.portal-fenologia-card__copy h2{margin:0;font-size:.95rem;font-weight:700;line-height:1.25;color:var(--portal-ink,#25303b)}.portal-fenologia-card__copy p{margin:0;font-size:.78rem;line-height:1.35;color:var(--muted)}.portal-fenologia-card__foot{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem;margin-top:.85rem;padding-top:.65rem;border-top:1px dashed color-mix(in srgb,var(--portal-ink,#25303b) 12%,#fff)}.portal-fenologia-card__when{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:600;color:var(--muted)}.portal-fenologia-card__action{flex:0 0 auto;font-size:.78rem;font-weight:700;color:var(--portal-green,#16a74a)}.portal-fenologia-card.is-past .portal-fenologia-card__action{color:color-mix(in srgb,var(--portal-ink,#25303b) 45%,#fff)}.portal-fenologia__back{display:inline-flex;margin-bottom:.75rem;font-size:.85rem;font-weight:600;color:var(--muted);text-decoration:none}.portal-fenologia__back:hover{color:var(--portal-ink,#25303b)}.portal-fenologia-stage__hero{--pheno-accent:#3d6b4f;display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,18rem);gap:1rem 1.25rem;align-items:stretch;margin-bottom:1rem;padding-bottom:1rem;border-bottom:3px solid var(--pheno-accent)}.portal-fenologia-stage__kicker{margin:0 0 .2rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pheno-accent)}.portal-fenologia-stage__titles h1{margin:0}.portal-fenologia-stage__photo{width:100%;height:100%;min-height:8rem;object-fit:cover;border-radius:12px}.portal-fenologia-stage__cuartel{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-bottom:1rem}.portal-fenologia-stage__meta{margin:0;font-size:.85rem;color:var(--muted)}.portal-fenologia-manual,.portal-fenologia-record{margin-bottom:1rem}.portal-fenologia-manual h2,.portal-fenologia-record h2{margin:0 0 .55rem;font-size:1rem}.portal-fenologia-manual pre{margin:0;white-space:pre-wrap;font-family:inherit;font-size:.92rem;line-height:1.5;color:color-mix(in srgb,var(--portal-ink,#25303b) 88%,#fff)}.portal-fenologia-record__hint,.portal-fenologia-record__season{margin:0 0 .75rem;font-size:.82rem;color:var(--muted)}.portal-fenologia-record__form{display:grid;gap:.75rem;max-width:28rem}.portal-fenologia-record .portal-config__field textarea{padding:.45rem .55rem;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:.9rem;background:#fff;resize:vertical}.portal-fenologia-record__ok{margin:0;color:var(--portal-green,#16a74a);font-size:.88rem;font-weight:600}.portal-fenologia-stage__hit{margin:.15rem 0 0;font-size:.95rem;font-weight:600;color:var(--pheno-accent,#2f6b3a)}.portal-fenologia-hit__photo{width:min(100%,16rem);max-height:10rem;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.portal-fenologia-record__check{display:flex;gap:.45rem;align-items:center;font-size:.88rem}.portal-fenologia-forecasts h2,.portal-fenologia-indicators h2,.portal-fenologia-monitor h2{margin:0 0 .5rem;font-size:1.05rem}.portal-fenologia-monitor__progress{margin:0 0 .75rem;font-size:.88rem;color:var(--muted,#667)}.portal-fenologia-monitor__tree h3{margin:0 0 .5rem;font-size:.95rem}.portal-fenologia-monitor__unit{border:1px solid var(--border);border-radius:10px;padding:.75rem;margin:0 0 .75rem;display:grid;gap:.6rem}.portal-fenologia-monitor__unit legend{padding:0 .35rem;font-weight:600;font-size:.85rem}.portal-fenologia-monitor__close,.portal-fenologia-monitor__nav{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin-top:.5rem}.portal-fenologia-monitor__close{display:grid;gap:.6rem;max-width:28rem}.portal-fenologia-forecasts ul,.portal-fenologia-indicators ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.portal-fenologia-forecasts li,.portal-fenologia-indicators li{display:flex;justify-content:space-between;gap:.75rem;font-size:.92rem}.portal-fenologia-forecasts li{flex-direction:column;align-items:flex-start}.portal-fenologia .error{margin:0;color:#c44a3c;font-size:.88rem}@media (max-width:1100px){.portal-fenologia-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.portal-fenologia-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-fenologia-stage__hero{grid-template-columns:1fr}}@media (max-width:520px){.portal-fenologia-grid{grid-template-columns:1fr}}.portal-report-editor__active{align-self:end;margin-bottom:.35rem}.portal-report-days{display:flex;flex-wrap:wrap;gap:.4rem}.portal-report-day{min-width:2.5rem;height:2.25rem;padding:0 .55rem;border:1px solid #e2e8f0;border-radius:9px;background:#fff;color:#475569;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.portal-report-day.is-on{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.portal-report-blocks{display:flex;flex-direction:column;gap:.5rem}.portal-report-block{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer}.portal-report-block.is-checked{border-color:#0ea5e9;background:#f0f9ff}.portal-report-block input{width:1.1rem;height:1.1rem;accent-color:#0ea5e9}.portal-report-block__icon{font-size:1.15rem;line-height:1;width:1.5rem;text-align:center}.portal-report-block__copy{display:grid;gap:.15rem;min-width:0}.portal-report-block__copy strong{font-size:.85rem;color:#0f172a}.portal-report-block__copy small{font-size:.72rem;color:#64748b;line-height:1.35}.portal-report-block-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0 .2rem}.portal-report-block-chip{width:1.85rem;height:1.85rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem}.portal-report-preview-page__toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.rp-doc{max-width:794px;min-height:1123px;margin:0 auto 2rem;background:#fff;border:1px solid #e0e6ed;border-radius:14px;overflow:hidden;box-shadow:0 8px 32px rgba(15,23,42,.08);position:relative}.rp-doc:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1,#0ea5e9 50%,#22c55e)}.rp-header{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.1rem 1.4rem;padding:1.35rem 1.7rem 1.1rem;background:linear-gradient(180deg,#f8fafc,#fff 70%);border-bottom:1px solid #eef2f7}.rp-header__logo{display:flex;align-items:center}.rp-header__logo-img{width:168px;height:auto;display:block}.rp-logo-wordmark{display:none;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;color:#4338ca}.rp-logo-wordmark.is-visible{display:block}.rp-header__meta{min-width:0;text-align:right}.rp-header__org{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.rp-header__date{margin-top:.35rem;font-size:.75rem;color:#64748b}.rp-header__report-name{margin:.35rem 0 0;font-size:1.2rem;font-weight:800;color:#0f172a}.rp-header__modules-wrap{margin-top:.7rem}.rp-header__modules-label{margin:0 0 .35rem;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.rp-header__modules{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.rp-header__module-pill{padding:.2rem .55rem;border-radius:7px;font-size:.62rem;font-weight:700;color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.rp-body{padding:1.4rem 1.7rem 1.8rem}.rp-sections{display:flex;flex-direction:column;gap:1.7rem}.rp-sec__head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.rp-sec__icon{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.rp-sec__icon--status{background:#dcfce7}.rp-sec__icon--climate{background:#e0f2fe}.rp-sec__icon--chill{background:#ede9fe}.rp-sec__icon--frost{background:#f0f9ff}.rp-sec__icon--soil{background:#ecfccb}.rp-sec__title{margin:0;font-size:.95rem;font-weight:800;color:#0f172a}.rp-sec__sub{margin:.15rem 0 0;font-size:.75rem;color:#64748b}.rp-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.rp-kpi{border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.1rem;position:relative;overflow:hidden}.rp-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.rp-kpi--total:before{background:#6366f1}.rp-kpi--active:before{background:#22c55e}.rp-kpi--inactive:before{background:#94a3b8}.rp-kpi__label{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.rp-kpi__value{margin-top:.45rem;font-size:1.8rem;font-weight:800;line-height:1;color:#0f172a}.rp-table-wrap{margin-top:.75rem;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.rp-table-title{margin:0;padding:.85rem 1.1rem;font-size:.8rem;font-weight:700;color:#334155;background:#f8fafc;border-bottom:1px solid #e2e8f0}.rp-table-scroll{overflow-x:auto}table.rp-table{width:100%;border-collapse:collapse;font-size:.75rem}.rp-table th{padding:.6rem .5rem;text-align:left;font-size:.62rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.rp-table td{padding:.6rem .5rem;border-bottom:1px solid #f1f5f9;color:#0f172a}.rp-table .col-sensor{font-weight:600}.rp-table .col-num{font-variant-numeric:tabular-nums;font-weight:600;text-align:center}.rp-table .col-status{text-align:center}.rp-table .col-muted{font-size:.7rem;color:#64748b}.rp-table .col-irr{font-size:.7rem;font-weight:600;color:#0369a1;text-align:center}.rp-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.62rem;font-weight:700}.rp-badge--ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.rp-badge--warn{background:#fef9c3;color:#854d0e;border:1px solid #fde68a}.rp-badge--bad{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.rp-badge--muted{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.rp-empty{padding:1.1rem;text-align:center;font-size:.82rem;color:#94a3b8;border:1px dashed #e2e8f0;border-radius:12px;background:#fafbfc}.rp-table--climate .rp-climate-head-temp{background:#fff7ed;color:#c2410c;text-align:center}.rp-table--climate .rp-climate-head-precip{background:#e0f2fe;color:#0369a1;text-align:center}.rp-table--climate .rp-climate-head-acum{background:#dbeafe;color:#1e40af;text-align:center}.rp-table--climate td[rowspan]{vertical-align:middle;background:#f8fafc;border-right:1px solid #e2e8f0}.rp-climate-stack{display:flex;flex-direction:column;align-items:center;gap:.05rem;line-height:1.15}.rp-table--climate .rp-climate-head-keys,.rp-table--climate .rp-climate-keys{width:2.4rem;padding-left:.25rem;padding-right:.25rem;text-align:right;background:#fffaf5;border-right:1px solid #fed7aa}.rp-table--climate .rp-climate-keys .rp-climate-stack{align-items:flex-end}.rp-table--climate .rp-climate-keys .rp-climate-stack__max,.rp-table--climate .rp-climate-keys .rp-climate-stack__min{font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.rp-climate-stack__max{font-weight:800;color:#c2410c}.rp-climate-stack__min{font-weight:600;color:#0369a1}.rp-climate-var{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.rp-climate-var--rain,.rp-table--climate .rp-climate-rain{background:#f0f9ff;color:#0369a1}.rp-climate-var--et0,.rp-table--climate .rp-climate-et0{background:#f0fdf4;color:#047857}.rp-table--climate .rp-climate-acum{font-weight:800}.rp-card__name,.rp-stack-name__primary{font-size:.88rem;font-weight:700;color:#0f172a}.rp-stack-name__primary{line-height:1.2}.rp-stack-name__sub{margin-top:.12rem;font-size:.72rem;font-weight:500;color:#64748b;line-height:1.25}.rp-table--soil td.col-avg,.rp-table--soil th.col-avg{background:#dce3ec;font-weight:800;text-align:center}.rp-table--soil td.col-avg{border-bottom-color:#cbd5e1}.rp-table--chill .rp-chill-head-hf{background:#eef2ff;color:#4338ca}.rp-table--chill .rp-chill-head-pf{background:#ecfdf5;color:#047857}.rp-table--chill .rp-chill-hf{background:#fafafe}.rp-table--chill .rp-chill-pf{background:#f6fef9}.rp-delta{display:inline-block;padding:.1rem .4rem;border-radius:6px;font-size:.62rem;font-weight:700}.rp-delta--up{color:#166534;background:#dcfce7;border:1px solid #86efac}.rp-delta--down{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.rp-delta--flat{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.rp-table--frost .rp-frost-head-total{background:#e0f2fe;color:#0369a1;text-align:center}.rp-table--frost .rp-frost-head-month{background:#f0f9ff;color:#0369a1;text-align:center}.rp-table--frost .rp-frost-total{background:#f0f9ff;color:#0c4a6e;font-weight:800}.rp-table--frost .rp-frost-month{background:#f8fbff}.rp-table--frost .rp-frost-month.is-zero{color:#94a3b8;font-weight:600;background:#fff}.rp-table--frost td[rowspan]{vertical-align:middle;background:#f8fafc;border-right:1px solid #e2e8f0}.rp-footer{padding:1rem 1.7rem 1.2rem;border-top:1px solid #eef2f7;text-align:center;font-size:.7rem;color:#94a3b8;background:#fafbfc}@media (max-width:1100px){.rp-header{grid-template-columns:1fr}.rp-header,.rp-header__meta,.rp-header__modules-wrap{text-align:left}.rp-header__modules{justify-content:flex-start}.rp-kpi-grid{grid-template-columns:1fr}.portal-report-preview-page__toolbar{flex-direction:column}}.portal-export{display:grid;gap:1rem}.portal-export__card{display:grid;gap:1.35rem;padding:1.15rem 1.25rem 1.3rem}.portal-export__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.portal-export__count{font-size:.78rem;font-weight:600;color:var(--muted)}.portal-export__chips{margin-bottom:.75rem}.portal-export .portal-alert-creator__chip{min-height:2.1rem;padding:.32rem .85rem;font-size:.82rem;font-weight:600;border-color:#e8ecf1;color:#0f172a;box-shadow:none}.portal-export .portal-alert-creator__chip:hover{border-color:color-mix(in srgb,var(--onelink-green-grass) 40%,#e8ecf1);background:color-mix(in srgb,var(--onelink-green-grass) 6%,#fff)}.portal-export .portal-alert-creator__chip.is-active{background:color-mix(in srgb,var(--onelink-green-grass) 12%,#fff);border-color:color-mix(in srgb,var(--onelink-green-grass) 32%,#e2e8f0);color:var(--onelink-green-grass);box-shadow:none}.portal-export__chip-count{margin-left:.35rem;font-size:.72rem;font-weight:700;opacity:.55}.portal-export .portal-alert-creator__chip.is-active .portal-export__chip-count{opacity:.75}.portal-export__group-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.portal-export__group-title{margin:0;font-size:.92rem;font-weight:700;color:var(--fg);display:flex;align-items:center;gap:.45rem}.portal-export__group-title span{font-size:.72rem;font-weight:700;color:var(--muted);background:#f1f5f9;border-radius:999px;padding:.1rem .45rem}.portal-export__text-btn{border:none;background:transparent;color:var(--onelink-green-grass);padding:0;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.portal-export__text-btn:hover{text-decoration:underline}.portal-export__links{font-size:.78rem}.portal-export__list{border:1px solid var(--border);border-radius:10px;max-height:min(18rem,40vh);background:#fff}.portal-export__var-heading{margin:0;padding:.55rem .85rem .15rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f8fafb;border-top:1px solid var(--border)}.portal-export__var-heading:first-child{border-top:none}.portal-export__var-note{margin:0;padding:0 .85rem .35rem;font-size:.72rem;color:var(--muted);background:#f8fafb}.portal-export__muted{margin:0;padding:.85rem .9rem;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:.85rem;background:#f8fafb}.portal-export__dates{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.55rem}.portal-export__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.85rem}.portal-export__actions .portal-config__submit{min-width:9.5rem}.portal-export__hint{font-size:.75rem;color:var(--muted);line-height:1.45;margin:0}.portal-export .portal-config__alert{margin:0}@media (max-width:720px){.portal-export__dates{grid-template-columns:1fr}}@media print{.portal-report-preview-page__toolbar,.portal-shell__aside,.portal-topbar{display:none!important}.rp-doc{border:none;box-shadow:none;max-width:none}}.portal-main:has(.portal-forecast){padding-left:1.25rem;padding-right:1.25rem}.portal-forecast{--pf-rain:var(--onelink-blue-deep,#2d5fbf);--pf-rain-soft:color-mix(in srgb,var(--onelink-blue,#4f8cff) 14%,#fff);--pf-rain-border:color-mix(in srgb,var(--onelink-blue,#4f8cff) 34%,var(--border));--pf-eto:var(--onelink-green-medium,#16a74a);--pf-eto-soft:color-mix(in srgb,var(--onelink-green-grass,#4ead33) 12%,#fff);--pf-eto-border:color-mix(in srgb,var(--onelink-green-grass,#4ead33) 34%,var(--border));--pf-frost:var(--onelink-charcoal,#25303b);--pf-frost-soft:color-mix(in srgb,var(--onelink-charcoal,#25303b) 6%,#fff);--pf-frost-border:color-mix(in srgb,var(--onelink-charcoal,#25303b) 18%,var(--border));--pf-uv:var(--onelink-terracotta-muted,#b06636);--pf-uv-soft:color-mix(in srgb,var(--onelink-terracotta-muted,#b06636) 12%,#fff);--pf-uv-border:color-mix(in srgb,var(--onelink-terracotta-muted,#b06636) 34%,var(--border));--pf-min:var(--onelink-blue-deep,#2d5fbf);--pf-max:var(--onelink-terracotta-deep,#a45423);--pf-card-radius:1rem;width:100%;max-width:none;min-width:0;container-type:inline-size;container-name:portal-forecast}.pf-head .portal-page-lead{max-width:44rem}.pf-place{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;margin:0 0 1rem}.pf-place__title{min-width:min(12rem,100%);flex:1 1 auto}.pf-place__name{margin:0;display:inline-flex;align-items:center;gap:.5rem;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--fg)}.pf-loading__spinner,.pf-place__spinner{flex-shrink:0;width:1.05rem;height:1.05rem;border:2px solid color-mix(in srgb,var(--onelink-green-medium,#16a74a) 22%,transparent);border-top-color:var(--onelink-green-medium,#16a74a);border-radius:50%;animation:portal-context-switch-spin .75s linear infinite}.pf-loading__spinner{width:1.45rem;height:1.45rem;border-width:2.5px}.pf-results{position:relative}.pf-results.is-loading{min-height:12rem}.pf-results.is-loading>:not(.pf-loading){pointer-events:none;user-select:none;opacity:.45}.pf-loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:8rem;padding:1.25rem;background:color-mix(in srgb,#fff 78%,transparent);color:var(--onelink-green-medium,#16a74a);font-size:.92rem;font-weight:650}.pf-place__hint{margin:.15rem 0 0;font-size:.82rem;color:var(--muted)}.pf-picker{position:relative;flex:0 1 auto;min-width:0;max-width:min(22rem,100%)}.pf-picker__field{display:grid;gap:.3rem}.portal-forecast .pf-picker__trigger{display:flex;align-items:center;gap:.45rem;width:auto;min-width:13.25rem;max-width:100%;height:2.4rem;padding:0 .65rem 0 .7rem;border:1px solid var(--border);border-radius:.7rem;background:#fff;color:var(--fg);font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.portal-forecast .pf-picker__trigger:hover{background:#fff;color:var(--fg);border-color:color-mix(in srgb,var(--onelink-green-grass) 40%,var(--border))}.portal-forecast .pf-picker__trigger.is-open{border-color:var(--onelink-green-grass)}.pf-picker__trigger span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-picker__caret,.pf-picker__pin{flex:0 0 auto;color:var(--muted)}.pf-picker__trigger.is-open .pf-picker__caret{transform:rotate(180deg)}.pf-picker__menu{position:absolute;top:calc(100% + .35rem);right:0;left:auto;z-index:12;display:flex;flex-direction:column;width:min(22rem,calc(100vw - 2rem));min-width:16rem;max-height:18rem;margin:0;background:#fff;border:1px solid var(--border);border-radius:.75rem;box-shadow:0 10px 28px rgba(15,23,42,.1)}.portal-forecast .pf-picker__input{flex:0 0 auto;width:calc(100% - .7rem);height:2.15rem;margin:.35rem;padding:0 .7rem;border:1px solid var(--border);border-radius:.55rem;background:#f8fafc;color:var(--fg);font-size:.88rem;font-weight:500}.portal-forecast .pf-picker__input:focus,.portal-forecast .pf-picker__input:focus-visible{border-color:var(--onelink-green-grass);background:#fff;box-shadow:none}.pf-picker__list{flex:1 1 auto;min-height:0;margin:0;padding:.2rem .35rem .35rem;overflow-y:auto;list-style:none}.pf-picker__list li{display:flex;align-items:center;gap:.15rem}.pf-picker__empty{padding:.65rem .7rem;color:var(--muted);font-size:.88rem}.pf-picker__pick,.portal-forecast .pf-picker__star{border:0;background:transparent;cursor:pointer}.pf-picker__pick{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;padding:.5rem .65rem;border-radius:.45rem;color:var(--fg);text-align:left;font-size:.92rem;overflow-wrap:anywhere}.pf-picker__pick-name{min-width:0}.pf-picker__pick-meta{font-size:.75rem;font-weight:500;color:var(--muted)}.pf-picker__list li.is-selected .pf-picker__pick-meta{color:color-mix(in srgb,var(--onelink-green-medium) 70%,var(--muted))}.pf-picker__list li.is-selected .pf-picker__pick{font-weight:700;color:var(--onelink-green-medium)}.portal-forecast .pf-picker__pick:hover,.portal-forecast .pf-picker__star:hover:not(:disabled){background:#f8fafc;color:inherit}.portal-forecast .pf-picker__star{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;padding:0;line-height:0;border-radius:.45rem;color:var(--muted)}.portal-forecast .pf-picker__star svg{display:block;flex:none}.pf-picker__star.is-on,.pf-picker__star:disabled{color:#e0a106}.pf-picker__star:disabled{cursor:default}.portal-forecast .pf-picker__star.is-on:hover:not(:disabled),.portal-forecast .pf-picker__star:disabled:hover{background:transparent;color:#e0a106}.pf-overview{display:grid;grid-template-columns:minmax(16.5rem,22rem) minmax(0,1fr);grid-template-areas:"hero kpis";gap:.75rem;align-items:stretch;margin-top:.9rem;min-width:0}.pf-kpis{grid-area:kpis;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.pf-kpi{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:.75rem;min-width:0;padding:.8rem .9rem;border:1px solid var(--border);border-radius:var(--pf-card-radius);background:#fff}.pf-kpi>:not(.pf-kpi__sky){position:relative;z-index:1}.pf-kpi__sky{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;border-radius:inherit}.pf-kpi--rain{background:linear-gradient(160deg,var(--pf-rain-soft) 0,#fff 68%);border-color:var(--pf-rain-border)}.pf-kpi--eto{background:linear-gradient(160deg,var(--pf-eto-soft) 0,#fff 68%);border-color:var(--pf-eto-border)}.pf-kpi--frost{background:linear-gradient(160deg,var(--pf-frost-soft) 0,#fff 68%);border-color:var(--pf-frost-border)}.pf-kpi--uv{background:linear-gradient(160deg,var(--pf-uv-soft) 0,#fff 68%);border-color:var(--pf-uv-border)}.pf-kpi--frost.is-alert{background:linear-gradient(160deg,color-mix(in srgb,var(--pf-frost) 18%,#fff) 0,#fff 70%)}.pf-kpi--uv.is-warn{background:linear-gradient(160deg,color-mix(in srgb,var(--pf-uv) 18%,#fff) 0,#fff 70%)}.pf-kpi__drop{position:absolute;top:-22%;display:block;width:1px;margin:0;border-radius:999px;background:linear-gradient(180deg,transparent 0,color-mix(in srgb,var(--pf-rain) 40%,#fff) 30%,color-mix(in srgb,var(--pf-rain) 75%,#1e4b9c) 100%);opacity:.42;animation-name:pf-drop-fall;animation-timing-function:linear;animation-iteration-count:infinite}.pf-kpi__vapor{position:absolute;border-radius:50%;background:color-mix(in srgb,var(--pf-eto) 28%,transparent);filter:blur(10px);opacity:.35;animation:pf-mist-drift 9s ease-in-out infinite}.pf-kpi__vapor--a{top:-20%;left:-8%;width:58%;height:70%}.pf-kpi__vapor--b{top:28%;right:-12%;width:50%;height:62%;animation-delay:-4s;animation-direction:reverse}.pf-kpi__snow{position:absolute;inset:-20% 0 0;opacity:.4;background-image:radial-gradient(circle,#fff .9px,transparent 1.2px),radial-gradient(circle,#fff 1.1px,transparent 1.4px);background-size:18px 22px,14px 18px;background-position:0 0,8px 6px;animation:pf-snow-fall 2.8s linear infinite}.pf-kpi__sun{position:absolute;top:-.55rem;right:10%;width:2rem;height:2rem;border-radius:50%;opacity:.5;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--pf-uv) 55%,#ffe08a) 0 36%,color-mix(in srgb,var(--pf-uv) 22%,transparent) 52%,transparent 72%);animation:pf-sun-pulse 5s ease-in-out infinite}.pf-kpi__icon{flex:0 0 auto;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.8rem}.pf-kpi--rain .pf-kpi__icon{color:var(--pf-rain);background:color-mix(in srgb,var(--pf-rain) 16%,#fff)}.pf-kpi--eto .pf-kpi__icon{color:var(--pf-eto);background:color-mix(in srgb,var(--pf-eto) 16%,#fff)}.pf-kpi--frost .pf-kpi__icon{color:var(--pf-frost);background:color-mix(in srgb,var(--pf-frost) 16%,#fff)}.pf-kpi--uv .pf-kpi__icon{color:var(--pf-uv);background:color-mix(in srgb,var(--pf-uv) 16%,#fff)}.pf-kpi__body{min-width:0}.pf-kpi__label{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pf-kpi__value{margin:.12rem 0 0;font-size:1.28rem;font-weight:750;letter-spacing:-.03em;line-height:1.15}.pf-kpi__hint{margin:.12rem 0 0;font-size:.7rem;color:var(--muted)}.pf-hero{grid-area:hero;position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:auto auto 1fr;grid-template-areas:"when icon temps" "line line line";gap:.2rem .85rem;align-items:center;padding:.7rem .9rem .65rem;border:1px solid var(--border);border-radius:var(--pf-card-radius);background:#fff}.pf-hero>:not(.pf-hero__sky){position:relative;z-index:1}.pf-hero--clear{background:linear-gradient(135deg,#fff8e8,#fff 58%);border-color:color-mix(in srgb,#e8c15a 28%,var(--border))}.pf-hero--partlyCloudy{background:linear-gradient(135deg,#fff6dc,#eef5fb 55%,#fff)}.pf-hero--cloudy{background:linear-gradient(160deg,#e8eef4,#f7f9fb 70%)}.pf-hero--fog{background:linear-gradient(160deg,#eceff3,#f8fafc 65%)}.pf-hero--drizzle,.pf-hero--rain,.pf-hero--thunder{background:linear-gradient(160deg,#d9e6f6,#f4f8fd 62%);border-color:color-mix(in srgb,var(--pf-rain) 28%,var(--border))}.pf-hero--thunder{background:linear-gradient(160deg,#cfd8e8,#e8eef8 55%,#f7f9fc)}.pf-hero--snow,.pf-hero.is-frost{background:linear-gradient(160deg,#e4f1fb,#f7fbfe 70%);border-color:color-mix(in srgb,var(--pf-min) 22%,var(--border))}.pf-hero--wind{background:linear-gradient(135deg,#eef6f1,#fff 70%)}.pf-hero--night{background:linear-gradient(160deg,#152038,#1c2b4a 52%,#243656);border-color:color-mix(in srgb,#64748b 42%,#0f172a);color:#e8eef8}.pf-hero--night.pf-hero--clear{background:linear-gradient(160deg,#0f1a33,#1a2748 58%,#24345a)}.pf-hero--night.pf-hero--cloudy,.pf-hero--night.pf-hero--fog,.pf-hero--night.pf-hero--partlyCloudy{background:linear-gradient(160deg,#141c2e,#1d283e 60%,#2a354c)}.pf-hero--night.pf-hero--drizzle,.pf-hero--night.pf-hero--rain,.pf-hero--night.pf-hero--thunder{background:linear-gradient(160deg,#10182c,#18253c 55%,#1e3048)}.pf-hero--night.is-frost,.pf-hero--night.pf-hero--snow{background:linear-gradient(160deg,#152033,#1c2c44 58%,#243850)}.pf-hero--night .pf-hero__kicker,.pf-hero--night .pf-hero__kind,.pf-hero--night .pf-hero__max small,.pf-hero--night .pf-hero__min small,.pf-hero--night .pf-hero__stat small,.pf-hero--night .pf-unit{color:color-mix(in srgb,#cbd5e1 82%,#fff)}.pf-hero--night .pf-hero__date,.pf-hero--night .pf-hero__stat{color:#f1f5f9}.pf-hero--night .pf-hero__min{color:#93c5fd}.pf-hero--night .pf-hero__max{color:#fdba74}.pf-hero--night .pf-hero__line{border-top-color:color-mix(in srgb,#94a3b8 28%,transparent)}.pf-hero--night .pf-icon{color:#e2e8f0}.pf-hero__sky{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;border-radius:inherit}.pf-sky__sun{top:-1.35rem;right:18%;width:5.4rem;height:5.4rem;background:radial-gradient(circle at 50% 50%,#ffe38a 0 34%,rgba(255,196,72,.38) 48%,transparent 72%);animation:pf-sun-pulse 5s ease-in-out infinite}.pf-sky__moon,.pf-sky__sun{position:absolute;border-radius:50%}.pf-sky__moon{top:-.85rem;right:16%;width:3.6rem;height:3.6rem;background:radial-gradient(circle at 38% 38%,#f8fafc 0 42%,#dbe4f0 58%,transparent 72%);box-shadow:0 0 18px rgba(226,232,240,.28)}.pf-hero--partlyCloudy .pf-sky__moon{right:26%;top:-1.1rem;width:3rem;height:3rem;opacity:.9}.pf-sky__stars{position:absolute;inset:0;opacity:.85;background-image:radial-gradient(circle,#fff 1px,transparent 1.4px),radial-gradient(circle,color-mix(in srgb,#fff 70%,#93c5fd) 1px,transparent 1.3px),radial-gradient(circle,#fff .8px,transparent 1.1px);background-size:46px 38px,28px 44px,62px 52px;background-position:8% 18%,42% 8%,70% 40%}.pf-hero--night .pf-sky__cloud{background:color-mix(in srgb,#94a3b8 55%,#1e293b);box-shadow:1.15rem -.45rem 0 .05rem color-mix(in srgb,#cbd5e1 35%,#334155),2.35rem .05rem 0 -.12rem color-mix(in srgb,#94a3b8 40%,#1e293b);opacity:.45}.pf-hero--partlyCloudy .pf-sky__sun{right:28%;top:-1.6rem;width:4.4rem;height:4.4rem;opacity:.85}.pf-sky__cloud{position:absolute;height:1.7rem;border-radius:999px;background:color-mix(in srgb,#fff 82%,#cbd5e1);box-shadow:1.15rem -.45rem 0 .05rem color-mix(in srgb,#fff 88%,#cbd5e1),2.35rem .05rem 0 -.12rem color-mix(in srgb,#fff 80%,#cbd5e1);opacity:.55;filter:blur(.4px)}.pf-sky__cloud--a{top:14%;left:-12%;width:4.8rem;animation:pf-cloud-drift 22s linear infinite}.pf-sky__cloud--b{top:38%;left:18%;width:6.2rem;height:1.9rem;opacity:.4;animation:pf-cloud-drift 28s linear infinite reverse}.pf-hero--cloudy .pf-sky__cloud{opacity:.7;background:color-mix(in srgb,#e2e8f0 70%,#fff)}.pf-sky__rain{position:absolute;inset:0;overflow:hidden}.pf-sky__drop{position:absolute;top:-18%;display:block;width:1.35px;margin:0;border-radius:999px;background:linear-gradient(180deg,transparent 0,color-mix(in srgb,var(--pf-rain) 35%,#fff) 28%,color-mix(in srgb,var(--pf-rain) 80%,#1e4b9c) 100%);transform-origin:50% 0;animation-name:pf-drop-fall;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform;filter:blur(.15px)}.pf-sky__drop--far{width:1px;opacity:.35;filter:blur(.45px)}.pf-hero--drizzle .pf-sky__drop{width:1.1px;opacity:.55}.pf-hero--thunder .pf-sky__drop{width:1.55px}.pf-sky__snow{position:absolute;inset:-30% 0 0;opacity:.85;background-image:radial-gradient(circle,#fff 1.1px,transparent 1.4px),radial-gradient(circle,#fff 1.4px,transparent 1.8px),radial-gradient(circle,color-mix(in srgb,var(--pf-min) 35%,#fff) 1px,transparent 1.3px);background-size:42px 52px,28px 38px,54px 64px;background-position:0 0,12px 8px,22px 18px;animation:pf-snow-fall 2.8s linear infinite}.pf-sky__flash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 55%);opacity:0;animation:pf-lightning 4.8s ease-in-out infinite}.pf-sky__mist{position:absolute;left:-20%;width:70%;height:55%;border-radius:50%;background:color-mix(in srgb,#fff 70%,transparent);filter:blur(18px);opacity:.55;animation:pf-mist-drift 9s ease-in-out infinite}.pf-sky__mist--a{top:-10%}.pf-sky__mist--b{top:35%;left:25%;width:80%;animation-delay:-4s;animation-direction:reverse}.pf-sky__gust{position:absolute;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--onelink-green-medium) 35%,#94a3b8),transparent);opacity:.45;animation:pf-wind-gust 2.4s ease-in-out infinite}.pf-sky__gust--a{top:32%;left:-30%;width:55%}.pf-sky__gust--b{top:58%;left:-10%;width:48%;animation-delay:-1.1s}@keyframes pf-sun-pulse{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.08);opacity:1}}@keyframes pf-cloud-drift{0%{transform:translateX(0)}to{transform:translateX(120%)}}@keyframes pf-drop-fall{0%{transform:translate3d(0,-20%,0) rotate(14deg)}to{transform:translate3d(12px,145%,0) rotate(14deg)}}@keyframes pf-snow-fall{to{background-position:12px 52px,22px 46px,8px 64px}}@keyframes pf-lightning{0%,86%,to{opacity:0}87%{opacity:.7}89%{opacity:.1}91%{opacity:.85}94%{opacity:0}}@keyframes pf-mist-drift{0%,to{transform:translateX(0);opacity:.4}50%{transform:translateX(12%);opacity:.7}}@keyframes pf-wind-gust{0%{transform:translateX(0);opacity:0}25%{opacity:.5}to{transform:translateX(140%);opacity:0}}@media (prefers-reduced-motion:reduce){.pf-kpi__sky *,.pf-sky__cloud,.pf-sky__drop,.pf-sky__flash,.pf-sky__gust,.pf-sky__mist,.pf-sky__moon,.pf-sky__snow,.pf-sky__sun{animation:none}}.pf-hero__when{grid-area:when}.pf-hero__kicker{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pf-hero__date{font-size:.92rem;font-weight:700;text-transform:capitalize}.pf-hero__date,.pf-hero__kind{display:block;margin-top:.1rem}.pf-hero__kind{font-size:.86rem;color:var(--muted)}.pf-hero__icon{grid-area:icon}.pf-hero__temps{grid-area:temps;display:flex;justify-content:flex-end;gap:.85rem}.pf-hero__max,.pf-hero__min{display:flex;flex-direction:column;font-size:1.35rem;font-weight:750;letter-spacing:-.03em;line-height:1}.pf-hero__min{color:var(--pf-min)}.pf-hero__max{color:var(--pf-max)}.pf-hero__max small,.pf-hero__min small{margin-bottom:.25rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pf-hero__line{grid-area:line;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem 1.35rem;margin:.4rem 0 0;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.pf-hero__stat{display:inline-flex;flex-direction:column;gap:.18rem;font-size:1.05rem;font-weight:750;letter-spacing:-.02em;line-height:1.1;color:var(--fg)}.pf-hero__stat small{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pf-hero__stat .pf-unit{margin-left:.15rem;font-size:.72rem;font-weight:650}.pf-unit{font-weight:500;color:var(--muted);font-size:.78em}.pf-range{margin:.15rem 0 0;padding:.75rem .95rem .7rem;border:1px solid var(--border);border-radius:var(--pf-card-radius);background:#fff}.pf-range__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.55rem 1rem;margin-bottom:.7rem}.pf-range__copy{min-width:0}.pf-range__title{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pf-range__meta{margin:.2rem 0 0;min-width:0;font-size:.95rem;font-weight:700;text-transform:capitalize}.pf-range__presets{display:inline-flex;flex:0 0 auto;gap:.15rem;padding:.18rem;border:1px solid var(--border);border-radius:999px;background:#f8fafc}.portal-forecast .pf-range__presets button{height:1.85rem;padding:0 .8rem;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:650;cursor:pointer}.portal-forecast .pf-range__presets button.is-on{background:#fff;color:var(--onelink-green-grass);box-shadow:0 1px 2px rgba(15,23,42,.08)}.portal-forecast .pf-range__presets button:hover{background:#fff;color:var(--onelink-green-grass)}.portal-forecast .pf-range__presets button.is-on:hover{background:#fff}.pf-range__control{position:relative;height:1.15rem;margin:0 .2rem;background:transparent}.pf-range__control:before{content:"";left:0;right:0;background:#eef2f6}.pf-range__control:before,.pf-range__fill{position:absolute;top:50%;height:.4rem;transform:translateY(-50%);border-radius:999px;pointer-events:none}.pf-range__fill{background:color-mix(in srgb,var(--onelink-green-grass) 55%,#86efac)}.pf-range__control input[type=range]{position:absolute;inset:0;width:100%;margin:0;background:transparent;pointer-events:none;appearance:none;-webkit-appearance:none}.pf-range__control input[type=range]::-webkit-slider-thumb{pointer-events:auto;width:1.05rem;height:1.05rem;border:2px solid #fff;border-radius:50%;background:var(--onelink-green-grass);box-shadow:0 1px 4px rgba(15,23,42,.22);cursor:pointer;-webkit-appearance:none;appearance:none}.pf-range__control input[type=range]::-moz-range-thumb{pointer-events:auto;width:1.05rem;height:1.05rem;border:2px solid #fff;border-radius:50%;background:var(--onelink-green-grass);cursor:pointer}.pf-range__ticks{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.15rem;margin-top:.4rem}.pf-range__ticks button{display:flex;flex-direction:column;align-items:center;gap:.08rem;min-width:0;padding:.2rem 0;overflow:hidden;border:0;background:transparent;color:var(--muted);font-size:.68rem;font-weight:600;line-height:1.15;text-transform:capitalize;cursor:pointer}.pf-range__tick-num{font-size:.78rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-transform:none}.pf-range__ticks button.is-in{color:var(--onelink-green-grass)}.pf-windy{margin-top:1.1rem;min-width:0}.pf-windy__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin:0 0 .4rem}.pf-windy__expand{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;height:2.5rem;padding:0 .85rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.pf-windy__expand:hover{color:var(--fg);border-color:#cbd5e1;background:#f8fafc}.pf-windy__frame{position:relative;overflow:hidden;width:100%;height:22rem;border:1px solid var(--border);border-radius:var(--pf-card-radius);background:#e8eef4}.pf-windy__frame iframe{display:block;width:100%;height:100%;border:0}.pf-windy-lightbox{position:fixed;inset:0;z-index:1200;display:flex;align-items:stretch;justify-content:stretch;padding:.75rem;background:rgba(15,23,42,.48)}.pf-windy-lightbox__panel{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;background:#fff;border-radius:1rem;box-shadow:0 18px 40px rgba(15,23,42,.22)}.pf-windy-lightbox__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex:0 0 auto;padding:.65rem .75rem .65rem 1rem;border-bottom:1px solid var(--border)}.pf-windy-lightbox__title{margin:0;font-size:1rem;font-weight:700;color:#0f172a}.pf-windy-lightbox__close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.5rem;height:2.5rem;padding:0;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;font-size:1.45rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.pf-windy-lightbox__close:active,.pf-windy-lightbox__close:hover{background:#f8fafc;border-color:color-mix(in srgb,var(--onelink-green-grass,#16a34a) 35%,#e2e8f0)}.pf-windy-lightbox__map{flex:1 1 auto;min-height:0}.pf-windy-lightbox__map iframe{display:block;width:100%;height:100%;border:0}.pf-windy__credit{margin:.4rem 0 0;font-size:.75rem;font-weight:600;color:var(--muted)}.pf-windy__credit a{color:var(--onelink-green-medium);text-decoration:none}.pf-windy__credit a:hover{text-decoration:underline}.pf-week{margin-top:1.25rem;min-width:0}.portal-app--supabase .portal-main h2.pf-week__title,.portal-app--supabase .portal-main h2.pf-windy__title{margin:0 0 .4rem;font-size:.88rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}.portal-app--supabase .portal-main h2.pf-windy__title{margin:0}.pf-days-cards{display:flex;flex-wrap:nowrap;gap:.7rem;margin:0;padding:.1rem .1rem .55rem;list-style:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.pf-day-card{flex:0 0 8.4rem;min-width:8.4rem;display:flex;flex-direction:column;align-items:center;gap:.18rem;padding:.8rem .55rem .85rem;border:1px solid var(--border);border-radius:var(--pf-card-radius);background:#fff;scroll-snap-align:start;text-align:center}.pf-day-card.is-frost,.pf-day-card.is-uv,.pf-day-card.is-wet{background:#fff;border-color:var(--border)}.pf-day-card.is-out{opacity:.42}.pf-day-card__day{font-size:.82rem;font-weight:700;text-transform:capitalize}.pf-day-card__date{font-size:.72rem;color:var(--muted);text-transform:capitalize}.pf-day-card__icon{margin:.25rem 0 .15rem;color:var(--muted)}.pf-day-card__temps{display:flex;gap:.4rem;font-size:1.02rem;font-weight:750;letter-spacing:-.02em}.pf-day-card__min{color:var(--pf-min)}.pf-day-card__max{color:var(--pf-max)}.pf-day-card__rain,.pf-day-card__wind{font-size:.75rem;color:var(--muted)}.pf-day-card__rain{color:var(--pf-rain);font-weight:650}.pf-day-card__prob{min-width:2.6rem;padding:.1rem .4rem;border-radius:999px;background:#f8fafc;color:var(--fg);font-size:.72rem;font-weight:700}.pf-day-card__eto{font-size:.75rem;font-weight:700;color:var(--pf-eto)}.pf-table-wrap{display:none;overflow-x:auto;border:1px solid var(--border);border-radius:.9rem;background:#fff}.pf-table{width:100%;border-collapse:collapse;font-size:.88rem}.pf-table th{padding:.65rem .75rem;text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f8fafc;border-bottom:1px solid var(--border);white-space:nowrap}.pf-table td{padding:.7rem .75rem;border-bottom:1px solid #f1f5f9;white-space:nowrap;vertical-align:middle}.pf-table tbody tr:last-child td{border-bottom:0}.pf-table tbody tr.is-frost,.pf-table tbody tr.is-wet{background:transparent}.pf-table__day{font-weight:700}.pf-table__date,.pf-table__day{display:block;text-transform:capitalize}.pf-table__date{margin-top:.1rem;font-size:.75rem;color:var(--muted)}.pf-table__icon{color:var(--muted);width:2.6rem}.pf-table__stack{display:flex;flex-direction:column;gap:.12rem;line-height:1.2}.pf-table__min{color:var(--pf-min);font-weight:700}.pf-table__max{color:var(--pf-max);font-weight:700}.pf-table__rain{color:var(--pf-rain);font-weight:700}.pf-day-card__rain.is-dry,.pf-table__rain.is-dry{color:var(--muted);font-weight:500}.pf-table__prob{color:var(--muted);font-size:.78em;font-weight:650}.pf-table__eto{color:var(--pf-eto);font-weight:700}.pf-icon--sun{color:var(--pf-uv)}.pf-icon--moon{color:#cbd5e1}.pf-icon--rain,.pf-icon--storm{color:var(--pf-rain)}.pf-icon--wind{color:var(--onelink-blue,#4f8cff)}.pf-icon--cloud{color:var(--muted)}@media (max-width:1100px){.pf-kpis{grid-template-columns:1fr 1fr}}@container portal-forecast (max-width: 1100px){.pf-kpis{grid-template-columns:1fr 1fr}}@media (max-width:720px){.pf-place{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.55rem;margin-bottom:.75rem}.pf-place__title{flex:none;min-width:0}.pf-picker{max-width:none;flex:1 1 auto}.portal-forecast .pf-picker__trigger{width:100%;min-width:0}.pf-picker__menu{left:0;right:0;width:auto;min-width:0}.pf-range{padding:.7rem .8rem .65rem}.pf-range__head{margin-bottom:.6rem}.pf-range__presets{width:auto}.portal-forecast .pf-range__presets button{flex:0 0 auto;height:1.75rem;padding:0 .65rem}.pf-range__ticks{display:none}.pf-overview{grid-template-columns:1fr;grid-template-areas:"kpis" "hero";gap:.55rem;margin-top:.7rem}.pf-kpi,.pf-kpis{gap:.5rem}.pf-kpi{align-items:flex-start;padding:.6rem .65rem}.pf-kpi__icon{width:2rem;height:2rem;border-radius:.55rem}.pf-kpi__icon svg{width:18px;height:18px}.pf-kpi__label{font-size:.6rem;letter-spacing:.03em;line-height:1.25}.pf-kpi__value{font-size:1.08rem}.pf-kpi__hint{font-size:.64rem;line-height:1.25}.pf-hero{grid-template-columns:auto 1fr auto;grid-template-areas:"when icon temps" "line line line";gap:.15rem .65rem;padding:.7rem .75rem .65rem}.pf-hero__temps{justify-content:flex-end;margin-top:0;gap:.7rem}.pf-hero__max,.pf-hero__min{font-size:1.15rem}.pf-hero__stat{font-size:.98rem}.pf-windy__frame{height:20rem}.pf-windy-lightbox{padding:0}.pf-windy-lightbox__panel{border-radius:0;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.pf-week{margin-top:.95rem}.pf-days-cards{display:none}.pf-table-wrap{display:block}.pf-table{font-size:.82rem}.pf-table td,.pf-table th{padding:.55rem .6rem}.pf-table tbody tr.is-out{opacity:.45}}