/* SININBE EDU · Advanced Security v134 */
:root{
  --as-radius:20px;
  --as-border:color-mix(in srgb,var(--text-primary,#111827) 12%,transparent);
  --as-soft:color-mix(in srgb,var(--primary,#6d5dfc) 10%,transparent);
  --as-shadow:0 20px 60px rgba(2,8,23,.18);
}
.as-quick-login{width:100%;justify-content:center;gap:.6rem;margin-top:.45rem;min-height:44px}
.as-quick-login i{font-size:1.05rem}.as-quick-login.is-loading{opacity:.7;pointer-events:none}
.as-head,.as-admin-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.as-head h2,.as-admin-head h3{margin:0 0 6px;color:var(--text-primary);font-size:1.08rem;font-weight:900}
.as-head p,.as-admin-head p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.65}
.as-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:0 0 48px;background:var(--as-soft);color:var(--primary,#6d5dfc);font-size:1.18rem}
.as-card{border:1px solid var(--as-border);border-radius:var(--as-radius);padding:17px;margin:12px 0;background:color-mix(in srgb,var(--card-bg,#fff) 96%,transparent);box-shadow:0 8px 26px rgba(2,8,23,.05)}
.as-card-title{display:flex;align-items:flex-start;gap:12px}.as-card-title>i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--as-soft);color:var(--primary,#6d5dfc);flex:0 0 38px}
.as-card-title strong{display:block;color:var(--text-primary);font-weight:900;margin-bottom:4px}.as-card-title p{margin:0;color:var(--text-muted);font-size:.83rem;line-height:1.55}
.as-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.as-actions .btn{min-height:40px;border-radius:12px}
.as-passkeys{display:grid;gap:8px;margin-top:12px}.as-passkey-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:13px;background:color-mix(in srgb,var(--text-primary,#111827) 4%,transparent)}
.as-passkey-row>div{display:flex;align-items:center;gap:10px;min-width:0}.as-passkey-row>div>i{color:var(--primary,#6d5dfc)}.as-passkey-row span{min-width:0;display:flex;flex-direction:column}.as-passkey-row strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.as-passkey-row small{font-size:.72rem;color:var(--text-muted);direction:ltr;text-align:start}
.as-passkey-row button{border:0;border-radius:9px;padding:7px 10px;cursor:pointer;background:rgba(220,38,38,.09);color:#dc2626;font-weight:800;font-size:.76rem}.as-passkey-row button:hover{background:rgba(220,38,38,.15)}
.as-empty{padding:11px 12px;border-radius:12px;color:var(--text-muted);background:color-mix(in srgb,var(--text-primary,#111827) 3%,transparent);font-size:.8rem}.as-status{min-height:20px;margin-top:10px;font-size:.8rem;font-weight:800;color:#059669}.as-status.is-error{color:#dc2626}
#admin-tab-advanced{order:999}.se-admin-tabs #admin-tab-advanced i{margin-inline-end:5px}
#admin-pane-advanced{padding-top:10px}.as-admin-head{display:block}.as-admin-head h3{font-size:1rem}
html.as-gated,html.as-gated body{overflow:hidden!important}.as-gate{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(3,7,18,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.as-gate.show{display:flex}
.as-gate-card{width:min(92vw,480px);padding:30px 26px;border-radius:26px;background:var(--card-bg,#fff);color:var(--text-primary,#111827);box-shadow:0 30px 100px rgba(0,0,0,.34);border:1px solid var(--as-border);text-align:center;animation:asGateIn .24s ease-out}
.as-gate-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:23px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary,#6d5dfc),color-mix(in srgb,var(--primary,#6d5dfc) 55%,#22c55e));color:#fff;font-size:1.65rem;box-shadow:0 16px 36px color-mix(in srgb,var(--primary,#6d5dfc) 28%,transparent)}
.as-gate-card h2{margin:0 0 10px;font-size:1.25rem;font-weight:950}.as-gate-card>p{margin:0 auto;color:var(--text-muted);line-height:1.75;font-size:.9rem;max-width:390px}.as-gate-note{margin:15px 0 0;padding:11px 12px;border-radius:13px;background:color-mix(in srgb,#f59e0b 10%,transparent);color:color-mix(in srgb,#b45309 88%,var(--text-primary));font-size:.79rem;line-height:1.55;min-height:0}.as-gate-note:empty{display:none}
.as-gate-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:18px}.as-gate-actions .btn{min-height:44px;border-radius:13px;justify-content:center;gap:7px}.as-gate-btn{min-width:190px}.as-gate-logout{min-width:120px}
@keyframes asGateIn{from{transform:translateY(12px) scale(.985);opacity:0}to{transform:none;opacity:1}}
@media(max-width:640px){.as-box{padding:20px 16px!important}.as-card{padding:14px}.as-actions{display:grid;grid-template-columns:1fr}.as-actions .btn{width:100%;justify-content:center}.as-gate-card{padding:25px 18px;border-radius:22px}.as-gate-actions{display:grid;grid-template-columns:1fr}.as-gate-actions .btn{width:100%}.as-passkey-row{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.as-gate-card{animation:none!important}}


/* Native Advanced Settings inside "My Learning Board" (teacher/student). */
.as-gradebook-security{min-width:0;min-height:0;overflow:auto;padding:clamp(14px,2.2vw,26px);background:var(--gb-workspace,var(--surface,#fff));}
.as-gradebook-security-inner{width:min(920px,100%);margin:0 auto;display:grid;gap:14px;}
.as-gradebook-security-head{display:flex;align-items:flex-start;gap:12px;padding:2px 2px 8px;}
.as-gradebook-security-head h3{margin:0 0 5px;color:var(--gb-text,var(--text-primary));font-size:1rem;font-weight:900;}
.as-gradebook-security-head p{margin:0;color:var(--gb-muted,var(--text-secondary));font-size:.76rem;line-height:1.65;}
.as-gradebook-security-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:rgba(33,212,180,.12);color:var(--primary,#21d4b4);border:1px solid rgba(33,212,180,.25);}
.as-gradebook-security-reader{margin-top:18px;padding:18px;border:1px solid var(--gb-line,rgba(127,127,127,.2));border-radius:20px;background:var(--gb-card-surface,var(--surface,#fff));overflow:visible;}
.as-gradebook-security-reader .as-gradebook-security-inner{width:100%;}
@media (max-width:640px){.as-gradebook-security{padding:12px}.as-gradebook-security-reader{margin-top:14px;padding:12px;border-radius:16px}}

/* 4.0.39.19.133 — explicit theme surfaces. Never mix light cards into dark mode. */
#app[data-theme="dark"] .as-card,
#app[data-theme="dark"] .as-empty,
#app[data-theme="dark"] .as-passkey-row,
#app[data-theme="dark"] .as-gradebook-security,
#app[data-theme="dark"] .as-gradebook-security-reader,
#app[data-theme="dark"] .as-gate-card{
  background:#091629!important;color:#eef6ff!important;border-color:#29405e!important;
}
#app[data-theme="dark"] .as-card-title strong,
#app[data-theme="dark"] .as-head h2,
#app[data-theme="dark"] .as-admin-head h3,
#app[data-theme="dark"] .as-gradebook-security-head h3,
#app[data-theme="dark"] .as-passkey-row strong{color:#f4f8ff!important}
#app[data-theme="dark"] .as-card-title p,
#app[data-theme="dark"] .as-head p,
#app[data-theme="dark"] .as-admin-head p,
#app[data-theme="dark"] .as-gradebook-security-head p,
#app[data-theme="dark"] .as-empty,
#app[data-theme="dark"] .as-passkey-row small{color:#aebfd4!important}
#app[data-theme="dark"] .as-icon,
#app[data-theme="dark"] .as-card-title>i,
#app[data-theme="dark"] .as-gradebook-security-icon{background:#102c38!important;border-color:#235b62!important;color:#5eead4!important}
#app[data-theme="light"] .as-card,
#app[data-theme="light"] .as-empty,
#app[data-theme="light"] .as-passkey-row,
#app[data-theme="light"] .as-gradebook-security,
#app[data-theme="light"] .as-gradebook-security-reader,
#app[data-theme="light"] .as-gate-card{
  background:#ffffff!important;color:#111827!important;border-color:#dce5ef!important;
}
#app[data-theme="light"] .as-card-title strong,
#app[data-theme="light"] .as-head h2,
#app[data-theme="light"] .as-admin-head h3,
#app[data-theme="light"] .as-gradebook-security-head h3,
#app[data-theme="light"] .as-passkey-row strong{color:#111827!important}
#app[data-theme="light"] .as-card-title p,
#app[data-theme="light"] .as-head p,
#app[data-theme="light"] .as-admin-head p,
#app[data-theme="light"] .as-gradebook-security-head p,
#app[data-theme="light"] .as-empty,
#app[data-theme="light"] .as-passkey-row small{color:#667085!important}
html[data-theme="dark"] .as-gate-card,body[data-theme="dark"] .as-gate-card{background:#091629!important;color:#eef6ff!important;border-color:#29405e!important}
html[data-theme="dark"] .as-gate-card h2,body[data-theme="dark"] .as-gate-card h2{color:#f4f8ff!important}
html[data-theme="dark"] .as-gate-card>p,body[data-theme="dark"] .as-gate-card>p{color:#aebfd4!important}
html[data-theme="light"] .as-gate-card,body[data-theme="light"] .as-gate-card{background:#fff!important;color:#111827!important;border-color:#dce5ef!important}
.as-deep-highlight{animation:asDeepPulse 2.4s ease-out!important;outline:2px solid color-mix(in srgb,var(--primary,#21d4b4) 72%,transparent)!important;outline-offset:3px!important}
@keyframes asDeepPulse{0%,35%{box-shadow:0 0 0 8px color-mix(in srgb,var(--primary,#21d4b4) 18%,transparent)}100%{box-shadow:none}}


/* 4.0.39.19.134 — mobile-safe Advanced Settings scrolling.
   Only the real content scroller owns vertical touch gestures. */
#se-gradebook-modal [data-gradebook-panel="advanced"].as-gradebook-security{
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  overscroll-behavior-y:contain!important;
  scrollbar-gutter:stable!important;
}
#se-gradebook-modal #se-gradebook-reader{
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  overscroll-behavior-y:contain!important;
}
#se-gradebook-modal .as-gradebook-security-reader{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  touch-action:auto!important;
}
#se-gradebook-modal [data-gradebook-panel="advanced"] .as-gradebook-security-inner,
#se-gradebook-modal .as-gradebook-security-reader .as-gradebook-security-inner{
  min-height:min-content!important;
  padding-bottom:max(20px,env(safe-area-inset-bottom))!important;
}
@media(max-width:640px){
  #se-gradebook-modal [data-gradebook-panel="advanced"].as-gradebook-security{
    padding:12px 12px max(24px,calc(env(safe-area-inset-bottom) + 12px))!important;
  }
  #se-gradebook-modal #se-gradebook-reader{
    padding-bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px))!important;
  }
}

/* 4.0.39.19.134 — on touch/mobile keep exactly one vertical scroller: gradebook content. */
@media (max-width:900px), (pointer:coarse){
  #se-gradebook-modal .se-gradebook-content{
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
  }
  #se-gradebook-modal #se-gradebook-teacher{
    height:auto!important;
    min-height:100%!important;
    overflow:visible!important;
  }
  #se-gradebook-modal [data-gradebook-panel="advanced"].as-gradebook-security{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    touch-action:auto!important;
    overscroll-behavior:auto!important;
  }
  #se-gradebook-modal #se-gradebook-reader{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    touch-action:auto!important;
    overscroll-behavior:auto!important;
  }
  #se-gradebook-modal .as-gradebook-security,
  #se-gradebook-modal .as-gradebook-security *{
    -webkit-user-drag:none;
  }
  #se-gradebook-modal .as-card,
  #se-gradebook-modal .as-passkey-row{
    touch-action:pan-y!important;
  }
  #se-gradebook-modal .as-btn,
  #se-gradebook-modal [data-as-enable-push],
  #se-gradebook-modal [data-as-test-push],
  #se-gradebook-modal [data-as-add-passkey],
  #se-gradebook-modal [data-passkey-delete],
  #se-gradebook-modal [data-as-password-reauth]{
    touch-action:manipulation!important;
  }
}

/* Integrated password management card — same Advanced Settings surface as notifications/passkeys. */
.as-password-form{display:grid;gap:12px;margin-top:16px}
.as-password-field{display:grid;gap:6px;min-width:0;color:var(--text-primary,#111827);font-size:.78rem;font-weight:850}
.as-password-input{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;overflow:hidden;border:1px solid var(--as-border);border-radius:13px;background:color-mix(in srgb,var(--card-bg,#fff) 96%,transparent);transition:border-color .18s ease,box-shadow .18s ease}
.as-password-input:focus-within{border-color:color-mix(in srgb,var(--primary,#6d5dfc) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#6d5dfc) 13%,transparent)}
.as-password-input input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:0!important;outline:0!important;background:transparent!important;color:var(--text-primary,#111827)!important;padding:9px 12px!important;font:700 .88rem/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;box-shadow:none!important}
.as-password-input button{width:42px;min-height:42px;border:0;border-inline-start:1px solid var(--as-border);background:transparent;color:var(--text-muted,#667085);cursor:pointer;display:grid;place-items:center}
.as-password-input button:hover,.as-password-input button:focus-visible{background:var(--as-soft);color:var(--primary,#6d5dfc);outline:0}
.as-password-reauth-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:-4px;color:var(--text-muted,#667085);font-size:.72rem;line-height:1.45}
.as-password-reauth{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid var(--as-border);border-radius:10px;background:var(--as-soft);color:var(--primary,#6d5dfc);font:inherit;font-weight:850;cursor:pointer}
.as-password-reauth:hover,.as-password-reauth:focus-visible{outline:0;border-color:color-mix(in srgb,var(--primary,#6d5dfc) 45%,transparent);background:color-mix(in srgb,var(--primary,#6d5dfc) 15%,transparent)}
.as-password-reauth[disabled]{opacity:.65;cursor:wait}
#app[data-theme="dark"] .as-password-reauth-row{color:#aebfd4!important}
#app[data-theme="dark"] .as-password-reauth{border-color:#29405e!important;color:#5eead4!important;background:#102c38!important}
@media(max-width:520px){.as-password-reauth-row{align-items:stretch}.as-password-reauth{width:100%}}
.as-password-hint{margin:0;color:var(--text-muted,#667085);font-size:.75rem;line-height:1.6}
.as-password-status{min-height:20px;font-size:.78rem;font-weight:850;color:#059669}.as-password-status.is-error{color:#dc2626}.as-password-status.is-success{color:#059669}
.as-password-actions{margin-top:0}.as-password-actions .btn{gap:8px}
#app[data-theme="dark"] .as-password-field{color:#eef6ff!important}
#app[data-theme="dark"] .as-password-input{background:#0b1b31!important;border-color:#29405e!important}
#app[data-theme="dark"] .as-password-input input{color:#f4f8ff!important}
#app[data-theme="dark"] .as-password-input button{border-color:#29405e!important;color:#aebfd4!important}
#app[data-theme="dark"] .as-password-hint{color:#aebfd4!important}
#app[data-theme="light"] .as-password-input{background:#fff!important;border-color:#dce5ef!important}
