/* Existing shell: 230px sidebar; content uses its established equal gutters.
   Composer: remaining width = flexible article + 24px gap + 320px options. */
.notice-screen{--muted:#596d68;--notice-rule:var(--line);--notice-surface:#fff}
.notice-screen .button,.notice-screen button{box-shadow:none}
.notice-screen .reading-choices button{box-shadow:none}
.notification-bell{position:relative;min-width:38px;min-height:38px}
.topbar-right .notification-bell{display:inline-flex}
.notification-badge{position:absolute;top:0;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--primary);color:#fff;font-size:12px;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.sidebar nav{min-height:0;overflow-y:auto;scrollbar-width:thin;flex:1}
.notice-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.notice-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;white-space:nowrap;min-width:0}
.notice-toolbar .notice-tabs{margin:0}
.notice-tabs a{padding:10px 0;color:var(--muted);border-bottom:2px solid transparent}
.notice-tabs a[aria-current]{color:var(--primary);border-color:var(--primary);font-weight:600}
.notice-search{display:flex;gap:10px;max-width:600px;margin-bottom:20px}
.notice-search input{min-width:0}
.notice-list{background:var(--notice-surface,#fff);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.notice-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line);min-width:0}
.notice-row:last-child{border:0}
.notice-row-main{min-width:0;flex:1}
.notice-row-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.notice-row-title a{font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.notice-row-title a:hover{text-decoration:underline}
.is-unread .notice-row-title a{font-weight:600}
.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);flex:none}
.notice-row-main p{font-size:.875rem;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}
.notice-row-meta{display:grid;gap:6px;text-align:right;white-space:nowrap;font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}
.notice-tag{flex:none;padding:1px 7px;background:var(--bg);font-size:.8125rem;color:var(--muted);border-radius:4px;white-space:nowrap}
.notice-empty{padding:38px 24px;display:grid;justify-items:start;gap:12px}
.notice-empty h2{font-size:1.125rem}.notice-empty p{color:var(--muted);font-size:.9375rem}
.notice-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;color:var(--muted);font-size:.875rem}
.notice-compose,.notice-detail-grid,.notice-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.notice-form-section,.notice-detail,.notice-binding-status,.notice-side-section{background:var(--notice-surface,#fff);border:1px solid var(--line);border-radius:8px;padding:24px}
.notice-form-section h2,.notice-side-section h2,.notice-binding-status h2{font-size:1.125rem;margin-bottom:20px}
.notice-field{margin-bottom:20px;min-width:0}
.notice-field>label{display:block;font-size:.9375rem;font-weight:500;margin-bottom:8px}
.notice-field select[multiple]{min-height:154px;max-width:100%}
.notice-field input,.notice-field select,.notice-field textarea{max-width:100%}
.notice-field textarea{min-height:200px}
.notice-field input[type=file]{white-space:normal}
.notice-field div:has(input[type=checkbox]){display:flex;flex-wrap:wrap;gap:12px}
.notice-field div:has(input[type=checkbox]) label{display:inline-flex;align-items:center;gap:5px}
.field-help{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:9px;overflow-wrap:anywhere}
.notice-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.notice-check{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;margin:20px 0}
.notice-check label{font-size:.9375rem}.notice-check .field-help,.notice-check .field-error{flex-basis:100%;margin:0}
.notice-check input{flex:none}.notice-check label{flex:1;min-width:0}
.notice-audience-count{padding:12px 0;border-block:1px solid var(--line);font-size:.9375rem;font-variant-numeric:tabular-nums}
.notice-form-errors,.notice-field .errorlist,.notice-binding-form .errorlist,.notice-verification-form .errorlist{color:#a42c28;background:#fff5f4;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:.9375rem}
.notice-form-errors ul{margin:0}.notice-form-errors ul ul{padding-left:16px}
.notice-detail header{margin-bottom:24px}.notice-detail h1{font-size:1.5rem;line-height:1.5;overflow-wrap:anywhere;margin:10px 0}
.notice-detail-meta{font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}
.notice-body{font-size:1rem;line-height:1.9;overflow-wrap:anywhere;white-space:normal}
.meeting-facts{margin:0 0 24px;padding:16px;background:var(--bg);border-radius:6px}
.meeting-facts>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:6px 0}
.meeting-facts dt{color:var(--muted);font-size:.9375rem}.meeting-facts dd{margin:0;font-size:.9375rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.meeting-url-text{display:block;color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere;margin-top:4px}
.notice-detail-side{display:grid;gap:20px}.notice-side-section p{margin-bottom:16px;font-size:.9375rem}
.notice-counts{margin:0}.notice-counts>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:.9375rem}.notice-counts dt{color:var(--muted)}.notice-counts dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}
.notice-cancelled{padding:16px;background:var(--bg);color:var(--muted);border-radius:6px}
.notice-read-form{margin-top:24px}
.notice-attendees{margin-top:24px;background:var(--notice-surface,#fff);border:1px solid var(--line);border-radius:8px;padding:24px}
.notice-attendees h2{margin-bottom:14px}.notice-attendee{padding:20px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.notice-attendee:last-child{border:0}.notice-attendee small{display:block;color:var(--muted);font-size:.875rem}
.meeting-date{display:grid;text-align:center;min-width:58px;gap:0;flex:none;font-variant-numeric:tabular-nums}.meeting-date strong{font-size:1.75rem;font-weight:500;line-height:1.2}.meeting-date span{font-size:.8125rem;color:var(--muted)}
.wechat-setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.wechat-friend-qr{display:block;width:min(240px,100%);height:auto;aspect-ratio:1;object-fit:contain;margin:22px 0}
.notice-binding-form+.notice-verification-form{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.notice-binding-status{max-width:720px}.notice-binding-status p{margin:8px 0}.notice-binding-status form{margin-top:20px}
@media(max-width:1100px){.notice-compose,.notice-detail-grid,.notice-settings-grid{grid-template-columns:minmax(0,1fr)}.notice-detail-side{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-publish-options{max-width:none}.wechat-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.notice-screen .main{padding-left:16px;padding-right:16px}.notice-toolbar{align-items:flex-start;gap:14px}.notice-tabs{width:100%;gap:22px}.notice-row{padding:18px 16px;gap:12px;align-items:flex-start;flex-wrap:wrap}.notice-row-meta{width:100%;grid-template-columns:1fr auto;text-align:left;font-size:.8125rem}.notice-row-title a{font-size:1rem}.notice-row-main p{font-size:.8125rem}.notice-form-section,.notice-detail,.notice-binding-status,.notice-side-section,.notice-attendees{padding:20px 16px}.notice-form-grid,.notice-detail-side,.wechat-setup-grid{grid-template-columns:minmax(0,1fr)}.notice-screen .page-heading{flex-wrap:wrap;gap:16px}.notice-screen .page-heading .button-group{width:100%}.notice-screen .page-heading .button-group .button{flex:1}.notice-screen .notice-detail h1{font-size:1.375rem}.meeting-list .notice-row{flex-wrap:nowrap}.meeting-list .notice-row>.text-link{align-self:center;font-size:.8125rem}.meeting-date{min-width:42px}.notice-pagination{align-items:flex-start;flex-wrap:wrap}.notice-check input[type=checkbox]{min-width:18px}.notice-screen button,.notice-screen .button,.notice-screen input,.notice-screen select{min-height:44px}.notice-screen input[type=checkbox]{min-height:18px}.notice-empty{padding:28px 16px}}
@media(prefers-reduced-motion:reduce){.notice-screen *{scroll-behavior:auto!important;transition:none!important}}

.meeting-time-range{display:flex;flex-wrap:wrap;gap:4px 8px}.meeting-time-range time{white-space:nowrap}
.wechat-self-service{max-width:720px}.wechat-self-service h2{margin-bottom:10px}
.wechat-account{display:flex;gap:12px;align-items:baseline;margin-bottom:24px;font-size:.875rem;color:var(--muted)}
.wechat-account strong{font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.wechat-scan-status{margin:20px 0 12px;font-size:.9375rem;line-height:1.8}
.wechat-self-service .wechat-friend-qr{margin:16px 0}.wechat-scan-actions{margin-top:20px}
.wechat-self-service .notice-verification-form{margin-top:20px;max-width:420px}.wechat-self-service .notice-verification-form input[name=code]{max-width:240px;font-variant-numeric:tabular-nums;letter-spacing:.15em}
.wechat-self-service .notice-verification-form .button{margin-top:16px}
.wechat-binding-note{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem;line-height:1.8}
.wechat-setup-checks{margin:16px 0}.wechat-admin-details{margin:20px 0}.wechat-admin-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px;font-size:.9375rem}
.wechat-admin-details label{display:block;margin:12px 0 8px}.wechat-admin-details input[readonly]{width:100%;font-size:.875rem}
.wechat-self-service [hidden]{display:none!important}

/* Meeting and recipient workflows share the archive workspace's type and green accents. */
.notice-screen [hidden]{display:none!important}
.notice-compose-main{display:grid;gap:24px;min-width:0}
.notice-compose>.notice-form-errors{grid-column:1/-1}
.notice-screen .section-title{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;margin-bottom:20px}
.notice-screen .section-title h2{margin:0;font-size:1.125rem}
.notice-screen .section-title small{font-size:.875rem;color:var(--muted)}
.notice-duration{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.duration-presets{display:flex;gap:6px;flex-wrap:wrap;max-width:240px;padding-top:30px}
.duration-presets .button{padding:8px 12px}
.notice-publish-options .button.full{margin-top:20px}
.audience-filters{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.audience-filter-options{padding:12px 16px;background:var(--bg);border-radius:6px}
.audience-filter-options .notice-field{margin-bottom:0}
.audience-filter-options label:has(input){min-height:44px}
.audience-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0 12px}
.audience-actions>span{font-size:.875rem;color:var(--muted);margin-left:auto}
.audience-results{max-height:36rem;overflow:auto;scrollbar-gutter:stable;border-block:1px solid var(--line)}
.audience-group+.audience-group{border-top:1px solid var(--line)}
.audience-group-heading{display:flex;gap:10px;align-items:center;min-height:48px;padding:8px 4px;cursor:pointer;overflow-wrap:anywhere}
.audience-group-heading strong{font-size:.9375rem;min-width:0}
.audience-group-heading>span{font-size:.875rem;color:var(--muted);white-space:nowrap;margin-left:auto}
.audience-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:4px 12px;padding-bottom:12px}
.audience-person{display:flex;gap:10px;align-items:center;min-height:56px;padding:8px;cursor:pointer;border-radius:6px;min-width:0}
.audience-person:hover,.audience-person:has(input:checked){background:var(--bg)}
.audience-person:focus-within,.audience-group-heading:focus-within{outline:2px solid var(--primary);outline-offset:-2px}
.audience-person input,.audience-group-heading input{flex:none;width:18px;height:18px;min-height:18px;accent-color:var(--primary)}
.audience-person span{min-width:0;overflow-wrap:anywhere}
.audience-person strong{display:block;font-size:.9375rem;font-weight:500}
.audience-person small{display:block;font-size:.875rem;color:var(--muted)}
.audience-empty{padding:24px 0;color:var(--muted)}
.audience-selected{margin-top:16px}.audience-selected summary,.meeting-leave-form summary{cursor:pointer;min-height:44px;padding:12px 0;line-height:1.7;color:var(--primary)}
.audience-selected [data-selected-list]{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.selected-person{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;font-size:.875rem;min-height:44px;text-align:left;overflow-wrap:anywhere}
.notice-body,.notice-body.prose-text{max-width:none;width:100%;text-align:justify;text-align-last:left}
.notice-related{margin-top:24px}.notice-detail-side>section{min-width:0}
.attendance-status{display:inline-block;border-radius:4px;background:var(--bg);color:var(--muted);font-size:.875rem;line-height:1.6;padding:4px 9px;overflow-wrap:anywhere}
.attendance-yes,.attendance-leave_approved{background:#e8f3ed;color:#286441}
.attendance-leave_pending{background:#fcf3dd;color:#795615}
.attendance-leave_rejected{background:#f9ece6;color:#92462f}
.attendee-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.attendee-heading>div{min-width:0;overflow-wrap:anywhere}
.attendee-leave{margin-top:12px;padding-left:16px;border-left:2px solid var(--line)}
.attendee-leave .prose-text,.leave-result .prose-text{margin:10px 0}
.leave-review-form{margin-top:16px}.leave-review-form label{display:block;margin-bottom:8px;font-size:.875rem}
.leave-review-form textarea{min-height:80px}.leave-review-form .button-group{margin-top:12px;flex-wrap:wrap}
.meeting-leave-form{margin-top:16px;border-top:1px solid var(--line)}
.meeting-leave-form textarea{min-height:120px}.leave-result{padding-top:16px;border-top:1px solid var(--line)}
.notice-screen .notice-row-main p,.notice-row-meta,.notice-detail-meta{font-size:.875rem}
#meeting-response,#meeting-attendees{scroll-margin-top:calc(var(--topbar-height,4rem) + 1rem)}
@media(min-width:1101px){.notice-publish-options{position:sticky;top:calc(var(--topbar-height,4rem) + 1rem)}}
@media(max-width:640px){.audience-filters,.notice-duration{grid-template-columns:minmax(0,1fr);gap:0}.duration-presets{padding:0;margin:-8px 0 20px;max-width:none}.audience-actions>span{width:100%;margin-left:0}.audience-results{max-height:30rem}.meeting-list .notice-row{flex-wrap:wrap}.meeting-list .notice-row>.text-link{margin-left:54px}.meeting-list .notice-row-main{flex-basis:calc(100% - 60px)}.notice-screen .notice-tabs a{min-height:44px}.notice-screen .notice-form-section{border-radius:8px}.attendee-leave{padding-left:12px}.notice-screen .meeting-facts>div{grid-template-columns:72px minmax(0,1fr)}}
