/* AcadMates 1.5.0 activation polish – presentation only; IDs and auth logic remain unchanged. */
/* Responsive dashboard rules must not override the signed-out hidden state. */
body.web-system #app-shell.app-shell[hidden],
body .activation-screen.auth-v1497[hidden] {display:none!important;}
body .activation-screen.auth-v1497 {
  --auth-navy:#17223d; --auth-teal:#3d8780; --auth-line:#d9e1e8;
  position:relative; display:grid!important; grid-template-columns:minmax(300px,44%) minmax(0,1fr)!important;
  align-items:stretch!important; place-items:stretch!important; min-width:0; min-height:calc(100dvh - var(--desktop-titlebar-height,0px));
  padding:0!important; gap:0!important; overflow-x:hidden!important; overflow-y:auto!important;
  background:#fff!important; color:#17223d; overscroll-behavior:contain;
}
body .activation-screen.auth-v1497::before,body .activation-screen.auth-v1497::after,
body .activation-screen.auth-v1497 .activation-background-mark {display:none!important;}
.auth-v1497 .auth-v1497-intro {
  box-sizing:border-box; display:flex; flex-direction:column; position:relative; isolation:isolate;
  min-height:100%; padding:clamp(26px,3.7vw,54px); background:#17223d; color:#fff; overflow:hidden;
}
.auth-v1497 .auth-v1497-intro::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse at 94% 50%,rgba(78,148,143,.2),transparent 54%),
             linear-gradient(145deg,rgba(255,255,255,.018),transparent 54%);
}
.auth-v1497 .auth-v1497-brand {display:flex;align-items:center;gap:14px;letter-spacing:.035em;}
.auth-v1497 .auth-v1497-brand img {width:52px;height:52px;object-fit:contain;}
.auth-v1497 .auth-v1497-brand span {display:grid;gap:4px;}
.auth-v1497 .auth-v1497-brand strong {font:800 15px/1.1 system-ui, sans-serif;letter-spacing:.05em;color:#fff;}
.auth-v1497 .auth-v1497-brand small {font:700 10px/1 system-ui, sans-serif;letter-spacing:.17em;color:#acd5ce;}
.auth-v1497 .auth-v1497-hero {margin:auto 0;max-width:560px;padding:46px 0;}
.auth-v1497 .auth-v1497-eyebrow {font-size:11px;letter-spacing:.2em;color:#91d1c5;font-weight:750;}
.auth-v1497 .auth-v1497-hero h2 {font-size:clamp(37px,4vw,64px);line-height:1.11;letter-spacing:-.055em;margin:18px 0 20px;color:#fff;font-weight:800;}
.auth-v1497 .auth-v1497-hero h2 em {font-style:normal;color:#91d1c5;}
.auth-v1497 .auth-v1497-hero p {font-size:clamp(14px,1.25vw,18px);line-height:1.7;color:#c6d1df;max-width:490px;margin:0;}
.auth-v1497 .auth-v1497-highlights {display:flex;flex-wrap:wrap;gap:9px;margin-top:28px;}
.auth-v1497 .auth-v1497-highlights span {padding:8px 11px;border:1px solid #5c7085;border-radius:6px;color:#e9f4f5;font-size:11px;letter-spacing:.02em;}
.auth-v1497 .auth-v1497-footer {display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:#b4c1d2;font-size:12px;}
.auth-v1497 .auth-v1497-mark {font-size:16px;color:#80cdc0;}
.auth-v1497 .auth-v1497-footer a {color:#c9f4ed;text-decoration:underline;text-underline-offset:3px;}
.auth-v1497 .auth-v1497-footer a:first-of-type {margin-left:auto;}
body .auth-v1497 .activation-card {
  box-sizing:border-box; position:relative; z-index:2; display:block; align-self:center; justify-self:center;
  width:min(560px,calc(100% - 72px))!important;max-width:560px!important;max-height:none!important;
  min-height:0;margin:0!important;padding:42px 0!important;overflow:visible!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
body .auth-v1497 .activation-logo {display:none!important;}
body .auth-v1497 .activation-heading {text-align:left!important;}
body .auth-v1497 .activation-mode-label {
  display:inline-flex;align-items:center;min-height:0;padding:0;margin:0 0 13px;border-radius:0;
  background:transparent;color:#3e837b;font-size:10px;font-weight:800;letter-spacing:.12em;
}
body .auth-v1497 .activation-heading h1 {font-size:clamp(27px,2.5vw,36px)!important;line-height:1.2!important;letter-spacing:-.038em;color:#18233f;}
body .auth-v1497 .activation-heading p {font-size:14px!important;line-height:1.65!important;color:#657185;margin:8px 0 23px!important;}
body .auth-v1497 .acadmates-privacy-info {background:#f4f8f9;border-color:#d9e7e7;padding:12px 14px;margin-bottom:16px;border-radius:8px;box-shadow:none;}
body .auth-v1497 .acadmates-privacy-info p {font-size:12px;line-height:1.65;}
body .auth-v1497 .acadmates-privacy-info details {margin-top:3px;}
body .auth-v1497 .acadmates-privacy-info summary {min-height:28px;font-size:12px;}
body .auth-v1497 .activation-field {
  box-sizing:border-box;display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:12px!important;
  min-height:61px!important;margin:0 0 10px!important;padding:9px 13px!important;
  background:#fff!important;border:1px solid var(--auth-line)!important;border-radius:9px!important;
  box-shadow:none!important; transition:border-color .15s ease;
}
body .auth-v1497 .activation-field:focus-within {border-color:var(--auth-line)!important;box-shadow:none!important;}
body .auth-v1497 .activation-field-icon {width:35px;height:35px;border-radius:7px;background:#edf5f4;color:#2f6868;}
body .auth-v1497 .activation-field-icon svg {width:17px;height:17px;}
body .auth-v1497 .activation-field-copy strong {font-size:11px!important;font-weight:760;color:#18233f;}
body .auth-v1497 .activation-field :is(input,select) {min-height:24px;padding:0;border:0;background:transparent;box-shadow:none;font-size:15px!important;color:#1e2941;}
body .auth-v1497 .activation-actions {display:grid;gap:9px;margin-top:16px;}
body .auth-v1497 .activation-actions button,body .auth-v1497 #web-activation-saved-workspaces,
body .auth-v1497 #activation-saved-workspaces {box-sizing:border-box; width:100%;min-height:48px!important;margin:0!important;
  border-radius:9px!important;box-shadow:none!important;transform:none!important;font-size:14px!important;letter-spacing:0!important;font-weight:740;}
body .auth-v1497 .activation-submit {background:#17223d!important;color:#fff!important;}
body .auth-v1497 .activation-submit:hover {background:#253657!important;filter:none!important;}
body .auth-v1497 .activation-restore {background:#fff!important;color:#25344c!important;border:1px solid var(--auth-line)!important;}
body .auth-v1497 .activation-trial-button {background:#eaf5f2!important;border-color:#b3d9d1!important;color:#24675e!important;}
body .auth-v1497 .activation-trial-button:hover {background:#dcefeb!important;}
body .auth-v1497 .activation-note {justify-content:flex-start;text-align:left;gap:7px;margin-top:14px!important;color:#718095!important;font-size:11px!important;line-height:1.5!important;}
body .auth-v1497 .activation-note svg {width:17px;height:17px;}
body .auth-v1497 :is(button,a,summary):focus-visible {outline:2px solid #57a5a0!important;outline-offset:2px;}
body .auth-v1497 [hidden] {display:none!important;}
@media (max-width:980px) {
  body .activation-screen.auth-v1497 {grid-template-columns:minmax(0,1fr)!important;}
  .auth-v1497 .auth-v1497-intro {min-height:0;padding:17px 24px;}
  .auth-v1497 .auth-v1497-brand img {width:37px;height:37px;}
  .auth-v1497 .auth-v1497-brand strong {font-size:12px;}
  .auth-v1497 .auth-v1497-hero {padding:12px 0 0;margin:0;}
  .auth-v1497 .auth-v1497-eyebrow,.auth-v1497 .auth-v1497-hero p,.auth-v1497 .auth-v1497-highlights,.auth-v1497 .auth-v1497-footer {display:none;}
  .auth-v1497 .auth-v1497-hero h2 {font-size:21px;margin:0;font-weight:750;letter-spacing:-.03em;}
  body .auth-v1497 .activation-card {width:min(560px,calc(100% - 44px))!important;padding:27px 0!important;}
}
@media (max-width:440px) {
  .auth-v1497 .auth-v1497-intro {padding:14px 17px;}
  .auth-v1497 .auth-v1497-hero h2 {font-size:18px;}
  body .auth-v1497 .activation-card {width:calc(100% - 28px)!important;padding:20px 0!important;}
  body .auth-v1497 .activation-heading h1 {font-size:25px!important;}
  body .auth-v1497 .activation-heading p {font-size:13px!important;margin-bottom:14px!important;}
  body .auth-v1497 .activation-field {min-height:57px!important;}
}
@media(prefers-reduced-motion:reduce){body .auth-v1497 *,body .auth-v1497 *::before,body .auth-v1497 *::after {transition:none!important;animation:none!important;}}
@media print {body .auth-v1497 .auth-v1497-intro{display:none!important;}}

/* Keep the introduction independent of form height and fit the complete form. */
body .auth-v1497 .activation-card {
  width:min(640px,calc(100% - 48px))!important;max-width:640px!important;
  padding:14px 0!important;
}
body .auth-v1497 .activation-mode-label {margin-bottom:6px;font-size:10px;}
body .auth-v1497 .activation-heading h1 {font-size:clamp(25px,2.2vw,30px)!important;line-height:1.15!important;}
body .auth-v1497 .activation-heading p {font-size:13px!important;line-height:1.45!important;margin:6px 0 12px!important;}
body .auth-v1497 .acadmates-privacy-info {padding:9px 12px;margin-bottom:10px;}
body .auth-v1497 .acadmates-privacy-info p {font-size:12px;line-height:1.4;margin:0;}
body .auth-v1497 .acadmates-privacy-info details {margin-top:3px;}
body .auth-v1497 .acadmates-privacy-info details p+p {margin-top:5px;}
body .auth-v1497 .acadmates-privacy-info summary {min-height:24px;font-size:12px;}
body .auth-v1497 .activation-field {
  grid-template-columns:30px minmax(0,1fr);gap:10px!important;
  min-height:50px!important;margin-bottom:7px!important;padding:6px 11px!important;
}
body .auth-v1497 .activation-field-icon {width:30px;height:30px;}
body .auth-v1497 .activation-field-copy strong {font-size:10px!important;line-height:1.35;}
body .auth-v1497 .activation-field :is(input,select) {min-height:22px;font-size:14px!important;line-height:1.3;}
body .auth-v1497 .activation-actions {gap:7px;margin-top:10px;}
body .auth-v1497 .activation-actions button,
body .auth-v1497 #web-activation-saved-workspaces,
body .auth-v1497 #activation-saved-workspaces {
  min-height:42px!important;padding:8px 12px!important;font-size:13px!important;line-height:1.3!important;
}
body .auth-v1497 .activation-note {margin:8px 0 0!important;font-size:11px!important;line-height:1.35!important;}
body .auth-v1497 .web-access-message {margin:5px 0 0;font-size:11px;line-height:1.35;}
body .auth-v1497 .web-access-message:empty {display:none;}
body .auth-v1497 .web-install-access {min-height:36px;margin-top:7px;padding:7px 12px;font-size:12px;line-height:1.3;}
@media (min-width:981px) {
  body .activation-screen.auth-v1497 {
    height:calc(100dvh - var(--desktop-titlebar-height,0px));min-height:0;
    grid-template-rows:minmax(0,1fr);overflow:hidden!important;
  }
  .auth-v1497 .auth-v1497-intro {
    display:grid;grid-template-rows:auto minmax(0,1fr) auto;
    height:100%;min-height:0;padding:clamp(26px,3.7vw,54px);
  }
  .auth-v1497 .auth-v1497-hero {align-self:center;margin:0;padding:20px 0;}
  .auth-v1497 .auth-v1497-hero h2 {font-size:clamp(34px,min(4vw,7dvh),64px);}
  body .auth-v1497 .activation-card {
    max-height:100%!important;min-height:0;overflow-y:auto!important;
    padding:14px 4px!important;scrollbar-gutter:stable;overscroll-behavior:contain;
  }
  body .auth-v1497 .web-install-access {
    position:sticky;bottom:0;z-index:3;box-shadow:0 -7px 0 #fff;
  }
}
@media (max-width:980px) {
  body .activation-screen.auth-v1497 {grid-template-rows:auto minmax(0,1fr);}
  body .auth-v1497 .activation-card {align-self:start;}
  body .auth-v1497 .activation-card {width:min(640px,calc(100% - 32px))!important;padding:18px 0!important;}
  body .auth-v1497 .activation-field :is(input,select) {font-size:16px!important;}
  body .auth-v1497 .activation-actions button {min-height:44px!important;}
  body .auth-v1497 .acadmates-privacy-info summary {min-height:32px;}
  body .auth-v1497 .web-install-access {min-height:44px;}
}

/* v1.5.0 — owner-approved slightly larger typography and focus-neutral form fields.
   Text cursor remains visible; only keyboard navigation controls retain a focus cue. */
.auth-v1497 .auth-v1497-brand strong {font-size:16px;}
.auth-v1497 .auth-v1497-brand small {font-size:11px;}
.auth-v1497 .auth-v1497-eyebrow {font-size:12px;}
.auth-v1497 .auth-v1497-hero p {font-size:clamp(15px,1.3vw,19px);}
.auth-v1497 .auth-v1497-highlights span {font-size:12px;}
.auth-v1497 .auth-v1497-footer {font-size:13px;}
body .auth-v1497 .activation-mode-label {font-size:11px;}
body .auth-v1497 .activation-heading h1 {font-size:clamp(27px,2.35vw,33px)!important;}
body .auth-v1497 .activation-heading p {font-size:14px!important;}
body .auth-v1497 .acadmates-privacy-info p,
body .auth-v1497 .acadmates-privacy-info summary {font-size:13px;}
body .auth-v1497 .activation-field-copy strong {font-size:12px!important;}
body .auth-v1497 .activation-field :is(input,select) {font-size:15px!important;}
body .auth-v1497 .activation-actions button,
body .auth-v1497 #web-activation-saved-workspaces,
body .auth-v1497 #activation-saved-workspaces {font-size:14px!important;}
body .auth-v1497 .activation-note,body .auth-v1497 .web-access-message {font-size:12px!important;}
body .auth-v1497 .web-install-access {font-size:13px;}
/* Preserve static 1px card edges; a field's border does not change on click or focus. */
body .auth-v1497 .activation-field:is(:hover,:focus,:focus-within,:active) {
  border-color:var(--auth-line)!important;outline:none!important;box-shadow:none!important;
}
body .auth-v1497 .activation-field :is(input,select),
body .auth-v1497 .activation-field :is(input,select):is(:focus,:focus-visible,:active) {
  border:0!important;border-bottom:0!important;outline:0!important;outline-offset:0!important;
  box-shadow:none!important;filter:none!important;background:transparent!important;
}
body .auth-v1497 :is(input,select,button,a,summary):focus:not(:focus-visible) {outline:none!important;box-shadow:none!important;}
@media (max-width:980px) {
  .auth-v1497 .auth-v1497-brand strong {font-size:13px;}
  .auth-v1497 .auth-v1497-hero h2 {font-size:22px;}
  body .auth-v1497 .activation-field :is(input,select) {font-size:16px!important;}
}
@media (max-width:440px) {
  .auth-v1497 .auth-v1497-hero h2 {font-size:19px;}
  body .auth-v1497 .activation-heading h1 {font-size:26px!important;}
  body .auth-v1497 .activation-heading p {font-size:14px!important;}
}
