/* Announcement-specific styles; quote tables are untouched. */
body.notice-mode #view-sales .search-hero { display:none; }
body.notice-mode #view-sales { grid-template-columns:minmax(0,1fr); }
body.notice-mode .shell { padding-bottom:0; }
body.notice-mode #view-sales { margin-bottom:0; }
body.notice-mode #view-sales .cat-tabs { grid-column:1; }
body.notice-mode #view-sales .table-wrap { grid-column:1; align-self:start; display:block; min-height:0; border:0; border-radius:0; box-shadow:none; background:transparent; overflow:visible; }
body.notice-mode #view-sales .table-toolbar { display:none; }
body.notice-mode #view-sales #table-container { flex:none; padding-inline:0; overflow:visible !important; }
.notice-icon { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; flex:none; }
.notice-fab,.notice-composer,.notice-review { display:none; }
body.notice-mode:has(#view-sales.active) .notice-fab { display:flex; }
body.notice-mode:has(#view-sales.active) .notice-composer:not([hidden]) { display:flex; }
body.notice-mode:has(#view-sales.active) .notice-review:not([hidden]) { display:block; }
.notice-fab { position:fixed; right:28px; bottom:26px; z-index:80; align-items:center; gap:8px; padding:13px 18px; border:1px solid var(--border); border-radius:28px; background:var(--accent,#167a70); color:white; box-shadow:0 3px 14px #0002; cursor:pointer; font:600 14px var(--font-body); }
body.notice-mode:has(.notice-composer:not([hidden])) .notice-fab { display:none; }
body.notice-mode:has(.notice-composer:not([hidden])) .notice-review { display:none; }
.notice-review { position:fixed; right:28px; bottom:82px; z-index:79; }
.notice-review-toggle { display:flex; align-items:center; gap:7px; margin-left:auto; padding:8px 12px; border:1px solid #e8c980; border-radius:18px; background:#fffaf0; color:#8a5a12; box-shadow:0 2px 10px #0f2b4614; cursor:pointer; font:600 12px/1 var(--font-body); }
.notice-review-toggle:hover,.notice-review-toggle:focus-visible { border-color:#c89c43; background:#fff5dc; outline:none; }
.notice-review-toggle b { display:grid; place-items:center; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:#9b6819; color:#fff; font-size:10px; }
.notice-review-panel { position:absolute; right:0; bottom:calc(100% + 8px); width:min(350px,calc(100vw - 32px)); max-height:min(440px,60dvh); overflow:auto; border:1px solid var(--border); border-radius:7px; background:var(--surface,#fff); box-shadow:0 12px 34px #0f2b4626; }
.notice-review-panel[hidden] { display:none; }
.notice-review-panel > header { display:flex; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--border); }
.notice-review-panel > header strong { font-size:13px; }
.notice-review-panel > header span { color:var(--ink-muted); font-size:11px; }
.notice-review-list { padding:4px 0; }
.notice-review-item { display:flex; align-items:center; gap:10px; padding:10px 12px 10px 14px; border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent); }
.notice-review-item:last-child { border-bottom:0; }
.notice-review-item > div:first-child { min-width:0; flex:1; }
.notice-review-item strong { display:block; overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.notice-review-item span { display:block; overflow:hidden; margin-top:3px; color:var(--ink-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.notice-review-actions { display:flex; gap:2px; }
.notice-review-actions button { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--ink-muted); cursor:pointer; }
.notice-review-actions button:first-child { color:var(--accent); }
.notice-review-actions button:last-child:hover,.notice-review-actions button:last-child:focus-visible { color:#b54d48; background:#fff1f0; }
.notice-review-actions button:hover,.notice-review-actions button:focus-visible { background:var(--panel-soft,var(--bg)); outline:none; }
.notice-review-actions .notice-icon { width:14px; height:14px; }
.notice-board-frame { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; width:100%; margin:8px 0 0; }
.notice-paper { width:100%; max-height:var(--notice-paper-max-height,calc(100dvh - var(--nav-h, 56px) - 92px)); margin:0; padding:22px clamp(18px,3vw,40px) 48px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; background:var(--surface,#fff); color:var(--ink); }
.notice-paper::-webkit-scrollbar { display:none; width:0; height:0; }
body.notice-mode .notice-paper { box-sizing:border-box; height:var(--notice-paper-max-height); max-height:var(--notice-paper-max-height); overflow-y:auto; }
.notice-edition { display:flex; justify-content:space-between; gap:12px; padding-bottom:7px; border-bottom:1px solid var(--border); color:var(--ink-secondary); font:600 11px var(--font-body); }
.notice-mast { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:12px 0 15px; }
.notice-mast h1 { margin:0; font:600 38px/1.15 Georgia,"Songti SC","SimSun",serif; letter-spacing:0; }
.notice-mast span { padding-bottom:5px; font-size:12px; color:var(--ink-secondary); white-space:nowrap; }
.notice-display-state { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:0 0 10px; color:var(--ink-secondary); font:500 12px var(--font-body); }
.notice-display-state button { border:0; padding:0; background:transparent; color:var(--accent); font:600 12px var(--font-body); cursor:pointer; }
.notice-filters { display:flex; align-items:end; gap:12px; flex-wrap:wrap; padding:9px 0 12px; border-top:3px double var(--ink); border-bottom:1px solid var(--border); }
.notice-filters label { display:flex; align-items:center; gap:6px; min-width:0; color:var(--ink-secondary); font-size:12px; font-weight:700; }
.notice-filters input,.notice-filters select { font:400 13px var(--font-body); min-height:30px; padding:4px 6px; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; color:var(--ink); max-width:100%; }
.notice-filters .notice-search { flex:1; min-width:170px; }
.notice-filters .notice-search input { flex:1; min-width:0; }
.notice-filters .notice-check { min-height:30px; }
.notice-filters .notice-check input { min-height:0; }
.notice-filter-count { display:none; }
.notice-filter-actions { display:flex; align-items:center; gap:4px; margin-left:auto; white-space:nowrap; }
.notice-match { padding:0 .08em; border-radius:2px; background:#ffe99a; color:inherit; box-shadow:inset 0 -1px 0 #d7a900; }
.notice-list { padding-bottom:20px; }
.notice-feature-row { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.85fr); grid-template-areas:"lead rail" "secondary secondary"; gap:18px 28px; padding:20px 0 24px; }
.notice-rail { min-width:0; padding-left:24px; border-left:1px solid var(--border); }
.notice-rail-heading { padding-bottom:8px; border-bottom:2px solid var(--ink); color:var(--ink-secondary); font-size:11px; font-weight:700; }
.notice-below { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; border-top:3px double var(--ink); padding-top:18px; }
.notice-post { min-width:0; overflow-wrap:anywhere; }
.notice-post header { display:flex; flex-direction:column; align-items:stretch; }
.notice-author-row { display:flex; align-items:center; gap:9px; min-width:0; }
.notice-avatar { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; overflow:hidden; border-radius:50%; background:var(--panel-soft,var(--bg)); color:var(--ink-secondary); font:700 13px var(--font-body); }
.notice-avatar img { width:100%; height:100%; object-fit:cover; }
.notice-byline { display:flex; flex:1; flex-wrap:wrap; align-items:center; gap:5px 8px; min-width:0; font-size:11px; color:var(--ink-muted); }
.notice-author-main { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.notice-byline b { color:var(--ink); font-weight:700; }
.notice-byline time { color:var(--ink-muted); }
.notice-post h2 { margin:10px 0 5px; font:600 19px/1.38 Georgia,"Songti SC","SimSun",serif; letter-spacing:0; }
.notice-story-marker { display:flex; align-items:center; width:calc(100% + 40px); min-height:34px; margin:-18px -20px 16px; padding:7px 14px; box-sizing:border-box; background:var(--ink); color:#fff; font:700 12px/1 var(--font-body); }
.notice-story-marker.is-pinned { background:var(--ink); }
.notice-post-lead { padding:20px 24px 22px; border-top:3px solid var(--ink); background:var(--panel-soft,var(--bg)); }
.notice-post-lead .notice-avatar { width:38px; height:38px; flex-basis:38px; font-size:16px; }
.notice-post-lead h2 { margin-top:14px; font-size:28px; line-height:1.28; max-width:680px; }
.notice-post-lead .notice-content { padding-top:14px; font-size:15px; line-height:1.75; }
.notice-post-brief { padding:14px 0 17px; border-bottom:1px solid var(--border); }
.notice-post-brief .notice-avatar { width:26px; height:26px; flex-basis:26px; font-size:11px; }
.notice-post-brief h2 { margin-top:8px; font-size:18px; }
.notice-post-brief .notice-content { padding-top:7px; font-size:12px; color:var(--ink-secondary); }
.notice-post-standard { display:grid; grid-template-rows:auto auto auto auto; align-content:start; padding:13px 0 22px; border-top:1px solid var(--border); margin-bottom:12px; }
.notice-post-standard header { display:grid; grid-template-rows:var(--notice-author-h,auto) var(--notice-title-h,auto); align-content:start; }
.notice-post-standard .notice-author-row { align-self:start; min-height:var(--notice-author-h,auto); }
.notice-post-standard h2 { font-size:17px; }
.notice-post-standard h2 { min-height:var(--notice-title-h,auto); box-sizing:border-box; }
.notice-post-standard .notice-content { min-height:var(--notice-content-h,auto); box-sizing:border-box; padding-top:8px; color:var(--ink-secondary); }
.notice-post-standard .notice-tags { min-height:var(--notice-tags-h,auto); box-sizing:border-box; align-self:start; }
.notice-label { display:inline-block; font:500 11px/1.6 var(--font-body); padding:0; color:var(--ink-secondary); }
.notice-label.pin { color:#a54a11; }
.notice-label.pending { color:#977214; }
.notice-label.expiry { color:var(--ink-secondary); }
.notice-label.group { color:var(--accent); border:0; background:transparent; cursor:pointer; }
.notice-post-actions { display:flex; gap:1px; flex:none; align-items:center; margin-left:auto; padding-left:5px; }
.notice-tool,.notice-post-actions button { border:1px solid transparent; padding:5px 7px; min-width:30px; min-height:30px; background:transparent; color:var(--ink-secondary); border-radius:4px; cursor:pointer; font:500 12px var(--font-body); }
.notice-tool:hover { background:var(--bg); border-color:var(--border); }
.notice-post-actions button { display:grid; place-items:center; width:26px; height:26px; min-width:26px; min-height:26px; padding:0; border:0; border-radius:50%; color:var(--ink-muted); opacity:.68; transition:background var(--transition,120ms),color var(--transition,120ms),opacity var(--transition,120ms); }
.notice-post-actions button .notice-icon { width:14px; height:14px; }
.notice-post-actions button:hover,.notice-post-actions button:focus-visible { background:var(--panel-soft,var(--bg)); color:var(--ink); opacity:1; outline:none; }
.notice-post-actions button:focus-visible { box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent); }
.notice-post-actions button[data-action="request"],.notice-post-actions button[data-action="approve"] { color:var(--accent); }
.notice-post-actions button[data-action="unpin"] { color:#a54a11; }
.notice-post-actions button[data-action="delete"]:hover,.notice-post-actions button[data-action="delete"]:focus-visible,.notice-post-actions button[data-action="reject"]:hover,.notice-post-actions button[data-action="reject"]:focus-visible { color:#b54d48; background:#fff1f0; }
.notice-content { padding:12px 0 0; line-height:1.7; font-size:13px; color:var(--ink); overflow-wrap:anywhere; }
.notice-content p,.notice-editor p { margin:0 0 10px; }
.notice-content img,.notice-editor img { width:auto; min-width:min(100%,280px); max-width:100%; height:auto; max-height:min(72dvh,680px); object-fit:contain; object-position:center; border-radius:4px; }
.notice-content img { cursor:zoom-in; display:block; margin:8px auto; }
.notice-post-brief .notice-content img { max-height:min(300px,40dvh); }
.notice-post-standard .notice-content img { max-height:min(280px,36dvh); }
.notice-content img:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.notice-content blockquote,.notice-editor blockquote { border-left:3px solid var(--accent); padding-left:12px; margin:12px 0; color:var(--ink-muted); }
.notice-content pre { white-space:pre-wrap; background:var(--bg); padding:10px; }
.notice-content a { color:var(--accent); text-decoration:underline; }
.notice-tags { margin:12px 0 0; display:flex; gap:10px; flex-wrap:wrap; }
.notice-tags button { padding:0; background:none; border:0; color:var(--accent); font-size:12px; cursor:pointer; }
.notice-targets { max-width:380px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.notice-story { margin-top:4px; min-width:0; }
.notice-story > summary { display:flex; align-items:start; justify-content:space-between; gap:8px; cursor:pointer; list-style:none; }
.notice-story > summary::-webkit-details-marker { display:none; }
.notice-story h2 { margin:0; font:600 14px/1.5 var(--font-body); }
.notice-story-arrow { color:var(--ink-secondary); font-size:12px; }
.notice-story[open] .notice-story-arrow { transform:rotate(90deg); }
.notice-story[open] + .notice-excerpt { display:none; }
.notice-excerpt { margin-top:3px; color:var(--ink-secondary); font-size:12px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.notice-scope { position:relative; min-width:140px; max-width:100%; color:var(--ink-secondary); font-size:12px; }
.notice-scope > summary { display:flex; align-items:center; gap:8px; min-height:32px; padding:4px 8px; box-sizing:border-box; border:1px solid var(--border); border-radius:4px; cursor:pointer; list-style:none; background:var(--surface); }
.notice-scope > summary::-webkit-details-marker { display:none; }
.notice-scope-summary { margin-left:auto; color:var(--accent); font-weight:500; }
.notice-scope-menu { position:absolute; top:calc(100% + 4px); left:0; width:280px; max-width:calc(100vw - 64px); box-sizing:border-box; padding:8px; z-index:20; background:var(--surface); border:1px solid var(--border); border-radius:4px; box-shadow:var(--shadow-lg,0 8px 24px #0002); }
.notice-scope-menu > input { width:100%; box-sizing:border-box; min-height:32px; margin-bottom:6px; border:1px solid var(--border); padding:5px 8px; }
.notice-scope-options { max-height:220px; overflow-y:auto; }
.notice-scope .notice-scope-options label { display:flex; flex-direction:row; align-items:start; gap:8px; padding:6px; font-weight:400; white-space:normal; overflow-wrap:anywhere; }
.notice-scope-options label[hidden] { display:none; }
.notice-scope-options input[type="checkbox"] { width:14px; height:14px; min-height:0; padding:0; margin:2px 0 0; flex:none; }
.notice-scope-options label:hover { background:var(--panel-soft); }
.notice-scope-menu > button { border:0; background:transparent; color:var(--accent); padding:6px; margin-top:4px; font:inherit; cursor:pointer; }
.notice-scope-empty { display:block; padding:8px; }
.notice-compose-scope-field { display:flex; flex-direction:column; gap:5px; min-width:0; font-size:12px; color:var(--ink-muted); }
#notice-compose-scope { display:flex; flex-wrap:wrap; gap:6px; }
#notice-compose-scope .notice-scope { flex:1; min-width:110px; }
#notice-compose-scope .notice-scope:last-child .notice-scope-menu { left:auto; right:0; }
@media(max-width:700px) {
  .notice-filters .notice-scope { flex:1 1 130px; }
  .notice-filters .notice-scope:nth-child(2) .notice-scope-menu { left:auto; right:0; }
}

.notice-composer { position:fixed; z-index:90; right:24px; bottom:22px; width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 90px); flex-direction:column; background:var(--surface,#fff); border:1px solid var(--border); border-radius:8px; box-shadow:0 10px 45px #0003; overflow:hidden; }
.notice-composer.expanded { width:min(940px,calc(100vw - 32px)); height:min(800px,calc(100dvh - 90px)); }
.notice-compose-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 16px; border-bottom:1px solid var(--border); }
.notice-compose-head strong { font-size:14px; }
.notice-compose-fields { padding:12px 16px 8px; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.notice-compose-fields label { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--ink-muted); min-width:0; }
.notice-compose-fields .notice-title { grid-column:1 / -1; }
.notice-compose-fields input,.notice-compose-fields select,.notice-compose-fields textarea { width:100%; box-sizing:border-box; padding:7px 8px; border:1px solid var(--border); border-radius:4px; background:var(--surface,#fff); color:var(--ink); font:400 13px var(--font-body); }
.notice-compose-fields textarea { min-height:54px; resize:vertical; line-height:1.45; }
.notice-expiry { grid-column:1 / -1; display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--ink-muted); }
.notice-expiry[hidden] { display:none; }
.notice-expiry-options { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.notice-expiry-options button { min-height:32px; padding:5px 9px; border:1px solid var(--border); border-radius:4px; background:var(--surface,#fff); color:var(--ink-secondary); cursor:pointer; font:500 12px var(--font-body); }
.notice-expiry-options button[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); background:var(--accent-soft); }
.notice-expiry-options label { margin-left:auto; flex-direction:row; align-items:center; white-space:nowrap; }
.notice-expiry-options input[type="date"] { width:145px; min-height:32px; }
.notice-editor-format { padding:8px 12px 6px; display:grid; grid-template-columns:minmax(150px,1fr) minmax(110px,.7fr); gap:8px; background:var(--bg); border-top:1px solid var(--border); }
.notice-editor-format select { width:100%; min-width:0; min-height:30px; padding:4px 8px; border:1px solid var(--border); border-radius:4px; background:var(--surface,#fff); color:var(--ink); font:400 12px var(--font-body); }
.notice-editor-toolbar { padding:6px 12px 8px; display:flex; align-items:center; flex-wrap:wrap; gap:3px; background:var(--bg); border-bottom:1px solid var(--border); }
.notice-editor-toolbar input[type="color"] { width:27px; height:28px; padding:2px; border:1px solid var(--border); border-radius:3px; background:transparent; cursor:pointer; }
.notice-toolbar-divider { width:1px; height:22px; background:var(--border); margin:0 4px; }
.notice-editor { min-height:180px; max-height:42dvh; overflow:auto; padding:16px; font-size:14px; line-height:1.65; outline:none; color:var(--ink); flex:1; overflow-wrap:anywhere; }
.notice-composer.expanded .notice-editor { max-height:none; }
.notice-editor:focus { box-shadow:inset 0 0 0 1px var(--accent); }
.notice-compose-footer { display:flex; flex-wrap:wrap; gap:10px; align-items:center; border-top:1px solid var(--border); padding:10px 16px; font-size:12px; }
.notice-compose-footer label { display:flex; gap:5px; align-items:center; }
.notice-status { color:var(--ink-muted); flex:1; min-width:80px; }
.notice-status.error { color:#bf4942; }
.notice-image-dialog { border:1px solid var(--border); border-radius:6px; padding:12px; background:var(--surface,#fff); max-width:94vw; max-height:90dvh; overflow:auto; }
.notice-image-dialog > button { position:sticky; top:0; float:right; z-index:1; background:var(--surface,#fff); }
.notice-image-dialog::backdrop { background:#0009; }
.notice-image-dialog img { width:auto; max-width:86vw; height:auto; max-height:78dvh; display:block; margin:auto; object-fit:contain; }
.notice-page { display:flex; justify-content:center; align-items:center; gap:10px; min-height:38px; padding:4px 12px; color:var(--ink-muted); font-size:12px; line-height:1; }
body.notice-mode #view-sales #pager { width:100%; margin:0; background:var(--surface,#fff); }
.notice-paper { padding:10px clamp(14px,2vw,24px) 16px; }
.notice-mast { align-items:center; padding:2px 0 8px; }
.notice-mast h1 { font:600 25px/1.2 Georgia,"Songti SC","SimSun",serif; }
.notice-mast span { padding:0; font-size:11px; }
.notice-filters { gap:6px 10px; padding:6px 0; border-top:2px solid var(--ink); }
.notice-filter-count { display:block; margin-left:auto; align-self:center; color:var(--ink-muted); font-size:11px; white-space:nowrap; }
.notice-list { padding:0; }
.notice-feature-row { grid-template-columns:minmax(0,1.55fr) minmax(290px,.85fr); grid-template-areas:"lead rail" "secondary secondary"; grid-template-rows:auto; gap:16px 24px; padding:10px 0 12px; border-bottom:3px double var(--ink); }
.notice-feature-solo { grid-template-columns:minmax(0,1fr); grid-template-areas:"lead"; }
.notice-rail { padding-left:16px; }
.notice-rail-heading { padding:0 0 7px; border-bottom:2px solid var(--ink); color:var(--ink); font-size:12px; }
.notice-post-lead { grid-area:lead; padding:0; border:0; background:transparent; }
.notice-feature-secondary { grid-area:secondary; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; min-width:0; padding:14px 0 0; border-top:1px solid var(--border); }
.notice-feature-secondary .notice-post-standard { padding:8px 0 10px; }
.notice-rail { grid-area:rail; }
.notice-post-lead .notice-avatar { width:24px; height:24px; flex-basis:24px; font-size:11px; }
.notice-post-lead .notice-story h2 { margin:7px 0 4px; max-width:32ch; font:600 21px/1.28 Georgia,"Songti SC","SimSun",serif; }
.notice-story-marker { width:max-content; min-height:0; margin:0 0 10px; padding:4px 8px; background:#a43e37; font-size:10px; }
.notice-story-marker.is-pinned { background:#a43e37; }
.notice-post-lead .notice-excerpt { margin-top:5px; max-width:72ch; -webkit-line-clamp:3; font-size:12px; line-height:1.5; }
.notice-lead-media { display:flex; align-items:center; justify-content:center; width:100%; height:auto; margin:10px 0 0; overflow:visible; background:transparent; }
.notice-lead-media img { display:block; width:auto; max-width:100%; height:auto; max-height:min(70dvh,680px); object-fit:contain; cursor:zoom-in; }
.notice-post-brief { padding:6px 0; }
.notice-post-brief:first-of-type { padding-top:6px; }
.notice-post-brief .notice-avatar { width:22px; height:22px; flex-basis:22px; font-size:10px; }
.notice-post-brief .notice-story h2 { margin:3px 0 0; font:600 13px/1.35 var(--font-body); }
.notice-post-brief .notice-excerpt { display:none; }
.notice-post-brief .notice-tags { margin-top:4px; }
.notice-more { padding-top:7px; }
.notice-section-heading { display:flex; align-items:baseline; gap:8px; padding:0 0 6px; color:var(--ink); font:700 13px var(--font-body); }
.notice-section-heading span { color:var(--ink-muted); font-size:11px; font-weight:400; }
.notice-below { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 20px; border-top:1px solid var(--border); padding-top:0; }
.notice-post-standard { display:block; margin:0; padding:9px 0 10px; border-top:0; border-bottom:1px solid var(--border); }
.notice-post-standard header { display:block; }
.notice-post-standard .notice-story h2 { margin:4px 0 0; min-height:0; font:600 14px/1.4 var(--font-body); }
.notice-post-standard .notice-content,.notice-post-standard .notice-tags { min-height:0; }
.notice-post-standard .notice-excerpt { -webkit-line-clamp:2; font-size:11px; }
.notice-post-standard .notice-avatar { width:23px; height:23px; flex-basis:23px; font-size:10px; }
.notice-author-row { gap:7px; }
.notice-author-main { gap:7px; }
.notice-byline { gap:3px 7px; }
.notice-targets { max-width:min(100%,240px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.notice-story { margin-top:4px; }
.notice-story > summary { align-items:start; }
.notice-story-arrow { margin-top:4px; }
.notice-story[open] ~ .notice-excerpt,.notice-story[open] ~ .notice-lead-media { display:none; }
.notice-post .notice-content { min-height:0; padding-top:7px; color:var(--ink); font-size:12px; line-height:1.6; }
.notice-post .notice-content img { display:block; width:auto; min-width:min(100%,280px); max-width:100%; height:auto; max-height:min(72dvh,680px); margin:10px auto; object-fit:contain; object-position:center; cursor:zoom-in; }
.notice-post-lead .notice-content img { max-height:min(64dvh,620px); }
.notice-post-brief .notice-content img,.notice-post-standard .notice-content img { max-height:min(52dvh,520px); }
.notice-post .notice-tags { margin-top:5px; gap:7px; }
.notice-post .notice-tags:empty { display:none; }
.notice-post .notice-tags button { font-size:11px; }
.notice-post-actions button { opacity:.85; }
@media(max-width:1100px) {
  .notice-feature-row { grid-template-columns:minmax(0,1.35fr) minmax(230px,1fr); grid-template-areas:"lead rail" "secondary secondary"; gap:10px 16px; }
  .notice-feature-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0; border-left:0; border-top:1px solid var(--border); }
  .notice-below { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .notice-feature-row { grid-template-columns:minmax(0,1fr); grid-template-areas:"lead" "rail" "secondary"; gap:7px; }
  .notice-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding:6px 0 0; border-left:0; border-top:2px solid var(--ink); }
  .notice-rail-heading { grid-column:1/-1; }
  .notice-below { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body.notice-mode #view-sales .cat-tabs button { flex:1; padding:8px 4px; font-size:14px; white-space:nowrap; }
  .notice-board-frame { margin-top:8px; }
  .notice-paper { padding:8px 12px 16px; }
  .notice-mast h1 { font-size:21px; }
  .notice-mast span { max-width:45%; font-size:10px; text-align:right; white-space:normal; }
  .notice-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:8px 10px; }
  .notice-filters label { min-width:0; flex-direction:column; align-items:stretch; white-space:nowrap; }
  .notice-filters label select { min-width:0; }
  .notice-filters .notice-search { grid-column:auto; min-width:0; }
  .notice-filters .notice-check { align-self:center; }
  .notice-filter-actions { grid-column:auto; justify-self:end; }
  .notice-filter-count { display:none; }
  .notice-post-lead .notice-story h2 { font-size:18px; }
  .notice-rail { display:block; }
  .notice-rail-heading { padding-top:0; }
  .notice-feature-secondary { display:block; }
  .notice-post .notice-content img,.notice-post-lead .notice-content img,.notice-post-brief .notice-content img,.notice-post-standard .notice-content img { max-height:min(72dvh,680px); }
  .notice-feature-secondary .notice-post-standard { padding:7px 0; border-bottom:1px solid var(--border); }
  .notice-below { display:block; }
  .notice-post-standard:nth-child(n) { display:block; padding:12px 0; border-right:0; border-bottom:1px solid var(--border); margin:0; }
  .notice-post-standard header,.notice-post-standard .notice-author-row,.notice-post-standard h2,.notice-post-standard .notice-content,.notice-post-standard .notice-tags { min-height:0; }
  .notice-composer { right:8px; bottom:8px; width:calc(100vw - 16px); max-height:calc(100dvh - 24px); }
  .notice-composer.expanded { width:calc(100vw - 16px); height:calc(100dvh - 24px); }
  .notice-compose-fields { padding:10px; }
  .notice-editor-format { grid-template-columns:1fr 1fr; padding-inline:10px; }
  .notice-editor-toolbar { padding-inline:10px; }
  .notice-fab { right:16px; bottom:16px; }
  .notice-review { right:16px; bottom:72px; }
}

/* Group-first announcement board. */
.notice-mast { align-items:center; }
.notice-mast > span { padding-bottom:0; }
.notice-mast .notice-kicker { display:block; margin:0 0 3px; padding:0; color:var(--ink-muted); font:700 9px/1.2 var(--font-body); letter-spacing:.08em; white-space:normal; }
.notice-filters { display:grid; grid-template-columns:minmax(220px,1.05fr) minmax(150px,.7fr) minmax(240px,1.35fr) auto auto; align-items:end; gap:10px; padding:11px 12px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--panel-soft,var(--bg)); }
.notice-filter-group { min-width:0; }
.notice-filter-group .notice-scope { width:100%; }
.notice-filters .notice-check { align-self:center; }
.notice-filter-actions { margin-left:0; justify-self:end; }
.notice-filter-count { display:block; }
.notice-scope-memory-hint { margin:-2px 0 8px; color:var(--ink-muted); font-size:10px; line-height:1.45; }
.notice-filters .notice-scope-menu { width:360px; max-height:min(520px,68dvh); overflow:auto; }
.notice-filters .notice-scope-options { max-height:min(340px,50dvh); }
.notice-scope-region { padding:4px 0 7px; }
.notice-scope-region + .notice-scope-region { border-top:1px solid var(--border); }
.notice-scope-region-title { display:flex; justify-content:space-between; gap:12px; padding:4px 6px 3px; color:var(--ink-secondary); font-size:10px; font-weight:700; }
.notice-scope-region-title small { color:var(--ink-muted); font-weight:400; }
.notice-group-filter-state { display:flex; align-items:center; gap:9px; min-width:0; margin:9px 0 0; padding:8px 10px; border-left:3px solid #315f84; background:#eef4f9; color:#244760; }
.notice-group-filter-state > span { flex:none; font-size:11px; font-weight:700; }
.notice-group-filter-chips { display:flex; flex:1; gap:5px; min-width:0; overflow-x:auto; scrollbar-width:thin; }
.notice-group-filter-chips button { display:inline-flex; flex:0 0 auto; align-items:center; gap:5px; max-width:260px; padding:4px 7px; border:1px solid #bfd0df; border-radius:4px; background:#fff; color:#244760; cursor:pointer; font:500 11px/1.3 var(--font-body); }
.notice-group-filter-chips button:hover { border-color:#315f84; }
.notice-group-filter-chips button b { color:#9b3f3f; font-size:13px; line-height:1; }
.notice-group-filter-clear { flex:none; padding:4px 7px; border:0; background:transparent; color:#315f84; cursor:pointer; font:700 11px var(--font-body); }
.notice-list-heading { display:flex; align-items:baseline; gap:9px; padding:16px 0 8px; border-bottom:1px solid var(--border); }
.notice-list-heading strong { color:var(--ink); font:700 13px var(--font-body); }
.notice-list-heading span { color:var(--ink-muted); font-size:10px; }
.notice-weekly-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:16px 0 28px; align-items:start; }
.notice-weekly-grid .notice-post { display:block; min-width:0; margin:0; padding:16px 18px 17px; border:1px solid var(--border); border-top:3px solid #456d8e; border-radius:6px; background:var(--surface,#fff); box-shadow:0 2px 9px #18324b0a; }
.notice-weekly-grid .notice-post-lead { grid-column:auto; border-top-color:#183b5b; }
.notice-weekly-grid .notice-post header { display:block; }
.notice-weekly-grid .notice-author-row { align-items:flex-start; }
.notice-weekly-grid .notice-byline { flex-direction:column; align-items:flex-start; gap:2px; }
.notice-meta-row { display:flex; flex-wrap:wrap; align-items:center; gap:3px 7px; min-width:0; color:var(--ink-muted); font-size:10px; }
.notice-meta-row time { color:var(--ink-muted); }
.notice-weekly-grid .notice-avatar { width:26px; height:26px; flex-basis:26px; font-size:11px; }
.notice-weekly-grid .notice-post-lead .notice-avatar { width:28px; height:28px; flex-basis:28px; font-size:12px; }
.notice-weekly-grid .notice-post h2 { margin:11px 0 0; font:650 18px/1.35 var(--font-body); }
.notice-weekly-grid .notice-post-lead h2 { max-width:50ch; font-size:18px; }
.notice-groups { display:flex; align-items:center; gap:5px; min-width:0; margin-top:9px; overflow:hidden; }
.notice-groups > span:first-child { flex:none; color:var(--ink-muted); font-size:10px; }
.notice-groups button,.notice-group-more { max-width:210px; overflow:hidden; padding:3px 7px; border:1px solid #d4e0ea; border-radius:4px; background:#f4f8fb; color:#315f84; text-overflow:ellipsis; white-space:nowrap; font:500 10px/1.35 var(--font-body); }
.notice-groups button { cursor:pointer; }
.notice-groups button:hover { border-color:#7d9db7; background:#eaf2f8; }
.notice-group-more { flex:none; color:var(--ink-secondary); }
.notice-weekly-grid .notice-excerpt { margin:8px 0 0; color:var(--ink-secondary); font-size:12px; line-height:1.65; -webkit-line-clamp:3; }
.notice-summary-copy { margin-top:10px; padding-top:9px; border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent); color:var(--ink); }
.notice-summary-copy p { margin:0; color:var(--ink); font:400 13px/1.78 var(--font-body); text-align:justify; text-justify:inter-ideograph; }
.notice-summary-copy strong { margin-right:.55em; color:var(--ink); font:700 11px/1.4 var(--font-body); }
.notice-post:has(.notice-weekly-details[open]) .notice-summary-copy { display:none; }
.notice-content ul,.notice-content ol,.notice-editor ul,.notice-editor ol { margin:8px 0 12px; padding-inline-start:1.65em; }
.notice-content li,.notice-editor li { padding-left:.18em; line-height:1.72; }
.notice-content li + li,.notice-editor li + li { margin-top:3px; }
.notice-weekly-details { margin-top:11px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.notice-weekly-details > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 2px; color:#315f84; cursor:pointer; list-style:none; font:700 12px var(--font-body); }
.notice-weekly-details > summary::-webkit-details-marker { display:none; }
.notice-weekly-details > summary::before { content:'+'; display:grid; place-items:center; width:19px; height:19px; margin-right:auto; border:1px solid #bfd0df; border-radius:50%; color:#315f84; font-size:14px; line-height:1; }
.notice-weekly-details[open] > summary::before { content:'−'; }
.notice-weekly-details > summary span { margin-right:auto; }
.notice-weekly-details > summary small { color:var(--ink-muted); font-size:10px; font-weight:400; }
.notice-weekly-details .notice-content { padding:4px 0 12px; }
.notice-weekly-details[open] .notice-content img:first-of-type { margin-top:13px; }
.notice-weekly-grid .notice-tags { margin-top:10px; gap:5px 9px; }
.notice-weekly-grid .notice-tags button { padding:0; border:0; background:transparent; color:#6d7f90; font-size:10px; }
.notice-weekly-grid .notice-tags button:hover { color:#315f84; }
@media(max-width:900px) {
  .notice-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .notice-search { grid-column:1/-1; }
  .notice-filter-actions { justify-self:end; }
  .notice-weekly-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:700px) {
  .notice-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; padding:9px 0; }
  .notice-filter-group,.notice-search { grid-column:1/-1; }
  .notice-filter-actions { grid-column:2; justify-self:end; }
  .notice-group-filter-state { align-items:flex-start; flex-wrap:wrap; }
  .notice-group-filter-chips { order:3; flex-basis:100%; }
  .notice-group-filter-clear { margin-left:auto; }
  .notice-weekly-grid { gap:10px; padding-top:10px; }
  .notice-weekly-grid .notice-post { padding:13px 14px 14px; }
  .notice-weekly-grid .notice-post h2,.notice-weekly-grid .notice-post-lead h2 { font-size:18px; }
  .notice-groups { flex-wrap:wrap; overflow:visible; }
  .notice-groups button,.notice-group-more { max-width:100%; }
}

