.teacher-cookie-banner { box-sizing: border-box; position: fixed; z-index: 99990; bottom: 18px; left: 18px; width: min(440px, calc(100vw - 36px)); padding: 22px; border: 1px solid #e3e6eb; border-radius: 18px; color: #20242b; background: #fff; box-shadow: 0 12px 55px #0003; font: 14px/1.5 system-ui, sans-serif; max-height: calc(100dvh - 40px); overflow: auto; text-align: left; }
.teacher-cookie-banner[hidden] { display: none !important; }
.teacher-cookie-banner h2 { color: #20242b; font: 700 18px/1.3 system-ui, sans-serif; margin: 0 0 10px; }
.teacher-cookie-banner p { margin: 0 0 14px; color: #616a76; font: inherit; }
.teacher-cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.teacher-cookie-banner button, .teacher-cookie-settings { border: 1px solid #dbe0e6; border-radius: 9px; padding: 10px 13px; color: #20242b; background: #f7f8fa; font: 600 12px/1.3 system-ui, sans-serif; cursor: pointer; }
.teacher-cookie-banner button[data-cookie-accept] { color: #fff; background: #20242b; border-color: #20242b; }
.teacher-cookie-banner details { margin: 14px 0; }
.teacher-cookie-banner summary { cursor: pointer; font-weight: 600; }
.teacher-cookie-banner label { display: flex; gap: 9px; align-items: center; padding: 10px 0; }
.teacher-cookie-banner input { width: 16px; height: 16px; accent-color: #20242b; }
.teacher-cookie-banner small { display: block; font-size: 11px; color: #737b86; margin-bottom: 12px; }
.teacher-cookie-settings { position: fixed; bottom: 10px; left: 10px; z-index: 1000; padding: 7px 10px; font-size: 10px; box-shadow: 0 2px 9px #0001; }
@media(max-width: 480px) { .teacher-cookie-banner { left: 10px; bottom: 10px; width: calc(100vw - 20px); padding: 18px; } }
