/* Consent controls deliberately remain separate from submit buttons. */
.pd-consent { display:flex!important; align-items:flex-start; gap:10px; grid-column:1/-1; width:100%; box-sizing:border-box; margin:12px 0; padding:10px 12px; border:1px solid #43645a; border-radius:10px; background:#11221e; color:#e0eae5; font:400 13px/1.5 system-ui,sans-serif; text-align:left; }
.pd-consent input[type=checkbox] { appearance:auto!important; flex:0 0 19px; width:19px!important; height:19px!important; min-width:19px; margin:2px 0 0!important; accent-color:#8cd8ba; }
.pd-consent a,.tsm-legal-links a,.tsm-cookie-settings a { color:#9de3c7; text-decoration:underline; text-underline-offset:3px; }
.pd-consent input:focus-visible { outline:3px solid #c7eed8; outline-offset:3px; }
.pd-consent span { min-width:0; }
.tsm-legal-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin:14px 0; font:400 13px/1.5 system-ui,sans-serif; }
.tsm-legal-links button { padding:0; border:0; color:#9de3c7; background:none; font:inherit; text-decoration:underline; cursor:pointer; }
.tsm-cookie-settings { position:fixed; z-index:100000; bottom:max(18px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(560px,calc(100% - 28px)); max-height:65vh; overflow:auto; padding:22px; box-sizing:border-box; border:1px solid #456358; border-radius:20px; background:#13221d; color:#e6efea; box-shadow:0 12px 40px #0006; font:400 14px/1.5 system-ui,sans-serif; }
.tsm-cookie-settings[hidden] { display:none!important; }
.tsm-cookie-settings p { margin:8px 0 16px; }
.tsm-cookie-actions { display:flex; flex-wrap:wrap; gap:10px; }
.tsm-cookie-actions button { flex:1 1 200px; padding:11px 14px; border-radius:9px; border:1px solid #9ad2b9; background:#19382d; color:#f0f6f2; font:600 14px/1.4 system-ui,sans-serif; cursor:pointer; }
.tsm-cookie-copy strong { display:block; font-size:18px; line-height:1.35; color:#f0f6f2; }
.tsm-cookie-settings .tsm-cookie-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tsm-cookie-settings .tsm-cookie-actions button { min-height:48px; padding:10px 12px; border-radius:12px; border-color:#779d8d; background:#1a2d26; }
.tsm-cookie-settings .tsm-cookie-actions [data-cookie-accept] { background:#93d9b8; border-color:#93d9b8; color:#10241e; }
.tsm-cookie-settings .tsm-cookie-actions [data-cookie-accept]:hover { background:#afeacc; border-color:#afeacc; }
.tsm-cookie-settings [data-cookie-decline]:hover { background:#274237; }
.tsm-cookie-settings button:focus-visible { outline:3px solid #e6efea; outline-offset:3px; }
.tsm-cookie-settings .tsm-cookie-note { margin:12px 0 10px; font-size:12px; color:#b8c9c0; }
.tsm-cookie-links { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:12px; line-height:1.5; }
.chat-popup .pd-consent { width:calc(100% - 20px); margin:8px 10px; font-size:11px; padding:8px; flex-shrink:0; }
.lp-chat-popup { max-height:calc(100dvh - 100px); overflow:auto; }
.community-work-comment-form { flex-wrap:wrap; }
@media(max-width:600px) { .tsm-cookie-settings { bottom:calc(78px + env(safe-area-inset-bottom)); padding:16px; } .pd-consent { font-size:12px; } }

.tsm-consent-dialog { width:min(480px,calc(100% - 36px)); padding:22px; color:#edf6f0; background:#11251d; border:1px solid #669a83; border-radius:16px; }
.tsm-consent-dialog::backdrop { background:#000b; }

/* Saved account consent is not a preselected checkbox. The hidden control is
   disabled while the server-confirmed grant supplies authorization. */
.pd-consent.pd-consent--saved { display:none!important; }
.portal-consent { margin:18px 0; padding:14px; border:1px solid #43645a; border-radius:12px; background:#11221e; color:#e0eae5; font:400 13px/1.5 system-ui,sans-serif; }
.portal-consent[hidden] { display:none!important; }
.portal-consent > strong { font-size:14px; }
.portal-consent .pd-consent { margin:8px 0; padding:0; border:0; background:none; }
.portal-consent [data-portal-consent-status] { margin:8px 0 0; color:#b8c9c0; font:inherit; }
.portal-consent.portal-consent--error [data-portal-consent-status] { color:#ffc4b8; }
.portal-consent[aria-busy=true] input { cursor:wait; }
#chat-textarea:disabled, #chat-send:disabled, #chat-attach-btn:disabled, #chat-start-btn:disabled,
#lp-chat-text:disabled, #lp-chat-send:disabled, #lp-chat-attach:disabled, #lp-chat-save-contact:disabled { opacity:.48; cursor:not-allowed; filter:grayscale(1); }
