.portalShell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:linear-gradient(135deg,var(--mcydj-yellow),#fffdf0 55%,rgba(160,199,254,.55));color:var(--mcydj-ink)}.portalSidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:22px 16px;border-right:var(--border);background:hsla(0,0%,100%,.58);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:22px}.portalBrand{display:grid;grid-gap:2px;gap:2px;padding:14px;border:var(--border);border-radius:18px;background:var(--mcydj-ink);color:var(--mcydj-yellow);text-decoration:none}.portalBrand strong{font-size:22px;letter-spacing:-.02em}.portalBrand span{font-size:13px;opacity:.86}.portalNav{display:grid;grid-gap:8px;gap:8px}.portalNav button{width:100%;border:0;border-radius:14px;padding:12px 14px;background:transparent;color:var(--mcydj-ink);text-align:left;font-weight:900;cursor:pointer}.portalNav button.active,.portalNav button:hover{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)}.portalMain{padding:24px;display:grid;grid-gap:18px;gap:18px;align-content:start}.portalTopbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:var(--border);border-radius:22px;background:hsla(0,0%,100%,.72)}.portalTopbar p{margin:0;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.68}.portalTopbar h1{margin:2px 0 0;font-size:clamp(26px,4vw,42px);line-height:1.05;letter-spacing:-.03em}.roleBox{display:grid;grid-gap:6px;gap:6px;min-width:220px}.field span,.roleBox span{font-size:12px;font-weight:900;opacity:.72}.field input,.field textarea,.roleBox select{width:100%;border:var(--border);border-radius:12px;padding:10px 12px;background:#fff;color:var(--mcydj-ink);font:inherit}.notice{border:1px solid rgba(246,89,4,.28);background:rgba(246,89,4,.1);border-radius:16px;padding:12px 14px;font-weight:800}.portalGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.portalCard{background:hsla(0,0%,100%,.88);border:var(--border);border-radius:20px;padding:18px;box-shadow:0 1px 0 rgba(0,0,0,.06)}.statCard{display:grid;grid-gap:6px;gap:6px}.statCard span{font-size:12px;font-weight:900;text-transform:uppercase;opacity:.65}.statCard strong{font-size:34px;line-height:1}.statCard small{opacity:.72}.agendaLayout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;grid-gap:16px;gap:16px;align-items:start}.reservationForm{display:grid;grid-gap:13px;gap:13px}.sectionTitle{display:grid;grid-gap:4px;gap:4px;margin-bottom:2px}.sectionTitle h2{margin:0;font-size:20px;letter-spacing:-.01em}.sectionTitle p{margin:0;opacity:.72}.field{display:grid;grid-gap:6px;gap:6px}.timeGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.formActions{display:flex;gap:10px;flex-wrap:wrap}.logCard,.tableCard{display:grid;grid-gap:14px;gap:14px}.logCard{grid-column:1/-1}.logList,.reservationList{display:grid;grid-gap:10px;gap:10px}.reservationItem{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:var(--border);border-radius:16px;background:#fff}.logList div,.reservationItem div:first-child{display:grid;grid-gap:3px;gap:3px}.logList span,.reservationItem small,.reservationItem span{opacity:.74}.reservationActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.reservationActions button{border:var(--border);border-radius:999px;padding:8px 10px;background:rgba(255,249,125,.6);font-weight:900;cursor:pointer}.reservationActions button:last-child{background:rgba(246,89,4,.12)}.logList div{padding:12px;border:var(--border);border-radius:14px;background:#fff}.emptyState{min-height:260px;display:grid;align-content:center;justify-items:start;grid-gap:8px;gap:8px}.emptyState h2,.emptyState p{margin:0}@media (max-width:980px){.portalShell{grid-template-columns:1fr}.portalSidebar{position:relative;height:auto}.portalNav{grid-template-columns:repeat(2,minmax(0,1fr))}.portalTopbar{align-items:flex-start;flex-direction:column}.roleBox{width:100%}.agendaLayout,.portalGrid{grid-template-columns:1fr}}@media (max-width:560px){.portalMain{padding:14px}.portalNav{grid-template-columns:1fr}.reservationItem{display:grid}.reservationActions{justify-content:flex-start}}.activateShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,var(--mcydj-yellow),#fff 56%,rgba(160,199,254,.55))}.activateCard{width:min(100%,560px);display:grid;grid-gap:16px;gap:16px}.activateCard h1{margin:0;font-size:clamp(32px,6vw,52px);letter-spacing:-.04em}.activateCard .sectionTitle span{font-weight:900;opacity:.72}.passwordInput{display:flex;gap:8px}.passwordInput input{flex:1 1}.passwordInput button,.userActions button{border:1px solid rgba(22,21,14,.16);border-radius:999px;background:#fff;padding:9px 12px;font-weight:900;cursor:pointer}.strengthMeter{height:10px;border-radius:999px;background:rgba(22,21,14,.1);overflow:hidden}.strengthMeter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f65904,#ffd84d,#70b77e);transition:width .2s ease}.fieldHelp{font-weight:800;opacity:.7}.noticeError{border-color:rgba(246,89,4,.36);background:rgba(246,89,4,.14)}.usersAdminGrid{display:grid;grid-template-columns:minmax(300px,420px) 1fr;grid-gap:16px;gap:16px;align-items:start}.twoColumns{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.usersFilters{display:grid;grid-template-columns:2fr repeat(3,1fr);grid-gap:10px;gap:10px}.usersFilters input,.usersFilters select{width:100%;border:1px solid rgba(22,21,14,.16);border-radius:12px;padding:10px 12px;background:#fff;color:var(--mcydj-ink);font:inherit}.usersTable{display:grid;grid-gap:10px;gap:10px}.userRow{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(22,21,14,.12);border-radius:16px;background:#fff}.userRow div:first-child{display:grid;grid-gap:4px;gap:4px}.userRow small,.userRow span{opacity:.74}.userActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.statusPill{border-radius:999px;padding:7px 10px;background:rgba(246,89,4,.12);font-weight:900;opacity:1!important}.statusPill.active{background:rgba(112,183,126,.18)}@media (max-width:1100px){.usersAdminGrid,.usersFilters{grid-template-columns:1fr}.userRow{display:grid}.userActions{justify-content:flex-start}}@media (max-width:620px){.passwordInput,.twoColumns{grid-template-columns:1fr;display:grid}.passwordInput button{border-radius:12px}}.portalMain .weekView{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:visible}.monthView{display:grid;grid-gap:14px;gap:14px}.monthHeading{align-items:center}.monthNav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.monthNav button{border:1px solid rgba(22,21,14,.16);border-radius:999px;padding:8px 12px;background:#fff;font-weight:900;cursor:pointer}.monthGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.monthDay{min-height:116px;display:grid;align-content:start;grid-gap:5px;gap:5px;border:1px solid rgba(22,21,14,.12);border-radius:16px;padding:10px;background:hsla(0,0%,100%,.82);color:var(--mcydj-ink);text-align:left;cursor:pointer}.monthDay.muted{opacity:.45}.monthDay strong{font-size:14px}.monthDay small,.monthDay span{display:block;overflow:hidden;border-left:4px solid #a0c7fe;border-radius:8px;padding:4px 6px;background:#fff;font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.monthDay span.area-fiscal{border-left-color:#f65904}.monthDay span.area-direccion{border-left-color:#16150e}.monthDay span.area-contabilidad{border-left-color:#a0c7fe}.monthDay span.area-nominas{border-left-color:#ffd84d}.monthDay span.area-consultoria{border-left-color:#70b77e}.monthDay span.area-administracion{border-left-color:#9b8afb}@media (max-width:900px){.monthGrid,.portalMain .weekView{grid-template-columns:repeat(7,minmax(180px,1fr));overflow-x:auto}.monthHeading{align-items:flex-start}.monthNav{justify-content:flex-start}}