:root, html[data-theme="light"] { --primary: #2e5034; --secondary: #203c26; --accent: #f4d348; --link-fg: #2e5034; --link-selected-fg: #203c26; --header-color: #fffbea; --header-branding-color: #f4d348; }
#header { border-top: 5px solid #f4d348; }
#site-name span { display: block; font-size: 12px; margin-top: 4px; letter-spacing: .6px; color: #fffbea; }
.ptsa-admin-guide { padding: 24px; margin-bottom: 28px; background: var(--body-bg); border: 1px solid var(--hairline-color); border-top: 4px solid #f4d348; }
.ptsa-admin-guide h2 { background: none; color: var(--body-fg); font-size: 24px; padding: 0; margin: 8px 0 14px; }
.ptsa-admin-guide p { line-height: 1.7; }
.ptsa-admin-guide ol { padding-left: 20px; }
.ptsa-admin-guide li { margin-block: 12px; line-height: 1.6; }
.admin-eyebrow { font-size: 10px; font-weight: bold; letter-spacing: 1.4px; }
.guide-link { display: inline-block; box-sizing: border-box; min-height: 44px; padding: 12px 16px; background: #f4d348; color: #203c26 !important; font-weight: bold; }
.ptsa-team-guide { border-left: 4px solid #2e5034; }
.ptsa-admin-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.guide-link.secondary { background: var(--darkened-bg); color: var(--body-fg) !important; }
.ptsa-account-table { overflow-x: auto; }
.ptsa-account-table table { width: 100%; }
.ptsa-account-table caption { text-align: left; font-weight: bold; margin-bottom: 12px; }
.ptsa-account-table th, .ptsa-account-table td { padding: 16px; overflow-wrap: anywhere; }
.ptsa-account-note { max-width: 760px; line-height: 1.7; margin-block: 24px; }
/* Keep account controls touch-friendly even when Django's responsive sheet loads last. */
#add-administrator-form .ptsa-account-fields input:not([type="checkbox"]), #add-administrator-form .ptsa-account-fields select { box-sizing: border-box; min-height: 44px; max-width: 100%; }
#add-administrator-form .submit-row input { min-height: 44px; }
#add-administrator-form .submit-row a { display: inline-block; padding: 14px; }
.login { background: #f7f6ed; color: #203c26; }
.login #container { width: min(440px, calc(100% - 32px)); box-sizing: border-box; margin: 6vh auto; border-radius: 2px; border: 1px solid #d8dfd3; background: #fff; box-shadow: 0 18px 48px #203c2612; }
.login #header { background: #203c26; padding: 22px 28px; }
.login #content { padding: 28px; }
.login #content-main { width: 100%; }
.ptsa-login-intro { border-bottom: 1px solid #d8dfd3; padding-bottom: 18px; margin-bottom: 22px; }
.ptsa-login-intro img { object-fit: contain; float: right; margin-left: 12px; }
.login .ptsa-login-intro h1 { color: #203c26; font-size: 28px; font-weight: 600; margin: 12px 0; }
.ptsa-login-intro p, .ptsa-login-help p, .ptsa-login-note { line-height: 1.65; }
.login #login-form .form-row { padding: 8px 0 16px; }
.login #login-form .form-row label { color: #203c26; display: block; float: none; width: auto; margin-bottom: 8px; font-weight: 600; }
.login #login-form .form-row input { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px; background: #fff; color: #203c26; border: 1px solid #94a58e; border-radius: 2px; font-size: 16px; }
.login #login-form .submit-row { padding: 8px 0; background: none; border: 0; text-align: left; }
.login #login-form input[type="submit"] { width: 100%; min-height: 48px; background: #f4d348; color: #203c26; font-weight: bold; font-size: 16px; }
.ptsa-login-help { border-top: 1px solid #d8dfd3; margin-top: 22px; padding-top: 12px; font-size: 13px; color: #4b5f49; }
.ptsa-login-help a { display: inline-block; min-height: 44px; line-height: 44px; color: #203c26; font-weight: bold; }
.login input:focus-visible, .guide-link:focus-visible, .login a:focus-visible { outline: 3px solid #2e5034; outline-offset: 3px; }
@media (max-width: 600px) { .login #content { padding: 22px; } .login #container { margin-block: 24px; } .ptsa-admin-guide { padding: 18px; } .ptsa-account-fields .form-row > div { display: flex; flex-direction: column; gap: 8px; } }
