:root{--staff-canvas:var(--access-canvas);--staff-white:#fff;--staff-ink:var(--access-ink);--staff-muted:var(--access-muted);--staff-line:var(--access-line);--staff-accent:var(--access-accent);--staff-button:var(--access-button);--staff-button-hover:#103b39}
.access-brand-logo{display:block;max-width:150px;width:auto;max-height:46px;height:auto;object-fit:contain;object-position:left center}
.staff-signin { width: 100%; max-width: none; }
.staff-entry-symbol { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--staff-line); border-radius: 12px; margin-bottom: 28px; color: #3b637d; }
.staff-entry-symbol svg { width: 23px; height: 23px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.staff-signin h1 { font-family: "Access Display", sans-serif; font-size: 34px; font-weight: 500; line-height: 1.2; letter-spacing: -.045em; margin: 0 0 14px; }
.staff-intro { margin: 0; color: var(--staff-muted); font-size: 15px; line-height: 1.65; max-width: 315px; }
.staff-form { margin-top: 32px; }
.staff-submit { border: 1px solid transparent; border-radius: 10px; width: 100%; padding: 16px 20px; min-height: 56px; background: var(--staff-button); color: var(--staff-white); display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 15px; line-height: 1.4; font-weight: 600; cursor: pointer; transition: background-color 160ms ease, box-shadow 160ms ease; text-align: left; }
.staff-submit:hover { background: var(--staff-button-hover); box-shadow: 0 4px 10px rgb(18 59 85 / 12%); }
.staff-submit:focus-visible { outline: 3px solid var(--staff-accent); outline-offset: 4px; }
.staff-submit:disabled { cursor: wait; background: #36596e; }
.staff-submit-arrow { flex-shrink: 0; width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.staff-account-hint { color: var(--staff-muted); font-size: 12px; line-height: 1.6; margin: 14px 0 0; }
.staff-help { border-top: 1px solid var(--staff-line); padding-top: 24px; margin-top: 32px; font-size: 13px; line-height: 1.65; }
.staff-help p { margin: 0; }
.staff-help p:first-child { color: var(--staff-ink); font-weight: 600; margin-bottom: 3px; }
.staff-help p:last-child { color: var(--staff-muted); }
.staff-error { display: flex; align-items: flex-start; gap: 10px; background: #fff3f1; color: #9b2f27; border: 1px solid #efcdc9; border-radius: 8px; padding: 12px; margin-bottom: 18px; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.staff-error p { margin: 0; }
.staff-error svg { flex-shrink: 0; width: 18px; height: 18px; margin-top: 1px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.staff-field { display: block; margin-top: 18px; }
.staff-field-label { display: block; font-size: 12px; font-weight: 600; color: var(--staff-ink); line-height: 1.4; margin-bottom: 5px; }
.staff-field-input { display: block; width: 100%; height: 46px; border: 1px solid var(--staff-line); border-radius: 8px; padding: 0 12px; font-size: 14px; color: var(--staff-ink); background: var(--staff-white); outline: none; transition: border-color 160ms ease, box-shadow 160ms ease; }
.staff-field-input::placeholder { color: var(--access-muted); }
.staff-field-input:focus { border-color: var(--staff-accent); box-shadow: 0 0 0 3px rgb(0 127 174 / .14); }
.staff-field-error { color: #9b2f27; font-size: 12px; line-height: 1.5; margin-top: 5px; }
.staff-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media(max-width:700px){.staff-signin h1{font-size:29px}.staff-intro{font-size:14px}.staff-form{margin-top:26px}.access-brand-logo{max-width:120px;max-height:38px}}
@media(prefers-reduced-motion:reduce){.staff-submit,.staff-field-input{transition:none}}
