.lpk-announcements { min-width: 0; color: var(--lpk-text-main, #0e2233); line-height: 1.6; }
.lpk-announcements h2, .lpk-announcements h3, .lpk-announcements h4 { color: var(--lpk-primary, #0f2e2a); }
.lpk-announcements .lpk-page-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.lpk-announcements .lpk-page-header h2 { margin: 0 0 8px; }
.lpk-announcements a { color: var(--lpk-primary-light, #184e47); text-underline-offset: 3px; }
.lpk-announcements a.lpk-btn-primary { color: #fff; }
.lpk-ann-guide, .lpk-ann-editor, .lpk-ann-detail, .lpk-ann-item { background: var(--lpk-bg-card, #fff); border: 1px solid var(--lpk-border, #dce5e1); border-radius: 10px; padding: 20px; margin: 16px 0; }
.lpk-ann-guide summary, .lpk-ann-editor summary { cursor: pointer; font-weight: 600; min-height: 44px; padding-block: 8px; }
.lpk-ann-editor { display: grid; gap: 12px; }
.lpk-ann-editor > label, .lpk-ann-editor legend { font-weight: 600; }
.lpk-ann-editor :is(input[type=text], input[type=date], textarea) { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--lpk-border, #dce5e1); border-radius: 6px; font: inherit; color: inherit; background: var(--lpk-bg-card, #fff); }
.lpk-ann-editor fieldset { min-width: 0; border: 1px solid var(--lpk-border, #dce5e1); padding: 16px; }
.lpk-ann-editor small { color: var(--lpk-text-muted, #5e6d7a); }
.lpk-ann-checklist { max-height: 260px; overflow-y: auto; }
.lpk-ann-checklist label, .lpk-ann-check { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 0; overflow-wrap: anywhere; }
.lpk-ann-checklist input, .lpk-ann-check input { flex: 0 0 auto; accent-color: var(--lpk-primary-light, #184e47); }
.lpk-ann-preview, .lpk-announcement-alert { padding: 16px; border-left: 3px solid var(--lpk-primary-light, #184e47); background: var(--lpk-primary-surface, #edf7f5); border-radius: 6px; }
.lpk-ann-preview h4 { margin-top: 0; }
.lpk-ann-preview[hidden] { display: none; }
.lpk-ann-tabs, .lpk-ann-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 20px 0; }
.lpk-ann-tabs a { min-height: 44px; padding: 10px 16px; border: 1px solid var(--lpk-border, #dce5e1); border-radius: 6px; text-decoration: none; background: var(--lpk-bg-card, #fff); }
.lpk-ann-tabs a[aria-current=page] { color: #fff; background: var(--lpk-primary-light, #184e47); border-color: var(--lpk-primary-light, #184e47); }
.lpk-ann-item h3 { font-size: 1.1rem; margin: 8px 0; overflow-wrap: anywhere; }
.lpk-ann-item p { margin: 6px 0 0; }
.lpk-ann-tag { display: inline-block; padding: 2px 8px; margin-right: 8px; border-radius: 4px; color: var(--lpk-primary-light, #184e47); background: var(--lpk-primary-surface, #edf7f5); font-size: .85rem; }
.lpk-ann-body { margin: 24px 0; overflow-wrap: anywhere; }
.lpk-ann-detail h3 { overflow-wrap: anywhere; }
.lpk-ann-back { display: inline-flex; align-items: center; min-height: 44px; }
.lpk-announcements :is(a,button,input,textarea,summary):focus-visible { outline: 3px solid var(--lpk-primary-light, #184e47); outline-offset: 3px; }
#lpk-ann-status { overflow-wrap: anywhere; }
@media (max-width:600px) { .lpk-ann-editor, .lpk-ann-guide, .lpk-ann-detail, .lpk-ann-item { padding: 16px; } .lpk-ann-editor fieldset { padding: 12px; } .lpk-ann-actions .lpk-btn { flex: 1 1 auto; text-align: center; } }
.lpk-ann-submenu { margin: 0 12px 12px 42px; display: grid; gap: 4px; }
.lpk-ann-submenu a { padding: 8px 4px; min-height: 40px; color: var(--lpk-text-muted, #5e6d7a); font-size: .85rem; text-decoration: none; }
.lpk-ann-submenu a:hover { color: var(--lpk-primary-light, #184e47); text-decoration: underline; }
.lpk-ann-unread-count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 12px; color: var(--lpk-primary, #0f2e2a); background: var(--lpk-gold-light, #e6cb6c); font-size: .8rem; font-weight: 700; }
.lpk-ann-unread-count[hidden] { display: none; }
.lpk-ann-has-unread > .dashicons { animation: lpk-ann-notice 2.4s ease-in-out infinite; }
@keyframes lpk-ann-notice { 0%,75%,100% { transform: rotate(0); } 80% { transform: rotate(-7deg); } 85% { transform: rotate(7deg); } 90% { transform: rotate(-4deg); } }
.lpk-ann-launcher { position: fixed; left: 20px; bottom: 20px; z-index: 900; display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; min-height: 48px; border: 1px solid var(--lpk-border, #dce5e1); border-radius: 8px; background: var(--lpk-primary, #0f2e2a); color: #fff; cursor: pointer; font: inherit; }
.lpk-ann-dialog { box-sizing: border-box; width: min(620px, calc(100% - 32px)); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); position: fixed; z-index: 100000; inset: 0; margin: auto; height: fit-content; overflow: auto; padding: 0; border: 1px solid var(--lpk-border, #dce5e1); border-radius: 12px; color: var(--lpk-text-main, #0e2233); background: var(--lpk-bg-card, #fff); box-shadow: 0 12px 40px rgba(0,0,0,.2); font-family: inherit; }
.lpk-ann-dialog::backdrop { background: rgba(0,0,0,.4); }
.lpk-ann-dialog:not([open]) { display: none; }
.lpk-ann-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; background: var(--lpk-primary, #0f2e2a); color: #fff; }
.lpk-ann-dialog-header h2 { margin: 0; font-size: 1.2rem; color: inherit; }
.lpk-ann-dialog-close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border-radius: 6px; border: 1px solid currentColor; color: inherit; background: transparent; font: inherit; font-size: 1.7rem; cursor: pointer; }
#lpk-ann-dialog-status { margin: 16px 20px; line-height: 1.6; }
#lpk-ann-dialog-status:empty { display: none; }
#lpk-ann-dialog-article { padding: 20px; }
#lpk-ann-dialog-heading { margin: 12px 0 20px; font-size: 1.4rem; line-height: 1.4; color: var(--lpk-primary, #0f2e2a); overflow-wrap: anywhere; }
#lpk-ann-dialog-meta { margin: 0; font-size: .85rem; }
#lpk-ann-dialog-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.lpk-ann-dialog-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; border-top: 1px solid var(--lpk-border, #dce5e1); }
.lpk-ann-dialog-history { padding: 0 20px 16px; margin: 0; }
.lpk-ann-dialog-history a { color: var(--lpk-primary-light, #184e47); }
.lpk-ann-dialog :is(a,button):focus-visible { outline: 3px solid var(--lpk-gold, #c9a83e); outline-offset: 3px; }
.lpk-ann-dialog .lpk-btn:disabled { opacity: .5; cursor: default; }
@media (prefers-reduced-motion: reduce) { .lpk-ann-has-unread > .dashicons { animation: none; } }
@media(max-width:600px) { .lpk-ann-dialog-footer { padding: 12px; gap: 8px; } .lpk-ann-dialog-footer .lpk-btn { padding: 10px; font-size: .85rem; } .lpk-ann-launcher { left: 12px; bottom: 12px; } }

.lpk-ann-popup-queue { margin: 0 20px 16px; }
.lpk-ann-popup-queue summary { cursor: pointer; min-height: 44px; padding: 8px 0; font-weight: 600; }
#lpk-ann-popup-queue { display: grid; max-height: 180px; overflow-y: auto; gap: 6px; padding: 4px; }
#lpk-ann-popup-queue button { text-align: left; white-space: normal; overflow-wrap: anywhere; min-height: 44px; padding: 10px; font: inherit; color: var(--lpk-primary, #0f2e2a); background: var(--lpk-bg-card, #fff); border: 1px solid var(--lpk-border, #dce5e1); border-radius: 6px; cursor: pointer; }
#lpk-ann-popup-queue button[aria-current=true] { background: var(--lpk-primary-surface, #edf7f5); border-color: var(--lpk-primary-light, #184e47); }

/* Native disclosure keeps navigation usable before JavaScript loads. */
.lpk-ann-navigation > summary { cursor: pointer; list-style: none; min-height: 44px; }
.lpk-ann-navigation > summary::-webkit-details-marker { display: none; }
.lpk-ann-navigation:not([open]) > .lpk-ann-submenu { display: none; }
.lpk-ann-nav-chevron { margin-left: auto; font-size: 1.1rem; line-height: 1; transition: transform .18s ease; }
.lpk-ann-navigation[open] .lpk-ann-nav-chevron { transform: rotate(180deg); }
.lpk-ann-navigation :is(summary,a):focus-visible { outline: 3px solid var(--lpk-gold, #c9a83e); outline-offset: 3px; }
.lpk-ann-navigation .lpk-ann-submenu a { display: flex; align-items: center; min-height: 44px; }
@media (prefers-reduced-motion: reduce) { .lpk-ann-nav-chevron { transition: none; } }

.lpk-material-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0; }
.lpk-material-meta small { display: block; color: var(--lpk-text-muted, #5e6d7a); }
.lpk-question-creator[hidden], .lpk-team-dialog [hidden] { display: none !important; }
.lpk-team-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 20px 0; }
.lpk-team-filter label { display: grid; gap: 6px; }
.lpk-team :is(input,select), .lpk-team-dialog select { min-height: 44px; max-width: 100%; padding: 10px; font: inherit; border: 1px solid var(--lpk-border, #dce5e1); border-radius: 6px; color: inherit; background: var(--lpk-bg-card, #fff); }
.lpk-team .lpk-btn { margin: 4px; }
.lpk-team-dialog-body { padding: 20px; line-height: 1.6; }
.lpk-team-dialog select { display: block; width: 100%; margin: 8px 0; }
.lpk-team-dialog .lpk-ann-preview { margin-top: 16px; }
#lpk-team-seat-action { display: inline-flex; }
.lpk-team :is(a,button,input,select,summary):focus-visible, .lpk-team-dialog :is(a,button,input,select):focus-visible { outline: 3px solid var(--lpk-gold, #c9a83e); outline-offset: 3px; }
@media(max-width:600px) { .lpk-team-filter label { width: 100%; } .lpk-team-dialog-body { padding: 16px; } }
