:root{--ader-red:#d8071b;--ader-red-dark:#a70616;--ink:#18181b;--muted:#64646d;--line:#e8e2e3;--soft:#f8f6f6;--white:#fff;--shadow:0 18px 50px #19191c14;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f1f1}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;margin:0}button,input{font:inherit}button{border:0}a{color:inherit}#root{isolation:isolate;flex-direction:column;min-height:100svh;display:flex;position:relative}#root:before{content:"";z-index:-2;background:linear-gradient(120deg,#fffffff0,#ffffffb8),url(/assets/brand/marca-agua.png) right 7vw center/min(58vw,720px) no-repeat,#f4f2f2;position:fixed;inset:0}#root:after{content:none}.access-shell,.dashboard-shell,.loading-shell{width:min(1120px,100% - 40px);margin:0 auto}.access-shell,.loading-shell{flex:1;place-items:center;padding:40px 0 24px;display:grid}.access-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffc7;border:1px solid #0000000f;border-radius:6px;flex-direction:column;align-items:center;width:min(100%,420px);min-height:520px;padding:24px 28px;display:flex;box-shadow:0 18px 45px #1f1f1f13}.brand-logo{width:min(100%,255px);height:auto;display:block}.brand-logo--dashboard{width:232px}.access-card .brand-logo{width:196px;margin:0 auto 32px}.access-heading,.dashboard-intro{text-align:center}.access-label{justify-content:center;align-items:center;gap:24px;width:100%;display:flex}.access-label span{background:#d8071bb3;width:44px;height:1px}.access-label p{color:#8a0612;letter-spacing:.28em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.04}.title-accent{color:var(--ader-red);font-size:calc(1em - 7px)}.dashboard-title .title-accent{font-size:1em}.access-heading h1{letter-spacing:-.06em;justify-content:center;align-items:center;min-height:64px;margin-top:14px;font-size:38px;line-height:1;display:flex}.access-heading>p,.dashboard-intro p:not(.eyebrow),.loading-shell p{color:var(--muted);margin:14px 0 0;line-height:1.55}.access-heading>p:last-child{margin-top:8px;font-size:13px;line-height:1.45}.login-form{gap:10px;width:100%;margin-top:18px;display:grid}.field{color:var(--ink);letter-spacing:.035em;text-transform:uppercase;gap:5px;font-size:.82rem;font-weight:800;display:grid}.field input{background:var(--white);width:100%;min-height:40px;color:var(--ink);border:1px solid #d8d3d4;border-radius:6px;outline:none;padding:0 14px;transition:border-color .16s,box-shadow .16s}.field input:focus{border-color:var(--ader-red);box-shadow:0 0 0 3px #d8071b1f}.password-control{background:var(--white);border:1px solid #d8d3d4;border-radius:6px;grid-template-columns:1fr 46px;display:grid;overflow:hidden}.password-control:focus-within{border-color:var(--ader-red);box-shadow:0 0 0 3px #d8071b1f}.password-control input{box-shadow:none;border:0;border-radius:0}.password-control input:focus{box-shadow:none}.icon-button{background:var(--white);color:var(--muted);border-left:1px solid var(--line);cursor:pointer;place-items:center;display:grid}.icon-button:hover{color:var(--ader-red)}.primary-button,.logout-button{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:9px;min-height:44px;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.primary-button{background:var(--ader-red);width:100%;color:var(--white);letter-spacing:.045em;margin-top:2px;font-weight:900}.access-footer{color:#0000003d;letter-spacing:.24em;text-transform:uppercase;margin:auto 0 0;padding-top:16px;font-size:10px;font-weight:600}@media (width>=640px){.access-card{padding-inline:32px}.access-card .brand-logo{width:220px}.access-heading h1{font-size:41px}}.primary-button:hover:not(:disabled){background:var(--ader-red-dark)}.primary-button:disabled,.logout-button:disabled,.icon-button:disabled{opacity:.62;cursor:not-allowed}.form-error{color:#8c0713;background:#d8071b12;border:1px solid #d8071b38;border-radius:6px;margin:0;padding:12px 14px;font-size:.92rem;line-height:1.4}.dashboard-shell{flex:1;padding:34px 0 28px}.dashboard-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:66px;display:flex}.logout-button{border:1px solid var(--line);color:var(--muted);background:#ffffffdb;padding:0 15px;font-size:.92rem;font-weight:700}.logout-button:hover:not(:disabled){color:var(--ader-red);border-color:#d8071b5c}.portal-grid{gap:12px;margin-top:64px;display:grid}.portal-grid__row{gap:12px;display:grid}.portal-grid__row--three,.portal-grid__row--four{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-button{border:1px solid var(--line);background:#ffffffed;border-radius:8px;grid-template-rows:42px 1fr 20px;align-items:start;height:166px;min-height:166px;padding:16px 14px 14px;text-decoration:none;transition:border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative;box-shadow:0 14px 34px #19191c0e}.portal-button:hover{background:#fff;border-color:#d8071b5c;box-shadow:0 18px 42px #19191c16}.portal-button:focus-visible,.logout-button:focus-visible,.primary-button:focus-visible,.icon-button:focus-visible{outline-offset:3px;outline:3px solid #d8071b3d}.portal-button__icon{width:38px;height:38px;color:var(--ader-red);background:#d8071b14;border-radius:50%;place-items:center;display:grid}.portal-button__content{gap:8px;min-width:0;display:grid}.portal-button__title{color:var(--ink);text-transform:uppercase;font-size:.78rem;font-weight:900;line-height:1.2}.portal-button__description{color:var(--muted);font-size:.74rem;line-height:1.38}.portal-button__external{color:var(--ader-red);align-self:end}.site-footer{color:#757178;text-align:center;width:min(1120px,100% - 40px);margin:0 auto;padding:18px 0 24px;font-size:.82rem}.loading-shell{text-align:center;gap:22px}@media (width<=1020px){.portal-grid__row,.portal-grid__row--three,.portal-grid__row--four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.access-shell,.dashboard-shell,.loading-shell,.site-footer{width:min(100% - 28px,1120px)}.access-card{padding:28px 20px}.brand-logo,.brand-logo--dashboard{width:min(100%,220px)}.dashboard-header{flex-direction:column;align-items:flex-start;margin-bottom:44px}.logout-button{width:100%}.portal-grid__row,.portal-grid__row--three,.portal-grid__row--four{grid-template-columns:1fr}.portal-button{height:190px;min-height:190px}}
