/* Local privacy inbox. All surfaces inherit the chosen educational-site theme. */
.privacy-card,.privacy-ticket,.privacy-admin { padding: 22px; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); color: var(--text); min-width: 0; }
.privacy-card form,.privacy-ticket form,.privacy-admin form { display: grid; gap: 10px; }
.privacy-card label,.privacy-ticket label,.privacy-admin label { font-size: .84rem; font-weight: 700; color: var(--text-bright); }
.privacy-card input:not([type=checkbox]),.privacy-card select,.privacy-card textarea,.privacy-ticket textarea,.privacy-admin textarea,.privacy-admin select { display: block; width: 100%; max-width: 100%; box-sizing: border-box; padding: 11px 13px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-soft); color: var(--text-bright); font: inherit; font-size: .88rem; line-height: 1.6; }
.privacy-card textarea,.privacy-ticket textarea,.privacy-admin textarea { resize: vertical; min-height: 90px; }
.privacy-card input:focus-visible,.privacy-card select:focus-visible,.privacy-card textarea:focus-visible,.privacy-ticket textarea:focus-visible,.privacy-admin textarea:focus-visible,.privacy-admin select:focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 2px; }
.privacy-primary,.privacy-secondary,.privacy-admin button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 16px; min-height: 44px; box-sizing: border-box; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-soft); color: var(--text-bright); font: 700 .84rem/1.4 var(--font-ui,system-ui,sans-serif); cursor: pointer; }
.privacy-primary { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }
.privacy-primary:hover,.privacy-secondary:hover,.privacy-admin button:hover { filter: brightness(1.08); border-color: var(--accent-bright); }
.privacy-primary:focus-visible,.privacy-secondary:focus-visible,.privacy-admin button:focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 3px; }
.privacy-primary:disabled,.privacy-secondary:disabled,.privacy-admin button:disabled { opacity: .65; cursor: wait; }
.privacy-counter,.privacy-ticket-top,.privacy-section-heading,.privacy-ticket-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.privacy-counter,.privacy-muted { color: var(--text-muted); font-size: .78rem; line-height: 1.6; }
.privacy-check { display: flex; align-items: center; gap: 10px; min-height: 38px; }
.privacy-check input { width: 18px; height: 18px; accent-color: var(--accent); }
.privacy-check[hidden] { display: none; }
.privacy-status { min-height: 1.5em; font-size: .82rem; line-height: 1.6; color: var(--text); margin: 0; }
.privacy-status.privacy-error { color: var(--error); }
.privacy-section-heading h2 { margin-bottom: 0; }
.privacy-section-heading { margin-bottom: 14px; }
.privacy-tickets { display: grid; gap: 16px; }
.privacy-ticket h3 { margin: 0; color: var(--text-bright); font-size: 1rem; }
.privacy-ticket-top small { color: var(--text-muted); font-size: .76rem; }
.privacy-state { display: inline-flex; padding: 4px 9px; border-radius: 7px; background: var(--accent-dim); color: var(--accent-bright); font-size: .73rem; font-weight: 700; }
.privacy-messages { display: grid; gap: 11px; margin: 17px 0; }
.privacy-message { padding: 13px 15px; border-radius: 11px; border: 1px solid var(--border-soft); background: var(--bg-soft); }
.privacy-message[data-sender=admin] { border-left: 3px solid var(--accent); }
.privacy-message strong { font-size: .8rem; }
.privacy-message p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 6px 0 0; font-size: .86rem; line-height: 1.65; }
.privacy-message time { display: block; margin-top: 7px; font-size: .72rem; color: var(--text-muted); }
.privacy-ticket-actions { justify-content: flex-start; margin-bottom: 14px; }
.privacy-ticket-actions button { flex: 1 1 auto; }
.privacy-ticket form { border-top: 1px solid var(--border); padding-top: 16px; }
.privacy-admin { margin-top: 18px; }
.privacy-admin [hidden] { display: none!important; }
.privacy-admin > summary { font-weight: 750; cursor: pointer; font-size: 1rem; }
.privacy-admin > p { color: var(--text-muted); font-size: .85rem; }
.privacy-admin-controls { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0; }
.privacy-admin-list { display: grid; gap: 9px; margin-bottom: 12px; }
.privacy-admin-card { display: grid!important; text-align: left; justify-content: stretch!important; gap: 6px!important; width: 100%; }
.privacy-admin-card strong,.privacy-admin-card span { overflow-wrap: anywhere; }
.privacy-admin-card span { font-weight: 500; font-size: .8rem; color: var(--text-muted); }
.privacy-admin-dialog { width: min(660px,calc(100% - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; margin: auto; border: 1px solid var(--border); border-radius: 18px; padding: 24px; background: var(--panel); color: var(--text); overflow-y: auto; }
.privacy-admin-dialog::backdrop { background: rgba(0,0,0,.65); }
.privacy-admin-dialog h2 { padding-right: 42px; margin: 0 0 14px; font-size: 1.1rem; color: var(--text-bright); }
.privacy-admin-close { position: absolute; inset: 12px 12px auto auto; width: 36px; height: 36px; min-height: 36px!important; padding: 8px!important; border-radius: 10px; }
.privacy-admin-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
@media (max-width:440px) { .privacy-card,.privacy-ticket,.privacy-admin { padding: 16px; } .privacy-counter { font-size: .72rem; } .privacy-admin-dialog { padding: 18px; } .privacy-ticket-actions { display: grid; grid-template-columns: minmax(0,1fr); } }
@media print { #privacy-contact-page form,.privacy-ticket-actions,.privacy-section-heading button { display: none; } }
