/* AfricaCaptions sign-in dialog, account panel and banner.
   Colours come from the site's custom properties, with fallbacks for pages that do not define them. */

#account-link{background:var(--grad,linear-gradient(135deg,#047857 0%,#0f766e 50%,#0369a1 100%));color:#fff;padding:8px 16px;border-radius:10px;font-weight:600;box-shadow:var(--shadow-sm,0 2px 8px rgba(15,60,45,.06))}
#account-link:hover{filter:brightness(1.06);color:#fff;text-decoration:none}
#account-link:focus-visible{outline:3px solid var(--brand3,#0369a1);outline-offset:3px}
@media(max-width:480px){#account-link{padding:8px 12px}}
/* Phones: the nav has no room for four items. Pricing stays reachable from the footer, the Plans link and the account panel. */
@media(max-width:480px){header.nav .nav-inner{gap:12px}header.nav .nav-links a[href="/pricing"]{display:none}}

.ac-dialog{border:none;padding:0;background:transparent;color:var(--text,#0f1f1a);font-family:var(--font-body,"Inter",system-ui,sans-serif);max-width:none;max-height:none;overflow:visible}
.ac-dialog::backdrop{background:rgba(15,31,26,.5);backdrop-filter:blur(4px)}
.ac-dialog[open]{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));height:fit-content;max-height:calc(100vh - 32px)}
.ac-box{position:relative;background:var(--surface,#fff);border-radius:var(--radius,16px);padding:28px 26px 24px;box-shadow:0 30px 70px rgba(15,31,26,.35);max-height:calc(100vh - 32px);overflow-y:auto}
.ac-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border:none;border-radius:10px;background:transparent;color:var(--muted,#5b6d66);font-size:24px;line-height:1;cursor:pointer;font-family:inherit}
.ac-x:hover{background:var(--surface-2,#edf5f1);color:var(--text,#0f1f1a)}
.ac-title{font-family:var(--font-display,"Inter Tight",system-ui,sans-serif);font-size:21px;font-weight:700;line-height:1.25;margin:0 36px 10px 0;color:var(--text,#0f1f1a)}
.ac-text{font-size:14.5px;line-height:1.55;color:var(--text-soft,#34463f);margin:0 0 16px}
.ac-email{color:var(--text,#0f1f1a);font-weight:600;overflow-wrap:anywhere}
.ac-form{display:flex;flex-direction:column;gap:8px}
.ac-form label{font-size:13px;font-weight:600;color:var(--text-soft,#34463f)}
.ac-form input{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--border-strong,#c3d5cc);border-radius:12px;background:#fff;color:var(--text,#0f1f1a);width:100%}
.ac-form input#ac-code{letter-spacing:.3em;font-variant-numeric:tabular-nums}
.ac-error{min-height:0;margin:0;font-size:13.5px;line-height:1.45;color:#b91c1c}
.ac-error:empty{display:none}
.ac-status{margin:0;font-size:13.5px;line-height:1.45;color:var(--success,#15803d)}
.ac-status:empty{display:none}
.ac-btn{font:inherit;font-weight:600;font-size:15px;padding:13px 20px;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:filter .15s,background .15s,transform .12s;text-align:center}
.ac-primary{background:var(--grad,linear-gradient(135deg,#047857 0%,#0f766e 50%,#0369a1 100%));color:#fff;box-shadow:var(--shadow-sm,0 2px 8px rgba(15,60,45,.06))}
.ac-primary:hover:not(:disabled){filter:brightness(1.06)}
.ac-ghost{background:#fff;color:var(--text-soft,#34463f);border-color:var(--border-strong,#c3d5cc)}
.ac-ghost:hover:not(:disabled){border-color:var(--brand2,#0f766e);color:var(--brand2,#0f766e)}
.ac-btn:disabled{opacity:.6;cursor:not-allowed}
.ac-busy{position:relative;cursor:progress}
.ac-busy::after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ac-spin .7s linear infinite}
@keyframes ac-spin{to{transform:rotate(360deg)}}
.ac-small{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted,#5b6d66)}
.ac-small a,.ac-text a{color:var(--brand1,#047857);text-decoration:underline}
.ac-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 0}
.ac-link{font:inherit;font-size:13.5px;font-weight:600;padding:4px 0;border:none;background:none;color:var(--brand1,#047857);text-decoration:underline;cursor:pointer}
.ac-link:disabled{opacity:.6;cursor:not-allowed}
.ac-account-email{margin:0 0 2px;font-size:15px;font-weight:600;color:var(--text,#0f1f1a);overflow-wrap:anywhere}
.ac-plan{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--brand2,#0f766e)}
.ac-meter{height:8px;border-radius:999px;background:var(--surface-2,#edf5f1);overflow:hidden;margin:0 0 18px}
.ac-meter-fill{display:block;height:100%;background:var(--grad,linear-gradient(135deg,#047857 0%,#0f766e 50%,#0369a1 100%));border-radius:999px}
.ac-actions{display:flex;flex-direction:column;gap:10px}

/* Keyboard focus is always visible inside the dialog and on the banner. */
.ac-dialog :focus-visible,.ac-banner :focus-visible{outline:3px solid var(--brand3,#0369a1);outline-offset:2px}
.ac-form input:focus{border-color:var(--brand2,#0f766e)}

.ac-banner{position:fixed;left:50%;top:16px;transform:translate(-50%,-12px);z-index:400;display:flex;align-items:center;gap:12px;max-width:min(560px,calc(100vw - 32px));padding:12px 14px 12px 18px;border-radius:12px;background:var(--text,#0f1f1a);color:#fff;font-size:14px;font-weight:500;line-height:1.45;box-shadow:var(--shadow,0 14px 40px rgba(15,60,45,.12));opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.ac-banner.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.ac-banner-x{flex:none;width:28px;height:28px;border:none;border-radius:8px;background:rgba(255,255,255,.14);color:#fff;font-size:18px;line-height:1;cursor:pointer;font-family:inherit}
.ac-banner-x:hover{background:rgba(255,255,255,.26)}

@media(max-width:480px){.ac-box{padding:24px 18px 20px}.ac-title{font-size:19px}}
@media(prefers-reduced-motion:reduce){.ac-busy::after{animation-duration:2s}.ac-banner{transition:none}}
