/* Cheese.Graduation — role-aware studio login v65 */
body.portal-login main{align-items:start!important;padding-top:104px!important;padding-bottom:26px!important}
body.portal-login .auth-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:minmax(280px,36vh) auto!important;
  width:min(1120px,100%)!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:32px!important;
  background:#fffdf8!important;
}
body.portal-login .auth-story{
  position:relative!important;
  min-height:300px!important;
  padding:0!important;
  overflow:hidden!important;
  isolation:isolate;
  background:#0b2b42!important;
}
body.portal-login .auth-story::before,
body.portal-login .auth-story::after{display:none!important}
body.portal-login .role-hero-image{
  position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 34%;display:block!important;
  transform:scale(1.015);transition:opacity .28s ease,transform .65s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}
body.portal-login .role-hero-overlay{
  position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,22,34,.9) 0%,rgba(4,22,34,.68) 48%,rgba(4,22,34,.24) 100%),linear-gradient(0deg,rgba(4,22,34,.38),transparent 55%);
  transition:background .3s ease;
}
body.portal-login .role-hero-topline{
  position:absolute;top:24px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  color:rgba(255,255,255,.72);font-size:8px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;
}
body.portal-login .role-hero-topline span:last-child{color:#e0c378}
body.portal-login .role-hero-copy{position:absolute;left:clamp(26px,5vw,64px);right:clamp(26px,5vw,64px);bottom:clamp(26px,4vw,48px);max-width:780px}
body.portal-login .auth-story .eyebrow{display:block!important;color:#e3c77f!important;font-size:9px!important}
body.portal-login .auth-story h1{
  max-width:none!important;margin:10px 0 10px!important;font-size:clamp(42px,5.4vw,72px)!important;line-height:.92!important;color:#fffaf0!important;
}
body.portal-login .auth-story h1 em{display:inline!important;width:auto!important;margin:0!important;font-size:1em!important;line-height:inherit!important;color:#e3c77f!important}
body.portal-login .auth-story p{max-width:640px!important;margin:0!important;color:rgba(255,255,255,.75)!important;font-size:12px!important;line-height:1.7!important}

body.portal-login .auth-card{
  width:100%!important;max-width:none!important;padding:30px clamp(28px,6vw,72px) 34px!important;background:#fffdf8!important;
  display:grid!important;grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr)!important;grid-template-areas:"head switch" "panel panel" "divider divider" "demo help";gap:14px 34px!important;align-items:end!important;
}
body.portal-login .role-switch-head{grid-area:head;align-self:center}
body.portal-login .role-switch-head>.eyebrow{font-size:8px!important;color:#8b7445!important}
body.portal-login .auth-card h2{margin:8px 0 5px!important;font-size:clamp(30px,3.2vw,43px)!important;line-height:1.02!important}
body.portal-login .role-switch-head>p{margin:0!important;color:#6c7b85!important;font-size:11px!important}
body.portal-login .login-role-switch{grid-area:switch;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-self:center}
body.portal-login .login-role-button{
  min-width:0;min-height:70px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(16,43,63,.11);border-radius:17px;background:#f7f4ed;color:#62727c;text-align:left;transition:.22s ease;
}
body.portal-login .login-role-button:hover{transform:translateY(-1px);border-color:rgba(16,43,63,.24)}
body.portal-login .login-role-button.active{border-color:#b89650;background:#fff9ed;color:#0b2b42;box-shadow:0 9px 25px rgba(9,35,54,.07)}
body.portal-login .role-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#e7ecee;color:#36566b;font-size:12px;font-weight:900}
body.portal-login .login-role-button.active .role-icon{background:#0b2b42;color:#ecd69f}
body.portal-login .login-role-button b{display:block;font-size:11px;line-height:1.25}
body.portal-login .login-role-button small{display:block;margin:3px 0 0!important;font-size:8px!important;line-height:1.35;color:#81909a}

body.portal-login .role-login-panel{grid-area:panel;margin-top:4px;padding:20px;border:1px solid rgba(16,43,63,.09);border-radius:22px;background:#f8f6f1;transition:opacity .18s ease,transform .22s ease,background .25s ease}
body.portal-login .role-login-panel.is-switching{opacity:.3;transform:translateY(3px)}
body.portal-login .role-panel-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
body.portal-login #rolePanelBadge{font-size:8px;font-weight:900;letter-spacing:.14em;color:#9d7c3e}
body.portal-login #rolePanelHint{font-size:9px;color:#81909a}
body.portal-login .auth-card form{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:10px!important;width:100%!important;max-width:none!important;align-items:end!important}
body.portal-login .auth-card label{display:grid!important;gap:7px!important;margin:0!important;color:#516978!important;font-size:9px!important;font-weight:900!important}
body.portal-login .auth-card label>span{display:block}
body.portal-login .auth-card input{height:52px!important;min-height:52px!important;margin:0!important;background:#fff!important}
body.portal-login .auth-card .primary{width:auto!important;min-width:190px!important;height:52px!important;min-height:52px!important;margin:0!important;padding-inline:22px!important;white-space:nowrap!important}
body.portal-login .error{grid-column:1/-1;margin:8px 0 0!important}
body.portal-login .auth-divider{grid-area:divider;width:100%;margin:4px 0 0!important}
body.portal-login .login-demos{grid-area:demo;margin:0!important;max-width:none!important;align-self:start}
body.portal-login .login-demos summary{padding:6px 0!important;font-size:10px!important}
body.portal-login .login-demos a{display:inline-flex!important;margin:7px 7px 0 0!important;padding:9px 13px!important;font-size:9px!important}
body.portal-login .auth-card>small{grid-area:help;max-width:none!important;margin:0!important;align-self:center;text-align:right;font-size:9px!important}

body.portal-login[data-login-role="photographer"] .role-hero-overlay{background:linear-gradient(90deg,rgba(24,17,15,.84) 0%,rgba(24,17,15,.58) 48%,rgba(24,17,15,.18) 100%),linear-gradient(0deg,rgba(24,17,15,.38),transparent 55%)}
body.portal-login[data-login-role="photographer"] .login-role-button.active .role-icon{background:#775c39;color:#fff4dc}
body.portal-login[data-login-role="photographer"] #rolePanelBadge{color:#8b6230}
body.portal-login[data-login-role="photographer"] .role-login-panel{background:#fbf6ed}

@media(max-width:800px){
  body.portal-login main{padding:74px 7px 7px!important}
  body.portal-login .auth-layout{grid-template-rows:250px auto!important;border-radius:23px!important}
  body.portal-login .auth-story{order:0!important;min-height:250px!important}
  body.portal-login .role-hero-topline{top:17px;left:18px;right:18px;font-size:7px}
  body.portal-login .role-hero-copy{left:18px;right:18px;bottom:20px}
  body.portal-login .auth-story .eyebrow{font-size:7px!important}
  body.portal-login .auth-story h1{margin:7px 0 7px!important;font-size:clamp(34px,10.6vw,46px)!important;line-height:.94!important}
  body.portal-login .auth-story p{max-width:94%!important;font-size:9.5px!important;line-height:1.55!important}
  body.portal-login .auth-card{order:1!important;display:block!important;padding:20px 14px calc(22px + env(safe-area-inset-bottom))!important}
  body.portal-login .role-switch-head{text-align:left}
  body.portal-login .role-switch-head>.eyebrow{font-size:7px!important}
  body.portal-login .auth-card h2{font-size:30px!important;margin:7px 0 4px!important}
  body.portal-login .role-switch-head>p{font-size:9.5px!important}
  body.portal-login .login-role-switch{margin-top:14px;gap:7px}
  body.portal-login .login-role-button{min-height:61px;grid-template-columns:32px 1fr;gap:8px;padding:8px;border-radius:14px}
  body.portal-login .role-icon{width:31px;height:31px;border-radius:10px;font-size:10px}
  body.portal-login .login-role-button b{font-size:10px}
  body.portal-login .login-role-button small{font-size:7px!important}
  body.portal-login .role-login-panel{margin-top:11px;padding:14px;border-radius:17px}
  body.portal-login .role-panel-label{margin-bottom:9px}
  body.portal-login .auth-card form{grid-template-columns:1fr!important;gap:10px!important}
  body.portal-login .auth-card label{font-size:8.5px!important}
  body.portal-login .auth-card input{height:51px!important;min-height:51px!important;border-radius:13px!important;font-size:16px!important}
  body.portal-login .auth-card .primary{width:100%!important;min-width:0!important;height:52px!important;margin-top:2px!important;font-size:11px!important}
  body.portal-login .auth-divider{margin:16px 0 10px!important}
  body.portal-login .login-demos{margin:0!important}
  body.portal-login .login-demos summary{min-height:38px!important;font-size:9px!important;padding:0!important}
  body.portal-login .login-demos a{font-size:8px!important;padding:8px 10px!important}
  body.portal-login .auth-card>small{display:block!important;margin-top:12px!important;text-align:left!important;font-size:8.5px!important;line-height:1.5!important}
}

@media(max-width:390px){
  body.portal-login .auth-layout{grid-template-rows:225px auto!important}
  body.portal-login .auth-story{min-height:225px!important}
  body.portal-login .role-hero-topline span:last-child{display:none}
  body.portal-login .auth-story h1{font-size:34px!important}
  body.portal-login .auth-story p{font-size:9px!important}
  body.portal-login .login-role-button{grid-template-columns:1fr;text-align:center;place-items:center;gap:4px;min-height:72px}
  body.portal-login .login-role-button span:last-child{display:block}
  body.portal-login .login-role-button small{margin-top:2px!important}
}

@media(prefers-reduced-motion:reduce){
  body.portal-login .role-hero-image,body.portal-login .role-login-panel,body.portal-login .login-role-button{transition:none!important}
}
.login-demos {
  display: none !important;
}
