.login-page{min-height:100dvh;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(380px,1.15fr);font-family:var(--tav-font);color:var(--tav-ink);background:var(--tav-bg);color-scheme:light}.login-aside{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:52px;background:var(--tav-nav);color:white}.login-aside h1{font-size:clamp(30px,3.5vw,50px);line-height:1.2;letter-spacing:-1px}.login-aside p{color:var(--tav-nav-text);line-height:1.7}.login-main{display:grid;place-items:center;min-width:0;padding:48px 28px}.login-box{width:100%;max-width:450px}.login-box h2{font-size:28px;line-height:1.3;margin:12px 0}.login-box .lead{color:var(--tav-muted);line-height:1.6;margin-bottom:28px}.login-card{display:grid;gap:12px}.login-card label{font-weight:650;display:grid;gap:8px}.login-box :is(input,select,textarea){font-family:inherit;font-size:16px;min-height:48px;border:1px solid var(--tav-line);border-radius:9px;padding:12px;width:100%;min-width:0;background:white;color:var(--tav-ink)}.login-box input[type=checkbox]{width:44px;height:44px;min-height:44px;vertical-align:middle;accent-color:var(--tav-primary)}.login-box :is(button,a,summary){min-height:44px;min-width:44px}.login-box button{padding:12px 18px;border:1px solid var(--tav-primary);border-radius:9px;background:var(--tav-primary);color:white;font:inherit;font-weight:650;cursor:pointer}.login-box .quiet-button{background:white;border-color:var(--tav-line);color:var(--tav-ink)}.login-box button:disabled{opacity:.5}.login-box .small-note,.login-footer{font-size:13px;color:var(--tav-muted);line-height:1.7;margin-top:24px}.login-box summary{display:flex;align-items:center;cursor:pointer}.login-box p[role=status]{line-height:1.6;overflow-wrap:anywhere}.login-footer{padding-top:20px;border-top:1px solid var(--tav-line)}.login-box a{display:inline-flex;align-items:center;color:var(--tav-primary)}.login-box svg{max-width:100%}.login-box img{max-width:100%}
.portal-page{font-family:var(--tav-font);background:var(--tav-bg);color:var(--tav-ink);color-scheme:light}.portal-page>header{background:var(--tav-nav);padding:24px;display:flex;align-items:center;justify-content:space-between}.portal-page>main{max-width:1440px;margin:auto;padding:28px;min-width:0}.portal-page :is(button,a,summary){min-height:44px;min-width:44px}.portal-page :is(input,select,textarea){font-size:16px;min-height:44px;max-width:100%}.portal-page button{background:var(--tav-primary);color:white;border:1px solid var(--tav-primary);border-radius:9px;padding:12px 16px}.portal-page section{border-radius:16px}.portal-page th{background:var(--tav-surface-2)}.portal-page #login{max-width:480px;margin:32px auto;padding:24px;background:white;border:1px solid var(--tav-line);border-radius:16px}.portal-page #loginForm{display:grid;gap:16px}.portal-page #loginForm label{display:grid;gap:8px}.portal-page #menu{display:flex;flex-wrap:wrap;gap:8px}.portal-page .table-wrap{max-width:100%;overflow:auto}.portal-page #content{min-width:0;overflow-wrap:anywhere}
@media(max-width:899px){.login-page{grid-template-columns:1fr}.login-aside{padding:24px;gap:20px}.login-aside .login-intro,.login-aside>div{display:none}.login-main{padding:32px 20px}.login-box{max-width:500px}.portal-page>main{padding:20px 16px}.portal-page #login{margin:20px 0;padding:20px}.portal-page>header{padding:20px 16px}.portal-page header .tav-brand{min-width:0}}

/* Restore the existing cover photograph without changing authentication. */
.login-aside{background:linear-gradient(180deg,rgba(16,35,27,.48),rgba(16,35,27,.08) 36%,rgba(16,35,27,.88)),url('/xtanco-storefront.png') center/cover}.login-aside .tav-brand,.login-intro{text-shadow:0 1px 12px #0008}.login-aside p{color:#fff}.access-notice{margin-top:16px;font-size:12px;color:var(--tav-muted)}.login-box .access-notice summary{gap:8px;min-height:44px;line-height:1.4;text-decoration:underline;text-underline-offset:3px}.access-notice summary:before{content:'+';font-size:16px;text-decoration:none}.access-notice[open] summary:before{content:'−'}.access-notice p{line-height:1.7;margin:4px 0 12px}.access-notice summary:focus-visible{outline:2px solid var(--tav-primary);outline-offset:4px;border-radius:4px}
@media(max-width:899px){.login-aside{min-height:200px;background-position:center 48%;justify-content:flex-start}.login-main{padding-top:28px}}
