/* ASSR Platform shared semantic UI components.
 * Status and utility symbols use inline SVG so geometry is independent of
 * browser/font baselines. This prevents warning/check/minus/cross drift. */
.assr-semantic-icon{--assr-state-bg:#98a2b3;display:inline-flex;flex:0 0 28px;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:var(--assr-state-bg);vertical-align:middle;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);color:#fff;line-height:1}
.assr-semantic-icon.tone-green{--assr-state-bg:#249b69}.assr-semantic-icon.tone-purple{--assr-state-bg:#7655b5}.assr-semantic-icon.tone-red{--assr-state-bg:#d24b55}.assr-semantic-icon.tone-grey{--assr-state-bg:#98a2b3}.assr-semantic-icon.tone-amber{--assr-state-bg:#d59625}
.assr-semantic-svg{display:block;width:58%;height:58%;overflow:visible;color:#fff;flex:0 0 58%}
.assr-semantic-icon.assr-semantic-icon-sm{width:18px;height:18px;flex-basis:18px}.assr-semantic-icon.assr-semantic-icon-sm .assr-semantic-svg{width:62%;height:62%;flex-basis:62%}
.assr-semantic-with-text{display:inline-flex;align-items:center;gap:7px}.assr-semantic-with-text>.assr-semantic-icon{width:18px;height:18px;flex-basis:18px}
.assr-cross-icon{display:inline-block;position:relative;width:16px;height:16px;color:currentColor;vertical-align:middle}.assr-cross-icon>span{position:absolute;inset:0}.assr-cross-icon>span:before,.assr-cross-icon>span:after{content:"";position:absolute;left:43%;top:10%;width:14%;height:80%;min-width:2px;border-radius:999px;background:currentColor;transform-origin:center}.assr-cross-icon>span:before{transform:rotate(45deg)}.assr-cross-icon>span:after{transform:rotate(-45deg)}
.assr-window-cross{width:16px;height:16px;display:block;color:currentColor}
.assr-ui-icon{display:inline-block;width:16px;height:16px;flex:0 0 16px;vertical-align:middle;color:currentColor;overflow:visible}.assr-ui-icon path,.assr-ui-icon circle,.assr-ui-icon rect{vector-effect:non-scaling-stroke}
.assr-compact-action .assr-ui-icon,.assr-sort-button .assr-ui-icon{width:14px;height:14px;flex-basis:14px}

/* Shared design tokens for ASSR-owned controls. */
.assr-wrap,.assr-portal-shell{--assr-ui-control-radius:6px;--assr-ui-panel-radius:8px;--assr-ui-card-radius:10px;--assr-ui-pill-radius:999px;--assr-ui-muted:#667085}


/* v0.1.0.0 shared layout/responsive primitives. */
.assr-detail-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px;border-top:1px solid #e5e7eb;background:#fff}
.assr-detail-footer .button{margin:0}
.assr-peer-grid{display:grid;gap:16px;align-items:stretch}
.assr-peer-grid>*{min-width:0;height:100%}
.assr-settings-card{display:flex;flex-direction:column;min-width:0;height:100%}
.assr-settings-card__action{margin-top:auto}
.assr-card-section{padding-inline:16px}
@media(max-width:782px){
  .assr-touch-target,.assr-detail-footer .button{min-height:44px!important}
  .assr-detail-footer{padding:14px;flex-wrap:wrap}
  .assr-detail-footer .button{flex:1 1 180px;text-align:center}
}

/* ASSR Build 82 — reusable sensitive-input control. */
.assr-sensitive-input-wrap{position:relative!important;display:block!important;min-width:0!important;width:100%!important}
.assr-sensitive-input-wrap>.assr-sensitive-input{padding-right:46px!important;width:100%!important;box-sizing:border-box!important}
.assr-sensitive-toggle{position:absolute!important;top:50%!important;right:6px!important;transform:translateY(-50%)!important;display:inline-grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;margin:0!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:currentColor!important;opacity:.72!important;cursor:pointer!important;box-shadow:none!important;line-height:1!important;z-index:3!important}
.assr-sensitive-toggle svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.assr-sensitive-toggle:hover,.assr-sensitive-toggle:focus-visible{opacity:1!important;background:color-mix(in srgb,currentColor 7%,transparent)!important;border-color:color-mix(in srgb,currentColor 18%,transparent)!important;outline:none!important;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 10%,transparent)!important}
@media(max-width:920px){.assr-sensitive-toggle{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;right:4px!important}.assr-sensitive-input-wrap>.assr-sensitive-input{padding-right:52px!important}}


/* ASSR v0.1.0.1 Build 101f — canonical shared authentication panel + page-size control. */
:where(.assr-wrap,.assr-portal-shell,.assr-staff-login-page){
  --assr-accent:var(--assr-primary,#6543a4);
  --assr-accent-2:var(--assr-accent-secondary,var(--assr-auth-accent,#22c3d6));
  --assr-accent-soft:color-mix(in srgb,var(--assr-accent) 10%,transparent);
  --assr-surface:#fff;--assr-surface-soft:#f8fafc;--assr-text-primary:#172033;--assr-text-muted:#667085;
  --assr-border:#d8e0e8;--assr-shadow:0 16px 40px rgba(15,23,42,.14);
}
.assr-shared-auth-card{
  --assr-auth-card-width:420px;--assr-auth-card-radius:28px;--assr-auth-card-pad:30px;
  box-sizing:border-box!important;width:min(100%,var(--assr-auth-card-width))!important;max-width:var(--assr-auth-card-width)!important;
  padding:var(--assr-auth-card-pad)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:var(--assr-auth-card-radius)!important;
  background:linear-gradient(145deg,rgba(43,44,50,.97),rgba(18,19,24,.98))!important;
  box-shadow:0 22px 64px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06)!important;color:#f8fafc!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.assr-shared-auth-card :is(h1,h2){color:#fff!important}
.assr-shared-auth-card :is(p,label,.assr-auth-hint,.assr-staff-login-foot){color:#c8cdd5!important}
.assr-shared-auth-card :is(.assr-auth-text-link,.assr-staff-login-help){color:var(--assr-auth-accent,var(--assr-accent-2))!important}
.assr-shared-auth-card :is(input[type=email],input[type=text],input[type=password]){
  box-sizing:border-box!important;width:100%!important;min-height:56px!important;height:56px!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:13px!important;
  background:rgba(255,255,255,.065)!important;color:#fff!important;font-size:17px!important;line-height:1.25!important;box-shadow:none!important;
}
.assr-shared-auth-card :is(input[type=email],input[name="log"],input[name="user_login"]){
  padding-left:50px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px center!important;background-size:21px 21px!important;
}
.assr-shared-auth-card input[type=password]{padding-left:50px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px center!important;background-size:21px 21px!important}
.assr-shared-auth-card :is(input[type=email],input[type=text],input[type=password]):focus{border-color:var(--assr-auth-accent,var(--assr-accent-2))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--assr-auth-accent,var(--assr-accent-2)) 20%,transparent)!important;outline:0!important}
.assr-shared-auth-card :is(.assr-portal-primary,.assr-staff-login-submit){
  min-height:56px!important;height:56px!important;border:0!important;border-radius:13px!important;color:#fff!important;font-size:17px!important;font-weight:750!important;
  background:linear-gradient(105deg,var(--assr-auth-primary,var(--assr-accent)),var(--assr-auth-accent,var(--assr-accent-2)))!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--assr-auth-primary,var(--assr-accent)) 28%,transparent)!important;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease!important;
}
.assr-shared-auth-card :is(.assr-portal-primary,.assr-staff-login-submit):not(:disabled):hover{filter:brightness(1.06)!important;transform:translateY(-1px)!important}
.assr-shared-auth-card :is(.assr-portal-primary,.assr-staff-login-submit):focus-visible{outline:0!important;box-shadow:0 0 0 3px rgba(255,255,255,.18),0 0 0 6px color-mix(in srgb,var(--assr-auth-accent,var(--assr-accent-2)) 35%,transparent)!important}
.assr-shared-auth-card .assr-sensitive-toggle{color:#d8dee8!important}
.assr-shared-auth-card .assr-sensitive-toggle:hover,.assr-shared-auth-card .assr-sensitive-toggle:focus-visible{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important}
.assr-shared-auth-card .assr-portal-alert,.assr-shared-auth-card .assr-staff-login-error{border-radius:12px!important}
.assr-shared-auth-card .assr-auth-confirmation{color:#f8fafc!important}
.assr-shared-auth-card .assr-auth-confirmation p{color:#c8cdd5!important}
.assr-shared-auth-card .assr-auth-email-chip,.assr-shared-auth-card .assr-staff-login-identifier-chip{background:rgba(255,255,255,.065)!important;border-color:rgba(255,255,255,.18)!important;color:#eef2f7!important}
.assr-shared-auth-card .assr-auth-email-chip button,.assr-shared-auth-card .assr-staff-login-identifier-chip button{color:var(--assr-auth-accent,var(--assr-accent-2))!important}
.assr-auth-screen[style*="--assr-auth-panel:light"] .assr-shared-auth-card,.assr-staff-login-page[style*="--assr-auth-panel:light"] .assr-shared-auth-card{
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,248,251,.98))!important;border-color:rgba(15,23,42,.12)!important;box-shadow:0 22px 60px rgba(15,23,42,.20)!important;color:#172033!important;
}
.assr-auth-screen[style*="--assr-auth-panel:light"] .assr-shared-auth-card :is(h1,h2),.assr-staff-login-page[style*="--assr-auth-panel:light"] .assr-shared-auth-card :is(h1,h2){color:#172033!important}
.assr-auth-screen[style*="--assr-auth-panel:light"] .assr-shared-auth-card :is(p,label,.assr-auth-hint,.assr-staff-login-foot),.assr-staff-login-page[style*="--assr-auth-panel:light"] .assr-shared-auth-card :is(p,label,.assr-auth-hint,.assr-staff-login-foot){color:#667085!important}
.assr-auth-screen[style*="--assr-auth-panel:light"] .assr-shared-auth-card :is(input[type=email],input[type=text],input[type=password]),.assr-staff-login-page[style*="--assr-auth-panel:light"] .assr-shared-auth-card :is(input[type=email],input[type=text],input[type=password]){background:#fff!important;border-color:#cbd5e1!important;color:#172033!important}
@media(max-width:900px){.assr-shared-auth-card{--assr-auth-card-width:520px;--assr-auth-card-radius:22px;--assr-auth-card-pad:24px;width:min(100%,520px)!important}.assr-shared-auth-card :is(input[type=email],input[type=text],input[type=password],.assr-portal-primary,.assr-staff-login-submit){min-height:52px!important;height:52px!important;font-size:16px!important}}
@media(max-width:560px){.assr-shared-auth-card{--assr-auth-card-radius:18px;--assr-auth-card-pad:20px;width:100%!important}.assr-shared-auth-card :is(input[type=email],input[type=text],input[type=password],.assr-portal-primary,.assr-staff-login-submit){min-height:48px!important;height:48px!important}}
@media(prefers-reduced-motion:reduce){.assr-shared-auth-card *, .assr-page-size-control *{transition:none!important;scroll-behavior:auto!important}}



/* Build Z — true mobile/tablet authentication-card centering. */
@media(max-width:900px){
  .assr-auth-screen.assr-auth-shell-v101g,.assr-staff-login-page.assr-auth-shell-v101g{min-height:100dvh!important;height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;box-sizing:border-box!important}
  .assr-auth-screen.assr-auth-shell-v101g .assr-auth-screen-panel{min-height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;box-sizing:border-box!important}
  .assr-auth-screen.assr-auth-shell-v101g .assr-shared-auth-card.assr-portal-shell-auth,.assr-staff-login-page.assr-auth-shell-v101g .assr-shared-auth-card.assr-staff-login-card{min-height:0!important;height:auto!important;margin:auto!important;align-self:center!important;justify-self:center!important}
  .assr-staff-login-page.assr-auth-shell-v101g{display:grid!important;place-items:center!important;padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important}
  .assr-staff-login-page.assr-auth-shell-v101g .assr-staff-login-card{padding:24px!important}
}
@media(max-width:900px) and (max-height:640px){
  .assr-auth-screen.assr-auth-shell-v101g .assr-auth-screen-panel,.assr-staff-login-page.assr-auth-shell-v101g{align-items:flex-start!important;place-items:start center!important}
  .assr-auth-screen.assr-auth-shell-v101g .assr-shared-auth-card.assr-portal-shell-auth,.assr-staff-login-page.assr-auth-shell-v101g .assr-shared-auth-card.assr-staff-login-card{margin-top:0!important;margin-bottom:0!important}
}
