:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--c-white: #ffffff;--c-teal: #64ccc9;--c-teal-dark: #00778b;--c-gold: #eaaa00;--c-red: #d22630;--c-gray: #706f6f;--bg: #ffffff;--surface: rgba(11, 28, 32, .04);--border: rgba(11, 28, 32, .14);--text: rgba(11, 28, 32, .92);--muted: rgba(11, 28, 32, .62);color-scheme:light;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}a{font-weight:500;color:var(--c-teal);text-decoration:inherit}a:hover{color:var(--c-teal-dark)}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#0b1c200a;cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--c-teal)}button:focus,button:focus-visible{outline:3px solid rgba(100,204,201,.45);outline-offset:2px}#root{width:100%;height:100vh;padding:0}.muted{color:var(--muted)}.authLayout{min-height:100vh;display:grid;place-items:center;padding:24px 16px;position:relative;overflow:hidden}.authBg{position:absolute;inset:0;z-index:0;pointer-events:none}.authBgCanvas{width:100%;height:100%;display:block}.authPanel{position:relative;padding-top:44px;z-index:1}.authLogoBadge{position:absolute;top:-160px;left:50%;transform:translate(-50%);width:min(360px,80%);height:auto;border-radius:0;border:0;background:transparent;display:grid;place-items:center;overflow:visible}.authLogoImg{width:100%;height:auto;object-fit:contain;padding:0}.authTitle{margin:0 0 12px;text-align:center;font-size:18px;font-weight:800}.appShell{height:100vh;display:grid;grid-template-rows:auto 1fr;overflow:hidden;box-sizing:border-box;--navbar-height: 0}.appShell>.nav+*{padding-top:calc(env(safe-area-inset-top,0px) + var(--navbar-height, 0px));min-height:0;display:flex;flex-direction:column}.appShell>.nav+.dashDiarioPage{display:grid;flex-direction:unset}.nav{position:sticky;top:0;z-index:100;width:100%;flex-shrink:0;border-bottom:1px solid var(--border);background:#f2f2f2;padding-top:env(safe-area-inset-top,0)}@media(min-width:861px){.navBrandText{display:none}.navCenterTitleDesktop{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(56vw,560px);text-align:center;font-weight:800;letter-spacing:.2px;font-size:16px;line-height:1;color:var(--text);padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}}@media(max-width:860px){.navCenterTitleDesktop{display:none}}.navInner{max-width:1280px;margin:0 auto;padding:6px 12px;min-height:56px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:12px}.navInnerSimple{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) auto;align-items:center;column-gap:12px}@media(max-width:860px){.appShell{--navbar-height: 72px;padding-top:0;min-height:100vh;min-height:100dvh;height:100dvh;grid-template-rows:1fr}.appShell>.nav{position:fixed;top:0;left:0;right:0;z-index:100;margin:0;padding-top:env(safe-area-inset-top,0);flex-shrink:0}.appShell{--navbar-height: 72px;--mobile-landing-gap: calc(var(--navbar-height, 72px) * .5)}.navInnerSimple{grid-template-columns:minmax(0,1fr) auto}.authLayout{min-height:100dvh;height:100dvh;height:100svh;box-sizing:border-box;padding:16px;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:manipulation}.authLayout .authPanel{min-height:0;max-width:min(360px,100%);margin:0 auto}.authLayout input{color:#0b1c20;font-size:16px}.dashboard{margin-top:0;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.dashboard.dashboardMobileLanding{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--navbar-height, 72px) + var(--mobile-landing-gap, 8px));left:0;right:0;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;z-index:1}.dashboard.dashboardMobileLanding .mobileLanding{margin:0;padding:0 16px 24px;min-height:min-content;display:flex;flex-direction:column;gap:0;align-items:stretch;flex:1}.mobileCards{margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;align-content:flex-start}.mobileCards .mobileCard{flex:0 0 auto;background:var(--surface);display:flex;flex-direction:column;gap:8px;padding:12px 14px;min-height:0}}.navLeft{display:inline-flex;align-items:center;gap:10px;min-width:0}.navBrandText{font-weight:800;letter-spacing:.2px;line-height:1;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:clamp(12px,3.2vw,19px)}.navCenter{justify-self:center;min-width:0}.navLogo{height:44px;width:auto;max-width:min(30vw,140px);object-fit:contain;flex:0 0 auto}.navTitle{font-weight:700;letter-spacing:.2px;font-size:22px;line-height:1;display:flex;align-items:center}.navRight{justify-self:end;display:flex;align-items:center;gap:12px;position:relative;flex:0 0 auto}.navWelcome{color:var(--muted);font-size:14px;white-space:nowrap}.navButton{border:1px solid rgba(234,170,0,.55);background:#eaaa001f;color:var(--text)}.hamburgerBtn{width:44px;height:44px;padding:0;border-radius:12px;border:1px solid rgba(11,28,32,.14);background:#0b1c200a;color:var(--text);display:grid;place-items:center}.hamburgerIcon{width:18px;height:2px;background:currentColor;position:relative;border-radius:999px}.hamburgerIcon:before,.hamburgerIcon:after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:999px}.hamburgerIcon:before{top:-6px}.hamburgerIcon:after{top:6px}.navMenu{position:absolute;top:calc(100% + 8px);right:0;width:240px;border-radius:14px;border:1px solid rgba(11,28,32,.14);background:#fff;padding:10px;display:grid;gap:8px;z-index:40}.navMenuLabel{font-size:13px;color:var(--muted);padding:2px 2px 6px;border-bottom:1px solid rgba(11,28,32,.1);margin-bottom:2px}.navMenuItem{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(11,28,32,.12);background:#0b1c200a;color:var(--text);font-weight:800;text-align:left}.navMenuItem:hover{border-color:#00778b73;background:#00778b1a}.navMenuItem.danger:hover{border-color:#d2263073;background:#d226301a}.dashboard{max-width:1280px;width:calc(100% - 32px);margin:24px auto;height:auto}.mobileLanding{width:min(720px,100%);margin:0 auto;display:grid;gap:14px}.mobileCards{display:grid;gap:12px}.mobileCard{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px;display:grid;gap:10px}.dashGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,150px);gap:14px;align-content:start}.dashGridUserOnly{grid-template-columns:minmax(0,520px);grid-template-rows:repeat(2,150px);justify-content:center}.dashCard,.folderCard{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:12px;min-height:0}.dashCardEmpty{opacity:.35;border-style:dashed}.folderCard{position:relative;padding-top:22px}.folderHeader{font-weight:700;margin-bottom:10px}.rectButton{width:100%;border-radius:10px;padding:12px 14px;border:1px solid rgba(0,119,139,.55);background:#00778b1f;color:var(--text)}.rectButton:hover{background:#00778b2e;border-color:#00778ba6}.folderDesc{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.4}.ingresoPage{width:100%;height:100%;padding:24px 16px;overflow:auto;min-height:0;display:grid;place-items:start center}.ingresoCard{width:min(640px,100%);border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px;display:grid;gap:14px}.configWrap{width:min(1320px,100%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:16px;align-content:start}.configPanel{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px;display:grid;gap:14px;min-height:0}.usersPanel{padding:0 18px 18px;gap:8px}.usersPanel .configPanelHeader{margin-top:-2px}.configPanelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.usersUpdateBtn{font-size:22px;font-weight:800;padding:10px 12px;line-height:1}.usersForm{display:grid;gap:12px}.usersActions{display:grid;gap:10px}.usersRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.usersTableWrap{border:1px solid rgba(11,28,32,.12);border-radius:14px;background:#0b1c2005;overflow:auto;max-height:min(520px,calc(100vh - 280px))}.usersTable{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.usersTable th,.usersTable td{border:1px solid rgba(11,28,32,.1);padding:8px;vertical-align:top;text-align:left;word-break:break-word}.usersTable th{position:sticky;top:0;background:#00778b1a;font-weight:800}.usersTable th:nth-last-child(-n+2),.usersTable td:nth-last-child(-n+2){width:64px;text-align:center}.iconBtn{width:42px;height:42px;padding:0;display:inline-grid;place-items:center;border-radius:12px;border:1px solid rgba(11,28,32,.14);background:#0b1c200a;color:var(--text)}.iconBtn:hover{border-color:#00778b73;background:#00778b1a}.iconBtn.danger:hover{border-color:#d2263073;background:#d226301a}.iconSvg{width:20px;height:20px}@media(max-width:980px){.configWrap,.usersRow{grid-template-columns:1fr}}.ingresoTitle{margin:0;font-size:22px}.field{display:grid;gap:6px;font-size:14px}.dropZone{border:1px dashed rgba(100,204,201,.45);background:#0000001f;border-radius:16px;padding:18px;text-align:center;display:grid;gap:8px;cursor:pointer;position:relative;overflow:hidden}.dropZoneOver{border-color:#eaaa00b3;background:#eaaa0014}.dropTitle{font-weight:700}.dropSub{color:var(--muted)}.fileButton{justify-self:center;padding:10px 14px;border-radius:10px;border:1px solid rgba(100,204,201,.45);background:#64ccc91f;cursor:pointer;color:var(--c-white);font-weight:600}.fileButton input{display:none}.dropFile{color:var(--muted);font-size:13px;word-break:break-word}.dropFileName{min-height:120px;display:grid;place-items:center;padding:18px 10px;font-size:20px;font-weight:800;letter-spacing:.2px;color:var(--text);word-break:break-word}.fileOverlayInput{position:absolute;inset:0;opacity:0;cursor:pointer}.successBox{padding:10px 12px;border-radius:10px;border:1px solid rgba(100,204,201,.5);background:#64ccc91f;color:var(--text)}.dashDiarioPage{max-width:1280px;width:calc(100% - 32px);margin:6px auto 0;height:calc(100vh - 52px);display:grid;gap:8px;min-height:0;overflow:hidden}@media(min-width:861px){.dashDiarioPage.dashDiarioPageDesktop{grid-template-columns:1fr 300px;grid-template-areas:"chart filters";height:calc(100vh - 52px)}.dashDiarioPage.dashDiarioPageDesktop>.dashDiarioLeft{grid-area:chart;min-width:0}.dashDiarioPage.dashDiarioPageDesktop>.dashDiarioRight{grid-area:filters;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.dashDiarioPage.dashDiarioPageDesktop>.dashDiarioRight .controlCard{display:flex;flex-direction:column;width:100%;max-width:100%}.dashDiarioPage.dashDiarioPageDesktop .dashDiarioLeft .chartCard{min-height:0}.dashDiarioPage.dashDiarioPageDesktop .dashDiarioLeft .chartDetailViewport{min-height:0;flex:1}.dashDiarioPage.dashDiarioPageDesktop .dashDiarioLeft .chartDetailTrack,.dashDiarioPage.dashDiarioPageDesktop .dashDiarioLeft .chartDetailPanel{min-height:0}.dashDiarioPage.dashDiarioPageDesktop .dashDiarioLeft .chartDetailPanel .chartArea,.dashDiarioPage.dashDiarioPageDesktop .dashDiarioLeft .chartDetailPanel .chartArea.chartAreaLarge{min-height:280px;height:100%;flex:1}.dashDiarioPage.dashDiarioPageDesktop .dashDiarioLeft .chartDetailPanel .chartArea .plotlyBox{flex:1;min-height:0;height:100%}}.dashDiarioLeft{min-height:0;display:grid;grid-template-rows:auto 1fr;gap:8px}.dashDiarioTop{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:12px 14px}.chartCard{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:10px;min-height:0;display:grid;grid-template-rows:auto 1fr;gap:8px;overflow:hidden}.chartTitle{font-weight:800;letter-spacing:.2px}.plotlyBox{min-height:0;height:100%}.chartArea{width:100%;height:100%;min-height:0}.chartDetailViewport{width:100%;overflow:hidden;min-height:400px;height:100%;display:flex;flex-direction:column}.chartDetailTrack{display:flex;width:200%;flex:1;min-height:400px;height:100%;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.chartDetailPanel{flex:0 0 50%;min-width:50%;min-height:400px;height:100%;display:flex;flex-direction:column}.chartDetailPanel .chartArea{flex:1;min-height:300px}.chartDetailPanel .detailWrap{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;height:100%;padding:8px;box-sizing:border-box}.chartDetailPanel .detailTableScroll{flex:1 1 0;min-height:0;height:100%;max-height:none;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.chartAreaLarge{height:520px}.chartAreaSmall{height:320px}.detailWrap{border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#0000001f;padding:8px;overflow:hidden}.detailTableScroll{max-height:220px;overflow:auto}.detailTable{width:100%;border-collapse:collapse;font-size:12px}.detailTable th,.detailTable td{border:1px solid rgba(255,255,255,.18);padding:8px;vertical-align:top}.cellEquipo{font-weight:800}.statusCell{display:inline-flex;align-items:center;gap:8px}.statusDot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(0,0,0,.25);flex:0 0 auto}.statusDot.green{background:#22c55e}.statusDot.red{background:#ef4444}.detailTable th{position:sticky;top:0;background:#00778b38;color:var(--c-white);text-align:left;font-weight:800}.detailBtn{margin-top:4px}.dashDiarioRight{min-height:0}.controlCard{height:100%;border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:12px;min-height:0;justify-content:flex-start}.tipoHeader{font-weight:800;letter-spacing:.2px}.tipoToggleGrid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.tipoToggleBtn{aspect-ratio:2 / 1;width:100%;border-radius:14px;border:1px solid rgba(100,204,201,.28);background:#00778b38;font-weight:800;letter-spacing:.2px;color:var(--text);display:grid;place-items:center;padding:10px}.tipoToggleBtn.off{background:#0b1c200f;border-color:#0b1c201f;color:#0b1c208c}.tipoToggleBtn.on{border-color:#64ccc98c;box-shadow:0 0 0 3px #64ccc91f inset}.equipoColumns{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.equipoCol{display:grid;gap:10px;align-content:start}.equipoToggleBtn{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#00000029;font-weight:800;letter-spacing:.2px;color:var(--text);display:grid;place-items:center;padding:10px;min-height:44px;text-align:center;line-height:1.15}.equipoToggleBtn.on{border-color:#eaaa008c;background:#eaaa001a}.equipoToggleBtn.off{background:#0b1c200f;border-color:#0b1c201f;color:#0b1c20b3}.equipoToggleBtn:disabled{opacity:.35}@media(max-width:860px){.dashDiarioPage.dashDiarioPageMobile{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--navbar-height, 72px));left:0;right:0;bottom:0;padding-top:unset;margin-top:unset;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"controls" "chart";height:auto;min-height:0;overflow:hidden;align-content:start}.dashDiarioPage.dashDiarioPageMobile>.dashDiarioMobile{grid-area:controls}.dashDiarioPage.dashDiarioPageMobile>.dashDiarioLeft.dashDiarioLeftMobile{grid-area:chart;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:block}}.dashDiarioMobile{display:flex;flex-direction:column;gap:6px}.dashDiarioRightMobile{width:100%}.dashDiarioRightMobile .controlCard{height:auto}.controlCardMobile{padding:6px 10px;gap:4px}.dashDiarioTopMobile{padding:6px 10px}.dashDiarioTopMobile .field,.dashDiarioTopMobile .fieldMobile{margin:0}.fieldMobile{font-size:12px;font-weight:600}.inputMobile{padding:4px 8px;font-size:13px;min-height:28px}.controlRowMobile{display:flex;align-items:center;gap:8px;min-height:26px}.controlLabelMobile{flex:0 0 78px;font-size:11px;font-weight:700;letter-spacing:.05px;color:var(--text)}.mobileSelect{flex:1;min-width:0;padding:3px 8px;font-size:12px;font-weight:600;min-height:26px;border-radius:6px;border:1px solid rgba(100,204,201,.28);background:#00778b38;color:var(--text)}.mobileSelect:disabled{opacity:.6}.mobileDetailBtn{flex:1;min-width:0;padding:3px 8px;font-size:12px;font-weight:600;min-height:26px;border-radius:6px;border:1px solid rgba(100,204,201,.28);background:#00778b38;color:var(--text);cursor:pointer}.mobileDetailBtn:disabled{opacity:.6;cursor:not-allowed}.controlRowMobile .dropdown{flex:1;min-width:0}.dropdownCompact{min-width:0}.dropdownButtonCompact{padding:3px 8px;min-height:26px;font-size:12px;font-weight:600}.dropdownMenuCompact{padding:4px;gap:2px}.dropdownBelow .dropdownMenu,.dropdownMenuBelow{top:calc(100% + 4px);bottom:auto}.dropdownItemCompact{padding:4px 8px;font-size:12px;font-weight:600}.mobileEquiposDropdown{width:100%}.mobileEquiposMenu{max-height:160px;overflow-y:auto}.mobileEquiposGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.equipoToggleBtnMobile{min-height:26px;padding:4px 6px;font-size:11px;font-weight:700;line-height:1.1}.chartAreaMobile.chartAreaLarge{height:min(420px,50vh)}.chartDetailViewport .chartAreaMobile{height:420px;min-height:420px}@media(max-width:860px){.chartDetailViewport,.chartDetailTrack,.chartDetailPanel{min-height:420px}.chartDetailPanel .chartArea.chartAreaLarge.chartAreaMobile{height:420px;min-height:420px}}.chartAreaMobile.chartAreaSmall{height:min(280px,38vh)}.detailTableScrollMobile{overflow-x:auto;-webkit-overflow-scrolling:touch}.detailTableScrollMobile .detailTable{min-width:640px}@media(max-width:980px){.controlCard{height:auto}}.panel{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface);width:min(420px,100%)}.form{display:grid;gap:12px}label{display:grid;gap:6px;font-size:14px}input{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#00000038;color:var(--c-white)}select{padding:10px 12px;border-radius:10px;border:1px solid rgba(100,204,201,.28);background:#00778b38;color:var(--c-white)}select:focus{outline:3px solid rgba(100,204,201,.35);outline-offset:2px}.controlSelect{width:100%;font-weight:800;letter-spacing:.2px}.controlSelect:disabled{background:#00000038;border-color:#ffffff1a;color:#ffffff8c}.dropdown{position:relative;width:100%}.dropdownButton{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(100,204,201,.28);background:#00778b38;color:var(--text);font-weight:800;letter-spacing:.2px}.dropdownChevron{color:#0b1c20bf}.dropdownMenu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;border-radius:12px;border:1px solid rgba(100,204,201,.28);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px;display:grid;gap:8px}.dropdownItem{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(11,28,32,.12);background:#0b1c200a;color:var(--text);font-weight:800;letter-spacing:.2px;text-align:left}.dropdownItem:hover{border-color:#64ccc98c;background:#64ccc91f}.dropdownItem.active{border-color:#eaaa008c;background:#eaaa001a}input:focus{outline:3px solid rgba(100,204,201,.35);outline-offset:2px}button{padding:10px 12px;border-radius:10px;border:1px solid rgba(0,119,139,.55);background:linear-gradient(180deg,#00778bf2,#00778bbf);color:var(--c-white);cursor:pointer}button.secondary{border:1px solid rgba(234,170,0,.5);background:#eaaa001f}button:disabled{opacity:.6;cursor:not-allowed}.error{padding:10px 12px;border-radius:10px;border:1px solid rgba(210,38,48,.55);background:#d226301f;color:var(--text)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.pre{padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#00000040;overflow:auto;font-size:12px}
