:root{--ink:#17233a;--muted:#64748b;--line:#dce3ed;--surface:#fff;--ground:#f5f7fb;--brand:#176b87;--brand-deep:#145f78;--soft:#e8f5f5;--danger:#bf4236;--success:#13795b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--ground)}

*{box-sizing:border-box}
body{margin:0;min-width:320px;background:var(--ground);line-height:1.45}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.site-header{min-height:72px;display:flex;align-items:center;gap:28px;padding:10px clamp(18px,4vw,64px);border-bottom:1px solid rgba(220,227,237,.95);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:3;backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{display:block;width:142px;max-height:50px;object-fit:contain}
.primary-nav{display:flex;gap:4px;align-items:center;flex:1}
.primary-nav a{padding:9px 12px;border-radius:10px;color:#56667c;font-size:14px;font-weight:650}
.primary-nav a:hover,.primary-nav a.is-active{color:var(--brand);background:var(--soft)}
.account-menu{display:flex;align-items:center;gap:10px;margin-left:auto}
.account-name{font-size:14px;font-weight:700;color:#334155}
.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#d9eeef;color:var(--brand-deep);font-size:12px;font-weight:800}
.avatar.large{width:48px;height:48px;border-radius:50%;flex:0 0 auto}
.quiet-button{border:0;background:transparent;color:#61728a;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:650}
.quiet-button:hover{background:#f1f5f9;color:var(--brand)}
.site-main{max-width:1240px;margin:0 auto;padding:42px clamp(18px,4vw,48px) 64px}
.site-footer{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,48px) 32px;display:flex;gap:16px;justify-content:space-between;color:#718096;font-size:12px}
.site-footer a{color:var(--brand);font-weight:650}
.notice{margin:0 0 22px;padding:13px 16px;border-radius:12px;font-size:14px;font-weight:600}
.notice.success{background:#e7f7f0;color:#0c6b4d;border:1px solid #bde8d4}
.notice.error{background:#fff0ee;color:#9e342d;border:1px solid #f5c3bd}
.eyebrow{margin:0 0 9px;color:var(--brand);font-size:13px;font-weight:800;letter-spacing:.02em}
.welcome,.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 28px}
.welcome h1,.page-heading h1{margin:0;color:#101b2f;font-size:clamp(30px,4.2vw,44px);line-height:1.05;letter-spacing:-.04em}
.welcome p:not(.eyebrow),.page-heading p:not(.eyebrow){margin:12px 0 0;max-width:710px;color:var(--muted);font-size:15px;line-height:1.65}
.confidentiality-note{display:flex;gap:12px;align-items:flex-start;margin:-8px 0 30px;padding:13px 16px;border:1px solid #cfe2e8;border-radius:14px;background:#f3fbfc;color:#526f7b;font-size:13px;line-height:1.55}.confidentiality-note strong{flex:0 0 auto;color:#176b87;font-weight:800}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;padding:11px 15px;font-size:14px;font-weight:750;cursor:pointer;border:1px solid transparent;white-space:nowrap}
.button-primary{background:var(--brand);color:white;box-shadow:0 10px 20px rgba(23,107,135,.16)}
.button-primary:hover{background:var(--brand-deep)}
.button-secondary{background:white;border-color:var(--line);color:#40506a}
.button-secondary:hover{border-color:#b6cad6;color:var(--brand)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 30px}
.news-board{margin:0 0 30px;padding:14px}
.news-board .section-head{padding:7px 10px 13px}
.news-board .section-head h2{margin:0;color:#26364b;font-size:18px;letter-spacing:-.02em}
.news-board .section-head .eyebrow{margin:0 0 4px}
.news-board .section-head .button{padding:8px 11px;font-size:12px}
.news-list{border-top:1px solid #edf1f5}
.news-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 10px;border-top:1px solid #edf1f5}
.news-row:first-child{border-top:0}
.news-row>div{min-width:0}
.news-row h3{margin:3px 0;color:#27364c;font-size:14px;line-height:1.4}
.news-row p{margin:0;color:#76859a;font-size:12px}
.news-row:hover h3,.news-row:hover .news-link{color:var(--brand)}
.news-link{flex:0 0 auto;color:#62758a;font-size:12px;font-weight:800}
.feature-card,.card{border:1px solid var(--line);background:var(--surface);border-radius:20px;box-shadow:0 6px 16px rgba(25,44,73,.035)}
.feature-card{padding:22px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.feature-card:hover{transform:translateY(-2px);border-color:#b7dce2;box-shadow:0 13px 27px rgba(23,107,135,.10)}
.feature-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 0 22px;border-radius:13px;font-weight:900;font-size:20px}
.feature-icon.blue{background:#e1f3f6;color:#176b87}
.feature-icon.gold{background:#fff2d9;color:#b36815}
.feature-icon.teal{background:#e7f7f1;color:#187758}
.feature-card h2{margin:0;color:#1d2c43;font-size:16px}
.feature-card p{margin:8px 0 16px;color:var(--muted);font-size:13px;line-height:1.5}
.feature-card span:last-child{color:var(--brand);font-size:13px;font-weight:750}
.empty-state{border:1px dashed #c7d4df;background:rgba(255,255,255,.62);padding:42px 28px;text-align:center;border-radius:20px}
.empty-icon{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 14px;border-radius:14px;background:var(--soft);color:var(--brand);font-size:21px;font-weight:900}
.empty-state h2{margin:0;font-size:17px}
.empty-state p{max-width:520px;margin:8px auto 0;color:var(--muted);font-size:14px}
.login-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);min-height:calc(100vh - 220px);align-items:center;gap:34px;padding:32px 0}
.login-card{padding:clamp(26px,5vw,64px);background:white;border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 46px rgba(28,52,82,.09)}
.login-card h1{margin:0;max-width:550px;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.05em;color:#101b2f}
.intro{max-width:530px;margin:18px 0 28px;color:var(--muted);font-size:16px;line-height:1.65}
.login-aside{padding:32px;border-radius:26px;background:linear-gradient(135deg,#176b87,#145f78);color:white;box-shadow:0 20px 42px rgba(20,95,120,.18)}
.small-label{display:inline-block;padding:5px 9px;border-radius:8px;background:rgba(255,255,255,.14);font-size:12px;font-weight:750}
.login-aside h2{font-size:28px;line-height:1.1;letter-spacing:-.035em;margin:21px 0}
.login-aside ul{margin:0;padding:0;list-style:none}
.login-aside li{padding:14px 0;border-top:1px solid rgba(255,255,255,.16);font-size:14px;line-height:1.55;color:#e5f7f8}
.fine-print{margin:13px 0 0;color:#75839a;font-size:12px;line-height:1.5}
.setup-note{padding:18px;border-radius:14px;background:#f6fafb;border:1px solid #cce3e6;color:#3d5165}
.setup-note strong{color:#176b87}
.setup-note p{margin:7px 0 0;font-size:14px;line-height:1.55}
.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.form-card{padding:24px}
.form-card h2,.schedule-card h2,.card h2{margin:0;font-size:18px;letter-spacing:-.02em}
.form-lead{margin:8px 0 20px;color:var(--muted);font-size:13px;line-height:1.55}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}
.form-grid label{display:flex;flex-direction:column;gap:7px;color:#516076;font-size:12px;font-weight:750}
.form-grid label.full{grid-column:1 / -1}
.form-grid input,.form-grid select,.form-grid textarea,.inline-form select{width:100%;appearance:none;border:1px solid #cfd9e5;border-radius:10px;background:white;color:#23334a;padding:10px 11px;outline:0;font-size:14px;font-weight:500}
.form-grid textarea{resize:vertical;min-height:86px}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.inline-form select:focus{border-color:#3b94ad;box-shadow:0 0 0 3px #dff4f5}
.schedule-card{padding:14px}
.section-head{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:9px 10px 14px}
.section-head>span{padding:4px 8px;border-radius:999px;background:#f0f4f8;color:#68788e;font-size:12px;font-weight:750}
.section-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.mini-empty{padding:28px 16px;text-align:center;color:var(--muted);font-size:13px}
.mini-empty p{margin:6px 0 0}
.event-row{display:flex;gap:13px;align-items:flex-start;padding:13px 10px;border-top:1px solid #edf1f5}
.event-date{display:grid;place-items:center;width:42px;height:44px;border-radius:11px;background:var(--soft);color:var(--brand);text-align:center;line-height:1}
.event-date strong{font-size:15px}
.event-date span{font-size:10px;font-weight:800;text-transform:uppercase;margin-top:2px}
.event-copy{min-width:0;flex:1}
.tag{display:inline-block;color:var(--brand);font-size:11px;font-weight:800}
.event-copy h3{margin:3px 0;color:#27364c;font-size:14px}
.event-copy p{margin:0;color:#76859a;font-size:12px;line-height:1.55}
.event-copy .event-details{margin-top:5px;color:#526278}
.event-actions{display:flex;gap:4px}
.event-actions form{margin:0}
.icon-button{display:grid;place-items:center;width:29px;height:29px;border:0;border-radius:8px;background:#f1f5f8;color:#5b6b80;cursor:pointer;font-size:17px;font-weight:800}
.icon-button:hover{background:#e5f4f6;color:var(--brand)}
.icon-button.danger:hover{background:#fff0ee;color:var(--danger)}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.person-card{display:flex;gap:14px;padding:18px;border:1px solid var(--line);background:white;border-radius:17px}
.person-card h2{margin:0;color:#1e2d43;font-size:16px}
.person-card p{margin:4px 0 9px;color:#6c7b90;font-size:13px}
.person-card a{display:block;color:var(--brand);font-size:12px;font-weight:650;overflow-wrap:anywhere}
.admin-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:20px;align-items:start}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:580px}
th,td{padding:12px 13px;text-align:left;border-top:1px solid #edf1f5;font-size:13px;vertical-align:middle}
th{color:#6f7e93;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
td strong{display:block;color:#26364b;font-size:13px}
td small{display:block;margin-top:3px;color:#7a889b;font-size:11px}
.inline-form{display:flex;gap:6px;align-items:center}
.inline-form select{min-width:96px;padding:6px 7px;font-size:12px}
.status{display:inline-block;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:800}
.status.active{background:#e7f7f0;color:#08714c}
.status.disabled{background:#f2f4f7;color:#68768b}
.audit-card{margin-top:20px;padding:16px}
.narrow-form{max-width:760px}
.danger{color:var(--danger)}

.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;padding:10px 12px;border:1px solid #d6e0e9;border-radius:10px;background:#f8fbfc}
.form-grid .check-row input{width:auto;padding:0;appearance:auto}
.check-row small{color:#77869a;font-size:11px;font-weight:500}
.weekdays,.series-scope,.invitees{border:1px solid #d6e0e9;border-radius:12px;background:#f8fbfc}
.weekdays{grid-column:1 / -1;margin:0;padding:12px}
.weekdays legend,.series-scope legend,.invitees legend{padding:0 5px;color:#43536a;font-size:12px;font-weight:800}
.weekdays p,.series-scope p,.invitees p{margin:0 0 11px;color:#718096;font-size:11px;line-height:1.45}
.weekday-options{display:flex;gap:7px;flex-wrap:wrap}
.weekdays .weekday-option{position:relative;display:inline-flex!important;flex:0 0 auto;flex-direction:row!important;align-items:center;justify-content:center;gap:0;width:46px;min-height:38px;margin:0;padding:0;border:1px solid #cbd8e4;border-radius:9px;background:#fff;color:#53647a!important;cursor:pointer;font-size:12px!important;font-weight:800;overflow:hidden}
.weekdays .weekday-option:hover{border-color:#80b6c4;background:#f3fbfc}
.weekdays .weekday-option input{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;appearance:none!important}
.weekdays .weekday-option span{display:none;position:absolute;top:3px;right:4px;color:var(--brand-deep);font-size:10px;line-height:1}
.weekdays .weekday-option input:checked+span{display:block}
.weekdays .weekday-option:has(input:checked){border-color:#53a5b8;background:#e5f5f6;color:#145f78!important;box-shadow:inset 0 0 0 1px #a9dce3}
.weekdays .weekday-option input:focus-visible+span{display:block;outline:2px solid #176b87;outline-offset:3px;border-radius:2px}
.series-scope{grid-column:1 / -1;margin:0;padding:12px}
.series-scope label{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:4px;color:#53647a!important;font-size:12px!important}
.series-scope input{width:auto!important;padding:0!important;appearance:auto!important}
.series-scope label+label{margin-left:14px}
.invitees{margin:0 0 18px;padding:13px}
.invite-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.invite-option{display:flex;align-items:flex-start;gap:8px;padding:9px;border-radius:9px;background:white;border:1px solid #e1e8ef;cursor:pointer}
.invite-option:hover{border-color:#abd2da}
.invite-option input{width:auto!important;margin:3px 0 0;appearance:auto!important;padding:0!important}
.invite-option strong,.invite-option small{display:block}
.invite-option strong{color:#33445a;font-size:12px}
.invite-option small{margin-top:2px;color:#7a899b;font-size:10px;overflow-wrap:anywhere}
.response-form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;color:#597087;font-size:11px;font-weight:700}
.response-form button{border:1px solid #cbd9e4;border-radius:7px;background:white;color:#3d6270;padding:4px 6px;font-size:11px;font-weight:750;cursor:pointer}
.response-form button:hover{background:var(--soft);border-color:#9bcad4;color:var(--brand-deep)}
.delete-series-form{margin:14px 0 0;max-width:760px}
.delete-series-form .button{border-color:#efc2bd}

@media(max-width:850px){.site-header{gap:14px}
.primary-nav{order:3;width:100%;overflow:auto}
.site-header{flex-wrap:wrap;padding-bottom:8px}
.account-name{display:none}
.site-main{padding-top:28px}
.login-shell,.two-column,.admin-grid{grid-template-columns:1fr}
.card-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.welcome,.page-heading{align-items:start;flex-direction:column}
.login-shell{min-height:auto}
.login-aside{display:none}
}
@media(max-width:540px){.site-header{padding:8px 16px}
.brand img{width:120px}
.site-main{padding:24px 16px 48px}
.site-footer{padding:0 16px 24px}
.card-grid,.directory-grid,.form-grid,.invite-list{grid-template-columns:1fr}
.form-grid label.full{grid-column:auto}
.weekdays,.series-scope{grid-column:auto}
.feature-card{padding:18px}
.login-card{padding:28px 22px}
.welcome h1,.page-heading h1{font-size:31px}
.button{width:100%}
.welcome .button,.page-heading .button{width:auto}
.account-menu{margin-left:auto}
.primary-nav{gap:2px}
.primary-nav a{padding:8px 9px;font-size:13px}
.confidentiality-note{align-items:flex-start;flex-direction:column;gap:3px;margin-top:-12px}
}

.feature-icon.violet{background:#eee9fb;color:#6653ae}
.archive-guidance{display:flex;gap:8px;align-items:baseline;margin:-10px 0 18px;padding:13px 15px;border:1px solid #d5e5ed;border-radius:13px;background:#f4fafb;color:#52667a;font-size:13px;line-height:1.5}
.archive-guidance strong{color:#176b87}
.archive-page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.archive-filter{display:flex;align-items:end;gap:12px;margin:0 0 22px;padding:14px 16px}
.archive-filter label{display:flex;flex:1;flex-direction:column;gap:6px;color:#516076;font-size:12px;font-weight:750}
.archive-filter .archive-search{flex:1.45}
.archive-filter select,.archive-filter input[type=search]{width:100%;border:1px solid #cfd9e5;border-radius:10px;background:white;color:#23334a;padding:10px 11px;outline:0;font-size:14px}
.archive-filter .button{flex:0 0 auto}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.archive-card{display:flex;min-height:208px;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 5px 13px rgba(25,44,73,.03);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.archive-card:hover{transform:translateY(-2px);border-color:#abd2da;box-shadow:0 13px 27px rgba(23,107,135,.1)}
.archive-card.is-historical{background:#fcfaf8;border-color:#ebd5bd}
.archive-card-top{display:flex;align-items:start;justify-content:space-between;gap:10px}
.archive-card h2{margin:11px 0 6px;color:#1e2d43;font-size:16px;line-height:1.25}
.archive-card>p{margin:0;color:#64748b;font-size:12px;line-height:1.5}
.archive-status{display:inline-block;max-width:175px;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800;line-height:1.25;text-align:center}
.archive-status.active{background:#e7f7f0;color:#08714c}
.archive-status.review{background:#fff5da;color:#92620b}
.archive-status.historical{background:#f8e9dc;color:#9b4e1e}
.archive-meta{display:flex;flex-wrap:wrap;gap:5px 11px;margin-top:auto;padding-top:12px;color:#738198;font-size:11px;font-weight:650}
.acknowledgement{display:inline-block;align-self:flex-start;margin-top:11px;padding:4px 7px;border-radius:7px;background:#fff1dc;color:#9b641a;font-size:11px;font-weight:750}
.acknowledgement.is-done{background:#e8f6ef;color:#0c7651}
.archive-empty{margin-top:6px}
.archive-index-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:13px 16px}.archive-index-intro p{margin:0;color:#52667a;font-size:13px;font-weight:650}.archive-index-switcher{display:flex;flex-wrap:wrap;gap:8px}.archive-index-switcher .button{padding:9px 12px}.archive-index-switcher .button.is-current{border-color:var(--brand);background:var(--brand);color:white}.archive-index-letters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px}.archive-index-letters a{display:inline-flex;min-width:31px;min-height:31px;align-items:center;justify-content:center;border:1px solid #d1e0e6;border-radius:9px;background:#f6fbfc;color:#176b87;font-size:12px;font-weight:800}.archive-index-letters a:hover{border-color:#81b7c6;background:#e9f7f9}.archive-index-list{display:grid;gap:16px}.archive-index-group{scroll-margin-top:94px;border:1px solid var(--line);border-radius:15px;background:white;overflow:hidden}.archive-index-group h2{margin:0;padding:10px 15px;border-bottom:1px solid #e1e9ef;background:#f6fafb;color:#176b87;font-size:15px}.archive-index-group ul{margin:0;padding:0;list-style:none}.archive-index-group li+li{border-top:1px solid #edf1f4}.archive-index-group a,.archive-index-by-date>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px}.archive-index-group a:hover,.archive-index-by-date>a:hover{background:#f7fbfc}.archive-index-group strong,.archive-index-by-date strong{color:#27384e;font-size:14px;line-height:1.35}.archive-index-group .tag,.archive-index-by-date .tag{flex:0 0 auto}.archive-index-by-date{gap:0;border:1px solid var(--line);border-radius:15px;background:white;overflow:hidden}.archive-index-by-date>a{display:grid;grid-template-columns:92px minmax(0,1fr) auto}.archive-index-by-date>a+a{border-top:1px solid #edf1f4}.archive-index-by-date time{color:#65758a;font-size:12px;font-weight:750}
.archive-category-overview{margin-top:28px}.archive-category-overview>h2{margin:0 0 13px;color:#26364b;font-size:17px}.archive-category-overview>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.archive-category-overview article{padding:16px}.archive-category-overview h3{margin:12px 0 5px;color:#304158;font-size:14px}.archive-category-overview p{margin:0;color:#718096;font-size:12px;line-height:1.5}
.archive-form{max-width:860px}
.archive-form .form-grid small{color:#77869a;font-size:11px;font-weight:500}
.upload-field input[type=file]{margin-top:7px;padding:9px;border:1px dashed #a9cbd4;border-radius:10px;background:#f7fbfc;color:#40536a}
.existing-attachments{margin:0;padding:13px 15px;border:1px solid #d8e6ed;border-radius:12px;background:#f8fbfc}
.existing-attachments legend{padding:0 5px;color:#365168;font-size:12px;font-weight:800}
.existing-attachments label{display:block;margin:7px 0;color:#4a6175;font-size:12px;font-weight:600}
.existing-attachments a{color:var(--brand);font-weight:800}
.existing-attachments small,.existing-attachments p{color:#77869a;font-size:11px;font-weight:500}
.existing-attachments p{margin:9px 0 0;line-height:1.45}
.archive-item-heading{align-items:start}
.archive-item-actions{display:flex;flex-wrap:wrap;gap:8px}
.archive-warning{display:flex;gap:11px;align-items:baseline;margin:0 0 20px;padding:15px 17px;border:1px solid #efd2b7;border-radius:14px;background:#fff6ec;color:#874918;font-size:14px;line-height:1.5}
.communication-note{display:flex;gap:11px;align-items:baseline;margin:0 0 20px;padding:15px 17px;border:1px solid #c9e2e6;border-radius:14px;background:#f1fafb;color:#3c6470;font-size:14px;line-height:1.5}
.communication-note strong{color:#176b87}
.archive-item-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.42fr);gap:20px;align-items:start}
.archive-body{min-height:280px;padding:28px}
.archive-copy{color:#35455b;font-size:15px;line-height:1.75}
.archive-attachments{margin-top:24px;padding-top:22px;border-top:1px solid #e5edf2}
.archive-attachments h2{margin:0 0 14px;color:#24374d;font-size:16px}
.attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.attachment-card{overflow:hidden;border:1px solid #dce7ed;border-radius:13px;background:#fbfdfe}
.attachment-preview{display:block;height:148px;background:#eef5f6}
.attachment-preview img{display:block;width:100%;height:100%;object-fit:cover}
.attachment-file-icon{display:flex;height:88px;align-items:center;justify-content:center;background:#f0f5f8;color:#2d7184;font-size:16px;font-weight:900;letter-spacing:.08em}
.attachment-card>div{padding:12px}
.attachment-card h3{margin:0;color:#2c4057;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.attachment-card p{margin:5px 0 8px;color:#78879a;font-size:11px;line-height:1.4}
.attachment-card a{color:var(--brand);font-size:12px;font-weight:800}
.attachment-diagnostics{max-width:760px;padding:24px}
.attachment-diagnostics h2{margin:0 0 16px;color:#25364b;font-size:18px}
.attachment-diagnostic-list{display:grid;gap:10px}
.attachment-diagnostic{display:flex;gap:13px;align-items:flex-start;padding:13px;border:1px solid #dfe8ee;border-radius:12px;background:#fbfdfe}
.attachment-diagnostic>strong{flex:0 0 68px;padding:4px 6px;border-radius:999px;background:#e7f7f0;color:#08714c;font-size:10px;text-align:center}
.attachment-diagnostic.is-problem{border-color:#efd7b5;background:#fffbf4}
.attachment-diagnostic.is-problem>strong{background:#fff0d6;color:#93600b}
.attachment-diagnostic h3{margin:0;color:#304159;font-size:13px}
.attachment-diagnostic p{margin:4px 0 0;color:#718096;font-size:12px;line-height:1.45}
.archive-details{padding:20px}
.archive-details h2{margin:0 0 15px;font-size:16px}
.archive-details dl{margin:0}
.archive-details dl>div{padding:12px 0;border-top:1px solid #edf1f5}
.archive-details dt{color:#76859a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.archive-details dd{margin:4px 0 0;color:#34445a;font-size:13px;line-height:1.45}
.archive-details dd a{color:var(--brand);font-weight:700;overflow-wrap:anywhere}
.acknowledgement-box{margin-top:18px;padding:14px;border:1px solid #f0d5ab;border-radius:12px;background:#fff9ef}
.acknowledgement-box.is-done{border-color:#c5e8d7;background:#f1faf5}
.acknowledgement-box strong{display:block;color:#865112;font-size:13px}
.acknowledgement-box.is-done strong{color:#0a714c}
.acknowledgement-box p{margin:5px 0 11px;color:#67778e;font-size:12px;line-height:1.5}
.acknowledgement-box .button{width:100%;padding:9px 12px;font-size:12px}
.communication-level{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:850}.communication-level.important{background:#fff0cf;color:#89580a}.communication-level.mandatory{background:#e8efff;color:#355bab}.news-row.is-important{border-left:4px solid #d89b25;background:#fffdf7}.pending-readings{margin:0 0 22px;padding:20px;border:1px solid #e8ce9e;background:#fffaf0}.pending-reading-count{display:inline-flex;min-width:27px;height:27px;align-items:center;justify-content:center;border-radius:999px;background:#a86c11;color:#fff;font-size:12px;font-weight:850}.pending-reading-list{display:grid;gap:8px}.pending-reading-list a,.mandatory-control-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 12px;border:1px solid #efdfbd;border-radius:10px;background:#fff}.pending-reading-list strong,.mandatory-control-list strong{display:block;color:#35455b;font-size:13px}.pending-reading-list span,.mandatory-control-list small{display:block;margin-top:3px;color:#718096;font-size:11px}.pending-reading-list b,.mandatory-control-list b{color:#92620b;font-size:11px}.pending-reading-list b.is-overdue,.mandatory-control-list b.is-overdue{color:#bd3328}.mandatory-settings{margin:0;padding:14px;border:1px solid #d6e4eb;border-radius:12px;background:#f8fbfc}.mandatory-settings legend{padding:0 5px;color:#365168;font-size:12px;font-weight:850}.mandatory-settings>p{margin:0 0 11px;color:#718096;font-size:11px;line-height:1.45}.mandatory-fields{display:grid;gap:12px;margin-top:11px}.mandatory-recipients,.mandatory-change{margin:0;padding:12px;border:1px solid #dce8ed;border-radius:10px;background:#fff}.mandatory-recipients legend,.mandatory-change legend{padding:0 4px;color:#51657a;font-size:12px;font-weight:800}.mandatory-recipients>label,.mandatory-change>label{display:block;margin:7px 0;color:#4e6074;font-size:12px;font-weight:650}.mandatory-recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:10px}.mandatory-recipient-list label{padding:7px;border:1px solid #e2eaee;border-radius:8px;color:#45566c;font-size:11px}.mandatory-recipient-list small{color:#7c8b9e}.mandatory-change-summary{margin:0 0 20px;padding:15px 17px;border:1px solid #bdd1f4;border-radius:14px;background:#f4f7ff;color:#3f5781}.mandatory-change-summary strong{color:#3659a0}.mandatory-change-summary p{margin:6px 0 0;line-height:1.55}.mandatory-control{margin-top:20px;padding:20px}.mandatory-control h2{margin:0;color:#26364b;font-size:17px}.mandatory-control>p{color:#62748a;font-size:13px}.mandatory-control-list{display:grid;gap:7px}.mandatory-control-list b{font-weight:800;text-align:right}
.archive-history{max-width:860px;padding:8px 24px}
.archive-history ol{margin:0;padding:0;list-style:none}
.archive-history li{padding:17px 0;border-top:1px solid #e7edf2}
.archive-history li:first-child{border-top:0}
.archive-history li>div{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.archive-history strong{color:#23334a;font-size:14px}
.archive-history span{color:#77869a;font-size:11px}
.archive-history p{margin:7px 0 4px;color:#506178;font-size:13px}
.archive-history small{color:#718096;font-size:11px}
.special-access{margin:0 0 20px;padding:14px;border:1px solid #d6e0e9;border-radius:12px;background:#f8fbfc}
.special-access legend{padding:0 5px;color:#43536a;font-size:12px;font-weight:800}
.special-access>p{margin:0 0 10px;color:#718096;font-size:11px;line-height:1.45}
.special-access label{display:flex;gap:9px;align-items:flex-start;padding:9px;border-top:1px solid #e2ebf0;cursor:pointer}
.special-access input{width:auto;margin:3px 0 0;appearance:auto}
.special-access strong,.special-access small{display:block}
.special-access strong{color:#33445a;font-size:12px}
.special-access small{margin-top:2px;color:#7a899b;font-size:11px;line-height:1.4}
@media(max-width:850px){.archive-grid,.archive-category-overview>div{grid-template-columns:repeat(2,minmax(0,1fr)}.archive-item-layout{grid-template-columns:1fr}.archive-filter{align-items:stretch;flex-direction:column}.archive-filter .button{width:100%}.archive-page-actions{justify-content:flex-start}.archive-index-intro{align-items:flex-start;flex-direction:column}.archive-guidance,.archive-warning,.communication-note{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:540px){.archive-grid,.archive-category-overview>div,.attachment-grid,.mandatory-recipient-list{grid-template-columns:1fr}.archive-item-actions{width:100%}.archive-item-actions .button{flex:1}.archive-page-actions{width:100%}.archive-page-actions .button{flex:1}.archive-index-switcher{width:100%}.archive-index-switcher .button{flex:1}.archive-index-group a{align-items:flex-start;flex-direction:column;gap:7px}.archive-index-by-date>a{grid-template-columns:1fr;gap:6px}.archive-card{min-height:0}.archive-history{padding:8px 18px}.archive-history li>div{align-items:start;flex-direction:column;gap:4px}.pending-reading-list a,.mandatory-control-list>div{align-items:flex-start;flex-direction:column}}

.person-card .person-primary{margin:4px 0 9px;color:#40526a;font-size:13px;font-weight:750}
.person-details{display:grid;gap:4px;margin:0 0 10px}
.person-details>div{display:flex;gap:6px;align-items:baseline}
.person-details dt{color:#7a899b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.person-details dd{margin:0;color:#5b6c82;font-size:11px;line-height:1.4}
.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.people-card{padding:20px}
.people-card-head{display:flex;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid #e9eef3}
.people-card-head h2{margin:0 0 4px;color:#26364b;font-size:16px}
.people-card-head a{color:var(--brand);font-size:12px;font-weight:650;overflow-wrap:anywhere}
.people-card dl{margin:0}
.people-card dl>div{padding:12px 0;border-bottom:1px solid #edf1f5}
.people-card dl>div:last-child{border-bottom:0;padding-bottom:0}
.people-card dt{color:#748399;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.people-card dd{margin:4px 0 0;color:#405168;font-size:13px;line-height:1.45}
@media(max-width:850px){.people-grid{grid-template-columns:repeat(2,minmax(0,1fr)}}
@media(max-width:540px){.people-grid{grid-template-columns:1fr}}
@media(max-width:540px){.news-row{align-items:flex-start;flex-direction:column;gap:7px}.news-row .acknowledgement{margin-top:0}}

.form-error-notice{display:flex;gap:12px;align-items:flex-start;margin:0 0 20px;padding:15px 17px;border:2px solid #d92d20;border-radius:14px;background:#fff1f0;color:#8a1610;box-shadow:0 4px 14px rgba(185,28,28,.09);font-size:14px;line-height:1.5}.form-error-notice strong{flex:0 0 auto;color:#7a1410}.form-error-notice span{color:#8a1610}.form-grid label.has-error>input,.form-grid label.has-error>textarea,.form-grid label.has-error>select{border-color:#d92d20;background:#fff7f6;box-shadow:0 0 0 3px rgba(217,45,32,.16)}
.session-timeout-warning{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:22px;background:rgba(20,34,51,.42)}.session-timeout-warning>div{width:min(440px,100%);padding:25px;border:1px solid #d5e1e8;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(23,39,60,.26);color:#2e4057}.session-timeout-warning strong{display:block;font-size:18px}.session-timeout-warning p{margin:9px 0 18px;color:#5e7086;line-height:1.5}.session-timeout-warning button{padding:10px 15px;border:0;border-radius:10px;background:var(--brand);color:#fff;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:540px){.form-error-notice{align-items:flex-start;flex-direction:column;gap:4px}.session-timeout-warning{padding:16px}.session-timeout-warning>div{padding:21px}}

/* Calendário mensal – fase 6 */
.calendar-month-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}.calendar-view-switcher{display:inline-flex;gap:7px}.calendar-view-switcher .button{padding:9px 13px}.calendar-view-switcher .button.is-current{border-color:var(--brand);background:var(--brand);color:#fff}.calendar-month{padding:18px}.calendar-month-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 18px}.calendar-month-toolbar h2{margin:0;text-align:center;color:#24354c;font-size:20px}.calendar-month-toolbar>div{display:flex;align-items:center;gap:9px}.calendar-month-arrow{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid #d5e2e9;border-radius:9px;background:#fff;color:#176b87;font-size:20px;font-weight:800}.calendar-month-arrow:hover{border-color:#8ebecb;background:#f2fafb}.calendar-month-scroll{overflow-x:auto}.calendar-month-board{min-width:760px}.calendar-month-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month-weekdays{border:1px solid #dbe5eb;border-bottom:0;border-radius:12px 12px 0 0;background:#f5f9fb}.calendar-month-weekdays span{padding:10px 8px;color:#64768b;font-size:11px;font-weight:850;text-align:right;text-transform:uppercase;letter-spacing:.04em}.calendar-month-grid{overflow:hidden;border:1px solid #dbe5eb;border-radius:0 0 12px 12px}.calendar-month-cell{min-height:144px;padding:8px;border-right:1px solid #e5edf1;border-bottom:1px solid #e5edf1;background:#fff}.calendar-month-cell:nth-child(7n){border-right:0}.calendar-month-cell:nth-last-child(-n+7){border-bottom:0}.calendar-month-cell.is-outside{background:#f8fafb}.calendar-month-cell.is-outside .calendar-month-day,.calendar-month-cell.is-outside .calendar-month-event,.calendar-month-cell.is-outside .calendar-month-more{opacity:.48}.calendar-month-cell.is-today{background:#f1fafb}.calendar-month-day{display:flex;justify-content:flex-end;margin:0 0 7px}.calendar-month-day time{display:inline-flex;min-width:23px;height:23px;align-items:center;justify-content:center;border-radius:999px;color:#43566c;font-size:12px;font-weight:850}.calendar-month-cell.is-today .calendar-month-day time{background:var(--brand);color:#fff}.calendar-month-events{display:grid;gap:4px}.calendar-month-event{display:block;overflow:hidden;padding:3px 5px;border-radius:5px;background:#edf5f7;color:#38566a;font-size:11px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.calendar-month-event.is-editable{background:#e3f4f6;color:#126d86}.calendar-month-event.is-editable:hover{background:#ceeaf0;text-decoration:underline}.calendar-month-more{display:block;padding:2px 5px;color:#58748a;font-size:11px;font-weight:850}.calendar-month-create{max-width:820px;margin:20px auto 0}.calendar-month-create .form-card{padding:22px}
@media(max-width:680px){.calendar-month{padding:12px}.calendar-month-actions{align-items:stretch;flex-direction:column}.calendar-month-actions>.button{width:100%;text-align:center}.calendar-view-switcher{width:100%}.calendar-view-switcher .button{flex:1;text-align:center}.calendar-month-toolbar{grid-template-columns:36px minmax(0,1fr) auto;gap:7px}.calendar-month-toolbar h2{font-size:17px}.calendar-month-toolbar>div{gap:5px}.calendar-month-toolbar .button{padding:8px 9px}.calendar-month-arrow{width:32px;height:32px}.calendar-month-cell{min-height:132px}}
