/* Namespaced controls and modal: use the shared light/dark theme tokens. */
.notice-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.notice-editor-grid label { display:block; margin:12px 0 5px; font-weight:600; }
.notice-editor-grid input,.notice-editor-grid textarea { box-sizing:border-box; width:100%; font:inherit; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:10px; }
.notice-editor-grid textarea { resize:vertical; }
.notice-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:16px; }
.notice-popup { --notice-dialog-bg:#fff; --notice-dialog-text:#22342f; --notice-dialog-border:#256650; --notice-backdrop:#0009; box-sizing:border-box; margin:auto; width:min(600px,calc(100% - 32px)); max-height:85dvh; overflow:auto; padding:32px; color:var(--text,var(--notice-dialog-text)); background:var(--surface,var(--notice-dialog-bg)); border:3px solid var(--accent,var(--notice-dialog-border)); border-radius:12px; font:16px/1.55 Roboto,'Segoe UI',Arial,sans-serif; box-shadow:0 20px 70px var(--notice-backdrop); }
:root[data-theme="dark"] .notice-popup { --notice-dialog-bg:#1c2c25; --notice-dialog-text:#edf4ef; --notice-dialog-border:#75bc95; }
.notice-popup::backdrop { background:var(--notice-backdrop); }
.notice-popup h2 { font-size:26px; line-height:1.25; margin:0 0 18px; overflow-wrap:anywhere; }
.notice-plain-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.notice-popup button { display:block; margin:26px 0 0 auto; padding:12px 18px; background:var(--accent,var(--notice-dialog-border)); color:var(--white,#fff); border:0; border-radius:6px; font:inherit; cursor:pointer; }
.notice-maintenance-page { min-height:100dvh; display:grid; place-items:center; margin:0; padding:24px; box-sizing:border-box; background:var(--bg); color:var(--text); }
.notice-maintenance-card { box-sizing:border-box; width:min(680px,100%); padding:36px; background:var(--surface); border:1px solid var(--border); border-radius:14px; }
.notice-maintenance-card h1 { font-size:30px; }
.notice-maintenance-card p { line-height:1.6; }
@media (max-width:760px) { .notice-editor-grid { grid-template-columns:1fr; } .notice-popup { padding:24px; } }
