/* Isolated auth surfaces — keep measured task presentation outside this scope */
html[data-modus-access="locked"] body > :not(#modusAccessGate):not(script):not(style):not(link) { visibility:hidden !important; }
html[data-modus-access="locked"] { overflow:hidden; }
#modusAccessGate, #modusAccessAccountDialog, #modusAccessAccount, .ma-account-notice {
  --ma-paper:#f7f5ee; --ma-ink:#171914; --ma-green:#407b47;
  color:var(--ma-ink); background:var(--ma-paper); font:16px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;
  box-sizing:border-box; color-scheme:light; letter-spacing:normal; box-shadow:none; text-align:left;
}
:is(#modusAccessGate,#modusAccessAccountDialog) *, #modusAccessAccount { box-sizing:border-box; }
:is(#modusAccessGate,#modusAccessAccountDialog) [hidden] { display:none !important; }
:is(#modusAccessGate,#modusAccessAccountDialog)::backdrop { background:#f7f5ee; }
#modusAccessGate { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:30px; border:0; overflow:auto; overscroll-behavior:contain; }
#modusAccessGate:not([open]), #modusAccessAccountDialog:not([open]) { display:none; }
#modusAccessGate .ma-layout { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1fr); gap:clamp(30px,6vw,96px); width:min(1040px,100%); margin:clamp(8px,6vh,64px) auto; align-items:start; }
#modusAccessGate .ma-brand { padding-top:10px; min-width:0; }
#modusAccessGate .ma-wordmark { color:var(--ma-green); font:normal clamp(34px,4.2vw,49px)/1 Georgia,"Times New Roman",serif; letter-spacing:-.04em; margin:0 0 20px; overflow-wrap:anywhere; }
#modusAccessGate .ma-brand-copy { font:21px/1.45 Georgia,"Times New Roman",serif; max-width:22ch; margin:0; }
#modusAccessGate .ma-cloud { display:block; width:240px; max-width:100%; height:auto; margin:36px auto 0; object-fit:contain; pointer-events:none; }
#modusAccessGate .ma-panel { min-width:0; max-width:580px; padding-bottom:30px; }
:is(#modusAccessGate,#modusAccessAccountDialog) h1 { font:650 clamp(27px,3.1vw,38px)/1.16 "Helvetica Neue",Helvetica,Arial,sans-serif; letter-spacing:-.025em; color:var(--ma-green); margin:0 0 18px; overflow-wrap:anywhere; }
:is(#modusAccessGate,#modusAccessAccountDialog) h2 { font:600 22px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif; margin:26px 0 12px; color:var(--ma-ink); }
:is(#modusAccessGate,#modusAccessAccountDialog) p { margin:0 0 16px; max-width:72ch; overflow-wrap:anywhere; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-lead { font:17px/1.5 Georgia,"Times New Roman",serif; margin-bottom:26px; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-form { display:flex; flex-direction:column; gap:18px; margin:24px 0 16px; min-width:0; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-field { display:flex; flex-direction:column; gap:7px; min-width:0; font-size:15px; font-weight:600; }
:is(#modusAccessGate,#modusAccessAccountDialog) :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { width:100%; min-width:0; min-height:44px; border:1px solid var(--ma-ink); border-radius:6px; padding:10px 12px; background:var(--ma-paper); color:var(--ma-ink); font:400 16px/1.45 "Helvetica Neue",Helvetica,Arial,sans-serif; box-shadow:none; caret-color:var(--ma-ink); }
:is(#modusAccessGate,#modusAccessAccountDialog) textarea { min-height:100px; resize:vertical; }
:is(#modusAccessGate,#modusAccessAccountDialog) input::placeholder { color:var(--ma-ink); opacity:1; }
:is(#modusAccessGate,#modusAccessAccountDialog) input:-webkit-autofill { -webkit-text-fill-color:var(--ma-ink); box-shadow:0 0 0 1000px var(--ma-paper) inset; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-password { display:flex; gap:8px; align-items:stretch; min-width:0; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-password input { flex:1; width:0; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-password button { flex:0 0 auto; margin:0; padding:8px 10px; font-size:14px; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-button, #modusAccessAccount { appearance:none; -webkit-appearance:none; display:inline-block; min-height:44px; border:1px solid var(--ma-ink); border-radius:7px; padding:10px 14px; margin:0 8px 12px 0; color:var(--ma-ink); background:var(--ma-paper); font:500 15px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif; cursor:pointer; white-space:normal; overflow-wrap:anywhere; box-shadow:none; text-align:center; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-primary { color:var(--ma-paper); background:var(--ma-green); }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-form > .ma-button { margin:0; align-self:stretch; }
:is(#modusAccessGate,#modusAccessAccountDialog) :is(button,a,summary):hover:not(:disabled), #modusAccessAccount:hover { text-decoration:underline; text-underline-offset:4px; }
:is(#modusAccessGate,#modusAccessAccountDialog) :is(button,input,select,textarea):disabled { opacity:1; cursor:wait; border-style:dashed; }
:is(#modusAccessGate,#modusAccessAccountDialog) :is(button,input,select,textarea,a,summary):focus-visible, #modusAccessAccount:focus-visible { outline:2px solid var(--ma-green); outline-offset:3px; }
:is(#modusAccessGate,#modusAccessAccountDialog) h1:focus { outline:none; }
:is(#modusAccessGate,#modusAccessAccountDialog) [aria-invalid=true] { outline:1px dashed var(--ma-ink); outline-offset:2px; }
:is(#modusAccessGate,#modusAccessAccountDialog) fieldset { min-width:0; padding:14px 16px; border:1px solid var(--ma-ink); border-radius:2px; margin:0; }
:is(#modusAccessGate,#modusAccessAccountDialog) legend { font-size:15px; font-weight:600; padding:0 5px; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-check { display:flex; align-items:flex-start; gap:12px; font-size:16px; font-weight:400; line-height:1.5; padding:8px 0; min-height:44px; cursor:pointer; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-check input { appearance:auto; flex:0 0 20px; width:20px; height:20px; margin:3px 0 0; accent-color:var(--ma-green); }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-hint { font:400 14px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif; margin:0; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-feedback { font-size:15px; margin:0; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-feedback:not(:empty) { border:1px solid var(--ma-ink); padding:12px; border-radius:2px; margin-bottom:16px; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-feedback:empty { display:none; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-progress { display:block; margin:12px 0; font-size:14px; }
:is(#modusAccessGate,#modusAccessAccountDialog) a { color:var(--ma-green); text-underline-offset:4px; overflow-wrap:anywhere; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-contacts { display:flex; flex-wrap:wrap; gap:4px 18px; margin:8px 0 26px; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-contacts a { display:inline-flex; align-items:center; min-height:44px; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-summary { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:8px 18px; margin:22px 0; font-size:14px; }
:is(#modusAccessGate,#modusAccessAccountDialog) dt { font-weight:600; }
:is(#modusAccessGate,#modusAccessAccountDialog) dd { margin:0; overflow-wrap:anywhere; }
:is(#modusAccessGate,#modusAccessAccountDialog) .ma-recovery { margin:18px 0; }
:is(#modusAccessGate,#modusAccessAccountDialog) summary { cursor:pointer; min-height:44px; padding:10px 0; }
#modusAccessAccountDialog { width:min(540px,calc(100% - 28px)); max-height:calc(100% - 28px); margin:auto; padding:28px; border:1px solid var(--ma-ink); border-radius:10px; overflow:auto; overscroll-behavior:contain; }
#modusAccessAccount { max-width:300px; margin:0; font-size:14px; min-width:0; }
#modusAccessAccount.ma-account-floating { position:fixed; right:14px; top:14px; z-index:45; max-width:calc(100vw - 28px); }
.ma-account-notice { position:fixed; bottom:80px; right:14px; z-index:100; max-width:min(480px,calc(100vw - 28px)); margin:0; }
.ma-account-notice:not(:empty) { border:1px solid var(--ma-ink); padding:14px; border-radius:7px; }
:is(#modusAccessGate,#modusAccessAccountDialog) ::selection { color:var(--ma-paper); background:var(--ma-green); }
:is(#modusAccessGate,#modusAccessAccountDialog) { scrollbar-color:#407b47 #f7f5ee; scrollbar-width:thin; }
html[data-modus-access-large=true] :is(#modusAccessGate,#modusAccessAccountDialog) { font-size:19px; }
html[data-modus-access-large=true] :is(#modusAccessGate,#modusAccessAccountDialog) :is(input,textarea,select,.ma-button,.ma-check) { font-size:19px; }
@media (max-width:720px) {
  #modusAccessGate { padding:22px 18px max(22px,env(safe-area-inset-bottom)); }
  #modusAccessGate .ma-layout { display:block; margin:0 auto; max-width:540px; }
  #modusAccessGate .ma-brand { display:block; padding:0; margin-bottom:30px; }
  #modusAccessGate .ma-wordmark { font-size:39px; margin-bottom:8px; }
  #modusAccessGate .ma-brand-copy { font-size:17px; max-width:none; }
  #modusAccessGate .ma-cloud { display:none; }
  #modusAccessGate .ma-panel { max-width:none; }
  #modusAccessAccount { max-width:100%; }
}
@media (max-width:380px) {
  #modusAccessGate { padding:20px 14px; }
  #modusAccessGate .ma-wordmark { font-size:39px; }
  :is(#modusAccessGate,#modusAccessAccountDialog) .ma-summary { display:block; }
  :is(#modusAccessGate,#modusAccessAccountDialog) dd { margin:2px 0 12px; }
  #modusAccessAccountDialog { padding:20px 16px; }
}

#modusAccessGate .ma-request-id { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
#modusAccessGate .ma-request-id + .ma-hint { margin-bottom:12px; }
