/* Cross-app finish layer. Visual and accessibility only: no business data or permissions. */
:root{
  --eco-ui-text:#f5f7fb;
  --eco-ui-muted:#a8b0c0;
  --eco-ui-line:rgba(255,255,255,.11);
  --eco-ui-line-strong:rgba(133,177,244,.42);
  --eco-ui-surface:rgba(27,29,36,.82);
  --eco-ui-surface-strong:rgba(31,34,42,.96);
  --eco-ui-accent:#78adf4;
  --eco-ui-success:#52d789;
  --eco-ui-warning:#ffb64a;
  --eco-ui-danger:#ff6f68;
  --eco-ui-ease:cubic-bezier(.22,1,.36,1);
  --eco-ui-shadow:0 18px 55px rgba(0,0,0,.22);
}
html[data-theme="light"]{
  --eco-ui-text:#202936;
  --eco-ui-muted:#5e6a7d;
  --eco-ui-line:rgba(34,53,82,.13);
  --eco-ui-line-strong:rgba(32,105,199,.42);
  --eco-ui-surface:rgba(255,255,255,.82);
  --eco-ui-surface-strong:rgba(251,253,255,.97);
  --eco-ui-accent:#246ac4;
  --eco-ui-success:#168747;
  --eco-ui-warning:#a96000;
  --eco-ui-danger:#c93434;
  --eco-ui-shadow:0 18px 55px rgba(36,54,81,.12);
}
html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
body.eco-app-polished{overflow-x:hidden}
body.eco-app-polished ::selection{background:rgba(69,139,235,.35);color:inherit}
body.eco-app-polished :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid color-mix(in srgb,var(--eco-ui-accent) 58%,transparent)!important;
  outline-offset:3px!important;
}
body.eco-app-polished :is(button,input,select,textarea){font-family:inherit}
body.eco-app-polished :is(button,[role="button"],summary){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body.eco-app-polished button:disabled,
body.eco-app-polished [aria-disabled="true"]{cursor:not-allowed!important;filter:saturate(.55);opacity:.48!important}
body.eco-app-polished [aria-busy="true"]{cursor:progress}
body.eco-app-polished button[aria-busy="true"]{display:inline-flex;align-items:center;justify-content:center;gap:9px}
body.eco-app-polished button[aria-busy="true"]::after{content:"";width:14px;height:14px;flex:0 0 14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:.72;animation:ecoBusySpin .7s linear infinite}
body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):hover:not(:disabled){border-color:color-mix(in srgb,var(--eco-ui-line) 48%,var(--eco-ui-accent))!important}
body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):focus{border-color:var(--eco-ui-line-strong)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--eco-ui-accent) 13%,transparent)!important}
body.eco-app-polished :is(input,select,textarea).eco-invalid-field,
body.eco-app-polished :is(input,select,textarea):user-invalid{border-color:color-mix(in srgb,var(--eco-ui-danger) 70%,transparent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--eco-ui-danger) 12%,transparent)!important}
body.eco-app-polished details>summary{cursor:pointer;user-select:none}
body.eco-app-polished :is(.card,.tools,.toolbar,details){min-width:0}
body.eco-app-polished :is(table,.table){font-variant-numeric:tabular-nums}
body.eco-app-polished table{max-width:100%}
body.eco-app-polished :is(td,th){overflow-wrap:anywhere}
body.eco-app-polished dialog[open]{overscroll-behavior:contain}
body.eco-app-polished .tab-pane.active{transform-origin:50% 0}

/* One calm, readable connectivity banner shared by owner, team and Express. */
#ecoOfflineStatus.eco-offline-status{
  position:sticky;top:0;z-index:2147482000;width:100%;padding:9px max(16px,env(safe-area-inset-left));
  border:0;border-bottom:1px solid rgba(255,183,66,.24);background:rgba(47,37,20,.91);color:#ffe0a3;
  box-shadow:0 9px 28px rgba(0,0,0,.16);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);
  font:600 12.5px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-align:center;
}
#ecoOfflineStatus.eco-offline-status[data-state="offline"]::before{content:"● ";color:var(--eco-ui-warning)}
#ecoOfflineStatus.eco-offline-status[data-state="blocked"]{background:rgba(58,28,28,.93);border-bottom-color:rgba(255,111,104,.3);color:#ffc0bc}
#ecoOfflineStatus.eco-offline-status[data-state="blocked"]::before{content:"● ";color:var(--eco-ui-danger)}
#ecoOfflineStatus.eco-offline-status[data-state="pending"]::before{content:"● ";color:var(--eco-ui-warning)}
#ecoOfflineStatus.eco-offline-status[data-state="cache-warning"]{background:rgba(58,28,28,.93);color:#ffc0bc}

/* Tiny assistive message used only when a page has no native toast system. */
.eco-app-message{
  position:fixed;left:50%;bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px));z-index:2147483600;
  max-width:min(440px,calc(100vw - 28px));padding:11px 15px;border:1px solid var(--eco-ui-line);border-radius:14px;
  background:var(--eco-ui-surface-strong);color:var(--eco-ui-text);box-shadow:var(--eco-ui-shadow);
  font:600 12px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;text-align:center;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:ecoAppMessageIn .22s var(--eco-ui-ease) both;
}
.eco-app-message.is-error{border-color:color-mix(in srgb,var(--eco-ui-danger) 42%,transparent);color:#ffb4af}

body.eco-app-polished::-webkit-scrollbar,
body.eco-app-polished *::-webkit-scrollbar{width:9px;height:9px}
body.eco-app-polished::-webkit-scrollbar-thumb,
body.eco-app-polished *::-webkit-scrollbar-thumb{background:rgba(151,164,185,.28);border:2px solid transparent;border-radius:999px;background-clip:padding-box}
body.eco-app-polished::-webkit-scrollbar-track,
body.eco-app-polished *::-webkit-scrollbar-track{background:transparent}

@keyframes ecoAppMessageIn{from{opacity:0;transform:translate(-50%,8px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes ecoBusySpin{to{transform:rotate(360deg)}}
@media (hover:hover) and (pointer:fine){
  body.eco-app-polished button:not(:disabled){transition:transform .18s var(--eco-ui-ease),border-color .18s,background-color .18s,box-shadow .18s,filter .18s}
  body.eco-app-polished button:not(:disabled):hover{filter:brightness(1.06)}
}
@media screen and (max-width:760px){
  body.eco-app-polished{font-size:16px}
  body.eco-app-polished :is(button,input,select,textarea){font-size:max(16px,1em)}
  body.eco-app-polished :is(button,[role="button"]){min-height:44px}
  body.eco-app-polished dialog[open]{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:auto!important}
  body.eco-app-polished :is(.toolbar,.actions,.tools){max-width:100%}
  body.eco-app-polished :is(.table-wrap,.table-scroll,.calendar-scroll,.report-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  body.eco-app-polished :is(.grid,.form-grid){min-width:0}
  #ecoOfflineStatus.eco-offline-status{padding:8px 13px;font-size:11.5px}
  .eco-app-message{bottom:max(92px,calc(env(safe-area-inset-bottom) + 82px))}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body.eco-app-polished *,body.eco-app-polished *::before,body.eco-app-polished *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media print{#ecoOfflineStatus,.eco-app-message{display:none!important}}

/* Access profiles: make the security model obvious before saving an account. */
.access-presets{display:grid;gap:10px;margin:16px 0 18px}
.access-preset{width:100%;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 16px!important;text-align:left!important;border:1px solid color-mix(in srgb,var(--eco-ui-accent) 28%,var(--eco-ui-line))!important;border-radius:17px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--eco-ui-accent) 12%,transparent),rgba(255,255,255,.025))!important;color:var(--eco-ui-text)!important;box-shadow:none!important}
.access-preset-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--eco-ui-accent) 15%,transparent);font-size:18px}
.access-preset strong,.access-preset small{display:block}.access-preset strong{font-size:13px}.access-preset small{margin-top:3px;color:var(--eco-ui-muted);font-size:11px;font-weight:500}.access-preset-arrow{color:var(--eco-ui-accent);font-size:28px;font-weight:300}
.access-permission-grid>label{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px!important;border:1px solid var(--eco-ui-line);border-radius:14px;background:rgba(255,255,255,.025)}
.access-permission-grid>label>span{display:flex;align-items:center;gap:9px;min-width:0}.access-permission-grid b{font-size:12px}
.access-mode,.access-read-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:750;letter-spacing:.03em;white-space:nowrap}
.access-mode.read-only,.access-read-badge{background:color-mix(in srgb,var(--eco-ui-success) 13%,transparent);color:color-mix(in srgb,var(--eco-ui-success) 88%,white)}
.access-mode.can-create{background:color-mix(in srgb,var(--eco-ui-warning) 13%,transparent);color:#ffd18a}
.access-mode-select{width:auto!important;min-width:154px;min-height:36px!important;margin:0!important;padding:7px 32px 7px 10px!important;border-radius:999px!important;border:1px solid color-mix(in srgb,var(--eco-ui-accent) 30%,var(--eco-ui-line))!important;background:color-mix(in srgb,var(--eco-ui-surface) 88%,transparent)!important;color:var(--eco-ui-text)!important;font-size:11px!important;font-weight:750!important;cursor:pointer}.access-mode-select:disabled{opacity:.38;cursor:not-allowed}.access-mode-select:not(:disabled):focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--eco-ui-accent) 18%,transparent)!important}
.access-read-badge{margin-top:7px}
.access-security-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--eco-ui-success) 25%,transparent);border-radius:14px;background:color-mix(in srgb,var(--eco-ui-success) 7%,transparent)}
.access-security-note::before{content:"✓";display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:color-mix(in srgb,var(--eco-ui-success) 20%,transparent);color:var(--eco-ui-success);font-weight:800}.access-security-note strong,.access-security-note span{display:block}.access-security-note strong{font-size:11px}.access-security-note span{margin-top:2px;color:var(--eco-ui-muted);font-size:10px;line-height:1.4}
@media(max-width:650px){.access-permission-grid{grid-template-columns:1fr!important}.access-permission-grid>label{align-items:flex-start!important}.access-mode-select{min-width:148px!important;max-width:52%!important}.access-preset{padding:13px!important}.access-security-note{padding:11px 12px}}
@keyframes ecoRevealPulse{0%,100%{box-shadow:0 0 0 0 rgba(10,132,255,0)}35%{box-shadow:0 0 0 5px rgba(10,132,255,.18)}}
.eco-reveal-target{animation:ecoRevealPulse 1.15s cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){.eco-reveal-target{animation:none;outline:2px solid rgba(10,132,255,.4);outline-offset:3px}}

/* Calendar and client workspace: consistent edges and room for navigation. */
.eco-workspace-header{display:flex;align-items:center;gap:12px;margin:0 0 18px;min-width:0}
html body.eco-app-polished .eco-workspace-header button{min-height:44px;flex:none;padding:8px 14px;border-radius:12px!important;box-shadow:none!important}
.eco-workspace-header span{font-size:13px;font-weight:600;color:var(--muted);overflow-wrap:anywhere}
html body.eco-app-polished .eco-client-quick-actions{display:flex;flex-wrap:wrap;gap:8px!important}
html body.eco-app-polished button.eco-client-quick-action{min-height:44px!important;padding:9px 12px!important;font-size:12px!important;white-space:normal;line-height:1.3;min-width:90px}
html body.eco-app-polished :is(.tab-pane,.service-panel) :is(input,select,textarea){max-width:100%;min-width:0}
html body.eco-app-polished :is(.table-scroll,.table-wrap,.service-status-scroll){overscroll-behavior-inline:contain;scrollbar-gutter:stable}
html body.eco-app-polished :is(.client-nav,.tabs,.team-bottom-nav){scroll-padding-inline:12px}
@media(prefers-reduced-motion:no-preference){
 html body.eco-app-polished.eco-motion-ready .eco-view-enter{animation-duration:.24s!important}
 html body.eco-app-polished.eco-motion-ready .eco-view-enter>*{animation-duration:.24s!important;animation-delay:0s!important}
 html body.eco-app-polished.eco-motion-ready .eco-polish-reveal.eco-polish-visible{transition:opacity .24s ease,transform .28s ease!important;transition-delay:0s!important}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 html body.eco-app-polished.eco-motion-ready .tab-pane.active{animation-duration:.24s!important}
 html body.eco-app-polished.eco-motion-ready .tab-pane.active :is(.card,.kpi,.home-stat,.apple-command-center,.apple-command-actions>button,.client-card,.client-stat,.approval-hero,.approval-layout){animation-duration:.24s!important;animation-delay:0s!important}
}
html body.eco-app-polished :is(#tab-clientes,#tab-calendario) :is(.tools,.eco-workspace-bar){border-radius:16px!important;overflow:visible;gap:10px}
html body.eco-app-polished :is(#tab-clientes,#tab-calendario) :is(.toolbar,.grid,.service-panel){min-width:0;max-width:100%}
html body.eco-app-polished #serviceTabs{display:flex;gap:6px;padding:5px;border:1px solid var(--eco-ui-line);border-radius:16px;margin:16px 0}
html body.eco-app-polished #serviceTabs button{flex:1;min-width:0;min-height:44px;white-space:normal;line-height:1.3;box-shadow:none!important}
html body.eco-app-polished #serviceTabs button[aria-selected="true"]{border-color:var(--eco-ui-line-strong)!important;background:color-mix(in srgb,var(--eco-ui-accent) 12%,transparent)!important}
html body.eco-app-polished :is(.eco-side-nav,.client-nav,.team-sidebar nav) button{overflow-wrap:anywhere}
@media(max-width:900px){
 html body.eco-app-polished :is(#tab-clientes,#tab-calendario){padding-bottom:calc(100px + env(safe-area-inset-bottom))!important;scroll-margin-top:16px}
 html body.eco-app-polished :is(#tab-clientes,#tab-calendario) .toolbar{flex-wrap:wrap;gap:8px!important}
 html body.eco-app-polished :is(#tab-clientes,#tab-calendario) .toolbar button{min-height:44px;max-width:100%;white-space:normal}
 html body.eco-app-polished .eco-maintenance-dialog .toolbar button{flex:1;min-height:44px}
}

/* One in-flow module header replaces the overlapping legacy controls. */
html body.eco-navigation-clean #floatingBackBtn,
html body.eco-navigation-clean #moduleContextBar{display:none!important}
html body.eco-app-polished.eco-app-polished.eco-navigation-clean .hero-shell{position:relative!important;margin:0 0 16px!important;min-width:0!important}
html body.eco-app-polished.eco-app-polished.eco-navigation-clean .hero-search-wrap{position:relative!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:68px!important;padding:10px 16px!important;border-radius:16px!important}
html body.eco-app-polished.eco-app-polished.eco-navigation-clean .hero-search-wrap::before,
html body.eco-app-polished.eco-app-polished.eco-navigation-clean .hero-search-wrap::after{display:none!important}
html body.eco-app-polished.eco-app-polished.eco-navigation-clean .hero-search-wrap .cluster-label{margin:0 0 4px!important;font-size:10px!important;line-height:1.4!important;letter-spacing:.08em!important}
html body.eco-app-polished.eco-app-polished.eco-navigation-clean .hero-search-wrap #globalSearch{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:44px!important;min-height:44px!important;padding:0!important;font-size:16px!important;line-height:1.4!important;text-overflow:ellipsis!important;border-radius:8px!important}
html body.eco-navigation-clean .eco-workspace-header{position:relative;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0;min-height:44px}
@media(max-width:600px){html body.eco-app-polished.eco-app-polished.eco-navigation-clean .hero-search-wrap{padding:10px 12px!important;border-radius:14px!important}html body.eco-navigation-clean .eco-workspace-header{margin-bottom:16px}}

/* Forms and actions share usable sizes in each workspace. */
html body.eco-app-polished :is(.tab-pane,.team-main) :is(.toolbar,.tools,.team-header-actions) button{min-height:44px!important;white-space:normal;overflow-wrap:anywhere}
html body.eco-app-polished :is(.tab-pane,.team-main) :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
html body.eco-app-polished :is(.tab-pane,.team-main) :is(input[type=checkbox],input[type=radio]){width:20px!important;height:20px!important;min-height:20px!important;flex:none;accent-color:#bd916c}
html body.eco-app-polished :is(.tab-pane,.team-main) label:has(>input:is([type=checkbox],[type=radio])){display:flex;align-items:center;gap:10px;min-height:44px}
html body.eco-app-polished #ecoNotePreview{color:#172331!important;background:#f6f7f9!important}
html body.eco-app-polished #ecoNotePreview :is(h3,b,strong){color:#172331!important}
html body.eco-app-polished #ecoNotePreview :is(small,p,.eco-note-preview-meta){color:#526475!important}
html body.eco-app-polished #ecoNotePreview .eco-note-preview-amount{color:#b30e1a!important}
html body.eco-app-polished #ecoNotePreview .eco-note-preview-head span{min-width:0;overflow-wrap:anywhere}
html body.eco-app-polished .team-context-back{position:static!important;min-height:44px!important;margin-bottom:16px!important;font-size:13px!important}
html body.eco-app-polished .team-section-heading{flex-wrap:wrap;align-items:flex-start;gap:8px!important}
html body.eco-app-polished .team-section-heading h2{margin-top:4px;line-height:1.2;overflow-wrap:anywhere}
html body.eco-app-polished .team-main{min-width:0}
html body.eco-app-polished .team-main .tools{border-radius:16px!important;min-width:0}
html body.eco-app-polished .team-main .tools :is(select,input){min-height:44px!important}
html body.eco-app-polished :is(.team-service-grid,.team-home-actions,.team-ups-hub) button>span{min-width:0;overflow-wrap:anywhere}
html body.eco-app-polished :is(#teamRecordDialog,#teamScheduleDialog,#teamClientRequestDialog,#reportDialog){max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto}
@media(max-width:760px){html body.eco-app-polished .team-main .tools{position:relative!important;top:auto!important;gap:8px!important}html body.eco-app-polished .team-main .tools :is(select,input){width:100%;font-size:16px!important}html body.eco-app-polished .team-main .toolbar{flex-wrap:wrap}html body.eco-app-polished .team-schedule-form footer{display:flex;flex-wrap:wrap;gap:8px}html body.eco-app-polished .team-schedule-form footer button{min-height:44px}}

/* Keep the existing tablet/touch layout; desktop pointer navigation is defined below. */
@media(min-width:901px){
 html body.eco-app-polished.eco-navigation-clean #ecoSideRail{width:184px!important;transition:none!important}
 html body.eco-app-polished.eco-navigation-clean #ecoSideRail .eco-side-btn{width:168px!important;grid-template-columns:29px minmax(0,1fr) 9px!important;gap:7px!important;padding-left:7px!important;padding-right:7px!important}
 html body.eco-navigation-clean #ecoSideRail :is(.eco-side-brand-copy,.eco-side-group-label,.eco-side-foot,.eco-side-chevron),html body.eco-navigation-clean #ecoSideRail .eco-side-btn>span:not(.eco-side-ico){opacity:1!important;visibility:visible!important;transform:none!important;display:block!important;max-width:none!important;overflow:visible!important;pointer-events:auto!important}
 html body.eco-app-polished.eco-navigation-clean.eco-v23-ready.app-shell-enhanced .container{margin-left:210px!important;margin-right:12px!important;width:calc(100% - 222px)!important;max-width:none!important}
}

/* A76 · escritorio: iconos en reposo; nombres al apuntar o navegar con teclado.
   La capa evita que reglas visuales antiguas mantengan el lateral abierto.
   El margen del contenido es constante: la expansión se superpone sin moverlo. */
@layer eco-desktop-navigation {
 @media screen and (min-width:1100px) and (hover:hover) and (pointer:fine){
  body.eco-navigation-clean>#ecoSideRail{
   width:70px!important;padding:11px!important;overflow-x:hidden!important;overflow-y:auto!important;
   scrollbar-width:none!important;transition:width .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease!important;
   transition-delay:.08s!important;
  }
  body.eco-navigation-clean>#ecoSideRail::-webkit-scrollbar{display:none!important}
  body.eco-navigation-clean>#ecoSideRail:is(:hover,:has(:focus-visible)){
   width:218px!important;transition-delay:0s!important;box-shadow:16px 0 42px rgba(0,0,0,.28)!important;
  }
  body.eco-navigation-clean:has(>#ecoSideRail)>.container{
   margin-left:98px!important;margin-right:12px!important;width:calc(100% - 110px)!important;max-width:none!important;transition:none!important;
  }
  #ecoSideRail :is(.eco-side-brand,.eco-side-nav,.eco-side-group-label,.eco-side-foot){width:194px!important;flex-shrink:0!important}
  #ecoSideRail .eco-side-brand{padding:7px 2px 17px!important;gap:11px!important}
  #ecoSideRail .eco-side-btn{
   width:194px!important;grid-template-columns:31px minmax(0,1fr) 12px!important;gap:8px!important;padding-left:7px!important;padding-right:7px!important;transform:none!important;
  }
  #ecoSideRail .eco-side-group-label{height:23px!important;min-height:23px!important;margin:6px 0 4px!important;padding-left:8px!important;overflow:hidden!important}
  #ecoSideRail :is(.eco-side-brand-copy,.eco-side-group-label,.eco-side-btn>span:not(.eco-side-ico),.eco-side-foot>span:not(.eco-online-dot),.eco-reports-subnav button>span){
   display:block!important;max-width:none!important;opacity:0!important;visibility:hidden!important;transform:translateX(-5px)!important;
   white-space:nowrap!important;pointer-events:none!important;
   transition:opacity .12s ease,transform .18s cubic-bezier(.22,1,.36,1),visibility 0s .12s!important;
  }
  /* Preserve each button's accessible name even before the JS helper mounts. */
  #ecoSideRail :is(.eco-side-btn>span:nth-child(2),.eco-reports-subnav button>span){visibility:visible!important}
  #ecoSideRail:is(:hover,:has(:focus-visible)) :is(.eco-side-brand-copy,.eco-side-group-label,.eco-side-btn>span:not(.eco-side-ico),.eco-side-foot>span:not(.eco-online-dot),.eco-reports-subnav button>span){
   opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;transition-delay:0s!important;
  }
  #ecoSideRail [hidden],#ecoSideRail .eco-side-btn>span[hidden]{display:none!important}
 }
 @media screen and (min-width:1100px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){
  body.eco-navigation-clean>#ecoSideRail,#ecoSideRail :is(.eco-side-brand-copy,.eco-side-group-label,.eco-side-btn>span:not(.eco-side-ico),.eco-side-foot>span:not(.eco-online-dot),.eco-reports-subnav button>span){transition:none!important}
 }
}

@media(min-width:360px) and (max-width:760px){html body.eco-app-polished :is(.team-client-month-plan,.team-ups-month-plan) .team-ups-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body.eco-app-polished :is(.team-client-month-plan,.team-ups-month-plan) .team-ups-month[open]{grid-column:1/-1}}
html body.eco-app-polished .team-ups-month>summary{min-height:52px}

/* A57 · el contenedor de secciones no es una tarjeta: sólo flotan los módulos.
   Se usa la capa del material móvil, cuyas reglas importantes tienen prioridad. */
@layer eco-mobile-material {
html body.eco-app-polished .hero-shell:has(.tab-pane){background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important}
html body.eco-app-polished .hero-shell:has(.tab-pane)::before,html body.eco-app-polished .hero-shell:has(.tab-pane)::after{display:none!important}
}

/* A59 · historial legible: tabla amplia en escritorio y fichas en teléfono. */
@layer eco-mobile-material {
html body.eco-app-polished table:has(>#reportHistoryTable){table-layout:auto!important;min-width:660px!important;width:100%!important}
html body.eco-app-polished #reportHistoryTable :is(td,button){color:#eeeae5!important;word-break:normal!important;overflow-wrap:normal!important}
html body.eco-app-polished #reportHistoryTable td{vertical-align:top!important}
html body.eco-app-polished #reportHistoryTable td:is(:nth-child(1),:nth-child(2),:nth-child(5)){white-space:nowrap!important}
html body.eco-app-polished #reportHistoryTable button{min-height:44px!important;white-space:nowrap!important}
@media(max-width:760px){
 html body.eco-app-polished .table-scroll:has(>#reportHistoryTable),html body.eco-app-polished .table-scroll:has(>table>#reportHistoryTable){max-height:none!important;overflow:visible!important}
 html body.eco-app-polished table:has(>#reportHistoryTable){display:block!important;min-width:0!important}
 html body.eco-app-polished table:has(>#reportHistoryTable)>thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important}
 html body.eco-app-polished #reportHistoryTable{display:grid!important;gap:12px!important;width:100%!important}
 html body.eco-app-polished #reportHistoryTable>tr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;padding:16px!important;border:1px solid rgba(236,222,203,.14)!important;border-radius:18px!important;background:rgba(255,255,255,.035)!important}
 html body.eco-app-polished #reportHistoryTable>tr[style*="background"]{background:rgba(153,187,211,.10)!important}
 html body.eco-app-polished #reportHistoryTable td{display:block!important;min-width:0!important;padding:0!important;border:0!important;font-size:14px!important;line-height:1.5!important;text-align:left!important}
 html body.eco-app-polished #reportHistoryTable td:nth-child(n+3){grid-column:1/-1!important;white-space:normal!important;overflow-wrap:break-word!important}
 html body.eco-app-polished #reportHistoryTable td::before{display:block; margin-bottom:4px;color:#aaa69e;font-size:10px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}
 html body.eco-app-polished #reportHistoryTable td:nth-child(1)::before{content:"Fecha"}
 html body.eco-app-polished #reportHistoryTable td:nth-child(2)::before{content:"Informe"}
 html body.eco-app-polished #reportHistoryTable td:nth-child(3)::before{content:"Cliente"}
 html body.eco-app-polished #reportHistoryTable td:nth-child(4)::before{content:"Trabajo"}
 html body.eco-app-polished #reportHistoryTable td:nth-child(5)::before{content:"Fotos"}
 html body.eco-app-polished #reportHistoryTable td[colspan]{grid-column:1/-1!important}
 html body.eco-app-polished #reportHistoryTable td[colspan]::before{content:none!important}
 html body.eco-app-polished .home-collapsible:has(#reportHistoryTable) .home-collapsible-summary{align-items:flex-start!important;font-size:18px!important;line-height:1.3!important}
 html body.eco-app-polished .home-collapsible:has(#reportHistoryTable) .home-collapsible-summary>span:first-child{min-width:0!important}
 html body.eco-app-polished .home-collapsible:has(#reportHistoryTable) .home-collapsible-chevron{flex:0 0 20px!important}
}
}

@layer eco-mobile-material {
html body.eco-app-polished .home-collapsible:has(#reportHistoryTable) .home-collapsible-chevron{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;line-height:1!important;background:transparent!important;border:0!important;color:#c8b8a5!important}
@media(max-width:360px){html body.eco-app-polished #reportHistoryTable>tr{grid-template-columns:minmax(0,1fr)!important}}
}

/* El estado de guardado permanece fuera del flujo para no mover los módulos. */
@layer eco-mobile-material {
html body #ecoOfflineStatus{position:fixed!important;top:auto!important;right:16px!important;bottom:20px!important;left:auto!important;width:auto!important;max-width:min(480px,calc(100vw - 32px))!important;margin:0!important;padding:10px 14px!important;border:1px solid rgba(209,167,97,.3)!important;border-radius:14px!important;box-shadow:0 6px 20px rgba(0,0,0,.3)!important;background:rgba(43,36,25,.94)!important;color:#ead4ad!important;font:500 12px/1.4 -apple-system,BlinkMacSystemFont,sans-serif!important;backdrop-filter:blur(16px)!important;z-index:2147482000!important;animation:none!important}
html body #ecoOfflineStatus[hidden]{display:none!important}
@media(max-width:900px){html body #ecoOfflineStatus{bottom:calc(90px + env(safe-area-inset-bottom))!important;right:12px!important;left:12px!important;max-width:calc(100vw - 24px)!important;text-align:center!important}}
}

/* A60 — Ajustes del propietario, con superficies independientes y controles cómodos. */
@layer eco-mobile-material {
html body.eco-app-polished #tab-ajustes .settings-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:26px!important;align-items:start!important}
html body.eco-app-polished #tab-ajustes .settings-group{gap:12px!important;min-width:0!important;scroll-margin-top:24px}
html body.eco-app-polished #eco-settings-account,html body.eco-app-polished #eco-settings-team{grid-column:1/-1!important}
html body.eco-app-polished #eco-settings-account{order:0}html body.eco-app-polished #eco-settings-preferences{order:1}html body.eco-app-polished #eco-settings-backups{order:2}html body.eco-app-polished #eco-settings-team{order:3}
html body.eco-app-polished #tab-ajustes .settings-group-title{display:flex!important;flex-direction:column!important;gap:4px!important;padding:0 5px!important}
html body.eco-app-polished #tab-ajustes .settings-group-title span{font-size:18px!important;font-weight:650!important;letter-spacing:-.025em!important}
html body.eco-app-polished #tab-ajustes .settings-group-title small{display:block!important;font-size:12px!important;line-height:1.45!important;color:#a7adb2!important}
html body.eco-app-polished #tab-ajustes .settings-heading p{font-size:14px!important;line-height:1.5!important}
html body.eco-app-polished .eco-settings-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
html body.eco-app-polished .eco-settings-nav button{min-height:44px!important;padding:10px 16px!important;font-size:13px!important;border-radius:22px!important;box-shadow:none!important}
html body.eco-app-polished #tab-ajustes .card,html body.eco-app-polished #tab-ajustes .settings-glass-card{border-radius:24px!important;background:linear-gradient(145deg,rgba(52,59,59,.72),rgba(24,30,31,.88))!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 30px rgba(0,0,0,.14)!important}
html body.eco-app-polished #tab-ajustes .home-collapsible-summary{min-height:62px!important;padding:16px 20px!important;font-size:15px!important;gap:12px!important}
html body.eco-app-polished #tab-ajustes .home-collapsible-body{padding:0 20px 20px!important}
html body.eco-app-polished #tab-ajustes .help,html body.eco-app-polished #tab-ajustes .muted,html body.eco-app-polished #tab-ajustes .panel-sub{font-size:13px!important;line-height:1.55!important;overflow-wrap:anywhere}
html body.eco-app-polished #tab-ajustes .toolbar button{min-height:44px!important;padding:10px 15px!important;font-size:13px!important;border-radius:14px!important;white-space:normal!important}
html body.eco-app-polished #tab-ajustes #cloudSyncCard{padding:20px!important}
html body.eco-app-polished #tab-ajustes #cloudSyncCompactBar{min-height:44px!important;flex-wrap:wrap!important}
html body.eco-app-polished #tab-ajustes #cloudSyncCompactEmail{font-size:14px!important;white-space:normal!important;overflow-wrap:anywhere!important}
html body.eco-app-polished #tab-ajustes #ecoAccessCard{padding:20px!important;max-height:none!important;overflow:visible!important}
html body.eco-app-polished #tab-ajustes .access-permission-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
html body.eco-app-polished #tab-ajustes .access-row{flex-wrap:wrap!important;gap:10px!important;padding:16px!important}
html body.eco-app-polished #tab-ajustes .access-row>div{flex:1 1 260px!important;min-width:0!important;overflow-wrap:anywhere}
html body.eco-app-polished #tab-ajustes button:focus-visible{outline:2px solid #d4b48d!important;outline-offset:3px!important}
@media(max-width:900px){html body.eco-app-polished #tab-ajustes .settings-layout{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}html body.eco-app-polished #tab-ajustes .access-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body.eco-app-polished #eco-settings-team{order:2}html body.eco-app-polished #eco-settings-backups{order:3}}
@media(max-width:560px){html body.eco-app-polished #tab-ajustes .access-permission-grid{grid-template-columns:minmax(0,1fr)!important}html body.eco-app-polished .eco-settings-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}html body.eco-app-polished .eco-settings-nav button{padding:10px!important;font-size:12px!important}html body.eco-app-polished #tab-ajustes .toolbar{display:flex!important;flex-wrap:wrap!important}html body.eco-app-polished #tab-ajustes .toolbar button{flex:1 1 145px!important}html body.eco-app-polished #tab-ajustes .toolbar input{min-width:0!important;flex-basis:100%!important}}
}

/* A61 — Marca centrada en móvil, con sesión y reloj en una cabecera propia. */
.eco-owner-mobile-header{display:contents}
.eco-owner-mobile-brand,.eco-owner-mobile-logout{display:none!important}
@layer eco-mobile-material {
@media(max-width:1099px){
html body.eco-app-polished .eco-owner-mobile-header{display:grid!important;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)!important;grid-template-rows:72px auto!important;align-items:center!important;gap:12px 8px!important;width:100%!important;box-sizing:border-box!important;margin:0 0 20px!important;padding:8px 0 0!important;position:relative!important;border:0!important;background:transparent!important;box-shadow:none!important}
html body.eco-app-polished .eco-owner-mobile-brand{display:flex!important;grid-column:2!important;grid-row:1!important;align-items:center!important;justify-content:center!important}
html body.eco-app-polished .eco-owner-mobile-header #heroLogoBox{display:flex!important;width:72px!important;height:72px!important;min-width:72px!important;box-sizing:border-box!important;padding:8px!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.2)!important}
html body.eco-app-polished .eco-owner-mobile-header #heroLogoBox img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
html body.eco-app-polished .eco-owner-mobile-logout{display:inline-flex!important;grid-column:3!important;grid-row:1!important;justify-self:end!important;align-items:center!important;justify-content:center!important;min-height:44px!important;max-width:100%!important;padding:8px 10px!important;font-size:12px!important;line-height:1.3!important;white-space:normal!important;border-radius:15px!important;box-shadow:none!important;margin:0!important}
html body.eco-app-polished .eco-owner-mobile-header .eco-ambient-clock{grid-column:1/-1!important;grid-row:2!important;justify-self:center!important;margin:0!important;min-height:36px!important;font-size:12px!important;max-width:100%!important;box-sizing:border-box!important;gap:10px!important}
html body.eco-app-polished .eco-owner-mobile-header .eco-ambient-clock::after{display:none!important}
}
@media print{html body.eco-app-polished .eco-owner-mobile-header{display:none!important}}
}

/* A97 · desktop identity, date and appearance share one compact header. */
.eco-owner-header-copy{display:none}
@layer eco-mobile-material {
 @media screen and (min-width:1100px){
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto 44px!important;align-items:center!important;gap:18px!important;width:100%!important;min-height:56px!important;box-sizing:border-box!important;margin:0 0 18px!important;padding:0!important;position:relative!important;background:transparent!important;border:0!important;box-shadow:none!important}
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header .eco-owner-mobile-brand{display:flex!important;grid-column:1!important;grid-row:1!important;align-items:center!important;justify-content:flex-start!important;justify-self:start!important;gap:14px!important;min-width:0!important;min-height:56px!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;transform:none!important;text-align:left!important;color:var(--text,#edf1f7)!important;cursor:pointer!important}
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header #heroLogoBox{display:flex!important;flex:0 0 104px!important;width:104px!important;min-width:104px!important;height:48px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header #heroLogoBox img{display:block!important;width:104px!important;height:48px!important;object-fit:contain!important}
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header .eco-owner-header-copy{display:grid!important;gap:4px!important;min-width:0!important}
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header .eco-owner-header-copy b{font-size:14px!important;font-weight:750!important;line-height:1.35!important;letter-spacing:.045em!important;overflow-wrap:break-word!important}
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header .eco-owner-header-copy small{font:400 15px/1.3 Georgia,'Times New Roman',serif!important;letter-spacing:.01em!important;color:var(--muted,#c7d3e2)!important}
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header .eco-ambient-clock{grid-column:2!important;grid-row:1!important;align-self:center!important;justify-self:end!important;min-height:36px!important;margin:0!important;white-space:nowrap!important}
  html.eco-owner-verified body.eco-app-polished .eco-owner-mobile-header .eco-owner-mobile-brand:focus-visible{outline:2px solid #77a9e3!important;outline-offset:4px!important}
 }
}

/* A97 · Express navigation, date and identity stay aligned on a phone. */
@layer eco-mobile-material {
 @media screen and (max-width:760px){
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen)>main.shell{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:10px!important;row-gap:12px!important;align-content:start!important;padding-top:calc(12px + env(safe-area-inset-top))!important;min-width:0!important}
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen)>main.shell>.express-back{grid-column:1!important;grid-row:1!important;justify-self:start!important;align-self:center!important;min-height:44px!important;max-width:100%!important;margin:0!important;padding:8px 10px!important;font-size:12px!important;line-height:1.3!important;white-space:normal!important;text-align:left!important}
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen)>main.shell>.eco-ambient-clock{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:center!important;min-height:34px!important;max-width:100%!important;margin:0!important;padding:7px 9px!important;gap:7px!important;font-size:11px!important;white-space:nowrap!important}
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen)>main.shell>.eco-ambient-clock .eco-ambient-time{font-size:12px!important}
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen)>main.shell>.express-brand{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-columns:96px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;width:100%!important;min-width:0!important;margin:0 0 4px!important;text-align:left!important;flex-direction:row!important}
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen) .express-brand>span:not(.logo){min-width:0!important}
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen) .express-brand small{font-size:12px!important;line-height:1.4!important;letter-spacing:0!important;text-align:left!important;white-space:normal!important;overflow-wrap:break-word!important}
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen) .express-brand>.eco-theme-switch{margin:0!important;justify-self:end!important}
  html[data-eco-vision] body.eco-vision-theme.app-screen:not(.auth-screen)>main.shell>:is(#app,#authLoading,#loginCard,#resultCard,.eco-legal-footer){grid-column:1/-1!important}
 }
}
/* A97 candidate: authenticated technician mobile workspace only.
 * Existing DOM, original logos, status copy, permission guards and navigation stay intact.
 * The clock remains a direct main child and shares the status row; no absolute positioning.
 * Screens wider than 760px, login, print and the fixed bottom navigation are untouched.
 * Load after the shared theme, in the existing material layer for historical !important rules.
 */
@layer eco-mobile-material {
 @media screen and (max-width:760px) {
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) >main{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:12px!important;row-gap:8px!important;padding-top:calc(12px + env(safe-area-inset-top))!important;min-width:0}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) >main>#teamHeader{grid-column:1/-1!important;grid-row:1!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:10px!important;margin:0!important;padding:0 0 8px!important;min-width:0}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #teamHeader>.team-brand{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;width:auto!important;min-width:0!important;text-align:left!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #teamHeader .team-mark-pair{gap:8px!important;justify-content:flex-start!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #teamHeader .team-mark-pair img{width:44px!important;height:44px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #teamHeader .team-brand-copy{width:100%!important;min-width:0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #teamHeader .team-eyebrow{display:block!important;font-size:12px!important;line-height:1.35!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:break-word}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #teamHeader #who{font-size:11px!important;line-height:1.4!important;margin-top:2px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #teamHeader>.team-header-actions{position:static!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;align-self:start!important;gap:6px!important;margin:0!important;min-width:0}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #teamHeader>.team-header-actions>button:not(.hidden):not([hidden]){min-height:44px!important;height:44px!important;min-width:44px!important;box-sizing:border-box!important;padding:8px 12px!important;font-size:13px!important;line-height:1.2!important;margin:0!important;white-space:nowrap!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) >main>.eco-ambient-clock{grid-column:2!important;grid-row:2!important;align-self:center!important;justify-self:end!important;max-width:100%!important;min-height:34px!important;box-sizing:border-box!important;margin:0!important;padding:7px 9px!important;gap:7px!important;font-size:11px!important;white-space:nowrap!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) >main>.eco-ambient-clock .eco-ambient-time{font-size:12px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) >main>.eco-ambient-clock::after{display:none!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) >main>#status{grid-column:1!important;grid-row:2!important;align-self:center!important;min-width:0!important;margin:0!important;padding:0!important;font-size:11px!important;line-height:1.4!important;white-space:normal!important;overflow-wrap:anywhere!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) >main>#workspace:not(.hidden):not([hidden]){grid-column:1/-1!important;grid-row:3!important;min-width:0!important;margin-top:2px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #workspace .team-section-heading{margin-bottom:10px!important;gap:6px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #workspace .team-section-heading h2{font-size:22px!important;line-height:1.2!important;margin:3px 0 0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #workspace .team-section-heading .team-eyebrow{font-size:10px!important;line-height:1.3!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-work-notice{padding:14px!important;margin:0 0 12px!important;min-width:0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-work-notice h3{font-size:22px!important;line-height:1.25!important;margin:0!important;max-width:none!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-work-notice>p{font-size:14px!important;line-height:1.5!important;margin:8px 0 0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-work-notice>.ewc-job{min-height:44px!important;margin-top:10px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;column-gap:12px!important;row-gap:8px!important;align-items:center!important;padding:16px!important;margin-bottom:12px!important;min-width:0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>.team-signal-mark{grid-column:1!important;grid-row:1/span 2!important;align-self:center!important;justify-self:start!important;position:relative!important;inset:auto!important;width:64px!important;height:64px!important;box-sizing:border-box!important;margin:0!important;border-radius:19px 19px 19px 7px!important;overflow:hidden}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>.team-signal-mark::before{left:14px!important;top:12px!important;width:36px!important;height:36px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>.team-signal-mark::after{left:9px!important;right:9px!important;top:9px!important;height:2px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>.team-signal-mark i:first-child{inset:4px!important;border-width:1px!important;border-radius:21px 21px 21px 8px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>.team-signal-mark i:nth-child(2){left:5px!important;right:5px!important;bottom:4px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>.team-signal-mark i:nth-child(2)::before{font-size:4.5px!important;letter-spacing:.04em!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>.team-eyebrow{grid-column:2!important;grid-row:1!important;align-self:end!important;font-size:9px!important;line-height:1.4!important;letter-spacing:.07em!important;min-width:0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>h2{grid-column:2!important;grid-row:2!important;align-self:start!important;font-size:22px!important;line-height:1.2!important;margin:0!important;min-width:0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>p{grid-column:1/-1!important;grid-row:3!important;font-size:14px!important;line-height:1.5!important;margin:4px 0 0!important;min-width:0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-hero>.team-home-actions{grid-column:1/-1!important;grid-row:4!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:6px!important;min-width:0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content .team-home-actions>button{min-height:84px!important;padding:12px!important;gap:7px!important;min-width:0!important;max-width:100%!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content .team-home-actions b{font-size:13px!important;line-height:1.25!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content .team-home-actions small{font-size:11px!important;line-height:1.4!important;margin-top:4px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content .team-home-actions .team-nav-icon{width:26px!important;height:26px!important;flex-basis:26px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-services{padding:12px!important;margin:12px 0!important;gap:8px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-modules{gap:10px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-modules>button{min-height:96px!important;padding:14px!important;min-width:0!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-modules>button b{font-size:14px!important;line-height:1.3!important;margin-top:8px!important}
  html body.eco-team:has(#workspace:not(.hidden):not([hidden])) #content.home-content>.team-home-modules>button small{font-size:12px!important;line-height:1.45!important;margin-top:5px!important}
 }
}

/* Calendar utilities stay secondary to the agenda and its monthly plan. */
body.eco-team #workspace .team-calendar-main,
body.eco-team #workspace .team-calendar-plans,
body.eco-team #workspace .team-calendar-utilities{grid-column:1/-1;min-width:0}
body.eco-team #workspace .team-calendar-plans:empty{display:none}
body.eco-team #workspace .team-calendar-utilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}
body.eco-team #workspace .team-calendar-utilities>.card{grid-column:auto;display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:0!important;padding:14px 16px!important;border-radius:20px!important;min-width:0}
body.eco-team #workspace .team-calendar-utilities .team-eyebrow{display:none}
body.eco-team #workspace .team-calendar-utilities h3{font-size:16px!important;line-height:1.3!important;margin:0 0 5px!important}
body.eco-team #workspace .team-calendar-utilities p,
body.eco-team #workspace .team-calendar-utilities small{font-size:13px!important;line-height:1.45!important;margin:0!important}
body.eco-team #workspace .team-calendar-utilities button{font-size:13px!important;line-height:1.3!important;min-height:44px!important;min-width:0;padding:9px 12px!important;border-radius:14px!important;white-space:normal;overflow-wrap:break-word;box-sizing:border-box}
body.eco-team #workspace .team-calendar-utilities [data-options]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.eco-team #workspace .team-calendar-utilities [data-options] button{width:100%}
body.eco-team #workspace .team-calendar-actions>button{align-self:flex-start;margin-top:auto}
@media(max-width:760px){body.eco-team #workspace .team-calendar-utilities{grid-template-columns:1fr;gap:10px}}

/* A98 · saved budgets scroll independently below search and list actions. */
@media screen {
 html body.eco-app-polished #tab-presupuestos #quoteList.quote-list {
  max-height:clamp(240px,48dvh,540px)!important;min-width:0;box-sizing:border-box;
  overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;
  scrollbar-width:thin!important;scrollbar-color:rgba(116,141,176,.48) transparent!important;
  scrollbar-gutter:stable;scroll-padding-block:6px;padding:4px 6px 4px 4px;
 }
}
@media screen and (max-width:760px) {
 html body.eco-app-polished #tab-presupuestos #quoteList.quote-list {max-height:clamp(220px,44dvh,380px)!important}
}
/* Network availability is a small header light, distinct from server ACKs. */
@layer eco-mobile-material {
 html body .eco-ambient-clock:has(>.eco-connection-indicator){position:relative!important;padding-right:29px!important}
 html body .eco-connection-indicator{position:absolute!important;inset:50% -7px auto auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:inherit!important;transform:translateY(-50%)!important;animation:none!important}
 html body span.eco-connection-indicator{width:24px!important;height:28px!important;min-width:24px!important;min-height:28px!important;right:3px!important;pointer-events:none!important}
 html body button.eco-connection-indicator{cursor:pointer!important;touch-action:manipulation!important}
 /* Keep the generous target transparent above the shared raised-button skin. */
 html[data-eco-vision] body.eco-vision-theme.eco-app-polished .eco-ambient-clock>button.eco-connection-indicator.eco-connection-indicator{padding:0!important;border:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important}
 html body .eco-connection-light{display:block!important;width:7px!important;height:7px!important;flex:0 0 7px!important;border-radius:50%!important;background:#2c9a69!important;box-shadow:0 0 0 3px rgba(44,154,105,.12)!important;transition:background .15s ease,box-shadow .15s ease!important}
 html body .eco-connection-indicator[data-eco-network="offline"] .eco-connection-light,html body .eco-online-dot[data-eco-network="offline"]{background:#87919b!important;box-shadow:0 0 0 3px rgba(135,145,155,.1)!important}
 html body .eco-online-dot[data-eco-network="online"]{background:#2c9a69!important;box-shadow:0 0 0 3px rgba(44,154,105,.12)!important}
 html body .eco-connection-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
 html body .eco-connection-indicator:focus-visible{outline:2px solid var(--eco-blue,#77a9e3)!important;outline-offset:0!important}
 html body .eco-connection-indicator[hidden],html body .eco-online-dot[hidden]{display:none!important}
 @media(prefers-reduced-motion:reduce){html body .eco-connection-light{transition:none!important}}
 @media print{html body .eco-connection-indicator{display:none!important}}
}
