/* Shared inbox, publishing console and compact announcement strip. */
.modal-mask:has(.comm-center),.modal-mask:has(.comm-editor),.modal-mask:has(.comm-detail) { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; padding:16px; background:#030912d9; backdrop-filter:blur(8px); }
.modal:has(.comm-center),.modal:has(.comm-editor),.modal:has(.comm-detail) { box-sizing:border-box; max-height:calc(100dvh - 32px); overflow-y:auto; }
.comm-bell { position:relative; display:inline-flex; align-items:center; justify-content:center; flex:0 0 34px; width:34px; height:34px; border:1px solid #b8d4ff30; border-radius:9px; color:#dcecff; background:#b8d4ff0b; cursor:pointer; }
.comm-bell svg { width:19px; height:19px; }
.comm-badge { position:absolute; top:-5px; right:-7px; min-width:16px; height:16px; padding:0 3px; background:#bcd9ff; color:#13243a; border:2px solid #111722; border-radius:12px; font:700 9px/12px system-ui; }
.comm-badge[hidden], .comm-banner[hidden], .comm-editor [hidden] { display:none!important; }
.comm-banner { display:flex; align-items:center; flex:0 0 34px; min-height:34px; gap:10px; padding:0 22px; border-bottom:1px solid #9bc9ef24; background:linear-gradient(100deg,#172337,#101822 70%,#1b2134); color:#c5ddf7; font:12px/1.5 system-ui,"Microsoft YaHei",sans-serif; z-index:5; min-width:0; }
.comm-banner[data-severity="warning"] { background:#302719; color:#f1d498; }
.comm-banner[data-severity="critical"] { background:#321f29; color:#ffc0cd; }
.comm-banner[data-severity="success"] { background:#132c29; color:#a3e3d0; }
.comm-banner button { border:0; background:none; color:inherit; cursor:pointer; padding:4px 6px; min-width:24px; border-radius:4px; }
.comm-banner button:hover { background:#ffffff0c; }
.comm-banner-label { display:flex; align-items:center; gap:7px; font-size:10px; letter-spacing:1px; font-weight:700; white-space:nowrap; padding-right:12px; border-right:1px solid #ffffff20; }
.comm-banner-label svg { width:14px; height:14px; }
.comm-counter { flex:none; opacity:.55; font-size:10px; font-variant-numeric:tabular-nums; }
.comm-banner .comm-ticker { flex:1; min-width:0; overflow:hidden; text-align:left; white-space:nowrap; padding-inline:0; }
.comm-ticker>span { display:inline-block; }
.comm-ticker.is-overflow>span { animation:comm-scroll var(--comm-duration,18s) linear infinite alternate; }
.comm-banner:hover .comm-ticker>span, .comm-banner:focus-within .comm-ticker>span, .comm-banner.is-paused .comm-ticker>span { animation-play-state:paused; }
@keyframes comm-scroll { 0%,15% { transform:translateX(0); } 85%,100% { transform:translateX(var(--comm-distance,0)); } }
.comm-center,.comm-detail,.comm-editor,.comm-admin { color:#dde7f4; font:14px/1.6 system-ui,"Microsoft YaHei",sans-serif; min-width:0; }
.modal:has(.comm-center),.modal:has(.comm-editor),.modal:has(.comm-detail) { background:#111923; border:1px solid #b9d5ff2c; box-shadow:0 25px 100px #0008; border-radius:18px; padding:26px; width:min(760px,calc(100vw - 32px)); }
.comm-heading,.comm-admin-top { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:22px; }
.comm-heading h2,.comm-admin-top h2,.comm-editor h2 { margin:3px 0 6px; font-size:24px; letter-spacing:-.5px; color:#eef5ff; }
.comm-heading p,.comm-admin-top p,.comm-hint { color:#92a5bc; font-size:12px; margin:0; }
.comm-kicker { color:#91b7da; font-size:10px; letter-spacing:1.8px; }
.comm-toolbar,.comm-search,.comm-checks,.comm-editor-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.comm-toolbar { justify-content:space-between; margin:14px 0; }
.comm-tabs { display:flex; gap:4px; padding:4px; border-radius:10px; background:#080f18; }
.comm-tabs button { padding:7px 15px; border:0; border-radius:7px; background:none; color:#94a8c0; cursor:pointer; font:inherit; }
.comm-tabs button.active { background:#263951; color:#e6f1ff; }
.comm-primary,.comm-secondary,.comm-danger { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:1px solid #b9d6ff2c; border-radius:8px; padding:7px 12px; cursor:pointer; text-decoration:none; font:500 12px/1.5 system-ui,"Microsoft YaHei",sans-serif; }
.comm-primary { background:#c5ddfa; color:#172a43; border-color:#e0efff; }
.comm-secondary { color:#c4d7ed; background:#8abaff0c; }
.comm-danger { color:#efadb7; background:transparent; border-color:transparent; }
.comm-primary:disabled,.comm-secondary:disabled { opacity:.4; cursor:default; }
.comm-center input:not([type="checkbox"]),.comm-admin input,.comm-admin select,.comm-editor input:not([type="checkbox"]),.comm-editor select,.comm-editor textarea { width:100%; min-width:0; padding:10px 12px; background:#0b121c; border:1px solid #a8c6ee2c; border-radius:8px; color:#e4efff; font:inherit; box-sizing:border-box; }
.comm-center input::placeholder,.comm-admin input::placeholder { color:#8193aa; }
.comm-search { padding-bottom:16px; border-bottom:1px solid #a3c2e21c; }
.comm-search>input { flex:1; min-width:100px!important; }
.comm-search label,.comm-checks label { display:flex; align-items:center; gap:7px; font-size:12px; color:#aec1d8; white-space:nowrap; }
.comm-center input[type="checkbox"],.comm-editor input[type="checkbox"] { accent-color:#adcdf4; width:15px; height:15px; margin:0; }
.comm-list { min-height:220px; max-height:48dvh; overflow-y:auto; overscroll-behavior:contain; }
.comm-item { display:flex; align-items:flex-start; gap:14px; width:100%; padding:18px 8px; border:0; border-bottom:1px solid #b8d6fa16; text-align:left; background:none; color:inherit; cursor:pointer; font:inherit; }
.comm-item:hover { background:#c2dbff08; }
.comm-item-icon { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:10px; background:#bedaff0b; color:#91b3d6; }
.comm-item-icon svg,.comm-empty>svg { width:20px; height:20px; }
.comm-item-copy { flex:1; min-width:0; }
.comm-item-copy strong { display:block; font-size:14px; margin:4px 0; color:#c4d0df; overflow-wrap:anywhere; }
.comm-item.unread .comm-item-copy strong { color:#f0f6ff; }
.comm-item-meta,.comm-item-copy small { color:#8a9fb7; font-size:11px; }
.comm-excerpt { display:block; color:#94a6bd; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:5px 0; }
.comm-dot { flex:none; width:6px; height:6px; border-radius:50%; background:#9dc6ff; margin-top:24px; }
.comm-pagination { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:15px; color:#8d9fb5; font-size:11px; }
.comm-empty { padding:45px 20px; text-align:center; color:#93a8bf; }
.comm-empty>svg { width:35px; height:35px; opacity:.6; }
.comm-empty h3 { color:#d3e0f0; font-size:16px; }
.comm-detail h2 { font-size:23px; margin:12px 0 22px; overflow-wrap:anywhere; }
.comm-content { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.9; max-height:55dvh; overflow:auto; margin-bottom:24px; color:#bfcfe3; }
.comm-detail .comm-secondary { margin-left:10px; }
.comm-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:24px 0; }
.comm-stats>div { border:1px solid #adcdf024; border-radius:12px; background:linear-gradient(130deg,#b2cfff0a,#b2cfff02); padding:18px; }
.comm-stats strong { display:block; font-size:28px; font-weight:500; color:#e0edff; }
.comm-stats span { font-size:12px; color:#92a9c3; }
.comm-admin .comm-toolbar>input { max-width:440px; }.comm-admin .comm-toolbar>select { width:150px; }
.comm-admin-item { display:flex; gap:20px; align-items:center; border-bottom:1px solid #aac8eb1e; padding:22px 0; }
.comm-admin-item h3 { margin:6px 0; font-size:16px; overflow-wrap:anywhere; }.comm-admin-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.comm-editor>label,.comm-form-grid>label { display:flex; flex-direction:column; gap:7px; color:#acc0d7; font-size:12px; margin:14px 0; }
.comm-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.comm-editor textarea { resize:vertical; }.comm-checks { margin:18px 0; gap:22px; }.comm-editor-actions { justify-content:flex-end; border-top:1px solid #b8d7ff1f; padding-top:18px; }.comm-error { color:#f3acb7; font-size:12px; }
.comm-admin { max-width:1200px; margin:auto; }
.comm-center :focus-visible,.comm-editor :focus-visible,.comm-admin :focus-visible,.comm-banner :focus-visible,.comm-bell:focus-visible { outline:2px solid #afd4ff; outline-offset:3px; }
body.cv-editor-open .comm-banner { display:none; }
.studio .comm-banner { position:relative; grid-column:1/-1; }
@media(max-width:700px) {
  .comm-banner { padding-inline:10px; gap:4px; }.comm-banner-label { font-size:9px; padding-right:7px; }.comm-counter { display:none; }
  .comm-bell { flex-basis:30px; width:30px; height:30px; }
  .comm-stats { grid-template-columns:repeat(2,1fr); gap:8px; }.comm-stats>div { padding:13px; }
  .comm-admin-item { align-items:flex-start; flex-direction:column; gap:12px; }.comm-admin-actions { justify-content:flex-start; }
  .comm-admin-top { flex-direction:column; }.comm-form-grid { grid-template-columns:1fr; gap:0; }
  .modal:has(.comm-center),.modal:has(.comm-editor),.modal:has(.comm-detail) { padding:18px; }
  .comm-search label { width:100%; }.comm-tabs button { padding-inline:10px; }.comm-heading h2 { font-size:21px; }
  .comm-list { max-height:45dvh; }.comm-item { gap:10px; }.comm-item-icon { width:30px; height:30px; }
}
@media(prefers-reduced-motion:reduce) { .comm-ticker.is-overflow>span { animation:none; }.comm-banner .comm-ticker { overflow-x:auto; } }
