/* Announcements & memos (public/announcements.js), memo attachments on Documents, and the My notifications list.
   Uses the brand.css tokens. Each post has a colour: its type's, or the one chosen in the composer (ann-c-*). */
.ann-a-announcement{--ann-accent:#0b2861;--ann-ink:#0b2861;--ann-soft:#eef2fc;--ann-line:#d7e1fa;--ann-on:#fff}
.ann-a-memo{--ann-accent:#7c4fd0;--ann-ink:#5b2fa6;--ann-soft:#f5f0fd;--ann-line:#e3d8f8;--ann-on:#fff}
.ann-a-event{--ann-accent:#1d9a68;--ann-ink:#136a49;--ann-soft:#ebf7f1;--ann-line:#cde9da;--ann-on:#fff}
.ann-a-meeting{--ann-accent:#1b6fa8;--ann-ink:#135a8a;--ann-soft:#eaf3fa;--ann-line:#cfe3f2;--ann-on:#fff}
.ann-a-reminder{--ann-accent:#e0a024;--ann-ink:#875408;--ann-soft:#fff6e4;--ann-line:#f1e0b8;--ann-on:#3a2600}
.ann-a-celebration{--ann-accent:#d64570;--ann-ink:#b0315a;--ann-soft:#fdeef3;--ann-line:#f6d2de;--ann-on:#fff}
.ann-c-navy{--ann-accent:#0b2861;--ann-ink:#0b2861;--ann-soft:#eef2fc;--ann-line:#d7e1fa;--ann-on:#fff}
.ann-c-lime{--ann-accent:#93c01f;--ann-ink:#4f6705;--ann-soft:#f3f8e4;--ann-line:#dfeba8;--ann-on:#1f2b00}
.ann-c-teal{--ann-accent:#0f8a7e;--ann-ink:#0b6d63;--ann-soft:#e7f6f4;--ann-line:#c6e8e3;--ann-on:#fff}
.ann-c-violet{--ann-accent:#7c4fd0;--ann-ink:#5b2fa6;--ann-soft:#f5f0fd;--ann-line:#e3d8f8;--ann-on:#fff}
.ann-c-amber{--ann-accent:#e0a024;--ann-ink:#875408;--ann-soft:#fff6e4;--ann-line:#f1e0b8;--ann-on:#3a2600}
.ann-c-rose{--ann-accent:#d64570;--ann-ink:#b0315a;--ann-soft:#fdeef3;--ann-line:#f6d2de;--ann-on:#fff}

.ann-type{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;line-height:1;padding:6px 10px 6px 8px;border-radius:999px;color:var(--navy);background:var(--blue-soft);border:1px solid #d7e1fa;white-space:nowrap}
.ann-type svg{width:14px;height:14px}
.ann-t-memo{color:#5b2fa6;background:#f4effd;border-color:#e3d8f8}
.ann-t-event{color:#136a49;background:#eaf7f0;border-color:#cde9da}
.ann-t-meeting{color:#135a8a;background:#eaf3fa;border-color:#cfe3f2}
.ann-t-reminder{color:#875408;background:#fff6e4;border-color:#f1e0b8}
.ann-t-celebration{color:#b0315a;background:#fdeef3;border-color:#f6d2de}
.ann-new{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#4f6705;background:var(--lime-soft);border:1px solid #dfeba8;border-radius:999px;padding:4px 8px}
.ann-state{font-size:11px;font-weight:650;color:#6b5a1f;background:#fff6e4;border:1px solid #f1e0b8;border-radius:999px;padding:4px 8px}
.ann-level,.ann-pin{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;line-height:1;padding:5px 9px 5px 7px;border-radius:999px;white-space:nowrap}
.ann-level svg,.ann-pin svg{width:13px;height:13px}
.ann-urgent{color:#a4161a;background:#fdecec;border:1px solid #f5c2c2}
.ann-important{color:#875408;background:#fff6e4;border:1px solid #f1e0b8}
.ann-pin{font-weight:650;color:var(--navy);background:#eef2fc;border:1px solid #d7e1fa}
.ann-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ann-placeholder{color:#9aa5ba;font-weight:500}

/* Board */
.ann-tabs{display:flex;gap:6px;margin:0 0 14px;padding:5px;background:#eaf0f4;border-radius:12px;width:fit-content;max-width:100%;flex-wrap:wrap}
.ann-tabs a{padding:8px 14px;border-radius:8px;color:var(--text);font-size:13px;font-weight:550;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.ann-tabs a b{font-size:11px;background:#fff;border-radius:999px;padding:1px 7px;color:var(--navy)}
.ann-tabs a.active{background:#fff;color:var(--navy);box-shadow:0 1px 3px #0a22431a}
.ann-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.ann-filters a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;font-weight:550;text-decoration:none;transition:border-color .15s,background .15s}
.ann-filters a svg{width:15px;height:15px;color:var(--navy)}
.ann-filters a:hover{border-color:#bfcbe4}
.ann-filters a.active{background:var(--navy);border-color:var(--navy);color:#fff}
.ann-filters a.active svg{color:var(--lime)}
.ann-feed{display:grid;gap:14px;max-width:980px}
.ann-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;padding:16px 16px 16px 20px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--text);box-shadow:inset 4px 0 0 var(--ann-accent,var(--navy)),var(--shadow);transition:border-color .15s,box-shadow .15s,transform .15s}
.ann-card:hover{border-color:#bfcbe4;box-shadow:inset 4px 0 0 var(--ann-accent,var(--navy)),0 10px 26px #051f7314;transform:translateY(-1px)}
.ann-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ann-card.is-urgent{border-color:#f1c4c4;background:#fffbfb}
.ann-card.is-important{border-color:#efdcae;background:#fffdf7}
.ann-cover{display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#eef2f9}
.ann-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ann-cover-icon{display:grid;place-items:center;border:0}
.ann-cover-icon svg{width:42px;height:42px;opacity:.85}
.ann-cover-date{display:grid;place-items:center;background:var(--ann-soft,#eef2f9)}
.ann-card-body{display:flex;flex-direction:column;gap:7px;min-width:0;padding:2px 0}
.ann-title{font-size:18px;line-height:1.3;color:var(--ink);font-weight:700}
.ann-meta{font-size:12.5px;color:var(--muted)}
.ann-when{display:flex;align-items:flex-start;gap:6px;font-size:13px;font-weight:650;color:var(--ann-ink,var(--navy));line-height:1.4}
.ann-when svg{flex:none;width:15px;height:15px;margin-top:1px}
.ann-excerpt{font-size:14px;line-height:1.6;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ann-files{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--navy);margin-top:2px}
.ann-files svg{width:15px;height:15px}

/* Calendar tile (where and when) */
.ann-tile{flex:none;width:72px;display:flex;flex-direction:column;align-items:stretch;text-align:center;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--ann-line,#dfe6f5);box-shadow:0 4px 12px #0b28610d}
.ann-tile small{display:block;margin:0}
.ann-tile small:first-child{background:var(--ann-accent,var(--navy));color:var(--ann-on,#fff);font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding:5px 0}
.ann-tile b{display:block;font-size:28px;line-height:1.05;color:var(--ink);padding:7px 0 1px;font-weight:750}
.ann-tile small:last-child{font-size:11px;color:var(--muted);padding:0 0 7px}

/* One post */
.ann-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--navy);text-decoration:none;margin:0 0 14px;min-height:32px}
.ann-back:hover{text-decoration:underline}
.ann-article{max-width:900px;padding:30px 34px 34px;border-top:5px solid var(--ann-accent,var(--navy))}
.ann-article h1{margin:12px 0 8px;font-size:30px;line-height:1.2;color:var(--ink);letter-spacing:-.01em;word-break:break-word}
.ann-article-meta{margin:0;color:var(--muted);font-size:13.5px}
.ann-article-meta b{color:var(--ink);font-weight:600}
.ann-article-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.ann-article-actions .btn{margin:0}
.ann-banner{display:flex;gap:10px;align-items:center;margin:0 0 18px;padding:11px 14px;border-radius:12px;font-size:14px;line-height:1.45}
.ann-banner svg{flex:none}
.ann-banner-urgent{color:#8f1418;background:#fdecec;border:1px solid #f5c2c2}
.ann-banner-important{color:#7a4b06;background:#fff6e4;border:1px solid #f1e0b8}
.ann-ww-card{display:flex;gap:18px;align-items:flex-start;margin-top:22px;padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,var(--ann-soft,#eef2fc),#fff 75%);border:1px solid var(--ann-line,#d7e1fa)}
.ann-ww-text{min-width:0;flex:1}
.ann-ww-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.ann-soon{letter-spacing:0;text-transform:none;font-size:12px;font-weight:700;color:var(--ann-ink,var(--navy));background:#fff;border:1px solid var(--ann-line,#d7e1fa);border-radius:999px;padding:3px 9px}
.ann-ww-line{display:flex;gap:9px;align-items:flex-start;margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--text);overflow-wrap:anywhere}
.ann-ww-line svg{flex:none;width:17px;height:17px;margin-top:2px;color:var(--ann-ink,var(--navy))}
.ann-ww-line a{color:var(--navy);font-weight:600}
.ann-ww-when{margin-top:0;font-size:17px;font-weight:650;color:var(--ink)}
.ann-ww-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.ann-ww-actions .btn{margin:0;display:inline-flex;align-items:center;gap:6px}
.ann-ww-actions .btn svg{width:16px;height:16px}
.ann-ww-card.is-past{background:#f6f7f9;border-color:var(--line)}
.ann-ww-card.is-past .ann-tile small:first-child{background:#8a94a6;color:#fff}
.ann-inert{pointer-events:none;opacity:.75}
.ann-body{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);font-size:15.5px;line-height:1.75;color:var(--ink);overflow-wrap:anywhere}
.ann-body p{margin:0 0 14px}
.ann-body h2,.ann-body h3,.ann-body h4{color:var(--ink);line-height:1.3;margin:24px 0 10px}
.ann-body h2{font-size:22px}.ann-body h3{font-size:19px}.ann-body h4{font-size:16.5px}
.ann-body ul,.ann-body ol{margin:0 0 14px;padding-left:26px}
.ann-body li{margin:5px 0;padding-left:2px}
.ann-body li::marker{color:var(--ann-ink,var(--navy));font-weight:700}
.ann-body blockquote{margin:0 0 14px;padding:12px 16px;border-left:4px solid var(--ann-accent,var(--navy));background:var(--ann-soft,#eef2fc);border-radius:0 12px 12px 0}
.ann-body a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ann-body>:first-child{margin-top:0}.ann-body>:last-child{margin-bottom:0}
.ann-cta{margin:24px 0 0}
.ann-cta-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 22px;border-radius:12px;font-size:15px;font-weight:650;background:var(--ann-accent,var(--navy));border:1px solid var(--ann-accent,var(--navy));color:var(--ann-on,#fff);text-decoration:none}
.ann-cta-btn:hover{filter:brightness(1.07);color:var(--ann-on,#fff)}
.ann-cta-btn svg{width:16px;height:16px}
.ann-gallery{display:grid;gap:10px;margin-top:24px}
.ann-g1{grid-template-columns:1fr}.ann-g2{grid-template-columns:1fr 1fr}.ann-g3{grid-template-columns:repeat(3,1fr)}
/* Posted pictures show whole (never cropped); click one for the original. */
.ann-gallery{align-items:start}
.ann-gallery figure{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#f3f5f9;border:1px solid var(--line)}
.ann-gallery a{display:block}
.ann-gallery img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;transition:opacity .2s}
.ann-gallery a:hover img{opacity:.92}
.ann-fig-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px}
.ann-fig-btn{margin:0;min-height:32px;padding:4px 10px;font-size:12px;background:#ffffffe6}
.ann-cover-badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#fff;background:#0b2861d9;border-radius:999px;padding:5px 9px}
.ann-sub{display:flex;align-items:center;gap:8px;margin:26px 0 10px;font-size:15px;color:var(--ink)}
.ann-sub svg{color:var(--navy)}
.ann-docs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ann-docs li{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}
.ann-doc-icon{flex:none;width:42px;height:48px;border-radius:8px;display:grid;place-items:end center;padding-bottom:6px;font-size:10px;font-weight:700;letter-spacing:.4px;color:#fff;background:#6b7a99}
.ann-doc-icon.ext-pdf{background:#c2413b}.ann-doc-icon.ext-doc,.ann-doc-icon.ext-docx{background:#2b5fb4}.ann-doc-icon.ext-xls,.ann-doc-icon.ext-xlsx{background:#1e7d4a}.ann-doc-icon.ext-ppt,.ann-doc-icon.ext-pptx{background:#c75b2a}
.ann-doc-text{flex:1;min-width:0;display:flex;flex-direction:column}
.ann-doc-text strong{font-size:14px;color:var(--ink);font-weight:600;word-break:break-word}
.ann-doc-text small{font-size:12px;color:var(--muted)}
.ann-doc-actions{display:flex;gap:6px;flex:none;align-items:center}
.ann-doc-actions .btn{margin:0}
.ann-hint{display:flex;gap:8px;align-items:flex-start;margin:22px 0 0;padding:12px 14px;border-radius:12px;background:var(--blue-soft);color:var(--navy);font-size:13px;line-height:1.5}
.ann-hint svg{flex:none;margin-top:1px}
.ann-settings{margin:14px 0 0;font-size:12.5px;color:var(--muted)}

/* Composer: the form on the left, a live preview on the right (stacked on narrow screens). */
dialog.ann-composer-dialog{width:min(1280px,calc(100% - 32px))}
.ann-composer{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,450px);gap:28px;align-items:start}
.ann-compose .field{margin-top:14px}
.ann-compose .field .ann-opt,.ann-opt{display:inline;margin:0 0 0 4px;font-size:12px;font-weight:500;color:var(--muted)}
.ann-type-pick{border:0;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.ann-type-pick legend,.ann-seg legend,.ann-swatches legend{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;padding:0}
.ann-type-pick label{cursor:pointer}
.ann-type-pick input,.ann-seg input,.ann-swatches input{position:absolute;opacity:0;pointer-events:none}
.ann-type-pick span{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:600;color:var(--ink)}
.ann-type-pick span svg{width:16px;height:16px;color:var(--navy)}
.ann-type-pick input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.ann-type-pick input:checked+span svg{color:var(--lime)}
.ann-type-pick input:focus-visible+span,.ann-seg input:focus-visible+span,.ann-swatches input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.ann-sec{margin-top:18px;padding:16px 18px 18px;border:1px solid var(--line);border-radius:16px;background:#fbfcfe}
.ann-sec .field{margin-top:12px}
.ann-sec-h{display:flex;align-items:center;gap:8px;margin:0;font-size:14.5px;color:var(--ink)}
.ann-sec-h svg{color:var(--navy)}
.ann-sec-note{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.ann-switch-row{display:flex;align-items:center;gap:12px;cursor:pointer}
.ann-sec-icon{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff;border:1px solid #dde3f1;color:var(--navy)}
.ann-sec-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ann-sec-title strong{font-size:15px;color:var(--ink)}
.ann-sec-title small{font-size:12.5px;color:var(--muted);line-height:1.4}
.ann-ww.is-on{background:#f5f8ff;border-color:#cbd8f3}
.ann-ww.is-on .ann-sec-icon{background:var(--navy);border-color:var(--navy);color:var(--lime)}
.ann-ww-fields{margin-top:4px}
.ann-switch{position:relative;flex:none;width:48px;height:28px}
.ann-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.ann-switch i{position:absolute;inset:0;border-radius:999px;background:#c9d1e0;transition:background .15s}
.ann-switch i::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000033;transition:transform .15s}
.ann-switch input:checked+i{background:var(--navy)}
.ann-switch input:checked+i::after{transform:translateX(20px)}
.ann-switch input:focus-visible+i{outline:2px solid var(--focus);outline-offset:2px}
.ann-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.ann-check{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:14px;font-weight:550;color:var(--ink);cursor:pointer;width:fit-content;max-width:100%}
.ann-check input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--navy)}
.ann-check span{display:inline-flex;align-items:center;gap:6px}
.ann-check svg{width:16px;height:16px;color:var(--navy)}
.ann-editor{display:block}
.ann-seg{border:0;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap}
.ann-seg legend{width:100%}
.ann-seg label{cursor:pointer}
.ann-seg span{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--ink);margin-left:-1px}
.ann-seg label:first-of-type span{border-radius:10px 0 0 10px;margin-left:0}
.ann-seg label:last-of-type span{border-radius:0 10px 10px 0}
.ann-seg span svg{width:15px;height:15px}
.ann-seg input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff;position:relative}
.ann-seg-important input:checked+span{background:#fff6e4;border-color:#e0a024;color:#7a4b06}
.ann-seg-urgent input:checked+span{background:#fdecec;border-color:#d64545;color:#8f1418}
.ann-swatches{border:0;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ann-swatches legend{width:100%}
.ann-swatches label{cursor:pointer;display:block}
.ann-swatch{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ann-accent);border:3px solid #fff;box-shadow:0 0 0 1px #cdd6e5}
.ann-swatch-auto{width:auto;height:34px;padding:0 12px;border-radius:999px;border:1px solid #cdd6e5;box-shadow:none;background:#fff;font-size:12.5px;font-weight:600;color:var(--ink)}
.ann-swatches input:checked+.ann-swatch{box-shadow:0 0 0 2px var(--ink)}
.ann-swatches input:checked+.ann-swatch-auto{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.ann-attach{margin-top:12px}
.ann-drop{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px dashed #b6c0d8;border-radius:14px;background:#f7f9fd;cursor:pointer;transition:border-color .15s,background .15s}
.ann-drop:hover,.ann-drop:focus-within{border-color:var(--navy);background:#eef2fc}
.ann-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ann-drop-icon{flex:none;width:42px;height:42px;border-radius:11px;background:#fff;border:1px solid #dde3f1;display:grid;place-items:center;color:var(--navy)}
.ann-drop strong{display:block;font-size:14px;color:var(--ink)}
.ann-drop small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.ann-picked{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.ann-picked li{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;color:var(--ink)}
.ann-picked li img,.ann-picked-icon{flex:none;width:44px;height:44px;border-radius:8px;object-fit:cover;background:#eef2f9}
.ann-picked-icon{display:grid;place-items:center;color:var(--navy)}
.ann-picked-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ann-picked-name small{display:block;font-weight:500;color:var(--muted);font-size:12px}
.ann-picked li.is-gone{opacity:.55}
.ann-picked li.is-gone .ann-picked-name{text-decoration:line-through}
.ann-cover-pick{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--navy);cursor:pointer;padding:4px 8px;border-radius:999px;border:1px solid #d7e1fa;background:#f5f8ff}
.ann-cover-pick input{margin:0;accent-color:var(--navy)}
.ann-unpick{border:0;background:none;font-size:20px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}
.ann-unpick:hover{color:var(--red)}
.ann-undo{border:0;background:none;font-size:12.5px;font-weight:650;color:var(--navy);cursor:pointer;text-decoration:underline}
.ann-already{margin:10px 0 0;font-size:12.5px;color:var(--muted)}
.ann-progress{margin:14px 0 0;font-size:13px;font-weight:600;color:var(--navy)}
.ann-preview{position:sticky;top:92px;border:1px solid var(--line);border-radius:18px;background:#f4f6fa;overflow:hidden}
.ann-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line);background:#fff}
.ann-preview-head strong{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink)}
.ann-preview-head strong svg{color:var(--navy)}
.ann-preview-tabs{display:flex;gap:4px;padding:3px;background:#eaf0f4;border-radius:10px}
.ann-preview-tabs button{border:0;background:none;padding:6px 12px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer}
.ann-preview-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 1px 3px #0a22431a}
.ann-preview-body{padding:14px;max-height:calc(100dvh - 300px);overflow:auto}
.ann-preview .ann-article{margin:0;max-width:none;padding:20px 20px 22px;box-shadow:none}
.ann-preview .ann-article h1{font-size:22px}
.ann-preview .ann-body{font-size:14.5px;margin-top:18px;padding-top:16px}
.ann-preview .ann-ww-card{flex-direction:column;gap:12px;padding:14px}
.ann-preview .ann-ww-when{font-size:15.5px}
.ann-preview .ann-gallery img{max-height:260px}
.ann-preview .ann-card{grid-template-columns:1fr;gap:12px;box-shadow:inset 4px 0 0 var(--ann-accent,var(--navy))}
.ann-preview .ann-card:hover{transform:none}
.ann-preview .ann-cover{aspect-ratio:16/9}
.ann-preview-note{margin:10px 2px 0;font-size:12px;line-height:1.5;color:var(--muted)}
/* The footer switch (notify everyone) sits beside the buttons, always in view. */
.ann-notify-foot{display:inline-flex;align-items:center;gap:9px;margin-right:auto;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
.ann-notify-foot input{width:18px;height:18px;margin:0;accent-color:var(--navy)}
.ann-notify-foot:has(input:checked){border-color:#c9d6f3;background:#f5f8ff;color:var(--navy)}
.ann-publish-notify{margin-top:16px;align-items:flex-start}
.ann-publish-notify span{display:block;line-height:1.45}
@media(max-width:1000px){
 .ann-composer{grid-template-columns:minmax(0,1fr)}
 .ann-preview{position:static}
 .ann-preview-body{max-height:none}
}
@media(max-width:700px){
 .dialog-foot:has(.ann-notify-foot){flex-wrap:wrap}
 .ann-notify-foot{flex-basis:100%;margin-right:0}
 .ann-grid{grid-template-columns:1fr}
 .ann-sec{padding:14px}
}

/* Dashboard */
.ann-dash{margin-top:20px}
.ann-dash .card-head h2{display:flex;align-items:center;gap:8px}
.ann-dash .card-head h2 svg{color:var(--navy)}
.ann-dash-actions{display:flex;gap:6px;align-items:center}
.ann-dash-actions .btn{margin:0}
.ann-dash-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px 20px 20px}
.ann-dash-item{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd;text-decoration:none;color:var(--text);min-width:0;box-shadow:inset 0 3px 0 var(--ann-accent,var(--navy));transition:border-color .15s,box-shadow .15s}
.ann-dash-item:hover{border-color:#bfcbe4;box-shadow:inset 0 3px 0 var(--ann-accent,var(--navy)),0 8px 20px #051f730f}
.ann-dash-item.is-urgent{border-color:#f1c4c4;background:#fffbfb}
.ann-dash-item.is-important{border-color:#efdcae;background:#fffdf7}
.ann-dash-item img,.ann-dash-icon{width:100%;aspect-ratio:16/9;border-radius:10px;object-fit:cover;display:block;background:#eef2f9}
.ann-dash-icon{display:grid;place-items:center;border:0}
.ann-dash-icon svg{width:34px;height:34px}
.ann-dash-date{background:var(--ann-soft,#eef2f9)}
.ann-dash-date .ann-tile{width:64px}
.ann-dash-date .ann-tile b{font-size:24px}
.ann-dash-text{display:flex;flex-direction:column;gap:5px;min-width:0}
.ann-dash-text strong{font-size:15px;color:var(--ink);line-height:1.35}
.ann-dash-text small{font-size:12px;color:var(--muted)}
.ann-dash-text .ann-excerpt{font-size:13px;-webkit-line-clamp:2}
.ann-dash-empty{grid-column:1/-1;margin:0;color:var(--muted);font-size:14px}

/* Documents: files attached to a memo or notice */
.doc-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.doc-files a{display:inline-flex;align-items:center;gap:5px;max-width:240px;padding:4px 9px;border-radius:999px;background:var(--blue-soft);color:var(--navy);font-size:12px;font-weight:600;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-files a:hover{text-decoration:underline}
.doc-attach-field input[type=file]{padding:9px}
.doc-register .row-actions{gap:6px;flex-wrap:wrap}
.doc-register .row-actions .btn{white-space:nowrap;margin:0}
@container (min-width:851px){.doc-register .record-header,.doc-register .record-row{grid-template-columns:minmax(180px,2fr) minmax(120px,1.1fr) minmax(100px,1fr) minmax(110px,1fr) 150px}}

/* My notifications: one roomy row each; line breaks in a message are kept. */
.note-list{padding:0;overflow:hidden}
.note-row{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--line)}
.note-row:last-of-type{border-bottom:0}
.note-row.is-unread{background:linear-gradient(90deg,#f4f7ff,#fff 70%);box-shadow:inset 4px 0 0 var(--navy)}
.note-main{flex:1;min-width:0;max-width:860px}
.note-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.note-title{font-size:16px;line-height:1.4;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.note-row:not(.is-unread) .note-title{font-weight:600;color:#33415c}
.note-new{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--navy);background:var(--blue-soft);border:1px solid #d7e1fa;border-radius:999px;padding:3px 8px;line-height:1.2}
.note-body{margin:10px 0 0;font-size:14.5px;line-height:1.7;color:var(--text);white-space:pre-line;overflow-wrap:anywhere}
.note-time{display:block;margin-top:10px;font-size:12.5px;color:var(--muted)}
.note-actions{display:flex;gap:8px;flex:none;align-items:center;padding-top:2px}
.note-actions .btn{margin:0;white-space:nowrap}
.note-foot{padding:14px 28px 20px;border-top:1px solid var(--line)}
.note-foot .list-footer{margin:0}

@media(max-width:1100px){.ann-dash-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .ann-card{grid-template-columns:1fr;gap:12px;padding:12px 12px 12px 16px}
 .ann-cover{aspect-ratio:16/9}
 .ann-article{padding:22px 18px 24px}
 .ann-article h1{font-size:24px}
 .ann-article-actions .btn{flex:1 1 100%}
 .ann-ww-card{flex-direction:column;gap:12px;padding:16px}
 .ann-ww-actions .btn{flex:1 1 auto;justify-content:center}
 .ann-g2,.ann-g3{grid-template-columns:1fr 1fr}
 .ann-docs li{flex-wrap:wrap}.ann-doc-actions{flex-basis:100%;padding-left:54px}
 .ann-dash-list{grid-template-columns:1fr;padding:12px 14px 16px}
 .ann-dash-item{flex-direction:row;align-items:flex-start}
 .ann-dash-item img,.ann-dash-icon{width:96px;flex:none;aspect-ratio:1}
 .ann-dash-date .ann-tile{width:58px}
 .note-row{flex-direction:column;gap:14px;padding:20px 18px}
 .note-title{font-size:16.5px}
 .note-body{font-size:15px}
 .note-actions{width:100%}
 .note-actions .btn{flex:1;justify-content:center}
 .note-foot{padding:12px 18px 18px}
}
/* r56: who a post is for */
.ann-aud{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;background:#eef2fc;color:#1b3583;font-size:11.5px;font-weight:700;letter-spacing:.01em}
.ann-aud svg{width:13px;height:13px}
.ann-aud-team{background:#f1f7d9;color:#3f5600}
.ann-aud-sec .ann-aud-pick{margin-bottom:10px}
.ann-aud-fixed{margin:0;font-size:14px;color:var(--text)}
.ann-aud-sec [hidden]{display:none}
