[hidden]{display:none!important}
.privacy-banner{position:fixed;bottom:16px;left:16px;right:16px;max-width:760px;margin:auto;z-index:1000;background:var(--panel);border:1px solid var(--green);border-radius:14px;padding:20px;box-shadow:0 12px 50px #0009;max-height:75dvh;overflow:auto}
.privacy-banner h2,.privacy-dialog h2{font-size:1.35rem;margin:0 0 10px}
.privacy-banner p,.privacy-dialog p{font-size:1rem;line-height:1.5;margin:8px 0 14px}
.privacy-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.privacy-actions button,.privacy-close{background:var(--panel2);color:var(--text);border:1px solid #82b49c;border-radius:8px;padding:11px 15px;min-height:44px;cursor:pointer}
.privacy-link{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;padding:8px 0;font:inherit}
.privacy-banner a,.privacy-dialog a,.privacy-notice a{text-decoration:underline;text-underline-offset:3px}
.privacy-dialog{background:var(--panel);color:var(--text);border:1px solid var(--green);border-radius:16px;width:min(620px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:24px}
.privacy-dialog::backdrop{background:#000b}
.privacy-dialog label{display:flex;gap:12px;align-items:center;padding:12px 0;font-weight:700}
.privacy-dialog input{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}
.privacy-dialog section{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.privacy-close{float:right;margin-left:12px}
.privacy-notice{max-width:820px}.privacy-notice h2{font-size:1.5rem;margin:30px 0 12px}.privacy-notice p{color:var(--muted)}
.formError{padding:16px;border:1px solid #f5ad91;border-radius:8px;margin:16px 0;color:#ffe0d4}
:focus-visible{outline:3px solid #87ffc4;outline-offset:4px}
.privacy-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:480px){.privacy-banner{left:8px;right:8px;bottom:8px;padding:16px}.privacy-actions button{flex:1 1 100%}.privacy-dialog{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Request classification uses the existing form visual system. */
.field select{width:100%;min-height:48px;padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:#071b18;color:#fff}
