/* A15: shared sign-in composition. No signed-in layout or auth state. */
@media screen {
  body:not([data-workspace-role]) #menu-open { display:none; }
  body:has(#main > .signin-panel) :is(.workspace,.shell) { display:grid; }
  body:has(#main > .signin-panel) .sidebar { display:flex; }
  body:has(#main > .signin-panel) .topbar { display:flex; flex:none; }
  body:has(#main > .signin-panel) .main-shell { display:flex; flex-direction:column; min-height:100vh; min-height:100svh; }
  body:has(#main > .signin-panel) #main { display:flex; flex:1; width:100%; max-width:none; margin:0; padding:48px 24px; box-sizing:border-box; }
  #main > .signin-panel { box-sizing:border-box; width:100%; max-width:26rem; margin:auto; padding:0; align-self:flex-start; border:1px solid var(--line,#dedfd6); border-radius:7px; overflow:hidden; background:var(--white,#fffffc); }
  .signin-panel .signin-strip { padding:22px 23px; background:#1e3029; }
  .signin-panel .signin-strip h1 { margin:0; font:400 32px/1.2 var(--serif,Georgia,serif); letter-spacing:-.7px; color:#fff9ea; }
  .signin-panel .signin-strip h1 span { color:#7fddb5; }
  .signin-panel .signin-body { padding:23px; }
  .signin-panel .subtitle { margin:0 0 22px; }
  .signin-panel .form { display:grid; gap:18px; margin:0; }
  .signin-panel .form :is(.field,.form-field) { margin:0; }
  .signin-panel button[type="submit"] { justify-self:start; width:auto; }
  .signin-panel :is(.note,.small-note) { margin:20px 0 14px; }
  .signin-contact-links { display:flex; flex-wrap:wrap; gap:8px 20px; }
  .signin-contact-links a { white-space:nowrap; }
  @media (max-width:767px) {
    body:has(#main > .signin-panel) :is(.workspace,.shell) { display:block; }
    body:has(#main > .signin-panel) .sidebar { display:none; }
    body:has(#main > .signin-panel) #main { padding:24px 16px 40px; }
    #main > .signin-panel { margin:0 auto; }
    .signin-panel .signin-strip,.signin-panel .signin-body { padding:18px; }
    .signin-panel .signin-strip h1 { font-size:28px; }
    .signin-panel input { width:100%; min-width:0; font-size:16px; box-sizing:border-box; }
    .signin-panel button[type="submit"] { justify-self:stretch; width:100%; }
  }
}
